我在采用任何有意义的工具时,通常都会经历三个阶段: (1)低效期 →(2)勉强可用 →(3)改变工作方式甚至人生的阶段。
大多数情况下,我必须强迫自己熬过前两个阶段,因为我已经有一套让我舒服的工作流程。采用新工具本身就是一项工作,而我并不想投入精力。但为了成为一个更全面的开发者,我通常还是会去做。
这篇文章记录了我如何在 AI 工具中找到价值,以及我接下来想尝试什么。在充满夸张和炒作的讨论中,我希望提供一种更克制、更理性的视角。
(顺带一提,这篇文章完全是我亲手写的。)
第一步:放弃聊天机器人
不要再试图用聊天机器人(例如 ChatGPT、Gemini 网页版)来完成“严肃工作”。
聊天工具确实有价值,也是我日常使用的一部分,但在编程场景中,它们效率很低: 你本质上是在“赌”它一次给出正确答案,而纠错需要你反复介入。
大多数人第一次接触 AI 都是聊天界面,也会尝试用它写代码。
我曾有一个“哇”的时刻:把一个 UI 截图丢给 Gemini,让它用 SwiftUI 重现,它做得非常好。
但当我尝试在真实项目中复用这种能力时,体验却很差: 需要反复复制粘贴代码、输出,结果也经常不理想——明显比自己写还慢。
👉 想获得价值,你必须使用“Agent”。
Agent 是一种可以循环执行操作的 LLM,至少要能:
- 读文件
- 执行程序
- 发起 HTTP 请求
第二步:复现你自己的工作
我开始使用 Claude Code,但一开始并不满意。
于是我做了一件很痛苦但关键的事情: 👉 把我手写完成的工作,再用 Agent 重做一遍(而且不让它看到我的实现)。
这个过程非常折磨,但也让我建立了真正的理解。
我总结出一些关键经验:
- 把任务拆成清晰的小步骤,不要一口气做完
- 模糊任务要拆成“规划”和“执行”两个阶段
- 给 Agent 提供验证机制,它会自动修正错误
我也逐渐理解了:
- 什么适合 Agent
- 什么不适合
这让我效率有所提升,但仍然不比自己做更快——只是“差不多”。
但我已经开始接受 AI 作为工具。
第三步:下班前启动 Agent
我尝试一个新模式: 👉 每天下班前 30 分钟启动一些 Agent
目标是:在我不工作的时间,让它们推进进度。
一开始效果一般,但后来发现一些高价值场景:
- 深度调研(例如收集某语言的库并分析优缺点)
- 并行探索想法(验证思路)
- Issue / PR 分析与整理
这些工作不一定直接产出结果,但能让我第二天“热启动”。
第四步:外包“稳赢任务”
随着经验增加,我开始知道哪些任务 Agent 很擅长。
于是我:
👉 把这些“几乎一定能做好”的任务全部交给 Agent
自己则专注更有价值或更喜欢的工作。
一个关键经验:
不要让 Agent 打断你
上下文切换成本非常高。 你应该决定什么时候去查看 Agent,而不是让它通知你。
此时,我已经进入一个状态:
👉 即使效率没有提升很多,我也不想回到没有 AI 的时代了
因为我可以把精力集中在更有趣的事情上。
第五步:工程化“约束系统”(Harness)
Agent 的效率取决于: 👉 它第一次就做对,或接近正确
为此,我开始做“Harness Engineering”(我自己的叫法):
目标是: 👉 一旦 Agent 犯错,就让它“永远不再犯这个错”
方法包括:
1. 改进隐式提示(如 AGENTS.md)
记录规则,让 Agent避免重复错误。
2. 编写工具
例如:
- 自动截图
- 跑测试
- 校验结果
这些工具 + 提示一起使用,让 Agent 自我验证。
第六步:始终让 Agent 在运行
我现在的目标是:
👉 尽可能让 Agent 一直在后台运行
如果没有在跑,我会问自己: “有没有什么可以让 Agent 做?”
我通常只运行一个 Agent,保持平衡:
- 一边深度思考
- 一边让 AI 帮忙
目前大概只有 10%–20% 的时间有 Agent 在运行,但我在持续优化。
现在的状态
我现在已经找到了 AI 的实际价值,并且用一种比较理性的方式在使用它。
我不关心 AI 是否会长期存在。 我只是一个想写代码、热爱创造的软件工程师。
这个领域变化太快,我可能很快会回头嘲笑现在的自己。
但如果你不会为过去的自己感到“有点尴尬”,那你大概没有成长。