新闻详情

新闻详情

首页 / 资讯中心 / 详情

Claude Code 动态工作流 Harness 配置:用 Subagent 搭一套会自己分工的 Agent 班子

发布时间:2026/9/25 3:09:14来源:尧图网络
Claude Code 动态工作流 Harness 配置:用 Subagent 搭一套会自己分工的 Agent 班子
1. 单 Agent 干到一半就摆烂问题出在哪如果你已经在用 Claude Code 写代码大概率遇到过这种场景让它审查一个模块的 50 个安全检查项跑到第 35 项就宣布全部完成让它验证自己刚写的实现它说看起来没问题一个跨十几个文件的重构任务聊到后面它开始忘记最初不要动数据库迁移文件的约束。这些不是模型变笨了而是单上下文窗口跑复杂任务时的结构性缺陷。Claude Code 的动态工作流Dynamic Workflows就是冲着这个问题来的。它让 Claude 不再只是自己干活而是能现场生成一套 Harness编排框架拉起多个 Subagent子代理分工协作——每个 Subagent 有独立的上下文窗口、独立的目标、独立的验证标准。一个偷懒了其他不受影响一个偏袒自己另一个专门挑它的错。这套机制适合谁适合已经熟悉 Claude Code 基本用法、手上有一批单次对话搞不定、拆开就能分头攻克任务的开发者。典型场景包括大规模代码迁移与重构、深度研究、事实核查、工单排序、根因调查、批量分流。如果你只是写个函数、改个 bug那默认 Harness 完全够用不必上工作流。下面我会给出可复制的 Harness 配置骨架、Subagent 编排示例以及一次从单 Agent 到多 Agent 分工的完整验证动作。为了让这套班子稳定跑起来模型调用和密钥管理我用 TaoToken 来做统一入口后面会给出具体配置。2. 用 TaoToken 给 Agent 班子备好统一入口动态工作流会同时拉起多个 Subagent每个 Subagent 可能用不同模型比如分类用轻量模型、验证用强模型。如果每个 Agent 都单独配一套密钥和地址管理成本会爆炸。我的做法是走 TaoToken 统一接入一个 Key 覆盖多个模型Subagent 里切换模型只改一个字段。TaoToken 在这里扮演的是模型调用入口的角色官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 。它兼容常见的 OpenAI 风格调用格式所以 Claude Code 和自定义脚本都能直接对接。你需要先拿到 API Key。登录后进入控制台在 API Keys 页面创建一个新 Key控制台入口https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewriteAPI Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite创建时建议按用途分 Key比如一个给主 Agent、一个给验证类 Subagent方便后面按 Agent 维度看用量。拿到 Key 后把它写进环境变量别硬编码在脚本里export TAOTOKEN_API_KEYsk-你的key export TAOTOKEN_BASE_URLhttps://taotoken.net/api如果你用的是 Claude Code 的 Anthropic 兼容模式接入文档在这里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。ClaudeCodeAnthropic 专用说明页https://taotoken.net/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_contentClaudeCodeAnthropicutm_campaignrewrite 。注意动态工作流会并行拉起多个 SubagentToken 消耗是单 Agent 的数倍。建议先在控制台设一个预算上限再开始跑工作流。3. 可复制的 Harness 配置骨架动态工作流的底层执行方式很直接运行一个 JavaScript 文件文件里调用几个特殊函数来生成和协调 Subagent。除了这些特殊函数还支持标准 JavaScript 内置功能JSON、Math、Array 等来处理数据。先给一个最小可跑的 Harness 骨架。这个骨架做的是扇出后综合Fan-out-and-synthesize把一个大任务拆成 N 个子任务每个子任务起一个 Subagent最后综合结果。// harness-fanout.js // 扇出后综合把任务拆成多个子任务并行处理再合并结果 const TASK 审查 src/auth 目录下所有文件的错误处理逻辑; // 第一步让主 Agent 把任务拆成子任务列表 const subtasks await agent({ model: claude-sonnet, prompt: 把下面这个任务拆成 3-5 个可以独立执行的子任务 每个子任务聚焦一个文件或一个关注点。只返回 JSON 数组每项包含 id 和 description 两个字段。任务${TASK}, output: json }); // 第二步为每个子任务起一个 Subagent在独立 Worktree 中运行 const results await Promise.all( subtasks.map(t agent({ model: claude-sonnet, prompt: 你只负责这一个子任务不要越界${t.description}。 完成后返回结构化结果包含 file、issue、severity 三个字段。, worktree: true, // 独立工作树互不干扰 output: json }) ) ); // 第三步综合所有结果这一步是同步屏障 const summary await agent({ model: claude-opus, prompt: 下面是多个 Subagent 的审查结果请去重、按严重程度排序 输出一份最终报告。结果${JSON.stringify(results)} }); return summary;几个关键点值得展开。agent()函数负责生成一个 Subagent你可以为每个 Subagent 指定模型、是否使用独立 Worktree、输出格式。worktree: true让 Subagent 在自己的工作树里跑相当于给了隔离环境适合需要改文件的场景。Promise.all让多个 Subagent 并行执行这是扇出模式的核心。再给一个对抗性验证Adversarial Verification的骨架这是解决自我偏好偏差最直接的模式// harness-adversarial.js // 对抗性验证生成方和验证方是两个独立 Agent const GENERATOR_PROMPT 为这个 CLI 工具实现一个参数解析函数; const CRITERIA 必须处理未知参数、必须支持 --help、必须有单元测试; // 生成方 const draft await agent({ model: claude-sonnet, prompt: ${GENERATOR_PROMPT}。验收标准${CRITERIA}, worktree: true }); // 验证方独立 Agent专门挑错 const verdict await agent({ model: claude-opus, prompt: 你是一个严格的审查者。下面是另一个 Agent 的实现 请逐条对照验收标准检查找出所有不满足的地方。 不要客气宁可多报也不要漏报。 验收标准${CRITERIA} 实现内容${draft}, output: json }); // 如果验证不通过带着反馈重新生成 if (verdict.passed false) { const revised await agent({ model: claude-sonnet, prompt: 根据审查反馈修改实现。反馈${JSON.stringify(verdict.issues)} 原始实现${draft}, worktree: true }); return revised; } return draft;这两个骨架覆盖了最常用的两种编排模式。实际项目里Claude 经常把多种模式组合起来——比如先分类、再扇出、每个结果做对抗性验证、最后综合。你不需要手写所有分支把模式描述清楚让 Claude 现场生成即可。4. 从单 Agent 到多 Agent 分工的验证动作光看骨架不够得跑一次真实的验证确认班子确实在分工。我设计了一个可复现的对比实验同一个任务先用单 Agent 跑再用工作流跑对比结果。任务选一个容易暴露单 Agent 缺陷的审查一个包含 8 个文件的模块找出所有未处理的异常分支。第一步单 Agent 基线。直接在 Claude Code 里输入审查 src/payment 目录下所有文件找出所有未处理的异常分支 逐个列出文件名和行号。跑完后记录它报告的数量。单 Agent 通常会在处理到第 4、5 个文件时开始偷懒要么合并描述要么直接说其余文件类似。第二步工作流版本。在 Claude Code 里用触发词ultracode确保它创建工作流ultracode 审查 src/payment 目录下所有文件找出所有未处理的异常分支。 为每个文件起一个独立的 Subagent 负责扫描每个 Subagent 返回 文件名、行号、异常类型三个字段。全部完成后再起一个验证 Agent 抽查每个 Subagent 的报告是否遗漏最后综合成一份去重后的清单。Claude 会现场生成一个 Harness大致对应扇出 对抗性验证 综合的组合。执行时你能看到它逐个拉起 Subagent每个 Subagent 的输出是独立的。第三步对比。工作流版本通常会报告出比单 Agent 更多的异常分支尤其是那些藏在文件后半部分的。原因很直接每个 Subagent 只看一个文件上下文干净没有前面已经看过类似的跳过吧这种偷懒空间。验证成功的标志有三个Subagent 数量等于文件数量说明真的扇出了、每个 Subagent 的输出独立可查说明上下文隔离了、验证 Agent 报出了至少一处遗漏说明对抗性验证生效了。如果你想在脚本层面复现这个验证可以用 TaoToken 的模型对话接口手动跑一次模型对话入口https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite5. 本篇常见错排查工作流跑不起来多数是下面几类问题。Subagent 没有真正并行。检查你的扇出是不是用了Promise.all。如果写成for循环里await那就是串行一个跑完再跑下一个完全失去了扇出的意义。串行不仅慢还容易让后面的 Subagent 受前面结果影响。Worktree 冲突。多个 Subagent 同时改同一个文件即使有 Worktree 也可能在合并时冲突。解决办法是让每个 Subagent 只碰自己负责的文件或者干脆让 Subagent 只读不改把修改动作留给综合阶段。Token 用量失控。工作流的 Token 消耗是单 Agent 的数倍。如果发现账单异常先检查是不是扇出数量太多。可以在提示词里明确写使用 1 万 Token来设上限也可以减少 Subagent 数量或者把验证类 Subagent 换成轻量模型。验证 Agent 和生成 Agent 用了同一个模型。这会让对抗性验证的效果打折因为同一个模型容易有相同的盲区。建议生成用 Sonnet、验证用 Opus或者反过来让两个 Agent 的视角真正不同。工作流中断后从头再来。正常情况下工作流中断后恢复会话会从断点继续。如果你发现它重跑了检查是不是手动改了工作流文件或者会话没有正确恢复。分类 Agent 路由错误。如果你用了分类后行动模式分类 Agent 判断错了任务类型后面全错。解决办法是给分类 Agent 更明确的分类标准和示例必要时加一个验证 Agent 检查分类结果。Subagent 越界。Subagent 跑着跑着去干了不属于它的活。在提示词里明确写你只负责这一个子任务不要越界并且把子任务描述写得足够具体。6. 把班子搭起来之后工作流菜单里按s键可以保存当前工作流保存的文件默认放在~/.claude/workflows目录下。对于可重复执行的工作流比如分流、研究、验证配合/loop定期执行配合/goal设置硬性完成条件就能让它自己转起来。如果你要把工作流分享给团队可以把 JavaScript 工作流文件放进技能文件夹在SKILL.MD里引用。更灵活的做法是提示 Claude 把技能中的工作流视为模板而非必须原样执行的脚本这样别人拿到后能按自己的场景调整。长期跑编码和 Agent 任务的话Coding Plan 会比按量计费更划算入口在这里https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。接入文档和 API Keys 页面前面都给过了配置时对照着看即可。最后说一个我踩过的坑不是所有任务都值得上工作流。大多数传统编程任务不需要 5 个审查员组成的评审团。跑工作流之前先问自己一句——这个任务真的需要更多算力吗如果单 Agent 能搞定就别为了用而用。工作流的价值在于处理那些单次对话总搞不定、拆开就能分头攻克的任务把算力花在刀刃上。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

