用手机审阅代理的进度和质量

查看你的 AI 编码代理实际做了什么,发现它们工作中的模式,并在错误跨多个会话累积之前发现问题。

基于版本
CLI
0.2.17
预览 ref
a2c45c8

当多个 AI 代理并行运行时,会出现一种模式:权限被批准,代理继续工作,但直到很久以后才有人系统地审阅它们实际做了什么。

等到去看 diff 时,模式已经形成:

  • 一个代理在添加不需要的调试输出
  • 另一个一直在重新格式化无关的文件
  • 第三个在推进,但方向本该更早纠正

有帮助的是一套以手机为主的审阅工作流,在这些模式跨会话扩散之前发现它们。

简要总结

  1. 每个重要轮次之后或在自然的间歇点,审阅代理改了什么
  2. 在手机上使用 Happier 的 diff 审阅(无需 SSH)
  3. 检查模式:格式化噪音、范围蔓延、调试残留
  4. 趁上下文还新鲜时发现错误,而不是几小时后
  5. 多个代理时:每天审阅所有会话,发现跨会话的模式

问题所在

AI 代理干活很快。这正是重点。

但快意味着:

  • 改动迅速累积
  • 你根据描述而不是完整 diff 批准权限
  • 等你运行 git diff 时,已经改了几十个文件
  • 发现“代理跑偏了”时已经太晚

代价高昂的失败模式不是一个糟糕的改动,而是:

  • 代理形成了某种模式(注释过多、不必要的重构)
  • 你 3 个小时都没注意到
  • 现在这种模式出现在 4 个会话的 6 个文件中
  • 回滚意味着要重新解释上下文

常见做法及其权衡

  • 一天结束时再审阅:太晚了,模式已经扩散。
  • SSH 后运行 git diff:可行,但在手机上很繁琐,很容易匆忙漏看。
  • GitHub PR diff:适合最终审阅,但你想在提交前就检查。
  • 相信代理:快但有风险,质量随任务复杂度而变。

Happier 的移动端 diff 审阅解决了这个问题:

  • 无需 SSH,在手机上查看 diff
  • 每轮之后或按计划审阅
  • 与会话上下文放在一起
  • 可以立即要求修改

如果你第一次接触 Happier

Happier 是一款面向 Claude Code、Codex 和 OpenCode 等 AI 编码代理的开源配套应用。

这里的工作流是:代理在你的机器上运行,Happier 在手机上展示改了什么,你可以在问题累积之前发现它们。

开始设置:

分步操作:用手机审阅代理的改动

1) 打开会话

在 Happier 应用中:

  1. 点按你要审阅的会话
  2. 等当前轮次结束(或在运行中打开)

2) 进入 diff 审阅

找到 diff 或改动的入口:

  • 在会话对话记录中,轮次摘要可能包含改动标记
  • 会话信息或详情通常显示文件改动数量
  • 滑动或点按进入 diff 视图

3) 审阅已更改的文件

diff 视图会显示:

  • 哪些文件改了
  • 逐行的新增和删除
  • 语法高亮
  • 文件路径上下文

在手机上:

  • 一次滚动浏览一个文件
  • 重点看高风险改动(核心逻辑、配置文件)
  • 快速浏览安全的改动(测试、注释)

4) 寻找模式

需要尽早发现的常见代理模式:

调试残留:

# Added debug print the agent forgot to remove
print(f"DEBUG: user_id={user_id}")

格式化噪音:

- existing_function()
+ existing_function(
+ )

逻辑没变,但现在每一行都显示为已修改。

范围蔓延:

# You asked to fix auth.py
# Agent also reformatted database.py, models.py, utils.py

注释过多:

# Initialize the variable
x = 0
# Increment the variable
x += 1

不必要的复杂性: 代理把 5 行代码换成了 20 行过度设计的抽象。

5) 根据发现采取行动

如果改动看起来不错:

  • 继续下一个会话或任务
  • 如果这是合适的停顿点,就提交

如果发现问题:

  • 回复代理:“继续之前,先删掉 auth.py 里的调试输出”
  • 或者:“撤销 database.py 的格式化改动,那个文件不在范围内”
  • 代理可以在你提交前修好

适合多个并行代理的工作流

同时运行 3 到 5 个代理时:

早上检查

  1. 打开每个会话
  2. 审阅每个代理夜间做了什么
  3. 发现跨会话的模式

发现示例:

“三个代理加类型提示的方式都不一致。两个用 typing.List,一个用 list。定个标准。”

午间审阅

  1. 查看已完成轮次的会话
  2. 审阅它们的 diff
  3. 批准下一步或要求修正

