news 2026/9/30 0:45:28

Claude Code 工作流教程:用 Subagent 与 Skill 搭建并行任务流水线

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Claude Code 工作流教程:用 Subagent 与 Skill 搭建并行任务流水线

1. 为什么串行对话撑不起真实项目:从一次优惠券需求说起

Claude Code 用久了会遇到一个明显的瓶颈:单轮对话只能线性推进。你问一句它答一句,调研、写方案、审查、改写全挤在同一个上下文里,聊到后面它开始遗忘前面的约束,你不得不反复贴需求文档。我试过用一个会话硬扛「优惠券叠加」这种中等复杂度的需求,结果调研阶段还没结束,上下文已经塞满了网页摘要和代码片段,方案质量断崖式下跌。

这个问题的本质是上下文污染。一个 Agent 同时扮演需求分析师、技术调研员、方案架构师、审查官四个角色,每个角色的关注点互相干扰。调研员需要广撒网看大量资料,审查官需要严格对照规则挑毛病,两者的「思维模式」完全不同,塞进同一个上下文只会互相稀释注意力。

Claude Code 给出的解法是把这些角色拆成独立的Subagent,每个 Subagent 拥有自己的上下文窗口和工具权限,主 Agent 只负责调度和汇总。再配合Skill把「需求→调研→编写→审查→改写」这套流程固化成可复用的说明书,你就从「每次重新解释一遍要干什么」变成「一句话触发整条流水线」。

这篇教程面向已经用过 Claude Code、但还在用单会话串行干活的开发者。我会拆解 Subagent 的分工设计、Skill 的流程编排写法,重点讲清楚并行任务怎么落地——这是把串行对话改造成可维护工作流的关键一步。全程给出可复制的配置片段,最后用一个真实需求跑通验证。

核心检索词先明确:Claude Code 工作流、Subagent 并行、Skill 复用,这三样组合起来能做什么?简单说,就是让 AI 像一个虚拟开发团队那样,多个角色同时开工,主控汇总结果,你只负责下需求和验收。

2. TaoToken 前置:给 Claude Code 配好可用的模型入口

在搭工作流之前,得先保证 Claude Code 能稳定调用模型。Subagent 并行会成倍放大请求量,如果模型入口不稳定,并行任务里只要有一个请求超时,整条流水线就卡住了。所以这一步不是可选项。

TaoToken 提供的是兼容 Anthropic 接口的模型调用入口,Claude Code 可以直接对接。你需要准备三样东西:Base URL、API Key、Model ID。这三件套在后面的 Subagent 配置里会反复出现,先记牢。

Base URL 用https://taotoken.net/api,注意这个地址不带任何查询参数。API Key 在控制台的 API Keys 页面生成,建议给工作流单独建一个 Key,方便按项目统计用量。Model ID 根据你的 Subagent 角色来选,调研类任务用响应快的模型,审查类任务用推理更严谨的模型。

配置方式有两种。第一种是环境变量,适合全局生效:

export ANTHROPIC_BASE_URL="https://taotoken.net/api" export ANTHROPIC_API_KEY="sk-你的key"

第二种是写进 Claude Code 的配置文件,适合按项目隔离。在项目根目录的.claude/settings.json里写:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的key", "ANTHROPIC_MODEL": "claude-sonnet-4-20250514" } }

这里有个容易踩的坑:Base URL 结尾不要多加/v1。Claude Code 内部会自己拼接路径,你多写一层会变成/v1/v1/messages,直接 404。我见过不少人卡在这里,以为是 Key 失效,其实是地址写重了。

配好之后先做一次最小验证,别急着上工作流。运行:

claude -p "回复 ok"

如果返回ok,说明模型入口通了。如果报 401,检查 Key 是否复制完整、有没有多余空格。如果报连接超时,检查 Base URL 是否写成了带 UTM 参数的完整链接——那个是给浏览器用的,API 调用只要域名加/api。

对于要跑并行工作流的场景,建议在控制台里把这个 Key 的额度看清楚,并行任务消耗比串行高,心里有个数。需要生成 Key 的话去 API Keys 页面,接入细节可以对照接入文档。

3. 可复制配置:Subagent 分工 + Skill 流程 + 并行 Task

这一节是整篇的核心,给出能直接抄进项目的配置。目录结构先理清楚:

项目根/ ├── .claude/ │ ├── agents/ # Subagent 定义 │ │ ├── requirement-analyst.md │ │ ├── tech-researcher.md │ │ ├── solution-architect.md │ │ └── reviewer.md │ ├── skills/ # 流程说明书 │ │ └── solution-workflow.md │ ├── rules/ # 全局约束 │ │ └── planning-constraints.md │ └── settings.json # 模型入口配置

3.1 定义四个专用 Subagent

每个 Subagent 是一个 Markdown 文件,头部用 YAML frontmatter 声明元信息,正文是角色设定。关键是tools字段——只给这个角色真正需要的工具,权限越窄越安全。

需求分析师,负责把模糊需求变成结构化文档:

--- name: requirement-analyst description: 需求沟通与澄清,输出结构化需求规格说明书 tools: Read, Grep, Write model: claude-sonnet-4-20250514 --- 你是需求分析师。与用户沟通后输出《需求规格说明书》,必须包含: 1. 功能列表(每条可验收) 2. 约束条件(性能、兼容性、依赖) 3. 验收标准(可量化) 输出路径:docs/requirements.md

技术调研员,负责对比选型、输出调研报告:

--- name: tech-researcher description: 技术选型对比,输出带对比表的调研报告 tools: Read, WebFetch, Write model: claude-sonnet-4-20250514 --- 你是技术调研专家。针对指定调研方向,输出包含对比表、优劣势分析、 适用场景建议的报告。每个结论必须标注信息来源。 输出路径:docs/research/{topic}.md

方案架构师,负责综合需求和调研结果写方案:

--- name: solution-architect description: 综合需求与调研报告,输出技术方案设计文档 tools: Read, Write, Grep model: claude-sonnet-4-20250514 --- 你是方案架构师。输入需求文档和全部调研报告,输出设计文档,包含: 背景、技术选型对比、详细设计、风险评估、测试策略。 输出路径:docs/design-proposal.md

审查官,负责挑毛病,不通过必须给具体修改建议:

--- name: reviewer description: 严格审查方案,输出通过/不通过及逐条修改意见 tools: Read, Grep model: claude-sonnet-4-20250514 --- 你是资深审查官。依据 .claude/rules/ 下的规则逐条核对方案。 输出格式:「章节-问题-建议修改」,不得空泛。 结论只能是 PASS 或 FAIL,FAIL 时必须列出至少一条具体问题。

注意审查官的工具里没有 Write。这是故意的——审查官只读不写,避免它自己动手改方案,改写交给专门的 rewriter 角色。职责单一,输出才稳定。

3.2 编写流程 Skill

Skill 是流程编排说明书,它告诉主 Agent 什么时候调用哪个 Subagent。放在.claude/skills/solution-workflow.md:

--- name: solution-workflow description: 技术方案闭环流程:需求→并行调研→编写→审查→改写 --- # 技术方案工作流 当用户说「按 solution-workflow 处理」时,执行以下步骤: ## 步骤 1:需求澄清 调用 subagent `requirement-analyst`,传入用户原始需求。 等待输出 docs/requirements.md 后再进入下一步。 ## 步骤 2:并行调研 从需求文档中提取调研方向,为每个方向启动一个 `tech-researcher`。 使用 Task 工具并行调用,不要串行等待。 每个调研任务指定独立的输出路径,避免写文件冲突。 ## 步骤 3:方案编写 调用 `solution-architect`,输入需求文档 + 全部调研报告。 ## 步骤 4:审查改写循环 - 调用 `reviewer` 审查 docs/design-proposal.md - 若 FAIL,调用 `rewriter` 按意见修改,回到步骤 4 - 最多循环 5 次,仍 FAIL 则终止并报告用户

3.3 并行 Task 的写法

这是把串行改造成并行的关键。在 Skill 的步骤 2 里,不要写「依次调研 A、B、C」,而是明确要求同时启动:

## 步骤 2:并行调研 同时启动以下调研任务(使用 Task 工具并发调用): 1. Task(subagent="tech-researcher", prompt="调研现有促销引擎的扩展性,输出到 docs/research/engine.md") 2. Task(subagent="tech-researcher", prompt="对比 json-rules-engine 与 zeebe 规则引擎,输出到 docs/research/rules.md") 3. Task(subagent="tech-researcher", prompt="调研高并发下优惠券计算的性能瓶颈,输出到 docs/research/perf.md") 等待全部返回后,汇总生成 docs/research/summary.md。

每个 Task 的输出路径必须不同,否则多个 Subagent 同时写同一个文件会互相覆盖。这是并行场景下最常见的翻车点。

3.4 全局规则约束

