ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

OpenSwarm开发者指南:如何5分钟新增一个专属Agent与自定义工具

2026/10/1 3:15:07 拓冰建站 浏览量
OpenSwarm开发者指南:如何5分钟新增一个专属Agent与自定义工具 OpenSwarm开发者指南如何5分钟新增一个专属Agent与自定义工具【免费下载链接】OpenSwarmClaude code for everything except coding项目地址: https://gitcode.com/gh_mirrors/open/OpenSwarmOpenSwarm 是一个完全开源的多智能体协作系统用一句自然语言提示词就能产出演示文稿、研究报告、数据图表、文档、图片和视频。它由 8 个专家 Agent 加一个 Orchestrator 编排者组成而最强大的一点是整个团队 100% 可定制、可 Fork。本指南面向刚上手 OpenSwarm 的开发者带你用 5 分钟学会如何新增一个专属 Agent并为它编写自定义工具快速搭建属于自己的 AI Agent 团队。一、先看懂 OpenSwarm 的 Agent 团队结构在动手之前花 1 分钟了解项目布局新增 Agent 时就胸有成竹了目录 / 文件作用swarm.py入口文件负责创建所有 Agent 并编排它们orchestrator/编排者负责把用户请求分发给合适的专家virtual_assistant/、deep_research/ 等8 个专家 Agent每个 Agent 一个独立文件夹shared_tools/跨 Agent 共享的工具集shared_instructions.md全体 Agent 共享的行为准则config.py统一的模型配置默认模型、LiteLLM 路由每个 Agent 文件夹遵循统一约定my_agent/ ├── my_agent.py # Agent 定义名字、描述、模型、工具列表 ├── instructions.md # 角色设定目标、流程、沟通规则 └── tools/ # 该 Agent 专属的自定义工具 以 deep_research/deep_research.py 为模板最快它是最简洁的完整示例之一。二、新增专属 Agent三步走第 1 步创建 Agent 定义文件在根目录新建my_agent/my_agent.py核心是一个返回Agent的工厂函数from agency_swarm import Agent from config import get_default_model def create_my_agent() - Agent: return Agent( nameMy Agent, description一句话说明这个 Agent 擅长做什么, instructions./instructions.md, tools[...], # 稍后添加自定义工具 modelget_default_model(), conversation_starters[ 给我一个你能帮忙的例子……, ], )关键点只有一个description写得越精准Orchestrator 就越容易在需要时把工作交给它——这是 Agent 能否被用起来的开关。第 2 步编写角色说明书 instructions.md在my_agent/instructions.md中用 Markdown 描述 Agent 的角色与工作方式推荐四段式结构可参考 deep_research/instructions.mdRole— 你是谁如你是一名 XX 专家Goals— 核心目标与交付标准Communication Flows— 遇到不属于你的任务时Handoff 给哪个 AgentProcess— 分步工作流程先问清需求 → 再执行 → 如何交付✍️ 小技巧把先向用户提问澄清需求写进流程能显著提升交付质量。第 3 步在 swarm.py 中注册并接入协作网络打开 swarm.py在create_agency()函数中做三处小改动导入from my_agent import create_my_agent实例化my_agent create_my_agent()加入团队列表把my_agent添加到all_agents列表剩下的事情框架自动帮你完成swarm.py 会为all_agents中任意两个 Agent 自动建立SendMessage和Handoff通信流见send_message_flows与handoff_flows两行推导式你的新 Agent 立即可以收发消息、被编排者调度。运行python swarm.py启动终端界面试试对 Orchestrator 说一个新任务——如果它能正确路由给你的专属 Agent恭喜你5 分钟扩容成功 三、编写自定义工具让 Agent 拥有超能力Agent 的智能来自模型而工具Tool决定了它能实际动手做什么。OpenSwarm 的工具就是一个继承自BaseTool的 Python 类三件套类文档字符串告诉模型何时用、Pydantic 字段定义参数、run方法执行逻辑。以最小的工具示例 virtual_assistant/tools/GetCurrentTime.py 为模板from agency_swarm.tools import BaseTool from pydantic import Field class GetWeather(BaseTool): 查询指定城市的天气。当用户询问天气或出行建议时使用。 city: str Field(..., description城市名称如 Beijing) days: int Field(default1, description查询天数1-7) def run(self): # 在这里调用你的 API 或业务逻辑返回字符串结果 return f{self.city} 未来 {self.days} 天晴写好工具后把它导入 Agent 定义并加入tools列表即可。工具缺 API Key 时不要抛崩溃参考 virtual_assistant/tools/ScholarSearch.py 的做法返回一段清晰的错误说明告诉模型该补充哪个环境变量。三个实用技巧能复用就共享多个 Agent 都会用的工具放进 shared_tools/如 CopyFile.py、SearchTools.py通过 shared_tools/init.py 统一导出先单测再集成OpenSwarm 的工具都带if __name__ __main__自测块见 GetCurrentTime.py 底部直接python my_agent/tools/MyTool.py就能本地跑通描述即提示词字段的description会被模型读取写得具体给出示例值模型传参才更准四、进阶快速改造出你自己的专属 Swarm不想从零写 AgentOpenSwarm 的设计意图就是让你 Fork 后快速改造获取源码git clone https://gitcode.com/gh_mirrors/open/OpenSwarm修改现有 Agent 的instructions.md与工具列表把它特化为你的场景SEO 站群、销售跟进、内容营销……也可以把改造任务直接交给 Claude Code、Cursor 等编程助手例如告诉它把这套系统改造成一个 SEO 优化 Swarm更多本地开发与部署方式Docker、API Server可查阅根目录的 Dockerfile、docker-compose.yml 与 server.py。五、常见问题速查Q新增 Agent 后没被调用检查两件事①description是否准确描述了能力边界②swarm.py的all_agents列表是否真的加上了它漏加就不会建立通信流。Q工具参数总传错把Field的description写得更具体附上示例值数值参数加上ge/le范围约束参考 ScholarSearch.py 中num_results的写法。Q模型怎么换统一在 config.py 的get_default_model()中通过环境变量DEFAULT_MODEL配置支持provider/model形式的多供应商路由无需改动任何 Agent 代码。Q共享指令在哪里所有 Agent 自动加载 shared_instructions.md放置跨 Agent 的全局行为规范避免在每个instructions.md里重复。总结新增 Agent 一个create_xxx()工厂函数 一份instructions.md 在 swarm.py 中注册一行自定义工具 一个继承BaseTool的类。掌握这两个最小单元你就可以按需扩展出任意规模的 OpenSwarm 专属 AI 团队了 【免费下载链接】OpenSwarmClaude code for everything except coding项目地址: https://gitcode.com/gh_mirrors/open/OpenSwarm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考