很多人现在用 AI 编程,都会遇到一个类似的问题:

我明明给了 AI 一个大目标,它也能写代码。
但它总是做着做着就停下来,问我这个怎么选、那个怎么定。
最后我发现,AI 写代码很快,但我不断回答问题、补充上下文,反而很累。

这不是你的问题,也不完全是 AI 的问题。

更准确地说,这是协作系统的问题

你不能把 AI 当成一个可以连续几天不睡觉、不迷路、不犹豫的程序员。你应该把它当成一个能力很强,但需要明确边界、任务清单、验收标准和记录机制的协作者。

这篇文章想讲清楚一件事:

想让 AI 持续完成软件开发任务,不是靠一个神奇 Prompt,而是靠一套可执行的开发流程。


一、先反过来想:为什么 AI 会中断?

查理·芒格很喜欢一种思考方式:

反过来想,总是反过来想。

所以我们不先问:

怎么让 AI 连续工作几小时甚至几天?

而是先问:

为什么 AI 不能持续工作?

答案通常有几个。


1. 目标太大,但边界太模糊

比如你对 AI 说:

帮我做一个英语学习 Agent 系统。

这句话对人来说好像能理解,但对开发来说太大了。

AI 会立刻遇到一堆问题:

  • 要不要登录?

  • 用户目标是否可以自定义?

  • 后台管理系统做到什么程度?

  • 课程内容怎么生成?

  • 微信公众号推送怎么接?

  • 数据库表怎么设计?

  • MVP 到底做到哪里算完成?

如果这些问题没有提前定义,AI 就只能不断问你。

它不是故意偷懒,而是它不知道哪些决策可以自己做,哪些必须问你。


2. AI 没有“默认决策权”

人类团队里,优秀的工程师不会每一个按钮颜色都问老板。

他会根据项目目标自己判断:

这是 MVP,先用最简单的方案。
这个字段命名不影响大方向,我自己定。
这个功能涉及安全,我必须确认。

但 AI 默认没有这种清晰权限。

所以你需要告诉它:

哪些事情可以自己决定,哪些事情必须问我。

否则它会为了避免犯错,不断中断。


3. 没有任务拆分,只有一个大愿望

很多人给 AI 的不是任务,而是愿望。

例如:

做一个后台管理系统。
做一个 Agent 产品。
做一个完整的 SaaS。

这些都不是好任务。

好任务应该是:

创建用户表、课程表、学习计划表,并提供基础 CRUD API。
完成标准:
1. 有数据库迁移文件
2. 本地可以成功创建表
3. 有基础接口
4. 有简单测试
5. README 写明启动方式

AI 最喜欢 checklist。

因为 checklist 会减少猜测。


4. 没有验收标准

如果你不告诉 AI “什么叫完成”,它就会一直犹豫。

例如:

做一个学习测试页面。

这句话不够清楚。

更好的写法是:

做一个英语水平测试页面。

完成标准:
1. 用户可以看到 10 道题
2. 用户可以提交答案
3. 系统可以计算一个简单水平:A1/A2/B1/B2
4. 结果保存到数据库
5. 页面有基础错误提示
6. 本地可以跑通

AI 不是怕工作,而是怕目标不清。


二、不要追求“AI 永不停机”,要追求“AI 可恢复”

很多人有一个错误期待:

我希望输入一个大目标,然后 AI 连续工作几天,把整个项目做完。

这个想法很诱人,但现在并不现实。

更现实、更稳定的目标是:

AI 即使中断,也能通过项目文档继续接着干。

这就像一个公司不能依赖某个员工的脑子记住所有事情。

真正成熟的团队,会有:

  • 产品文档

  • 技术方案

  • 任务清单

  • 决策记录

  • 问题记录

  • 测试用例

  • 进度记录

AI 开发也是一样。

你要做的不是让 AI 永远不中断,而是让它中断以后还能恢复。

这才是关键。


三、AI 开发协作的核心:把上下文放进项目里

很多人把上下文放在聊天窗口里。

这很危险。

因为聊天窗口会变长,会丢重点,会中断,也会被新对话切断。

更好的方式是:把上下文写进项目文件。

推荐你在项目里准备这些文件:

docs/
  goal.md
  ai-rules.md
  product-requirements.md
  technical-design.md
  task-breakdown.md
  decisions.md
  blockers.md
  progress.md
  next.md

这些文件就是 AI 的“项目记忆”。


四、第一份文件:goal.md

goal.md 用来定义大目标。

它不是写给用户看的,而是写给 AI 协作者看的。

示例:

# Project Goal

我要开发一个微信公众号里的英语学习 Agent。

第一阶段只做 MVP,不追求完整商业化。

目标用户:
准备学习英语、尤其是想考雅思的用户。

统一目标:
所有用户默认目标都是雅思 7 分。

