第 01 模块 · 2 节

Annotate AI Diff:把批注批量发回给 Agent

《Orca 进阶实战》01 评审与交付 · 本节时长 26 分钟

为什么批量一条一条把意见发给 Agent,它会在多个修订之间来回摇摆;把批注攒成一整批一次发回,Agent 一轮思考、一轮修改,命中率高得多。

核心循环

评审 → 行内批注 → 批量发回 → Agent 修订 → 复核 → Resolve

1. 留下批注

  • 悬停 diff 任意一行,gutter 出现 +
  • 点击(或光标在该行按 c
  • 输入反馈,支持 Markdown
  • Cmd+Enter(macOS)/ Ctrl+Enter 保存,Esc 取消

批注钉在精确行上——diff 因 Agent 修改而移动时,批注会跟着行走。

2. 批量发回

评审完成后点 diff 顶部的 Send to agent

  • Orca 把所有批注(带行锚点)组合成一条 prompt
  • 打开 Send notes to 菜单,选要修订的工作树 Agent
  • 也可以从同一菜单启动新 Agent 来做修订

键盘党:Send Review Notes to Agent 默认未绑定快捷键(避免冲突),在 Settings → Shortcuts 里给它分配一个即可,编辑器聚焦时也能用。

3. 复核与解决

  • Agent 修订后批注保持钉在原位,方便逐条验证
  • Resolve 收起线程
  • 未解决的批注会进入下一次 Send 批次

实战场景:三 Agent 评审

  1. 三个 Agent 交了三份 diff(基础课的场景)
  2. 你挑了最接近的一份
  3. 在它的 diff 上留 5~8 条批注:边界条件、命名、遗漏的测试
  4. 一次 Send 发回,让那个 Agent 修订
  5. 复核后 Resolve;还不对的继续下一轮

比「把意见粘贴到聊天框」快得多,而且每一条都有明确的代码锚点。


与 Attribution 配合

Attribution(来源标注,review/attribution)会标记 diff 里哪些行是 Agent 写的、哪些是人工改的——评审时你一眼能看出「AI 写的地方优先细看」。两者结合就是一套完整的 AI 代码评审工作流。


落地练习:完整走一遍批注循环

  1. 打开一份有真实改动的 diff
  2. 在 3 个不同位置留下批注(c 快捷键 + gutter 点击各试一次)
  3. 故意留一条 Markdown 格式的(列表 / 代码块)
  4. Send to agent,观察它一次性收到全部批注
  5. Agent 修订后逐条验证、Resolve

怎么判断做对了?——你能说出批量发送相比逐条发送的好处,并完成一次「批注 → 发回 → 复核」闭环。

卡住了怎么办? 批注跟丢?确认是在 diff 视图里留的;跨编辑移动的批注跟随有少量延迟,刷新后应该归位。


小结

  1. 行内批注钉在行上,支持 Markdown,随 diff 移动
  2. Send to agent 把整批批注合成一条 prompt 发回
  3. 批注保持钉住便于复核,Resolve 收起线程
  4. 未解决批注自动进入下一批
  5. 与 Attribution 配合 = 严肃的 AI 代码评审工作流

下一节,提交、推送与开 PR。