By 小墨
2026年4月24日
75
525
800行代码实现OpenClaw的Tool、消息总线、子Agent管理架构
在Agent系统开发中,如何平衡抽象层次与工程确定性是一个核心命题。当业界普遍依赖LangChain等框架时,一个有趣的设计思路是采用薄抽象、显式控制流的方式,直接面向API构建系统。本文将详细介绍一个基于Anthropic Claude API的轻量级Agent框架实现,展示如何在800行代码内构建Tool系统、消息总线和子Agent管理三大核心模块。
概述
MessageBus处理入站方向的消息流,实现从子系统或外部到主Agent的消息传递。其核心是订阅-发布模式,InboundMessage包含channel(消息通道)、senderId(发送者标识)、chatId(关联会话)和content(消息内容)四个字段。 MessageBus提供了两种消费模式:subscribe注册实时回调,适合常驻服务场景;drain从队列中取出并清空消息,适合轮询式的同步消费场景。路由规则清晰:有订阅者走回调,无订阅者入队列。消息只走一条路径,不会同时触发回调和入队。这种设计避免了消息处理的歧义性。 需要明确的是,MessageTool负责出站(Agent→外部),MessageBus负责入站(外部→Agent),两者方向相反,没有直接的代码耦合。这种解耦设计使得消息流清晰可追踪。
消息总线:入站消息的统一枢纽
整个系统存在两条数据流主线: 同步路径:用户输入→REPL→agent.run()→工具调用→结果回传模型→最终回复→stdout。这是标准的ReAct循环。 异步路径:SpawnTool/CronService→bus.publish(system)→handler入队→tryDrainPending()→agent.run()处理系统通知→stdout。异步结果通过MessageBus汇入主循环,由互斥锁保证不与同步路径冲突。 这种设计使得同步和异步操作能够有序共存,不会产生状态混乱。切换接入层(从REPL到Bot)时,只需替换sendCallback和输入源,工具系统和Agent逻辑无需任何改动。
中间层越薄,调试越容易,对API行为的控制越精确。
“设计原则”模块协作与数据流
REPL(Read-Eval-Print Loop)是整个Agent的终端交互入口。核心挑战在于:用户输入和子Agent回传结果都可能触发agent.run(),但history数组是共享的,不能并发修改。 解决方案是布尔互斥锁配合暂存队列。processing标志充当互斥锁,确保同一时刻只有一个agent.run()执行。子Agent结果到达时先push到pendingSubagentResults数组,tryDrainPending只在非processing状态下进入,避免并发写入history。用户交互完成后,在释放锁之前调用drainPendingResults处理积攒的子Agent结果,保证结果不会无限滞后。 启动流程按以下顺序初始化:创建Anthropic客户端和MessageBus实例→注册工具到ToolRegistry(区分主Agent和子Agent工具集)→初始化CronService→创建SubagentManager→构建ContextBuilder→创建AgentLoop并启动交互循环。
设计哲学与局限
这个框架的核心设计哲学可以概括为四个要点:薄抽象层带来的调试优势、显式控制流带来的可追踪性、零框架依赖带来的完全控制力、以及贴近SDK设计带来的类型安全。 当然,设计也存在局限:子Agent无持久记忆,不适合需要跨任务积累上下文的场景;CronService的cron表达式是近似实现,不支持精确时间点语义;MessageBus无持久化,进程重启后消息丢失;ExecTool的正则黑名单只是最低防线,生产环境应该使用容器沙箱;REPL的布尔锁在多用户场景下需要更完整的队列机制。 这些取舍反映了「先跑起来,再逐步完善」的工程思路。框架的可扩展性已经预留好了空间:扩展新工具只需继承Tool并注册,切换接入层只需替换回调,输入源的变化不会影响核心逻辑。
如有侵权,请联系删除。
Related Articles
-
Thu May 07 2026Anthropic发布10个金融AI智能体,华尔街震动——对万得、同花顺们来说意味着什么?
2026年5月5日晚,Anthropic一口气推出10款专门面向金融服务行业的AI智能体,涵盖银行、保险、资产管理和金融科技等多个细分场景。
-
Thu May 07 2026投资家网蒋东文受邀央视频《赢在 AI+》评委,以专业视角赋能 AI 产业创新
4月27日,投资家网创始人兼CEO蒋东文受邀担任央视频《赢在 AI》第二季专场路演评委,为创业项目提供资本与行业视角的专业点评。
-
Wed May 06 2026听完红杉 AI Ascent 2026,我把要做的 3 件事写成了一句话
在参加红杉 AI Ascent 2026 后,作者将大会的核心观点浓缩为三项可操作的行动,旨在帮助团队与公司在智能体时代更快落地并获取商业价值。
-
Wed May 06 2026Mistral AI推出Workflows:为企业AI部署打造可靠编排层
Mistral 推出名为 Workflows 的编排平台,目标是为企业级 AI 应用提供可靠的控制与数据平面支持,缩短从实验到生产的路径。
-
Wed May 06 2026OpenAI首款AI Agent手机量产提前,联发科立讯精密在列
最新分析显示,OpenAI 首款面向消费市场的 AI 智能体手机量产节奏显著提前,供应链与架构细节也逐步清晰,这代表着智能体技术正从纯软件向完整硬件生态拓展。
-
Wed May 06 2026英伟达发布首个量子AI开源模型;腾讯云开源Agent底座Cube Sandbox
本文汇总两项重要开源进展:英伟达在量子AI方向的开源尝试,以及腾讯云将 Cube Sandbox 以 Apache 2.0 协议开源,旨在为企业级 Agent 提供安全、可复现的运行环境。
-
Wed May 06 2026GPU 配角到算力中枢:AMD 如何吃下 AI 基础设施第二曲线
本文从最新财报与技术路线出发,讨论AMD如何借助CPU与加速卡的协同,将产品定位从配套角色提升为系统级算力中枢。
-
Wed May 06 2026比 OpenClaw 更火的 「Agent 员工」赛道,杀出一个新王者
文章聚焦2026年AI员工赛道的发展脉络,分析各大厂与创业公司在产品形态与战略上的差异,并点评赛道中涌现的黑马与竞争格局变化。
-
Wed May 06 2026今日AI快讯(5月6日)
本篇为5月6日AI快讯汇总,涵盖当日多项重要发布与产业动态,旨在为读者提供一站式的行业要闻速览与背景解读。
-
Wed May 06 2026美图首度披露AI生产力应用ARR:同比增长56.2%至5.8亿元
美图披露其AI生产力应用的关键业务数据,表明公司在消费级付费路径与产品化方面取得进展,具有示范意义。
-
Wed May 06 2026发布会四大看点,博云BoAgent企业级AI智能体平台发布在即
博云科技定于5月8日线上举办BoAgent企业级AI智能体平台发布会,旨在面向企业展示Agentic AI在安全、可控和可运营方面的落地能力,并推出面向多行业的解决方案与生态合作策略。
-
Wed May 06 2026一天吃透一个行业104:AI应用,附核心股票名单(收藏版)
本篇为‘一天吃透一个行业’系列第104期,聚焦AI应用领域,系统梳理细分赛道与典型公司,旨在为投资者与从业者提供可操作的研究框架与公司名单。
-
Wed May 06 2026智能体协同写入实施方案!多地明确医疗AI落地时间表(附文件)
2026年以来,多地相继发布人工智能+医疗的实施方案,明确了医疗AI智能体的试点场景和推进时间表,标志着政策推动下的落地进入加速期。
-
Wed May 06 2026欧冶半导体完成数亿元C轮融资,以"Everything+AI"夯实物理世界智能化底座
2026年5月6日,欧冶半导体宣布完成数亿元人民币C轮融资,投资方包括国投招商与地方基金,资金将用于芯片研发与产能扩张。
-
Tue May 05 2026AI存储与数据平台产业日报(2026年5月5日)
本期产业日报聚焦存储与数据平台在智能体时代的演进,重点报道 Google Cloud Firestore 的一系列更新与生态整合进展。
-
Tue May 05 2026Agent落地元年遇上消费级爆发,从聊天到做事,普通人何时用上智能体?
2026年,Agent从实验室走向消费端,开始在手机、车载和家居设备上承担实际执行任务。这一转变不仅是技术能力的提升,更牵涉到交互、隐私与商业化路径的重塑。
-
Tue May 05 2026Agent元年,中美AI战火烧到“智能体”:谁在抢走OpenAI的饭碗?
2026年被业界普遍称为AI智能体(Agent)元年,智能体正从实验性应用快速走向工程化部署,成为连接模型能力与实际业务执行的关键环节。
-
Tue May 05 2026大摩最新调查:原来这家公司正领跑中国AI赛道!
摩根士丹利的调查指出,中国AI市场正在发生显著重塑,企业在选择AI供应商与部署策略上出现新的倾向。