MVP 核心流程:
1. 用户进入公众号
2. 系统发送英语水平测试链接
3. 用户完成简单测试
4. 系统判断用户大致水平
5. 系统询问用户学习时间和学习偏好
6. 系统生成学习计划
7. 系统按时间推送每日学习任务
8. 后台可以管理课程内容和素材

技术要求:
- 前端使用 React
- 后端使用 Node.js
- 数据库使用 MySQL
- 优先简单稳定
- 不要过度设计

完成标准:
- 本地可以完整跑通
- 有 README
- 有数据库表结构
- 有基础后台页面
- 有用户学习流程
- 有基础测试

这份文件解决的是:

我们到底要做什么?


五、第二份文件:ai-rules.md

这是最重要的一份文件。

它定义 AI 的行为规则。

很多 AI 中断,不是因为它不会做,而是因为它不知道自己有没有权力做决定。

你可以这样写:

# AI Rules

你是这个项目的 AI 开发助手。

你的目标是自主推进 MVP 开发,而不是每一步都问我。

## 默认原则

当需求不完整时,你应该:
1. 优先选择最简单可上线方案
2. 优先选择主流技术方案
3. 优先保证 MVP 跑通
4. 不要为了完美架构拖慢开发
5. 把你的假设记录到 docs/decisions.md
6. 继续执行,不要停止

## 你可以自己决定的事情

以下情况不需要问我:
- 文件结构怎么组织
- 普通组件怎么拆分
- 接口字段命名
- 数据库普通字段设计
- 页面基础样式
- 普通错误提示
- 使用哪个常见开源库
- 测试怎么写
- README 怎么组织

## 你必须问我的事情

只有以下情况需要问我:
- 删除已有重要代码
- 修改核心技术栈
- 涉及真实支付
- 涉及用户隐私和安全
- 接入真实第三方账号
- 需求之间明显冲突
- 所有任务都被阻塞

## 遇到问题时

不要直接停止。

请按这个顺序处理:
1. 尝试自己修复
2. 查看错误日志
3. 搜索项目已有代码
4. 写一个最小修复方案
5. 更新测试
6. 如果仍然失败,把问题记录到 docs/blockers.md
7. 继续做其他不依赖该问题的任务

这份文件解决的是:

AI 什么时候可以自己判断,什么时候必须找你?


六、第三份文件:task-breakdown.md

AI 不适合直接执行一个巨大目标。

它更适合执行一组清晰的小任务。

所以你需要任务拆分。

示例:

# Task Breakdown

## Phase 1: Project Setup

### Task 1: Initialize project structure
Status: Todo

Goal:
Create basic frontend, backend, database, and docs structure.

Done when:
- Project can start locally
- README has setup instructions
- Basic health check API works

---

### Task 2: Create database schema
Status: Todo

Goal:
Create tables for users, tests, learning plans, courses, and daily tasks.

Done when:
- SQL migration exists
- Tables can be created locally
- Basic seed data exists

---

## Phase 2: User Learning Flow

### Task 3: Create level test page
Status: Todo

Goal:
User can complete a simple English level test.

Done when:
- User can open test page
- User can answer questions
- System can calculate rough level
- Result can be saved

---

### Task 4: Create learning preference collection
Status: Todo

Goal:
Collect user available time and learning preference.

Done when:
- User can choose daily study time
- User can choose preferred content type
- Data is saved

这份文件解决的是:

AI 下一步到底该做什么?


七、第四份文件:decisions.md

AI 开发一定会遇到很多小决策。

如果每个都问你,项目就会很慢。

所以你可以让 AI 自己决定,但必须记录。

示例:

# Decisions

## D001: Use MySQL for MVP

Reason:
The project owner already uses MySQL often. MySQL is stable and enough for MVP.

## D002: Use simple rule-based level test first

Reason:
MVP does not need a full IELTS simulation. A simple level estimate is enough for validation.

## D003: Use mock WeChat push in local development

Reason:
Real WeChat API setup may slow down MVP development. Mock push can test the main flow first.

这份文件解决的是:

AI 做了哪些假设?以后怎么追溯?


八、第五份文件:blockers.md

不是所有问题都要停下来问你。

有些问题可以先记录,然后绕过去。

示例:

# Blockers

## B001: WeChat official account API is not configured

Impact:
Cannot test real message push.

Temporary solution:
Use mock push service locally.

Need user input:
Real WeChat AppID and AppSecret are required later.

这份文件解决的是:

哪些问题真的卡住了?哪些只是暂时绕开?


九、第六份文件:progress.md

AI 每完成一个任务,就更新进度。

示例:

# Progress

## 2026-05-02

Completed:
- Created backend project
- Added user table
- Added health check API
- Added basic README

Next:
- Build level test page

这份文件解决的是:

项目现在做到哪里了?


十、第七份文件:next.md

