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 能搞定就别为了用而用。工作流的价值在于处理那些单次对话总搞不定、拆开就能分头攻克的任务把算力花在刀刃上。
企业数字化 ERP 产品动态
相关推荐
客户价值22条法则:从PPT到代码的可执行落地指南 简介:本资源是一份聚焦客户价值体系化构建的高质量PPT课件,面向企业管理者、CRM实施人员、市场营销与财务管理从业者,系统解答“如何科学定义、精准识别并持续创造客户价值”这一核心命题。内容涵盖客户价值的本质内涵(FABE价值模… · 2026/9/25 3:09:13
ROS2水下机器人自主返航系统:USBL定位+Nav2行为树+双环PID控制 简介:本资源是一套基于ROS2开发的水下机器人自主返航系统完整实现方案,面向机器人方向本科生毕业设计、课程设计及期末大作业实践者,解决水下任务完成后安全可靠返航的核心控制问题。压缩包共203个文件,含63个Python节点脚本&… · 2026/9/25 3:09:13
陪诊系统设计与落地:从就医流程优化到全周期运营实践 1. 为什么需要陪诊系统:就医流程中的真实痛点做了多年医院信息化项目,我见过太多患者在门诊大厅里手足无措的样子。早上七八点,挂号窗口前排着长队,自助机前围着好几层人,一个老年人拿着医保卡不知道往哪插,… · 2026/9/25 3:09:07
NG-ZORRO Comment 评论组件实战:nz-comment 结构、API 与嵌套评论实现解析 UI组件前端 【免费下载链接】ng-zorro-antd Angular UI Component Library based on Ant Design 项目地址: https://gitcode.com/gh_mirrors/ng/ng-zorro-antd 点击查看 免费下载 Comment(评论)组件是 NG-ZORRO(Angular 版 Ant D… · 2026/9/25 3:39:45
Video2X开源AI视频放大与插帧:本地超分辨率修复老旧素材实战 1. 为什么我盯上了Video2X这个项目老旧视频画质差这件事,几乎每个做内容的人都绕不开。手头攒了一堆早年拍的DV素材、从旧手机导出来的家庭录像、网上收集的低分辨率动画片段,分辨率停在480P甚至360P,放到现在的大屏设备上满屏都是马赛克。商… · 2026/9/25 3:39:45
电动汽车充放电紧急性指标调度方法实战指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 3:39:39
plannotator PR 描述批注实战:用共享 Prose 批注引擎让评审者一行划选就能评论 PR 正文 【免费下载链接】plannotator Annotate and review coding agent plans and code diffs visually, share with your team, send feedback to agents with one click. 项目地址: https://gitcode.com/gh_mirrors/pl/plannotator 点击查看 免费下载 本篇基于 plannot… · 2026/9/25 3:39:39
LabWindows/CVI数字图像处理实验包:12个可运行工程与原生API详解 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 3:39:33
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37