NodeGui QFontWeight 枚举完全解析:从 100 到 900 的字体字重映射与实战用法 2026/9/25 3:44:26

NodeGui QFontWeight 枚举完全解析:从 100 到 900 的字体字重映射与实战用法

桌面应用跨平台 【免费下载链接】nodegui A library for building cross-platform native desktop applications with Node.js and CSS 🚀. React NodeGui : https://react.nodegui.org and Vue NodeGui: https://vue.nodegui.org 项目地址: https://git…

阅读更多 →
F´ GDS History 机制深度解析:ChronologicalHistory、TestHistory 与 RamHistory 的设计与实战 2026/9/25 3:44:26

F´ GDS History 机制深度解析:ChronologicalHistory、TestHistory 与 RamHistory 的设计与实战

嵌入式系统编程 【免费下载链接】fprime F - A flight software and embedded systems framework 项目地址: https://gitcode.com/gh_mirrors/fpri/fprime 点击查看 免费下载 本文围绕 F(F Prime)飞行软件框架 GDS(地面数据系统&…

阅读更多 →
Kvasir-SEG息肉检测YOLO数据集:开箱即训+标注校验+小目标增强 2026/9/25 3:44:14

Kvasir-SEG息肉检测YOLO数据集:开箱即训+标注校验+小目标增强

