分析项目

analyze-project
分类通用
作者Agentic Awesome Skills 社区
许可MIT
评分4.20/5
使用6.9K

/analyze-project — 根因分析工作流

分析 ~/.gemini/antigravity/brain/ 中的 AI 辅助编码会话,并生成一份报告。该报告不仅解释发生了什么,还解释为什么发生谁/什么导致了该结果以及下次应该做出怎样的改变

目标

针对每个会话,确定:

1. 从初始需求到最终执行的工作发生了哪些变化
2. 主要原因是否为:
- 用户/规格说明 (user/spec)
- 智能体 (agent)
- 仓库/代码库 (repo/codebase)
- 验证/测试 (validation/testing)
- 任务本身的复杂度 (legitimate task complexity)
3. 初始提示词是否充分
4. 哪些文件/子系统与反复出现的困难相关联
5. 哪些改变能最有效地改善未来的会话

使用场景

  • 需要对 AI 辅助编码会话进行事后分析,尤其是出现范围漂移或重复返工时。
  • 需要根因分析,以区分用户/规格问题、智能体错误、仓库摩擦或验证缺失。
  • 需要有证据支撑的建议,以改进未来的提示词、仓库健康度或交付工作流。

全局规则

  • .resolved.N 的计数视为迭代信号,而非失败证明
  • 区分人为增加的范围必要的发现范围智能体引入的范围
  • 区分智能体错误仓库摩擦
  • 每项诊断必须包含证据置信度
  • 置信度等级:
- 高 (High) = 有直接的产出物/时间戳证据 - 中 (Medium) = 有多个支持信号 - 低 (Low) = 合理推断,但未直接证明
  • 证据优先级:
- 产出物内容 > 时间戳 > 元数据摘要 > 推断
  • 如果证据不足,请如实说明

---

步骤 0.5:会话意图分类

根据目标和产出物对主要会话意图进行分类:

  • DELIVERY (交付)
  • DEBUGGING (调试)
  • REFACTOR (重构)
  • RESEARCH (研究)
  • EXPLORATION (探索)
  • AUDIT_ANALYSIS (审计分析)

记录:

  • session_intent (会话意图)

  • session_intent_confidence (意图置信度)

使用意图来衡量严重程度和返工形式。
不要用狭义交付会话的标准来衡量探索性或研究性会话。

---

步骤 1:发现会话

1. 从系统上下文中读取可用的会话摘要
2. 列出用户 Antigravity brain/ 目录中的会话文件夹
3. 构建会话索引,包含:
- conversation_id
- title
- objective
- created
- last_modified
4. 如果用户提供了关键字/路径,则过滤匹配的会话;否则分析所有会话

输出:待分析的会话索引列表。

---

步骤 2:提取会话证据

针对每个会话,读取(如果存在):

核心产出物

  • task.md
  • implementation_plan.md
  • walkthrough.md

元数据

  • *.metadata.json

版本快照

  • task.md.resolved.0 ... N
  • implementation_plan.md.resolved.0 ... N
  • walkthrough.md.resolved.0 ... N

其他信号

  • 其他 .md 产出物
  • 产出物更新之间的时间戳
  • 计划/回顾中提到的文件/文件夹/子系统名称
  • 验证/测试相关的语言描述
  • 明确的验收标准、约束条件、非目标以及目标文件

为每个会话记录:

#### 生命周期

  • has_task

  • has_plan

  • has_walkthrough

  • is_completed

  • is_abandoned

d_candidate = 任务存在但无 walkthrough

#### 修订 / 变更量

  • task_versions

  • plan_versions

  • walkthrough_versions

  • extra_artifacts

#### 范围

  • task_items_initial

  • task_items_final

  • task_completed_pct

  • scope_delta_raw

  • scope_creep_pct_raw

#### 时间

  • created_at

  • completed_at

  • duration_minutes

#### 内容 / 质量

  • objective_text

  • initial_plan_summary

  • final_plan_summary

  • initial_task_excerpt

  • final_task_excerpt

  • walkthrough_summary

  • mentioned_files_or_subsystems

  • validation_requirements_present

  • acceptance_criteria_present

  • non_goals_present

  • scope_boundaries_present

  • file_targets_present

  • constraints_present

---

第 3 步:Prompt 充分性

对初始请求在 0–2 分范围内进行评分,维度包括:

  • 清晰度 (Clarity)
  • 边界感 (Boundedness)
  • 可测试性 (Testability)
  • 架构具体度 (Architectural specificity)
  • 约束意识 (Constraint awareness)
  • 依赖意识 (Dependency awareness)

创建:

  • prompt_sufficiency_score

  • prompt_sufficiency_band = High / Medium / Low

随后记录哪些缺失的 Prompt 要素可能导致了后期的摩擦。