这个文件非常适合解决“中断恢复”。

每次 AI 停止前,让它写清楚下一步。

示例:

# Next Action

Continue from Task 4.

Current priority:
Build learning preference collection page.

Important context:
- Use existing user profile table
- Do not change database structure unless necessary
- Keep UI simple

Do not ask user unless there is a blocking issue.

这份文件解决的是:

下一轮 AI 应该从哪里继续?


十一、真正好用的 AI 工作方式

不要这样对 AI 说:

帮我做一个后台管理系统。

这太模糊。

你应该这样说:

请阅读以下文件:

1. docs/goal.md
2. docs/ai-rules.md
3. docs/task-breakdown.md
4. docs/progress.md
5. docs/blockers.md

然后继续完成 task-breakdown.md 中下一个未完成任务。

要求:
- 不要重构无关代码
- 不要问我普通实现细节
- 完成后更新 progress.md
- 重要假设写入 decisions.md
- 遇到阻塞写入 blockers.md
- 如果某个任务被阻塞,继续做其他不依赖它的任务

这才是可持续协作。


十二、给 AI 设置“自主等级”

你还可以给 AI 设置不同的自主等级。

Level 1:每步确认

适合刚开始探索需求。

每完成一个小步骤,都先告诉我再继续。

优点是安全。

缺点是很慢。


Level 2:每个模块确认

适合普通功能开发。

完成一个模块后再汇报。
模块内部的小决策你自己决定。

例如:

  • 用户模块

  • 课程模块

  • 学习计划模块

  • 推送模块


Level 3:只在阻塞时确认

这是最推荐的模式。

你可以连续执行 task-breakdown.md 里的任务。
只有遇到阻塞问题、破坏性修改、安全问题时才问我。
其他问题自己做决定,并记录到 decisions.md。

这个模式最适合一个人用 AI 做项目。


Level 4:高度自动执行

适合成熟项目。

你可以自己执行任务、测试、修复、提交。
最后只给我总结。

但这个模式必须配合:

  • Git 分支

  • 自动测试

  • CI

  • 代码审查

  • 清晰回滚机制

否则风险很高。


十三、一个可直接复制的总 Prompt

你可以把下面这段放进 Claude Code、Codex 或其他 AI 编程工具里:

你是这个项目的 AI 开发助手。

请先阅读项目中的 docs/goal.md 和 docs/ai-rules.md。

你的任务是自主推进这个项目的 MVP 开发。

执行规则:

1. 不要每一步都问我。
2. 遇到普通技术选择,你自己做决定。
3. 默认选择简单、稳定、可上线的方案。
4. 不要过度设计。
5. 每次开始工作前,先查看 docs/task-breakdown.md。
6. 每完成一个任务,更新 docs/progress.md。
7. 每做一个重要决策,更新 docs/decisions.md。
8. 遇到无法解决的问题,写入 docs/blockers.md。
9. 如果某个任务被阻塞,继续做其他不依赖它的任务。
10. 只有以下情况需要问我:
   - 删除重要代码
   - 修改核心技术栈
   - 涉及真实支付
   - 涉及用户隐私安全
   - 需求严重冲突
   - 所有任务都被阻塞

开发流程:

1. 选择 task-breakdown.md 中下一个未完成任务
2. 理解相关代码
3. 实现功能
4. 写必要测试
5. 运行测试
6. 修复错误
7. 更新文档
8. 继续下一个任务

请从现在开始执行,不要先问我确认。

十四、这背后的本质:别让 AI 猜,给它系统

查理·芒格一直强调一个思想:

如果你想减少愚蠢错误,就要依赖系统,而不是依赖临场聪明。

用 AI 编程也是一样。

不要依赖某一次 Prompt 写得多漂亮。

你应该建立一个系统:

目标文档
↓
执行规则
↓
任务拆分
↓
决策记录
↓
阻塞记录
↓
进度记录
↓
测试验证
↓
下一步动作

AI 会中断,这是现实。

但只要系统设计得好,中断并不可怕。

可怕的是:

AI 一中断,整个项目上下文就丢了。


十五、最后的结论

想让 AI 持续完成软件开发任务,不要追求:

AI 连续几天不间断工作。

而应该追求:

AI 每次中断后,都能恢复上下文,继续推进。

真正重要的不是“让 AI 不停”,而是“让项目不断”。

一句话总结:

AI 不是一个永不断电的程序员,而是一个可以反复接力的开发团队。

你要做的,不是逼它一直跑。

你要做的是,把接力棒设计好。

这个接力棒就是:

goal.md
ai-rules.md
task-breakdown.md
progress.md
decisions.md
blockers.md
next.md
tests
README

当这些东西建立起来之后,AI 编程才会从“一问一答写代码”,升级成“围绕目标持续推进项目”。

这才是 AI 软件开发真正应该进化的方向。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