ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

openai-assistant-swarm完整委派流程解析:1句Prompt如何被智能体蜂群拆分为并行子任务

openai-assistant-swarm完整委派流程解析:1句Prompt如何被智能体蜂群拆分为并行子任务 openai-assistant-swarm完整委派流程解析1句Prompt如何被智能体蜂群拆分为并行子任务【免费下载链接】openai-assistant-swarmIntroducing the Assistant Swarm. An extension to the OpenAI Node SDK to automatically delegate work to any assistant you create in OpenAi through one united interface and manager. Now you can delegate work to a swarm of assistant all specialized with specific tasks you define.项目地址: https://gitcode.com/gh_mirrors/op/openai-assistant-swarmopenai-assistant-swarm 是一个面向 Node.js 的OpenAI 智能体蜂群Assistant Swarm扩展库它给 OpenAI 官方 SDK 注入一个swarm管理器你只需发出1 句 Prompt它就能自动把任务拆解、委派给账号里最合适的多个助手并以并行子任务的方式同时执行最后统一回收结果。对新手来说这是理解多智能体任务委派最快的入门项目之一。 什么是 OpenAI Assistant Swarm传统做法是你在代码里写死哪个问题发给哪个助手。而 OpenAI Assistant Swarm 的思路是在你的 OpenAI 账号里预创建一批专职助手天气助手、股票助手、客服助手……库自动创建并维护一个Swarm Manager蜂群经理把每个助手都包装成一个可被调用的delegate工具用户 Prompt 交给经理后由大模型自行判断谁最擅长这件事自动分派任务。正如这张横幅所示——一个中心节点指挥一整个助手阵列这正是 README.md 中 turn your OpenAI assistants into an army 的含义。⚡ 快速上手3 个步骤搭建智能体蜂群先克隆仓库并安装两个依赖OpenAI SDK 蜂群库git clone https://gitcode.com/gh_mirrors/op/openai-assistant-swarm cd openai-assistant-swarm npm install openai mintplex-labs/openai-assistant-swarm接入只需三步核心逻辑都在 src/index.ts 的EnableSwarmAbilities中import OpenAI from openai; import { EnableSwarmAbilities } from mintplex-labs/openai-assistant-swarm; const client new OpenAI({ apiKey: process.env.OPEN_AI_KEY }); // 1. 给 SDK 注入 swarm 能力 EnableSwarmAbilities(client, { debug: true }); // 2. 初始化自动创建/更新你的 Swarm Manager await client.beta.assistants.swarm.init(); // 3. 发出 1 句 Prompt交给整个蜂群 const response await client.beta.assistants.swarm.delegateWithPrompt( 现在纽约天气怎么样顺便告诉我今天的领涨股票 ); console.log(response.parentRun.textResponse); // 经理的汇总答复 console.log(response.subRuns); // 每个子任务的执行结果完整可运行的版本见 examples/index.mjs。 委派流程全解析1 句 Prompt 的旅程下面按源码顺序拆解这句话是如何被拆成并行子任务的主流程位于 src/manager/index.ts。第 1 步Swarm Manager 上任init调用init()时findOrUpsertManager 会拉取账号下所有助手然后把每个助手转换成经理的一个函数工具工具名统一为delegate参数是{ prompt, agent_id }见 src/utils/index.ts 的toolsFromAssistantsagent_id的可选值enum被严格限定为真实存在的助手 ID 加上none兜底值——这是防止模型幻觉出不存在助手的第一道防线。第 2 步经理接单并点名分派delegateWithPromptdelegateWithPrompt 创建线程并启动经理的 Run注入的 instructions 里用assistant标签列出了所有候选助手的 ID、名称和描述明确要求只能从列表里选。经理永远不会自己回答用户默认指令见 src/manager/index.ts它的职责只有两种把任务改写后通过delegate工具分派给最合适的助手可以一次分派多个如果没有任何助手能干返回none并礼貌地告知用户。跑完后 Run 状态变为requires_action携带一个或多个工具调用。第 3 步解析工具调用过滤幻觉任务compressToolCalls 统一处理三种返回形态单次调用单指令、单次调用多指令、以及并行调用multi_tool_use.parallel含tool_uses嵌套和instructions平铺两种随机格式全部压缩成{ agentId, args }的委派指令列表。随后的关键校验在 delegateTaskToChildrenagent_id none→ 直接回写无人可办不产生子任务ID 不在knownAssistantIds白名单内 → 抛错拦截幻觉助手见 src/manager/child.ts。第 4 步并行扇出Fan-out与双路汇合这是整个库最精妙的部分两条路径同时推进路径做什么关键代码子任务路径每条委派指令生成独立的SwarmAssistant各自新建线程携带改写后的任务 用户最后一句话作为上下文并启动目标助手的 RunPromise.all全并发执行src/manager/child.ts父任务路径把已分派给谁的工具结果经deDupeToolOutputs去重后回灌给经理 Run让经理生成我已安排 2 位助手处理……这类汇总答复src/manager/index.ts最后Promise.all([父路, 子路])一起汇合返回parentRun经理汇总subRuns各子任务结果数组。任何一个子任务失败都会被捕获并标记为failed不会拖垮其他并行任务。 事件驱动实时追踪蜂群每一步因为 Assistants 接口暂不支持流式库内置了EventEmittersrc/manager/index.ts你不必傻等所有任务完成事件触发时机poll_event每一步都触发父 Run 创建、子 Run 创建、状态轮询、完成等附带 Playground 调试链接parent_assistant_complete经理答复完成——可提前返回给用户child_assistants_complete全部子任务跑完——拿到每个子 Run 的textResponse/playground监听器写法见 examples/index.mjs。另外 pollRun 采用5 秒起跳、逐次递增的退避轮询最多 5 次即收敛避免空转等待。 核心文件导航模块职责src/index.ts入口EnableSwarmAbilities扩展 SDK 类型src/manager/index.ts蜂群大脑init/delegateWithPrompt/ 事件发射src/manager/child.ts子任务执行器建线程、防幻觉校验、轮询src/utils/toolCalls.ts工具调用解析单发 / 多发 / 并行三种形态src/utils/index.ts助手分页拉取、轮询、消息提取、工具结果去重examples/index.mjs端到端使用示例✅ 总结openai-assistant-swarm 用经理助手 delegate 工具 并行扇出三件套把1 句 Prompt 如何被智能体蜂群拆分为并行子任务变成了可复用的标准流程init 注册全员 → 经理点名分派 → 校验过滤幻觉 → 双路并行执行 → 事件实时回报。对于想构建多智能体系统的开发者这是理解任务委派机制Multi-Agent Delegation最轻量、最易读的一份源码。【免费下载链接】openai-assistant-swarmIntroducing the Assistant Swarm. An extension to the OpenAI Node SDK to automatically delegate work to any assistant you create in OpenAi through one united interface and manager. Now you can delegate work to a swarm of assistant all specialized with specific tasks you define.项目地址: https://gitcode.com/gh_mirrors/op/openai-assistant-swarm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表