Flue useSubagent深度教程:让Agent把任务委托给子专家 📅 发布时间:2026/8/30 12:56:40 👁 浏览次数: Flue useSubagent深度教程让Agent把任务委托给子专家【免费下载链接】flueThe sandbox agent framework.项目地址: https://gitcode.com/GitHub_Trending/flue1/flueFlue 是一个开箱即用的 Agent 沙箱框架它的useSubagent()Hook 允许你的 Agent 把专注任务委托给独立的子专家子代理在全新的上下文中工作拥有自己的指令与能力只有最终答案会返回给父 Agent。本教程带你快速掌握 Flue 子代理的声明、委托机制与继承规则轻松构建分工明确的 AI Agent 团队。什么是子代理Subagent可以把 Agent 想象成一位项目经理而子代理是它手下的专职员工隔离工作子代理在自己的全新上下文里干活不占用父 Agent 的对话历史只交结果只有子代理的最终回答会返回给父 Agent中间过程完全不可见模型驱动由父 Agent 的模型自主决定何时、向谁委托任务三步声明一个子代理Flue 通过useSubagent()Hook 声明子代理只需三个必填字段完整实现见 use-subagent.ts字段作用name子代理的名字父模型用它来指名委托description描述这个专家做什么、何时用是模型决策的关键agent一个普通 Agent 函数定义子代理的指令与能力以 hello-world 示例with-subagent.ts为例一个问候专家只需几行use agent; import { useModel, useSubagent } from flue/runtime; function Greeter() { return Write one warm, concise greeting.; } export function WithSubagent() { useModel(anthropic/claude-sonnet-4-6); useSubagent({ name: greeter, description: Writes a short, warm greeting for a named user., agent: Greeter, }); return When asked to greet someone, delegate to the greeter subagent.; }⚠️小提醒子代理的agent函数如Greeter不要导出——构建器会把导出的大写函数注册为顶层 Agent。委托是如何发生的委托由框架内置的task工具驱动流程非常直观父 Agent 的系统提示词中有一个Available Agents目录列出了所有已声明子代理的名字和描述模型判断某项工作适合某个专家时调用task工具并传入子代理名字和任务提示词运行时当场渲染子代理的agent函数在独立会话中跑完整个任务子代理的最终消息作为task工具的结果返回父 Agent由此带来两个重要特性提示词就是全部简报——子代理看不到父对话任务提示词必须自包含、信息完整⚡任务天然并行——一批task调用会并行执行5 个独立检查可以变成 5 个并行的子会话各自拥有独立的上下文窗口子代理继承了什么子代理默认与父 Agent完全隔离只继承父级的环境✅ 继承❌ 不继承沙箱及其工具read/write/bash…对话历史工作区上下文AGENTS.md、workspace skills父级的指令、工具、技能、子代理父级模型与推理强度可覆盖持久状态与初始数据同时定义中的两个可选字段可以覆盖继承值model—— 让子代理跑更便宜的模型如把高频分类步骤交给 HaikuthinkingLevel—— 单独控制子代理的推理强度子代理内部照常使用useTool()、useSkill()甚至嵌套useSubagent()最多4 层。由于父子共享沙箱文件是天然的交接面子代理写report.md父 Agent 在任务返回后直接读取。内置通才GeneralSubagent不想定义专家、只想把工作扇出到全新上下文Flue 内置了GeneralSubagent保留名flue-generaluseSubagent(GeneralSubagent);它是一个白板代理共享沙箱工具、工作区上下文和父级模型但没有任何自带指令——一切靠任务提示词驱动。委托能力是显式开启的挂载它之后 Agent 才具备扇出能力。跨 Agent 共享defineSubagent同一个专家被多个 Agent 复用时用defineSubagent()定义一次、处处挂载与defineTool同构加载时校验并冻结// src/subagents/issue-classifier.ts export const issueClassifier defineSubagent({ name: issue_classifier, description: Classifies support issues for routing., agent: IssueClassifier, }); // 任意 Agent 中挂载还可按场景区分模型 useSubagent({ ...issueClassifier, model: anthropic/claude-haiku-4-5 });什么时候该用子代理 适合的场景探索性工作会淹没父上下文但只产出简短结论代码库调研、日志分析工作流的某一阶段需要不同的指令、工具或技能多项独立工作可以并行运行某类工作应该跑在更便宜的模型或不同的推理强度上 不选它的信号工作确定性强 → 用工具Tool只是要给当前 Agent 加指导 → 用技能Skill需要外部系统长期给它发消息 → 注册一个真正的 Agent。持久性加分项子代理任务拥有自己的持久会话流即使任务中途崩溃或重新部署也能从自己的记录中恢复并跑完见 durability.md。总结能力一句话useSubagent()声明子专家让模型通过task工具指名委托全新上下文隔离对话、只回传最终结果天然并行GeneralSubagent零配置的通才一键开启扇出能力defineSubagent()定义一次、多 Agent 共享支持按挂载点覆盖模型延伸阅读官方指南subagents.mdHook API 参考agent-hooks-api.md实战示例helper.ts、task.ts【免费下载链接】flueThe sandbox agent framework.项目地址: https://gitcode.com/GitHub_Trending/flue1/flue创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考