不要默认惩罚短 Prompt;一个范围狭窄且显而易见的任务仍可能具有高充分性。

---

第 4 步:范围变更分类

将范围变更分类为:

  • 人为增加的范围 (Human-added scope) —— 超出原始任务的新需求
  • 必要的发现范围 (Necessary discovered scope) —— 为正确完成原始任务而必须进行的工作
  • Agent 引入的范围 (Agent-introduced scope) —— 由 Agent 引入的可能不必要的工作

记录:

  • scope_change_type_primary

  • scope_change_type_secondary (可选)

  • scope_change_confidence

  • 证据 (evidence)

记住一个简短的示例用于校准:

  • 人为增加:“既然你在这,顺便把附近的代码重构一下”

  • 必要发现:必须修复隐藏的依赖项,原始任务才能运行

  • Agent 引入:未被要求且非必须的额外清理或重新设计

---

第 5 步:返工形态 (Rework Shape)

将每个会话归类为一种主要模式:

  • 流畅执行 (Clean execution)
  • 早期重新规划后稳定完成 (Early replan then stable finish)
  • 渐进式范围扩张 (Progressive scope expansion)
  • 反复开启/关闭的波动 (Reopen/reclose churn)
  • 后期验证波动 (Late-stage verification churn)
  • 中途放弃 (Abandoned mid-flight)
  • 探索性 / 研究性会话 (Exploratory / research session)

记录:

  • rework_shape

  • rework_shape_confidence

  • 证据 (evidence)

---

第 6 步:根因分析

对于每个非流畅执行的会话,分配:

主要根因

以下之一:
  • SPEC_AMBIGUITY (需求模糊)
  • HUMAN_SCOPE_CHANGE (人为范围变更)
  • REPO_FRAGILITY (代码库脆弱)
  • AGENT_ARCHITECTURAL_ERROR (Agent 架构错误)
  • VERIFICATION_CHURN (验证波动)
  • LEGITIMATE_TASK_COMPLEXITY (合理的任务复杂度)

次要根因

若有实质性影响则可选

根因指南

  • SPEC_AMBIGUITY: 初始请求缺乏边界、目标、标准或约束
  • HUMAN_SCOPE_CHANGE: 用户扩大了任务范围导致范围扩张
  • REPO_FRAGILITY: 隐藏的耦合、脆弱的文件、不清晰的架构或环境问题导致了额外工作
  • AGENT_ARCHITECTURAL_ERROR: 找错文件、假设错误、方法错误、幻觉出结构
  • VERIFICATION_CHURN: 实现基本正确,但测试/验证导致了循环
  • LEGITIMATE_TASK_COMPLEXITY: 考虑到难度,修订在预期之内且无法明显避免

每个根因分配必须包含:

  • 证据 (evidence)

  • 为什么拒绝了更强有力的替代根因

  • 置信度 (confidence)

---

第 6.5 步:会话严重程度评分 (0–100)

为每个会话分配一个严重程度分数,以便优先处理。

组成部分(求和,限制在 0–100 之间):

  • 完成失败: 0–25 (abandoned = 25)

  • 重新规划 i

  • 强度 (Intensity):0–15

  • 范围不稳定性 (Scope instability):0–15

  • 重构形状严重程度 (Rework shape severity):0–15

  • 提示词充分性缺失 (Prompt sufficiency deficit):0–10 (low = 10)

  • 根因影响 (Root cause impact):0–10 (REPO_FRAGILITY / AGENT_ARCHITECTURAL_ERROR 最高)

  • 热点重复出现 (Hotspot recurrence):0–10

分级 (Bands):

  • 0–19 低 (Low)

  • 20–39 中等 (Moderate)

  • 40–59 显著 (Significant)

  • 60–79 高 (High)

  • 80–100 关键 (Critical)

记录项:

  • session_severity_score (会话严重程度得分)

  • severity_band (严重程度分级)

  • severity_drivers (严重程度驱动因素) = 前 2–4 个主要贡献项

  • severity_confidence (严重程度置信度)

将严重程度作为优先级信号,而非最终判定。务必解释驱动因素。
结合会话意图对严重程度进行情境化分析,以免研究/探索类会话被过度扣分。

---

步骤 7:子系统 / 文件聚类

在所有对话中,按文件、文件夹或子系统对重复出现的困难点进行聚类。

针对每个聚类,计算:

  • 涉及该聚类的对话数量

  • 平均修订次数

  • 完成率

  • 放弃率

  • 常见根因

  • 平均严重程度

目标:识别摩擦主要是由提示词驱动、智能体驱动,还是集中在特定的代码库区域。

---

步骤 8:对比队列 (Comparative Cohorts)

对比以下组别:

  • 首次尝试成功 vs 重新规划的会话

  • 已完成 vs 已放弃

  • 高提示词充分性 vs 低提示词充分性

  • 窄范围 vs 高范围增长

  • 短会话 vs 长会话

  • 低摩擦子系统 vs 高摩擦子系统

