首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Distill 子代理委托机制:主模型如何把任务精准分发给 Worker 并校验结果
📅 2026/10/29 10:02:24
✍️ 爱科研究院
👁 阅读 3,247
【免费下载链接】distillGet FAR MORE done with FAR FEWER tokens 项目地址https://gitcode.com/gh_mirrors/disti/distill点击查看免费下载Distill 是一个主打「用更少 token 干更多事」的 AI 编程代理工具 。它的子代理委托机制让主模型Main model把可执行的实施任务分发给独立的 Worker 子代理自己只保留规划与审核最终通过「自报 工具执行证据 独立 diff 复核」三重手段校验 Worker 的产出。这篇文章带你从零看懂这套任务分发与结果校验体系是如何运作的。一、为什么要把任务分发给 Worker 子代理在 Distill 中主模型拥有整个会话负责规划、拆分任务、审阅结果而可选配置的Worker 模型专门跑主模型分派下来的子代理任务。官方路由文档用一张 ASCII 图概括了这种分工Main model: owns the session, plans, delegates, reviews | | | conversation delegated chunk Utility task (worker subagent) bounded payload report diff - main reviews这种分层的直接收益是成本与速度官方基准测试显示在相同质量9/9 冻结测试全通过下Distill 相比原生方式最多可节省87% 成本、快76%二、task工具主模型发起委托的入口主模型通过名为task的工具发起一次委托工具名常量即TASK_TOOL_NAME。一次task调用的关键参数包括prompt/description任务规格spec与一句话描述subagent_typeWorker 类型如explore、general-purpose、planmodel显式指定子代理使用的模型可选run_in_background是否后台执行resume_from从上次已完成的子代理恢复续跑isolation/cwd工作目录或隔离 worktree分派前的四道预校验在真正把请求交给协调器coordinator actor之前TaskTool会做一系列急切校验见 TaskTool::run校验项说明嵌套深度默认最大深度为 1MAX_SUBAGENT_DEPTHWorker 不能再向下委托防止无限递归类型合法性未知类型、被[subagents.toggle]禁用的类型、不在白名单内的类型都会被拒绝模型合法性显式model会经模型目录校验器检查不存在的模型直接报错工作目录cwd与isolationworktree互斥cwd必须是真实存在的目录校验通过后后台模式会立即返回任务 ID 供轮询阻塞模式则等待结果若等待预算超时协调器会自动把子代理转为后台任务返回task_id供后续取回结果。三、三类内置 Worker 与模型路由优先级内置子代理类型Distill 内置了三种 Worker 画像定义在 distill-tool-types 的 task.rsgeneral-purpose全能型可搜索、分析多文件、执行命令适合多步骤研究与复杂任务explore只读探索型没有文件编辑工具专攻快速定位代码plan只读「软件架构师」探索代码库并产出实施计划要求列出 3-5 个关键文件每个类型的提示词模板都内置了工作策略约束例如 explore 型明确要求「只回答被问到的问题能答即停并说明哪些内容无法确认」见 EXPLORE_PROMPT。模型路由谁跑在主模型上谁跑在 Worker 上子代理的模型解析遵循一条清晰的优先级链实现见 resolve_subagent_sampling_config[ subagents.models ] 配置固定 代理定义中的 model: Worker 模型被委托的新任务 父会话主模型对应的路由规则来自 jev-routing.md子代理运行模型主模型委托的新子代理general-purpose / explore / 无 model 的用户代理Worker 模型未配置时用主模型plan与code-reviewer主模型简单任务可被路由到 Worker全上下文 fork、resume 或显式指定 model 的子代理自身模型fork 继承父模型判断一个子代理是否「有资格」落到 Worker 模型上的逻辑很紧凑见 delegated_worker_eligible必须是新会话非 fork、未显式指定模型、且不是plan/code-reviewer除非决策层放行。Worker 纪律注入的「执行手册」一个跑在 Worker 模型上的全新子代理系统提示词会被追加一段Worker 纪律WORKER_DISCIPLINE核心要求是只做规格里写的不重构、不改名、不格式化、不加功能遇到不匹配就停代码与任务不符、或出现影响结果的开放决策时停下上报而不是猜测用最短命令验证运行任务点名的检查报告每条命令的退出状态与关键输出报告保持紧凑结尾给出「改动文件 检查命令 输出」的简报50 词以内不复述 patch 内容——因为主模型会独立检查真实 diff子代理的通用提示词模板 subagent_prompt.md 还规定最终消息是委托方唯一收到的内容必须「先给结论再给证据path:line引用和每条命令及结果最后说明哪些内容无法验证及原因」。四、结果校验不信任自报三重独立证据这是整套机制最有意思的部分——主模型不轻信Worker 的自述而是拿到三份相互独立的证据1️⃣ 报告字节上限防信息爆炸task_report_cap 根据子代理能力设定报告上限能编辑文件或执行命令的子代理只有 3000 字节只读类有 12000 字节。超长报告会被截断优先在行边界全文落盘并附注「完整报告已存至某路径」见 cap_task_report。2️⃣ 工具执行证据harness 亲测worker_execution_evidence 由 harness 自己抓取子代理最后一批工具调用及其记录结果包装成worker_execution_evidence块交给主模型并标注truncated状态。即使子代理声称测试通过主模型也能核对实际执行的命令与返回。3️⃣ 独立 diff 复核绕开子代理口径worker_repository_review 是真正的一票独立harness 通过子代理自己的终端跑git status对比启动前后找出新增改动加上其编辑工具实际触碰过的文件路径只对该子代理真正改过的文件执行git diff HEAD生成repository_review证据块。也就是说主模型拿到的 diff 与 Worker 的自述完全解耦——Worker 报错了也没关系diff 不会骗人。如果 Worker 模型不可用、子代理回落到父模型运行输出前还会插入一条显式警告见 with_worker_fallback_warningWarning: worker modelxxxwas unavailable, so this subagent ran onyyy.五、失败处理与续跑resume恢复续跑完成的成功子代理会在结果中携带resume_from提示见 SubagentCompleted 输出主模型可基于同一 ID 续跑distill-subagent-resolution 负责续跑时的身份校验类型/persona 匹配且续跑时模型固定为源模型显式model参数会被软忽略自动转后台阻塞等待超时的子代理会被协调器转为后台任务完成后可通过 task output 工具轮询或由 auto-wake 合成提示唤醒父会话失败回传result.success false时直接把错误作为工具错误返回给主模型主模型可带着具体错误重派任务连续失败两次后按策略拆分任务或亲自接手六、关键源码文件速查模块路径task工具与预校验crates/codegen/distill-tools/src/implementations/distill/task/mod.rs内置子代理类型与提示词crates/common/distill-tool-types/src/task.rsWorker 纪律 / 结果校验函数crates/codegen/distill-shell/src/agent/subagent/mod.rs子代理提示词模板crates/codegen/distill-agent/templates/subagent_prompt.md纯逻辑解析层优先级/续跑校验crates/codegen/distill-subagent-resolution/src/lib.rs主/Worker 模型路由文档docs/jev-routing.md小结Distill 的子代理委托机制可以浓缩为一句话主模型负责想Worker 负责做harness 负责验。精准分发靠的是task工具的参数化规格 严格的模型路由优先级结果校验靠的是报告截断、工具执行证据、独立 git diff 三重解耦。理解这套机制就能明白 Distill 为何能在保持同等质量的前提下大幅压低 token 消耗。赞分享【免费下载链接】distillGet FAR MORE done with FAR FEWER tokens 项目地址https://gitcode.com/gh_mirrors/disti/distill点击查看免费下载相关推荐如何构建 Mastra supervisor 代理把任务委派给 subagents 并汇总结果如何构建 Mastra supervisor 代理把任务委派给 subagents 并汇总结果 当你有一个任务需要先查资料、再写内容这类多个专长协作时可以人工智能AI AgentAgent 框架后端RAG工作流自动化Agent 记忆工具调用AI 评测MCP 服务goose Summon 扩展深度指南加载任务源并把工作委派给子代理goose Summon 扩展深度指南加载任务源并把工作委派给子代理 本文围绕 goosegoose3/goose 仓库内置的 Summon 平台扩展 展人工智能AI 应用AI AgentMCP Clients桌面应用CLIPydantic AI Harness多Agent协作教程Subagents委托实战把大任务拆给AI子代理团队Pydantic AI Harness多Agent协作教程Subagents委托实战把大任务拆给AI子代理团队 想让 AI Agent 独力扛起调研 创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/29 10:02:24
Jedi-Academy实体系统揭秘:gentity_t与Spawn变量如何构建游戏世界
2026/10/29 9:57:23
Chrome DevTools MCP:让AI真正‘看见’浏览器运行时
2026/10/29 9:57:23
XML布局渐衰而Compose成主流:A2UI如何重塑Android UI开发
2026/10/29 10:57:51
2026商用充电桩选型评估维度与核验方法
2026/10/29 10:57:51
杀伤链仿真:从 F2T2EA 到杀伤网,体系对抗数字化推演实践
2026/10/29 10:57:51
字节级路由:解决多语种LLM token预算失衡问题
2026/10/29 10:57:51
pyinstaller带本地资源打包,pyinstaller test1.spec ,解决linux环境打包识别不了包的情况
2026/10/29 10:57:51
3D高斯泼溅技术优化:PM-Loss解决深度不连续性难题
2026/10/29 10:52:44
【零代码生信分析】RNA-seq中级分析4-差异基因集【蛋白质互作PPI】分析
2026/10/29 0:00:09
服务器巡检报告模板怎么写:从检查项到PowerShell数据回填
2026/10/29 0:00:09
Zed编辑器Split Diff功能深度评测与优化指南
2026/10/29 0:00:09
OpenAI新模型定价解析:基础档便宜八成,快档贵六倍值不值?
2026/10/28 12:27:10
全国计算机二级C语言真题PDF高效刷题指南
2026/10/28 15:37:16
requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南
2026/10/28 12:37:46
递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现
2026/10/28 15:37:16
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/28 15:37:15
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/28 15:37:15
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)