简介:本资源是面向医学图像AI初学者与目标检测实践者的YOLO格式息肉检测专用数据集,基于Kvasir-SEG公开数据构建,专为结肠镜图像中单类别(息肉)定位任务设计,可直接用于YOLOv5/v8/v10等主流框架训练与验证。…

阅读更多 →
如何读懂EasyXMen实时操作系统内核:任务调度、Alarm与事件机制源码级剖析 2026/9/25 3:44:14

如何读懂EasyXMen实时操作系统内核:任务调度、Alarm与事件机制源码级剖析

如何读懂EasyXMen实时操作系统内核:任务调度、Alarm与事件机制源码级剖析 【免费下载链接】开源小满EasyXMen代码仓库 持续18年精心打造的安全车控操作系统BSW代码。 项目地址: https://gitcode.com/easyxmen/XMen EasyXMen(开源小满)…

阅读更多 →
安全运维实操:蜜罐部署、堡垒机配置与API调用全流程 2026/9/25 3:44:14

安全运维实操:蜜罐部署、堡垒机配置与API调用全流程

这几天在搭一套安全运维的学习环境,今天已经到第4天了。按计划今天要同时过掉三样东西:蜜罐、堡垒机和API。说“同时”其实并不准确,准确说是把一个实操链条拧到了一起——用HFish容器快速部署一个蜜罐当诱饵,用明御堡垒机配合Mob…

阅读更多 →
CISP认证含金量与备考指南:从网安高薪岗位到学习路线一次讲清 2026/9/25 3:44:07

CISP认证含金量与备考指南:从网安高薪岗位到学习路线一次讲清

每年年中和年底,我都能在朋友圈里看到两类完全对立的帖子:一类是刚入行的安全新人晒offer,标题大概是“网安行业高薪岗位真的多,终于上岸了”;另一类是干了三五年还在原地打转的老哥吐槽“证书没用、内卷严重、投简历秒…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