编程工作流

理解纯对话、Plan、OpenSpec 和 Agent 四种 AI 编程方式,按任务复杂度选合适的协作模式

AI 编程不是只有"我说一句,它写代码"这一种用法。任务越复杂,越需要从纯对话升级到计划、规格说明,甚至让 Agent 连续执行。

四种常见方式

方式适合什么优点风险
纯对话模式小改动、简单脚本、一次性页面启动最快,一句话就能开始容易跑偏,不适合复杂项目
Plan 模式需求还不够清楚,需要先讨论步骤先确认计划,再执行,输出更可控计划太粗会变成形式主义
OpenSpec / Spec 模式多页面、多模块、多人协作或复杂功能需求、技术方案和验收标准更清楚前期成本更高,不适合小任务
Agent 模式有明确目标、环境和测试,可以长时间自主推进能连续执行、排错、验证和迭代需要好的边界、测试和权限控制

纯对话模式

纯对话模式就是直接说需求,让 AI 先把代码写出来。

适合:

  • 做一个小网页。
  • 改一个按钮文案。
  • 写一个脚本。
  • 快速试一个想法。

比如:

帮我做一个单页 HTML,展示一个猫咪补光灯产品,要求有标题、卖点、价格和购买按钮。

这种方式很适合新手感受 AI 编程的速度,但不适合一次性丢给它一个复杂产品。

Plan 模式

Plan 模式会让 AI 先写计划,等你确认后再动手。

适合:

  • 你知道大概目标,但还没想清楚步骤。
  • 任务涉及多个文件。
  • 你担心 AI 一上来就乱改。
  • 你希望先审阅方案,再让它动手。

推荐提示词:

先不要改代码。请先阅读项目结构,给我一份分步骤计划。
计划里要说明会改哪些文件、为什么这么改、怎么验证。
等我确认后再开始执行。

OpenSpec / Spec 模式

Spec 模式会先把需求、技术方案、边界条件和验收标准写清楚,再进入开发。

适合:

  • 登录、支付、权限、数据同步这类容易出错的功能。
  • 多端、多页面、多角色的产品。
  • 你希望后续能持续维护,而不是只做一次 Demo。

它的重点不是把文档写长,而是把容易误解的地方提前说清楚。

Agent 模式

Agent 模式再往前一步。你给 AI 一个目标、一个环境和一组验证方式,它可以连续执行很久,自己读代码、改代码、跑测试、修问题。

适合:

  • 已经有测试或明确验收标准的工程任务。
  • 大量重复但需要判断的迁移任务。
  • 需要持续排查和迭代的 bug。
  • 比较完整的产品功能开发。

Agent 模式不是放手不管。关键是边界要清楚:

  • 能改哪些文件。
  • 不能碰哪些配置。
  • 用什么命令验证。
  • 什么情况必须停下来问你。

Harness Engineering

任务一复杂,只靠 Prompt 很难让 AI 稳定完成项目。更靠谱的做法,是提前给 Agent 准备一套 Harness,让它知道怎么工作、做什么、不做什么,以及每轮怎么交接。

最小 Harness 可以从 4 个文件开始:

文件作用
AGENTS.md工作规则:能改什么、不能改什么、完成后怎么验证
docs/PRODUCT.md产品边界:目标用户、核心功能、暂不支持的范围
docs/ARCHITECTURE.md技术约束:技术栈、数据模型、组件拆分和关键边界
session-handoff.md交接记录:已完成、未完成、下一步和当前风险

这套文件不是为了写文档而写文档,而是让 AI 在长任务里少丢上下文。它特别适合这些场景:

  • 多轮开发一个完整 MVP。
  • 多个 Agent 或多人同时改一个项目。
  • 需要保留产品边界,防止 AI 自己扩范围。
  • 任务跨越多天,需要接着上一次状态继续做。

一个简单的启动提示可以这样写:

请先阅读 AGENTS.md、docs/PRODUCT.md、docs/ARCHITECTURE.md 和 session-handoff.md。
读完后先复述当前任务边界,再开始实现。
完成后更新 session-handoff.md,写清楚已完成、未完成和下一步。

Harness Engineering 本质上是把一次性提示词升级成可持续的工作系统。你不需要第一天就准备完整文档,但一旦项目开始变复杂,就应该把规则和边界沉淀下来。

01MVP 默认怎么用

在这个教程里,你可以先按这个顺序升级:

  1. 小 Demo:用纯对话模式。
  2. 正式改文档或改页面:用 Plan 模式。
  3. 复杂功能:先写 Spec。
  4. 长时间工程任务:再交给 Agent 模式。

如果你现在还没做过项目,不要先研究所有模式。先完成一个小 Demo,再回来理解这些工作流会更容易。

相关阅读