针对每项对比,识别:

  • 实质性的差异点

  • 哪些提示词特征与更顺畅的执行相关

  • 哪些代码库特征与重复性困难相关

不要简单地重复平均值,而要提取有谨慎证据支撑的模式。

---

步骤 9:非显而易见的发现 (Non-Obvious Findings)

生成 3–7 项非简单指标重复的发现。

每项发现必须包含:

  • 观察结果

  • 为什么重要

  • 证据

  • 置信度

强有力发现的示例:

  • 重新规划主要集中在文件定位错误,而非验收标准模糊

  • 范围增长通常发生在初步成功之后,表明是成功后的用户扩展

  • 鉴权相关的困难更多是由代码库脆弱性而非智能体幻觉驱动的

---

步骤 10:报告生成

创建 session_analysis_report.md,结构如下:

📊 会话分析报告 — [项目名称]

生成时间: [timestamp]
分析对话数: [N]
日期范围: [earliest] → [latest]

执行摘要 (Executive Summary)

| 指标 | 数值 | 评级 |
|:---|:---|:---|
| 首次尝试成功率 | X% | 🟢/🟡/🔴 |
| 完成率 | X% | 🟢/🟡/🔴 |
| 平均范围增长 | X% | 🟢/🟡/🔴 |
| 重新规划率 | X% | 🟢/🟡/🔴 |
| 中位数时长 | Xm | — |
| 平均会话严重程度 | X | 🟢/🟡/🔴 |
| 高严重程度会话 | X / N | 🟢/🟡/🔴 |

阈值:

  • 首次尝试:🟢 >70 / 🟡 40–70 / 🔴 <40

  • 范围增长:🟢 <15 / 🟡 15–40 / 🔴 >40

  • 重新规划率:🟢 <20 / 🟡 20–50 / 🔴 >50

平均严重程度指南:

  • 🟢 <25

  • 🟡 25–50

  • 🔴 >50

注:平均严重程度是整体健康信号,与单次会话的严重程度分级不同。

随后添加一段简短的叙述性总结,说明哪些方面进展顺利,哪些方面出现了问题,以及主要问题是出在提示词质量、代码库脆弱性、工作流纪律还是验证反复上。

根因分析 (Root Cause Breakdown)

| 根因 | 数量 | 百分比 | 备注 |
|:---|:---|:---|:---|

提示词充分性分析 (Prompt Sufficiency Analysis)

  • 高充分性提示词的共同特征
  • 低充分性提示词中常见的缺失输入
  • 哪些缺失的提示词要素与重新规划或放弃最相关

范围变更分析 (Scope Change Analysis)

区分:
  • 人为增加的范围
  • 过程中必须发现的范围
  • Agent 引入的范围

重构形态分析

总结各会话中的主要失败模式。

摩擦热点

展示与重新规划、放弃、验证反复以及高严重程度最相关的文件/文件夹/子系统。

首轮成功案例

列出最简洁的会话,并提取其成功原因。

非显而易见的发现

列出 3-7 项有证据支撑的发现,并标注置信度。

严重程度分级

列出严重程度最高的会话,并说明最佳干预措施是:
  • 提示词优化
  • 范围约束
  • 针对性的技能/工作流
  • 仓库重构 / 架构清理
  • 验证/测试框架改进

建议

每项建议请包含:
  • 观察到的模式
  • 可能原因
  • 证据
  • 拟采取的变更
  • 预期收益
  • 置信度

逐次对话分析

| # | 标题 | 意图 | 时长 | 范围变化 | 计划修订 | 任务修订 | 根本原因 | 重构形态 | 严重程度 | 是否完成 |
|:---|:---|:---|:---|:---|:---|:---|:---|:---|:---|:---|

---

步骤 11:可选的分析后改进

如果适用,还需:

  • 更新任何本地项目健康状况或记忆产出物(如果存在),记录重复出现的失败模式和脆弱的子系统

  • 根据高充分性/首轮成功会话生成 prompt_improvement_tips.md

  • 当同一子系统或任务序列反复导致困难时,建议缺失的技能或工作流

仅在模式重复出现时才建议工作流/技能。

---

最终输出标准

工作流必须产出:
1. 指标摘要
2. 根本原因诊断
3. 提示词充分性评估
4. 子系统/摩擦映射图
5. 严重程度分级与优先级排序
6. 有证据支撑的建议
7. 非显而易见的发现

倾向于明确表达不确定性,而非伪造精确度。

局限性

  • 仅在任务明确符合上述范围时使用此技能。
  • 不要将输出视为环境特定验证、测试或专家评审的替代方案。
  • 如果缺少必要的输入、权限、安全边界或成功标准,请停止并请求澄清。