在.claude/rules/planning-constraints.md里写死底线,所有 Agent 都受约束:

--- type: always --- # 技术方案编写约束 1. 方案必须包含:背景、技术选型对比、详细设计、风险评估、测试策略。 2. 引入第三方库必须提供对比表和已知漏洞检查。 3. 审查意见格式:「章节-问题-建议修改」,不得空泛。 4. 所有调研结论必须标注来源,禁止编造数据。

type: always表示这条规则在所有对话中生效。如果你只想让它在某个 Subagent 里生效,把规则内容写进那个 Subagent 的正文即可。

4. 验证请求:跑通一次并行任务流水线

配置写完,得实际跑一次确认整条链路通了。用一个具体需求来验证:给电商后台加「优惠券叠加」功能。

在项目根目录启动 Claude Code,输入:

按照 solution-workflow 处理以下需求: 为电商后台添加优惠券叠加功能,支持满减券和折扣券按规则叠加计算。 现有代码位于 /src/promotion。

预期执行流程是这样的:主 Agent 先调用requirement-analyst,产出docs/requirements.md。然后进入并行调研阶段,同时启动三个tech-researcher,分别调研促销引擎扩展性、规则引擎选型、高并发性能。三个任务并行跑,总耗时约等于最慢的那个,而不是三个相加。

验证并行是否真的生效,看日志。运行:

claude logs --tail

如果看到三个 Task 几乎同时开始、时间戳接近,说明并行成功。如果是一个接一个串行出现,检查 Skill 里是否写明了「并行调用」——有些情况下主 Agent 会保守地串行执行,需要显式强调。

调研完成后,solution-architect综合所有报告写方案,reviewer审查。如果 FAIL,rewriter按意见改,再回到审查。整个循环最多 5 次。

验证成功的标志有三个:docs/requirements.md存在且包含可验收的功能列表;docs/research/下有多个独立报告文件;docs/design-proposal.md存在且审查结论为 PASS。

想单独验证模型入口是否正常,可以用模型对话页面发一条测试消息,确认返回正常再跑工作流,能省去排查入口问题的时间。

跑通之后你会发现,同样的需求,串行模式要来回对话十几次,工作流模式一句话触发,中间过程全自动。省下的不只是时间,更是上下文管理的精力。

5. 常见报错排查:401、local proxy failed、reading choices

并行工作流跑起来后,报错会比单会话更集中地暴露出来。下面几个是我实际遇到过的,对照着排查。

401 Unauthorized。最常见的原因是 API Key 没配对。检查.claude/settings.json里的ANTHROPIC_API_KEY是否和 TaoToken 控制台生成的一致,注意有没有多余空格或换行。另一个原因是 Base URL 写错,比如写成了带 UTM 参数的完整链接。API 调用只要https://taotoken.net/api,不要带?utm_source=...那串。三件套里 Base URL、Key、Model ID 任何一个错都会导致 401 或 404。

local proxy failed。这个报错通常出现在你本地配了代理,但代理没启动或端口不对。Claude Code 会读取环境变量里的代理设置。检查HTTP_PROXY、HTTPS_PROXY是否指向了一个不存在的端口。如果不需要代理,直接 unset 掉这两个变量。并行任务对连接稳定性要求高,代理链路不稳会频繁触发这个错。

reading choices 相关报错。这类错误说明请求发出去了,但返回的数据结构不符合预期。常见于 Model ID 写错——比如写了一个 TaoToken 不支持的模型名,返回体里没有choices字段。对照控制台里可用的 Model ID 列表核对一遍。另一个可能是 Base URL 多写了/v1,导致请求打到了错误的路由。

OAuth 相关报错。如果你之前用官方账号登录过 Claude Code,本地可能残留了 OAuth 凭证,和 API Key 模式冲突。清理掉旧的凭证缓存,确保走的是 API Key 认证。检查~/.claude/下有没有残留的 token 文件。

并行任务写文件冲突。这个不报错,但结果会错乱——多个 Subagent 同时写同一个文件,后写的覆盖先写的。排查方法是检查每个 Task 的prompt里输出路径是否唯一。统一放到docs/research/下但文件名不同,就不会冲突。

并发数超限。并行任务开太多会触发速率限制。用这个命令限制并发:

claude config set maxConcurrentTasks 5

普通工作流建议不超过 7 个并发。任务确实多的话,分批跑,或者拆成两级——先并行粗筛,再对候选结果深度调研。

