Vetta
实战示例

04 / 实战示例

示例:审查并修复代码缺陷

在现有仓库中建立复现基线、限制修改范围,并用测试与差异完成一次可验证修复。

READ / 带走

  1. 先复现问题,再允许修改
  2. 把必须保持的行为写进任务
  3. 用测试、类型检查和最终差异验收

这个示例适合已有代码仓库中的局部 Bug。目标不是让 Agent “看看代码”,而是交付一条能够被证明有效、范围清楚且容易回退的修改。

起始状态

准备一个可恢复的测试仓库,并确认:

提交任务前

  1. 项目能够按 README 安装和运行,当前失败不是依赖未安装造成的。
  2. 问题有明确现象、复现步骤或失败测试。
  3. 工作区中已有修改已经保存,并且你知道哪些改动不能覆盖。
  4. Vetta 会话绑定到仓库根目录,首次尝试使用「沙盒受限」。

提交完整任务

把方括号内容替换为真实信息;不知道测试命令时,保留“从项目脚本中确认”这条要求。

PLATE 01

代码修复任务
修复 [页面或模块] 中的这个问题:[实际现象]。

复现步骤:
1. [第一步]
2. [第二步]
3. 当前结果是 [错误结果];期望结果是 [正确结果]。

工作要求:
- 先阅读当前目录适用的项目指令、README、相关源码和测试;
- 先运行最小复现或相关测试,记录修改前的基线;
- 找出根因后再修改,不绕过现有校验,也不覆盖工作区中的已有改动;
- 修改范围限制在 [允许修改的目录或模块];
- 为这个回归新增或更新一个在旧行为下会失败的测试;
- 运行相关测试和项目已有的快速检查;
- 最后说明根因、主要修改、实际运行的命令与结果,以及仍未验证的风险。

如果复现信息不足、必须改动公共合同,或需要执行不可恢复操作,请先停止并说明原因。

执行时检查证据

信号正常需要介入
正常需要介入
正常需要介入
正常需要介入
正常需要介入

预期产物

  • 一组针对根因的源码修改,而不是只改错误提示或隐藏失败。
  • 一个能够防止同类回归的测试;纯配置或文档问题除外。
  • 实际执行过的测试、类型检查或 lint 结果。
  • 一份简短交付说明,明确未运行的高成本验证及原因。

验收结果

接受这次修复前

  1. 原始复现现在通过,且不是通过删除功能或降低校验实现。
  2. 新增测试确实覆盖用户可观察行为,而不是只断言内部调用。
  3. 最终差异中没有密钥、生成垃圾或无关格式化。
  4. 已有工作区改动仍然保留。
  5. Agent 没有声称未实际运行的检查已经通过。

结果不符合时恢复

不要重新提交整个任务。指向具体证据,让 Agent 在现有会话中缩小修正范围:

当前修复还不能验收:[失败测试或具体差异]。
请保留已经正确的修改,只处理 [文件/行为];不要扩大到 [禁止范围]。
先解释这个失败与根因的关系,再修改并只重跑相关验证。完成后列出新的差异和结果。

如果修改方向已经错误,停止会话并从 Git 或备份恢复受影响文件,再用更窄的允许范围重新开始。

本页内容