不想错过苏米的分享和推送?
戳上方蓝字“苏米客”关注我吧
并点击右上角“···”菜单,
选择“设为星标”
前几篇回顾:
OpenClaw + Claude Code 开发实战:ACPX 安装与配置
别再当 AI 监工了,用 OpenClaw + Claude Code 实现全自动写代码
OpenClaw + Claude Code 实战指南:自动开发系统的完整方案
今天继续进入实战内容,昨天提到的通过 ACPX 插件已经可以实现 OpenClaw 调用常见的命令行开发工具,如 claude 进行开发了,只需要一些简单的命令就可以执行了,但也都是一些基础的会话能力,对于长任务,项目需求较大的就没办法了
上下文受限,执行过程无法跟踪,只能定期查询状态
但这个时候 claude 是不会直接返回状态的
所以今天就来实现关于长任务,Claude Code 如何自己跑,并且还能实时查状态
开发过程
首先是基于 Anthropic 官方关于解决长时 AI 任务的博客(原文见评论区)构建的标准化任务管理系统。让 AI Coding Agent 在多个上下文窗口(会话)之间高效交接,实现大型项目的渐进式自动开发。
核心理念
传统 AI Agent 面临一个根本问题:上下文窗口是有限的。一个复杂项目不可能在一个会话中完成。当新的 Agent 会话启动时,它对之前发生了什么一无所知。
把这套逻辑交给 Claude Code:
建立一套标准化的交接机制。一个负责初始化的 Agent 把任务分成一个个小任务单元,然后负责写代码的 Agent 只负责每一个小任务去开发并写、测试通过、提交 Git,然后再领下一个小的任务清单系统。

根据一些个性化的需求,确认没问题就直接交给 Claude Code 开发了
整个任务系统的开发过程有兴趣的可以了解一下(长图)

系统效果
交接班任务管理系统 Taskman 通过两个角色解决协作问题:
| 角色 | 职责 | 类比 |
|---|---|---|
| 初始化 Agent | 搭建环境、拆分任务、编写规范 | 项目经理 + 技术架构师 |
| 编码 Agent | 领取任务、实现功能、测试、提交 | 轮班工程师 |
每个编码 Agent 会话结束时,通过结构化的进度文件和 Git 提交记录,为下一个会话留下清晰的上下文。
开发成果
一句话创建项目:
~/taskman/task-init.sh \
--name "我的应用" \
--desc "一个示例应用"会在项目目录下创建如下目录结构:
my-app/
├── .taskman/
│ ├── tasks.json # 任务数据(不可手动编辑)
│ ├── progress.md # 自动生成的进度报告
│ ├── session.log # 会话历史日志
│ ├── lock # 进程锁文件
│ └── scripts/ # 所有操作脚本(项目自包含)
│ ├── task-lib.sh
│ ├── task-add.sh
│ ├── task-next.sh
│ ├── task-done.sh
│ ├── task-fail.sh
│ ├── task-list.sh
│ └── task-status.sh
├── AGENTS.md # 项目约定与交接文档
├── CLAUDE.md # Coding Agent 操作手册
├── init.sh # 开发环境启动脚本
├── .gitignore
└── .git/
在项目目录中启动 Claude Code 会话即可。Agent 会自动读取 CLAUDE.md,按流程领取任务、实现、测试、提交。
任务状态流转
┌──────────────────┐
│ pending │
└────────┬─────────┘
│
┌────────▼─────────┐
│ in_progress │
└───┬─────────┬───┘
│ │
┌────────▼──┐ ┌──▼────────┐
│ done │ │ failed │
└───────────┘ └──┬────────┘
│
┌────▼─────────┐
│ pending │ ← 可重试
└──────────────┘每个编码 Agent 会话应遵循以下流程(定义在 CLAUDE.md 中):
启动阶段
1. pwd 确认位置
2. source init.sh 检查环境健康
3. task-status.sh --verbose 查看项目状态
4. cat .taskman/progress.md 查看进度报告
5. git log --oneline -10 查看最近提交
6. task-next.sh --json 领取下一个任务实现阶段
7. 阅读任务描述和验收标准
8. 理解现有代码再动手
9. 小步迭代,频繁测试
10. 遵循 AGENTS.md 中的项目约定完成阶段
11. 端到端测试(以用户视角验证)
12. 确认无回归
13. git commit 提交代码
14. task-done.sh <ID> --note "..." 标记完成
15. 结束会话(不领取下一个任务)失败处理
11. 记录失败原因
12. git checkout . 或 git stash 清理现场
13. task-fail.sh <ID> --note "..." 标记失败
14. 结束会话设计原则
本系统的设计遵循以下原则(源自 Anthropic 的实践经验):
- 1. 一次一个任务 — 避免 Agent 试图一次完成太多事情导致上下文耗尽
- 2. 结构化交接 — 通过
progress.md+session.log+ Git 历史三重记录 - 3. 可测试的验收标准 — 每个任务都有明确的 "完成" 定义,防止 Agent 过早标记完成
- 4. 干净的退出状态 — 每个会话结束时代码必须是可提交的、可运行的
- 5. 自愈能力 — 新会话启动时先检查环境健康,发现上一个会话留下的失败要处理
- 6. 项目自包含 — 脚本复制到
.taskman/scripts/,不依赖外部路径 - 7. 依赖拓扑排序 — 自动确保任务按正确顺序执行
实测开发了一套 AI PPT 生成系统,全程无干预

总结
这套「AI Agent 交接班任务管理系统」每个迭代严格执行 8 步:
环境健康检查 → 领取任务 → 理解需求 → 实现 → 测试验证 → Git 提交 → 标记完成 →循环下一个
已经可以很好的自主循环完成任务了,下一步 将继续实现一套供 OpenClaw 调用的命令系统,OpenClaw 只需要一个命令就可以开始执行任务,查询任务状态。

📮 往期精彩文章
夜雨聆风