1. 从空目录到自走流水线为什么你的 Claude Code 总在等一句“继续”如果你认真用过 Claude Code大概率撞过这堵墙让它干活干到一半停下你敲“继续”它又跑两步再停再敲。三个小时过去你发现自己敲了四十遍“继续”。问题不在于模型能力不够而在于你只给了它一个任务却没给它一套能自己判断“活干完没有”的机制。这篇要解决的就是这件事。我会从一个空目录开始搭出一套能自走、可并行、上下文可控的 Claude Code 开发流水线核心是三样东西SubAgent 负责执行、Skill 负责按需加载知识、循环触发条件负责让它别停。整套骨架技术栈无关你换成 Python、Go、前端项目都能直接套。适合谁看已经用过 Claude Code 基础功能、想让多个智能体并行干活、又不想被上下文和账单拖垮的开发者。全程不需要 Docker单会话内就能跑起来。下面每一步都给可复制的配置和验证动作跟着敲完你手里会留下一个能直接改的脚手架。2. TaoToken 前置把 Key 和 API 通道先统一在写任何智能体配置之前先把模型调用通道固定下来。原因很直接并行循环智能体会在短时间内发起大量请求如果 Key 分散在多个地方、计费口径不统一你根本不知道钱花在哪、哪个 SubAgent 在烧额度。TaoToken 在这里的作用就是提供一个统一的 Key 和 API 入口让所有 SubAgent 走同一条通道。你需要先拿到一个可用的 Key。打开控制台创建https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentconsole创建完 Key 之后去 API Keys 页面确认它的权限范围建议给并行流水线单独建一把 Key方便后面按项目统计用量https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi-keysAPI 的基础地址是https://taotoken.net/api注意这个地址不带任何查询参数配置里直接写它就行。接入文档在这里遇到字段对不上时对照查https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc提示并行流水线最容易失控的地方就是请求量。先把 Key 和通道统一后面无论加多少 SubAgent用量都能在一个地方看清。3. 可复制配置settings.json 与 config.toml 骨架这一节是全文的技术主体给你两份能直接抄的配置骨架以及目录结构。先建目录mkdir my-project cd my-project mkdir -p .claude/agents .claude/skills tests touch CLAUDE.md3.1 settings.json把模型通道和 SubAgent 模型钉死Claude Code 的settings.json放在项目.claude/下用来固定环境变量和模型选择。并行场景下最关键的是两件事统一 API 通道、给 SubAgent 指定兜底模型。{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的TaoToken密钥, CLAUDE_CODE_SUBAGENT_MODEL: claude-haiku-4-5 }, permissions: { allow: [Read, Edit, Write, Bash], deny: [] } }ANTHROPIC_BASE_URL指向 TaoToken 的 API 地址所有 SubAgent 的请求都会走这条通道。CLAUDE_CODE_SUBAGENT_MODEL是兜底模型当某个 SubAgent 没有显式指定模型、或者内置 Explore 因为提示词体积超限失败时会回落到这个模型。实测下来把它设成一个便宜快速的模型能明显压住并行调查阶段的成本。3.2 config.toml循环与并行的运行参数如果你用的是带 TOML 配置的封装层或自建调度脚本config.toml负责定义循环触发条件和并行度。下面这份骨架把“什么时候继续循环”“最多并行几个”写成了显式参数[loop] # 完成条件全部测试绿 lint 通过 结构化评审通过 completion_condition all_tests_green lint_pass review_pass # 回合上限防止无限循环 max_turns 20 # 单个实现集失败重试上限 max_retries_per_task 3 [parallel] # 调查阶段并行度 explore_concurrency 3 # 实现阶段并行度按规格书声明的独立分组数决定 implement_concurrency 4 # 验证阶段按维度扇出 review_concurrency 4 [models] implementer claude-opus-4-5 reviewer claude-sonnet-4-5 explore claude-haiku-4-5completion_condition是循环的命门。它必须是机器能判定的状态不能写“代码质量高”这种主观描述。max_turns是断路器光有单任务重试上限护不住整体账单整个流程的回合上限一定要有。3.3 目录结构知识层与执行层分离搭完的目录长这样注意 Skill 和 SubAgent 是分开的两层my-project/ ├── CLAUDE.md # 向导骨架 停止点 Skill 调用 ├── SPEC.md # 运行后由 feature-spec 生成 ├── .claude/ │ ├── settings.json # 通道与模型配置 │ ├── agents/ # SubAgent执行层 │ │ ├── implementer.md │ │ └── reviewer.md │ └── skills/ # Skill知识层按需加载 │ ├── feature-spec/SKILL.md │ └── structured-review/SKILL.md └── tests/关键原则CLAUDE.md每次启动都进上下文所以只放骨架和停止点模板、脚本、步骤全塞进 Skill只在对应阶段加载。一个中等大小的CLAUDE.md就要几百到一千 token如果一天自走几十个任务这笔账不能忽视。4. 验证请求从空目录跑通第一条并行流水线配置写完先别急着上复杂任务用最小验证确认通道和并行都通了。4.1 验证 API 通道先用一条最简单的请求确认 Key 和地址对得上curl https://taotoken.net/api/v1/messages \ -H x-api-key: sk-你的TaoToken密钥 \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d { model: claude-haiku-4-5, max_tokens: 64, messages: [{role: user, content: 回复 ok}] }返回里能看到正常内容说明通道通了。如果报 401检查 Key报 404检查地址是不是写成了带路径的形式。4.2 写 CLAUDE.md 骨架并触发并行调查把下面这段写进CLAUDE.md它定义了流程骨架和两个停止点## 流程骨架 Phase 1 调查(并行) → Phase 2 规格书(声明并行分组) → [停止① 人类审批] → Phase 3 实现(TDD・并行) → Phase 4 整合闸门 → Phase 5 验证(并行) → [停止② 结构化评审] ## Phase 1: 调查并行・用内置 Explore 把以下三项调查各自用独立 SubAgent 并行执行。 - 调查 UI 目录用列表汇报文件路径、props、state不要写代码。 - 调查数据获取目录用列表汇报 API 端点、类型、hook不要写代码。 - 调查 DB / schema用列表汇报表结构、关系不要写代码。 ## 绝对规则 - 只在「规格评审」和「结构化评审」两处征求确认其余自主推进。 - 停止①给出规格书后人类未审批前不得进入实现。启动claude输入“开始 Phase 1”。观察它是否同时派出多个 Explore 子智能体。判断成功的标志三个调查各自返回列表且父对话里没有出现大段代码——说明输出被压缩住了。4.3 验证循环触发用/goal锁定完成条件让流程自走/goal 全部实现集测试绿 且 lint 通过 且 结构化评审通过or stop after 20 turns/goal的机制是每个回合结束后由评估模型读会话记录判断条件是否达成不满足就进入下一回合。注意评估器只读会话记录不读文件、不执行命令所以完成条件要设成 Claude 能在对话里明确给出的输出比如粘贴测试结果。5. 本篇常见错排查并行流水线跑不起来八成是下面几个坑。SubAgent 没有真正并行。CLAUDE.md里写“并行执行”只是请求不是保证。要确保并行用 shell 脚本同时起多个claude -p进程或者用/batch展开。判断方法看父对话里子智能体的启动时间是否重叠。Explore 报提示词体积超限。装了太多 MCP server 或插件时内置 Explore 可能超过 Haiku 的提示词上限而失败。这时靠settings.json里的CLAUDE_CODE_SUBAGENT_MODEL兜底或者临时禁用部分插件。Skill 没被触发。Skill 是模型判断是否加载的光靠自动触发可能不被调用。稳妥做法是在CLAUDE.md流程里用名字显式喊“用 skill feature-spec”。对于必须由人触发的评审加disable-model-invocation: true用斜杠命令显式调用。并行写冲突。并行读不会冲突难的是并行写。同一个文件被多个智能体改整合时必坏。两个条件文件独立各建新文件连 worktree 都不用、隔离要动既有文件就分到单独 git worktree。并行实现后必须放一道整合闸门由父智能体串行做连接。账单失控。claude -p这类 headless 执行在某些套餐下按量计费批量跑很容易撑爆。接入自动化前确认计费方式并且把回合上限写进/goal的条件句里别只靠单任务重试上限。模型别名写死。SubAgent 的model字段用别名opus / sonnet / haiku别写全 ID否则每出新模型都要改一堆文件。工具名用/tools查当前可用清单。6. 把注意力从操作工具挪回做决策整套东西搭完沉淀下来的其实很朴素把“要做什么”用规格书固定下来让测试定义“完成”把独立的活并行起来用 Skill 压住上下文。唯独最后那道结构化评审始终是人的活。如果你主要卡在接入和排障先把 API Keys 和接入文档过一遍https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi-keys https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc想先验证模型在并行任务里的表现用模型对话快速试几轮https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentchat如果你打算长期跑编码和 Agent 任务直接上 Coding Plan用量和通道都更省心https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding-plan守住规格评审和结构化评审这两道关卡并行智能体就会从“每隔几分钟催一次”的工具变成一条能自己跑到终点、顺手把测试和评审都过一遍的流水线。