排查顺序建议从入口开始:先用claude -p "回复 ok"确认模型入口通,再跑工作流。入口不通的情况下排查工作流配置是浪费时间。需要重新生成 Key 的话去 API Keys,配置细节对照接入文档。

6. 把工作流用起来:从单次验证到长期复用

配置跑通一次之后,接下来是让它变成日常工具。几个实用建议。

Subagent 的工具集要克制。调研员给WebFetch和Write就够了,别给它Bash——它不需要执行命令,给了反而增加误操作风险。审查官只给Read和Grep,让它专注挑毛病。工具越窄,角色行为越稳定。

模型选择上,调研类 Subagent 用响应快的模型,因为要并行跑多个,速度和成本都敏感。审查类可以用推理更强的模型,它只跑一两次,值得多花一点。在 Subagent 的 frontmatter 里用model字段分别指定。

并行任务的数量要控制。普通方案建议 5 到 7 个并发,再多容易触发速率限制,而且主 Agent 汇总结果的上下文也会膨胀。如果调研方向超过 7 个,先做一轮粗筛,每个方向只返回 3 到 5 个关键指标,再对筛出来的候选做深度调研。

Skill 是可以复用的。solution-workflow这套流程不只适用于优惠券需求,任何「需求→调研→方案→审查」的场景都能套。你只需要换需求描述,流程本身不用改。这就是把串行对话改造成工作流的价值——流程固化下来,每次只换输入。

长期跑编码和 Agent 任务的话,可以关注 Coding Plan,按用量规划比单次调用更划算。工作流跑顺之后,你会发现真正的瓶颈不再是「AI 能不能做」,而是「你怎么设计分工」。Subagent 拆得越合理,Skill 写得越清晰,整条流水线的产出就越稳定。

最后留一个实操技巧:每次改完 Subagent 或 Skill 配置,先用一个小需求跑一遍验证,别直接上大需求。配置错误在大需求里会被放大,排查成本高得多。小步验证,快速迭代,这套工作流才能真正为你所用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 0:43:38

知道风格之后看配色和单品

知道风格之后看配色和单品 风格名字一旦有了,下一步不是搜同款,而是看这种气质靠什么颜色和什么单品成立。适合自己的穿衣风格怎么找,后半段我留在尚报(https://chicbrief.com/style)的档案里。每种都被拆成配色、核心…

作者头像 李华
网站建设 2026/9/30 0:43:06

Codex+Jev:构建TypeSafe的本地AI网关工作流

1. “Codex配Jev”不是玄学口号,而是可落地的TypeSafe AI工作流重构“给Codex配上Jev,直接起飞。”——这句话最近在开发者工具圈刷屏,但多数人点开后只看到零散报错截图、API Key填错提示、CLI启动失败日志,甚至有人以为这是某个…

作者头像 李华
网站建设 2026/9/30 0:42:28

代码问答到任务执行:AI编码助手的工具调用与沙箱实践

2. 代码问答到任务执行的桥接:语义解析与工具调用工具调用的核心在于让模型知道“有哪些工具可用、参数长什么样、什么时候该用”。早期的做法是写一大段提示词,把所有工具描述塞进上下文,但随着工具数量增加,提示词越来越长、模型…

作者头像 李华
网站建设 2026/9/30 0:42:02

从量化到剪枝:Model-Optimizer边缘端部署实战指南

上个月我接手一个图像分类模型的边缘端部署,模型训练完精度有0.92,但一加载就要64MB内存,单帧推理跑到210ms,峰值内存直接顶到1.2GB。现场的ARM盒子总共就4核,摄像头数据一进来,整个管线就被一个模型拖死。…

作者头像 李华
网站建设 2026/9/30 0:39:20

ASoC编解码器驱动开发:音频控件类型、注册与DAPM调试实战

1. 从一次耳机杂音排查说起:ASoC控件到底在管什么前阵子帮朋友调一块基于i.MX6ULL的工控板,音频部分用的是WM8960编解码器。现象很怪:系统能枚举出声卡,aplay也能跑,但插上耳机后左声道一直有"沙沙"底噪&…

作者头像 李华
网站建设 2026/9/30 0:32:22

WorkBuddy+DeepSeek:打造每日10:30自动推送的AI行业日报

1. 为什么我要给 WorkBuddy 设一个“十点半闹钟”每天早上到工位,泡好茶、打开电脑,第一件事不是看邮件,而是刷一遍昨天夜里到今早的行业动态。这个习惯我保持了快两年,但说实话,效率极低——公众号、技术社区、几个垂…

作者头像 李华