# 独立开发者的 AI Agent 工作流:从目标到可验证交付
AI 编程 Agent 可以读仓库、跨文件修改、运行测试,甚至完成发布。只有当这些动作始终连接产品结果时,这种能力才真正有价值。
对独立开发者来说,最有效的工作流不是更长的提示词,而是一套足够短、可以反复执行的循环:方向明确、证据可查、会话能够继续。
从用户动作开始
让 Agent 写代码之前,先补完这句话:
这次工作完成后,用户可以……
如果答案说的是文件、服务、数据库表或重构,就继续追问。这些是实现选择,不是用户结果。
更有用的结果通常是:
- 完成后,访客可以比较方案并开始结账。
- 完成后,用户明天回来还能继续同一个项目。
- 完成后,失败的导入可以重试,而且不会产生重复数据。
这句话应该成为判断每项改动是否必要的标准。
先告诉 Agent 四个边界
能力强的 Agent 会用合理假设填补空白。有些假设能提高效率,有些则会悄悄改变产品。执行前应明确四类边界。
1. 当前权威状态在哪里
说明现在的事实来自数据库、本地文件、外部服务、生成物,还是用户刚完成的输入。
如果权威不清楚,Agent 很容易因为“更方便”而建立第二份事实源。
2. 哪些不变量不能破坏
列出必须保持的内容,例如公开 URL、数据归属、隐私预期、已有用户动作、部署路径和产品命名。
3. 本轮授权范围是什么
明确允许修改哪个仓库、服务或环境。一个系统里的诊断发现,不能自动变成修改另一个系统的权限。
4. 什么证据代表完成
说清楚最终必须观察到什么:测试结果、渲染页面、运行状态、生产事件,或完整用户动作。
使用六步执行循环
第一步:锚定当前现实
让 Agent 读取最小相关的代码、配置、测试和当前运行证据。旧计划和聊天总结可以帮助定位,但与当前行为冲突时,当前证据优先。
这一步的结论要区分“代码中观察到的事实”和“基于事实的推断”。
第二步:找到第一条断裂链路
不要一开始就做大规模重构。沿着用户动作,从入口追踪到结果,找到现实第一次偏离目标的位置。
修好第一条断裂链路,通常比优化整个架构更有价值。
第三步:定义最小但完整的改动
“最小”不等于只改一半。为了让用户结果成立,注册、状态更新、错误处理、最终生成物和验证都应包含在内。
与此同时,排除无关清理和未经要求的优化。
第四步:使用稳定身份
任务跨会话或跨外部系统时,记录稳定标识:任务 ID、版本、提交、部署 ID 或幂等键。
“最新那个”“新版本”“当前草稿”很快会变得含糊。稳定身份让重试和交接更安全。
第五步:验证最终消费者
验证用户实际收到的结果,而不只是生成它的源码。
模板生成 JavaScript,就检查最终 JavaScript;Worker 返回 HTML,就检查真实响应状态和 HTML;生命周期事件更新页面,就同时验证页面、元数据和 sitemap。
最窄单元测试是第一层证据,不一定是最后一层。
第六步:留下事实型交接
交接应记录:
- 当前目标;
- 已验证现状;
- 精确改动;
- 测试和运行证据;
- 剩余工作;
- 下一项安全动作。
一份好的交接能让全新会话直接继续,而不用重复调查或猜测改的是哪个对象。
让规划与执行分开,但不要断开
路线图回答“下一个重要结果是什么”,执行会话回答“现在必须改变什么”。
两者应该同时可见。执行中发现新问题时,先判断它是否阻塞当前结果。阻塞就用证据更新当前计划;不阻塞就记录到以后,继续完成眼前交付。
这样可以避免两个常见错误:
- 新事实已经出现,却仍机械执行旧计划;
- 每出现一个技术想法,就放弃当前路线图。
Agent 应该有多大自主权
在一个窄结果内,给它足够大的自主权。
Agent 可以自行检查代码、选择聚焦实现、运行相关测试,并在授权表面内修正错误。当决策会改变产品边界、删除已有资产、产生付费、修改超出任务的生产数据,或需要在两种完全不同的用户结果间选择时,它应该停下来确认。
这个平衡既能保持速度,也不会把产品决策变成偶然的实现细节。
一份可复用的任务简报
你可以只用六个字段描述一次任务:
1. 结果: 完成后用户能做什么。 2. 当前证据: 代码或运行环境已经证明了什么。 3. 不变量: 哪些内容必须保持。 4. 范围: 允许修改哪些表面。 5. 验证: 什么证据代表完成。 6. 停止条件: 出现什么情况必须暂停。
提示词不必很长,因为结构已经保存了最重要的上下文。
工作流正在偏航的信号
出现以下情况时,应暂停并重新锚定:
- diff 增长速度远快于证据;
- Agent 一直解释架构,却没有完成用户动作;
- 临时方案建立了第二份权威状态;
- 用生产环境探索本地本可验证的行为;
- “完成”仍依赖用户去做未列出的清理;
- 下一次会话必须猜测哪个版本或对象才有效。
偏航不能靠更强硬地说“继续”解决。真正需要恢复的是结果、边界和证据链。
把整个循环记成一句话
选择一个用户结果,锚定现实,守住边界,修复第一条断裂链路,验证最终消费者,再留下事实型交接。
它足够轻,适合独立开发者;也足够严谨,可以支撑 Agent 跨代码、服务和生产环境工作。