思想的来源

BandCompany是我设想的一家软甲公司,前面学了Spec-kit之后,我就想让4个Agent,每个Agent负责流程中的一个节点,通过md文件记录任务状态。我设计的流程是:人类提需求,AI负责写规格、做计划、拆任务、写代码。每个步骤都有对应的 Claude 命令。试着和Claude Code沟通了我的想法,并一步一步实现。
本文的主要内容是记录我的过程,对于AI产出的流程、代码,并没有过多涉及。只要掌握思想,以及合理的使用Claude Code的方法,你也可以创造出一个多智能体的协作流程。

设计主流程,然后交给Claude来实现

先设计了流程:四个 Agent 通过 Markdown 文件传递任务,一个做完写入下一个的队列,像流水线一样。然后Claude开始创建文件——prompt 文件、队列文件、子智能体注册表、通信协议、Agent 定义,一口气写了十几个。

第一轮:脚本跑不起来

写了启动脚本 start-all.cmd,用户跑了一下,直接报错——Windows 上应该用 PowerShell,不是 CMD。

全部推翻,用 .ps1 重写。

第二轮:参数不存在

PowerShell 版 start-all.ps1Start-Process -WindowTitle 给窗口加标题,报错——这个参数压根不存在。改成 cmd /c start "标题" pwsh ...,借用 Windows 的 start 命令创建窗口。

第三轮:启动了,但 prompt 文件找不到

窗口弹出来了,但立刻报 Prompt file not foundstart-agent.ps1cmd /c start 启动后,$MyInvocation.MyCommand.Path 是空的,算不出自己的目录。加了 $PSScriptRoot fallback 才定位到文件。

接着发现 implement-prompt.mdimplementer-prompt.md 差两个字母——Agent 名是 implementer,文件名只写了 implement

第四轮:四个窗口都就绪了,提交任务

用户在 specify.md 里加了一行:

- [ ] 做一个公司官网,宣传我们的AI智能体产品

四个窗口开始轮询。

第五轮:日志说完成了,但什么都没发生

Specifier 窗口日志显示 Task completed,但 specs/ 目录里空空如也,队列文件里的任务原封不动。

claude -p 在非交互模式下,工具调用被权限系统静默拦截了。Claude 输出了文字说"我已创建规格",实际上什么文件都没写。

加了 --dangerously-skip-permissions

第六轮:Claude 说"请批准"

Claude 终于开始执行工具了,但输出了这样一段话:

“我需要你的批准才能继续。正在挂起的操作是:创建 git 分支、创建规范目录、更新队列文件”

没有人在窗口前审批。Agent 在等一个不存在的人。

在 prompt 开头加了:“直接使用工具执行,不要请求批准”。同时创建了项目级 .claude/settings.json 预授权所有工具。

第七轮:窗口一片空白

Agent 确实在跑,但窗口里什么都看不到。用 Get-Content prompt.md | claude 这种 stdin 管道方式,claude 进入非交互模式,输出不显示在终端。

改成把 prompt 作为命令行参数传入:claude $Prompt。窗口里终于能看到工具调用的实时过程了。

第八轮:跑起来了,但太频繁

四个 Agent 同时以 30 秒间隔轮询,API 调用频率爆炸。启动瞬间四连发冲击服务器,空闲时空跑几百次。

第九轮:Cron 调度

Bash sleep 轮询改成 CronCreate 定时触发,四个 Agent 错开 10 分钟:Specifier 每小时整点,Planner 每小时 :10,Tasker :20,Implementer :30。每个 Agent 处理完后注册下一次触发,空闲时挂起不消耗调用。

现在的样子

.\agents\start-all.ps1    # 启动
.\agents\status.ps1       # 查看状态
.\agents\stop-all.ps1     # 停止

提交任务:编辑 agents\queue\specify.md,加一行 - [ ] 需求描述

流程思想很简单——四个 Agent 通过文件队列接力,每个做完写入下一个的队列,错开时间执行,避免并发。但让这个简单流程真正跑起来,花了九轮调试。

踩过的坑

问题 原因
CMD 脚本报错 应该用 PowerShell
Start-Process -WindowTitle 不存在 这个参数不存在
脚本找不到 prompt 文件 cmd 启动下路径变量为空
文件名差两个字母 implement vs implementer
日志显示完成但实际没做 claude -p 非交互模式工具被拦截
Agent 输出"请批准" 模型在请求不存在的人类审批者
窗口空白 stdin 管道触发非交互模式
API 调用爆炸 30 秒轮询 × 4 进程
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