目标编程
把模糊想法变成 AI 可以长时间自主执行的目标,适合做 App、完整功能和跨多天的工程任务。
目标编程不是让 AI 多写几行代码。
它是一套更完整的协作方式:你先把目标、需求、边界、环境和验收方式准备好,再让 Codex、Claude Code 或其他 Agent 长时间执行,最后按验收标准收成果。
如果只是一问一答,AI 写一会儿就停下来等你确认。你会变成监工。目标编程的目标是把监工时间降到最低,让 AI 可以自己读代码、改代码、跑测试、截图、修问题。
配套视频:实现 iOS APP
什么时候适合用
| 任务 | 适不适合目标编程 | 原因 |
|---|---|---|
| 改一个按钮文案 | 不适合 | 直接对话最快 |
| 写一个单页 Demo | 一般不需要 | 纯对话或 Plan 足够 |
| 做完整 App 的第一版 | 适合 | 页面、数据、设计、测试都要连续推进 |
| 重构一批文档或页面 | 适合 | 重复但需要判断 |
| 修一个复杂线上 bug | 适合 | 需要读日志、复现、定位、验证 |
| 上架 TestFlight / 发布生产 | 适合,但要人工卡点 | 登录、签名、付款、发布确认必须有人把关 |
一句话判断:如果这个任务需要你盯着 AI 推十几次,应该考虑目标编程。
最小流程
目标编程可以拆成 7 步。
1. 把想法变成一个目标
不要说:
帮我做一个愿望可视化 App。要说清楚:
做一个 iPhone App,用户上传头像,选择一个愿望,生成未来自己的愿景图,并能放到桌面小组件里。
第一版只做愿景生成、愿景板、小组件和基础设置,不做社交分享。目标要让 AI 知道三件事:
- 这是什么产品
- 第一版必须有什么
- 哪些东西先不做
2. 做调研,不要直接开工
目标编程最容易失败的地方,不是 AI 不会写代码,而是人没有准备清楚。
开工前至少准备这些材料:
| 材料 | 作用 |
|---|---|
| 竞品或参考产品 | 让 AI 知道这个方向真实存在 |
| 目标用户 | 避免做成泛泛的功能合集 |
| 核心体验循环 | 明确用户从进入到完成的一次完整动作 |
| 不做清单 | 防止 AI 自己扩范围 |
| 验收标准 | 让 AI 知道什么叫完成 |
调研不是为了写报告,而是为了减少后面的返工。
3. 写一份能执行的需求文档
目标编程里的 PRD 不需要漂亮,但必须具体。
至少包含:
- 产品定位,一句话说清楚
- 核心场景,用户为什么打开它
- 页面结构,每个页面有什么
- 数据结构,需要存什么
- 权限和账号,哪里需要登录
- 付费边界,如果有购买功能
- 验收标准,最后怎么判断完成
复杂项目可以把需求文档放进仓库,比如:
docs/product/onewish-prd.md
docs/product/acceptance.md不要只粘在对话里。长任务跑到后面,文件比聊天记录更稳定。
4. 给 AI 一个 Harness
Harness 可以理解为工作脚手架。
最小 4 件套:
| 文件 | 作用 |
|---|---|
AGENTS.md | 工作规则,哪些能改,哪些不能碰 |
docs/PRODUCT.md | 产品边界,目标用户和第一版范围 |
docs/ARCHITECTURE.md | 技术架构,数据流和关键模块 |
session-handoff.md | 交接记录,已完成、未完成、风险和下一步 |
如果你有现成模板或相似项目,优先基于它改。比如已经有一个 SwiftUI App,就不要让 AI 从零搭一套陌生结构。
AI 长跑时,最怕的是没有约束。Harness 的价值就是让它每次做决定时有东西可以回头看。
5. 提前准备工具、权限和 Skills
目标编程不是只靠模型。
你要提前准备 AI 需要的工具:
- 做 iOS,要能调用 Xcode、Simulator、截图和日志
- 做网页,要能运行 dev server、打开浏览器、检查 Console
- 做 Cloudflare,要有 Wrangler、API Token 和对应权限
- 做图片生成,要有可用的模型、API Key 和存储桶
- 做发布,要有 GitHub、部署平台和回滚方式
如果你不知道要装什么,直接问:
我要做一个 iOS App,目标是让 AI 自主开发、运行、截图和修 bug。
请先列出需要安装的 CLI、MCP、Skills 和权限。6. 开始长跑,但把危险动作卡住
可以给 Agent 这样的启动目标:
请阅读 AGENTS.md、docs/product/onewish-prd.md 和 docs/product/acceptance.md。
目标是实现第一版 MVP。
你可以自主修改代码、运行测试、启动模拟器、截图检查。
遇到账号登录、付费、删除生产数据、发布到线上这些动作时必须停下来等我确认。
完成后更新 session-handoff.md。注意,不要把所有权限一次性无脑放开。
这些动作要人工确认:
- 删除数据
- 修改生产配置
- 提交付款信息
- 发布到 App Store / TestFlight / 生产环境
- 向真实用户发送邮件或消息
7. 用验收标准收尾,而不是凭感觉
目标编程结束后,不要只看 AI 说完成了。
按验收清单检查:
- 核心流程能不能从头走完
- 页面是否截图验证过
- 本地测试或类型检查是否通过
- 关键错误是否有记录
- 不做清单有没有被偷偷做进去
- 还有哪些人工动作没有完成
如果问题很多,不要在原任务里无限追。把问题重新整理成第二轮目标,再跑一次。
常见失败原因
| 失败现象 | 根因 | 解决方式 |
|---|---|---|
| AI 跑了很久但结果不能用 | 目标太虚 | 补 PRD 和验收标准 |
| 页面很多但主流程断了 | 没定义核心体验循环 | 先写一条主流程 |
| 改着改着范围变大 | 没有不做清单 | 明确第一版边界 |
| 做不出真实效果 | 缺 API、素材、账号或测试环境 | 开工前准备 Harness |
| 出错后一直绕圈 | 没有可验证命令 | 提供测试、截图、日志检查 |
01MVP 推荐模板
启动一个目标前,可以先准备这段:
我想用目标编程完成这个任务。
请先做三件事:
1. 阅读当前仓库结构和 AGENTS.md。
2. 帮我把这个想法整理成目标、范围、不做清单和验收标准。
3. 列出你需要的工具、权限、测试命令和可能风险。
先不要改代码,等我确认后再进入执行。确认后再进入执行:
现在开始执行这个目标。
请按验收标准推进,能自测就自测,能截图就截图。
每次遇到生产数据、账号登录、发布、付款、删除动作,都先停下来问我。
完成后给出已完成、未完成、验证结果和下一轮建议。继续阅读
这篇文档有问题?