一天结束时的检查

  1. 审阅所有会话中所有未提交的改动
  2. 寻找跨会话的模式
  3. 提交干净的工作,修复或丢弃其余部分

需要留意的质量模式

文件选择的准确性

代理改的是你预期的文件吗?

好的:

  • 你要求修复 auth
  • 它修改了:auth.py、auth_test.py

危险信号:

  • 你要求修复 auth
  • 它修改了:auth.py、database.py、utils.py、config.py、README.md

改动粒度

改动是聚焦的还是铺开的?

好的:

  • 修改了一个 50 行的函数,改了 3 行

危险信号:

  • 修改了一个 50 行的函数,改了 45 行(预期是编辑,却可能是重写)

测试覆盖

代理是否添加或更新了测试?

好的:

  • 修改了 feature.py,并在 feature_test.py 中添加了测试

危险信号:

  • 修改了核心逻辑,却没有测试改动

提交边界

这些工作能干净地提交吗?

好的:

  • 一个完整的逻辑改动,可以提交

危险信号:

  • 三个无关的改动混在一起
  • 仍有调试代码
  • 留下了被注释掉的代码

尽早发现代理漂移

代理漂移:代理对任务的理解逐渐偏移。

迹象:

  • 第一次改动:正是你要求的
  • 第二次改动:仍然相关,但范围更大
  • 第三次改动:在解决你没要求的相邻问题

尽早发现:

每轮之后审阅。如果第 2 轮出现漂移,立即纠正:

“CSV 导出看起来不错,但先别重构整个导入系统。我们先测试导出。”

没有尽早发现:

最后才审阅。现在代理已经在 12 个文件中重构了导入,你得理清哪些可以安全保留。

手机审阅技巧

聚焦信息量高的文件

你不需要逐行审阅每个改动的文件。

优先顺序:

  1. 核心逻辑文件(认证、业务逻辑、API 处理程序)
  2. 配置文件(可能导致全面故障)
  3. 测试(确保测的是正确的东西)
  4. 文档(风险较低,稍后审阅)

用改动数量来分流

如果一个会话改了:

  • 3 个文件、50 行:现在审阅,快速浏览
  • 12 个文件、300 行:现在审阅,重点看核心文件
  • 50 个文件、2000 行:可能是格式化或重构,抽查 5 个关键文件

在自然的边界处审阅

除非代理卡住,否则不要在轮次中途审阅。

在以下时候审阅:

  • 代理完成一轮并问下一步做什么
  • 代理完成一个完整的里程碑
  • 你即将批准下一个重要权限

故障排查

症状:在应用中看不到 diff

可能原因:

  • 会话运行在 Happier 无法访问的机器上
  • 没有初始化 Git 仓库
  • 该会话类型不支持 diff 视图

解决方法:

  1. 确保会话所在的机器可访问
  2. 确认会话位于 git 仓库中
  3. 检查会话类型是否支持 diff 审阅

症状:改动太多,无法在手机上审阅

可能原因:

  • 代理做了大范围重构或格式化
  • 多个轮次叠在一起

解决方法:

  1. 分流:先关注核心文件
  2. 切换到桌面端做完整审阅
  3. 或者:让代理按文件总结改动

症状:代理一直犯同样的错误

可能原因:

  • 代理指令中没有明确处理这种模式
  • 代理没有项目风格指南

解决方法:

  1. 创建或更新包含风格规则的 AGENTS.md
  2. 说清楚:“不要添加调试输出”、“不要格式化范围外的文件”
  3. 纠正之后,在下一轮确认代理理解了

常见问题

我应该审阅每一轮吗?

不。在合理的边界处审阅:

  • 完成一个子任务之后
  • 提交之前
  • 多个轮次累积时
  • 切换代理时

探索性工作可以少审阅,生产代码要多审阅。

如果几小时后才发现错误怎么办?

让代理修复:

“auth.py 第 45 行你加了一个调试输出。删掉它,并检查有没有其他的。”

或者撤销该文件:

git checkout HEAD -- auth.py

然后让代理重做那个具体的改动。

不用 Happier 能审阅吗?

能:

git diff
git status

但在手机上,SSH + git 比 Happier 的界面别扭得多。

适用于所有代理吗?

适用于在 git 仓库中运行的任何代理:

  • Claude Code
  • Codex
  • OpenCode
  • 自定义代理

diff 是标准的 git 输出,与代理无关。

如何审阅多个代理的工作?

在手机上:

  1. 打开 Happier
  2. 查看每个会话最近的改动
  3. 寻找相互冲突的模式或重叠的编辑

或者在桌面上:

git diff main
git log --oneline --graph

相关指南

mobilereviewdiffqualityclaudecodex
最后更新: 2026-10-26