龙虾的骨骼与肌肉:多模型 AI Agent 框架是怎样搭起来的?
适合谁看:有一定代码基础、对 AI Agent / 多模型架构感兴趣的开发者和学生
阅读收获:
- 站在工程角度看清“龙虾(OpenClaw)”想解决的核心问题;
- 用三层结构理解一个多模型 Agent 框架的骨架;
- 拿走几个可复用的扩展思路(新增工具、定制 Agent、接入更多入口)。
项目地址:
GitHub 仓库:https://github.com/openclaw/openclaw
GitCode 镜像:https://gitcode.com/GitHub_Trending/cl/openclaw
很多人第一次看到“龙虾(OpenClaw)”这个名字,会以为它只是“又一个 AI 聊天机器人”。
但当你真正翻一下仓库,会发现它更像是一个可落地的 Agent 框架:
- 上面挂着各种入口(Web、CLI、聊天工具等);
- 中间是一套对话管理 + 工具调用的 Agent 逻辑;
- 下面封装了多家大模型供应商的接入。
这篇文章试图用一种“工程拆解”的方式,帮你看清这只“AI 龙虾”的骨骼与肌肉:
- 顶层视角:它试图解决哪些架构级问题?
- 三层结构:模型适配层 → Agent 逻辑层 → 连接器层;
- 工具系统与工作流:让 Agent 不止会“说话”,还能“干活”;
- 作为 CSDN 开发者,你可以怎么在它的基础上做扩展。
温馨提示:如果你想直接上手,可以先 Star 一下项目,方便后续跟踪更新:
GitHub:https://github.com/openclaw/openclaw
GitCode 镜像:https://gitcode.com/GitHub_Trending/cl/openclaw
一、顶层视角:龙虾试图解决哪些问题?
从公开介绍和项目定位可以看出,龙虾主要瞄准了三类痛点:
-
多模型并存与切换
- 不同厂商的大模型在 API、计费、能力边界上都有差异;
- 实际业务经常希望:在推理、生成、代码、对话等不同任务间灵活选型;
- 直接写死在业务里,后期很难切换供应商。
-
从“聊天”走向“Agent”
- 单纯的问答很难应对复杂任务:拉数据、跑脚本、调用 API……
- 需要一个框架来管理:对话状态、工具调用、任务分解、错误处理。
-
多入口统一能力复用
- 同一套智能能力,往往希望在多个入口复用:
- Web 前端;
- 命令行工具;
- 企业内部 IM / 协作平台;
- 如果每个入口都重写一遍逻辑,维护成本极高。
- 同一套智能能力,往往希望在多个入口复用:
龙虾给出的答案是:
在中间放一个 Agent 框架,下面统一模型,上面统一入口,中间用工具和工作流把“做事能力”组织起来。
二、三层结构:从“骨骼”到“肌肉”
我们可以用一个抽象示意图来理解龙虾的整体结构(仅为思维模型,并非官方架构图):
┌─────────────────────────────┐
│ 连接器层(入口) │
│ Web UI / CLI / 聊天工具等 │
└─────────────▲───────────────┘
│
┌─────────────┴───────────────┐
│ Agent 逻辑层 │
│ 对话管理 / 工具调用 / 记忆 │
└─────────────▲───────────────┘
│
┌─────────────┴───────────────┐
│ 模型适配层 │
│ 多家 LLM Provider 统一封装 │
└─────────────────────────────┘
1. 模型适配层:统一多家大模型
这一层的目标是:
“让上层看不到供应商差异,只看到统一的 LLM 接口。”
典型做法包括:
-
对不同 LLM 提供商的调用封装一层 Adapter;
-
抽象出统一的
generate/chat接口,例如:# 伪代码示例 response = llm_client.generate( model="preferred-model", messages=[{"role": "user", "content": user_input}], temperature=0.7, ) -
在配置层面声明:
- 默认模型是谁;
- 某类 Agent 绑定哪个模型;
- 超时、重试、token 上限等参数。
对你来说,这一层最大的价值是:后期想做模型切换、不用满项目搜
openai.ChatCompletion.create。
2. Agent 逻辑层:智能的“中枢神经”
Agent 层负责:
- 管理对话历史;
- 决定“继续对话”还是“调用工具”;
- 维护任务状态;
- 做错误处理和重试策略。
常见的设计模式包括:
-
基于轮次的决策循环
- 每轮根据当前上下文、工具列表和用户目标,生成下一步行动计划;
- Action 可能是:回复用户、调用某个工具、请求更多信息等。
-
工具(Tool)/ 技能(Skill)系统
- 把外部能力封装成
函数式接口; - 在 Prompt 里描述这些工具,让模型学会何时调用;
- 框架执行工具并把结果回填给模型或用户。
- 把外部能力封装成
-
记忆与状态管理
- 保存长期信息(用户偏好、历史任务等);
- 支持跨会话的上下文共享和复用。
在 CSDN 场景下,你可以把龙虾的 Agent 层当成一个“可编程控制台”:
- 对于写作类任务:可以接入你自己的模板、素材库;
- 对于数据类任务:可以连接日志、监控、内部 BI 系统。
3. 连接器层:把能力送到用户身边
连接器层的职责是:
“把底层能力挂到各种入口上,让不同角色用最习惯的方式访问 Agent。”
常见连接器包括:
- Web 前端:适合产品经理、运营同学;
- 命令行工具:适合后端 / 运维开发者;
- IM 机器人:适合作为团队助手出现在群聊里。
连接器要做的事情主要是:
- 适配消息格式(不同平台的 webhook / API 差异);
- 做基础的权限和身份识别;
- 把输入标准化,输出美化成用户友好的样式(Markdown、卡片消息等)。
三、工具系统与工作流:让龙虾“干实事”
光会聊天的 Agent 很难在生产环境落地,真正有价值的往往是:
“对话 + 工具 + 工作流”。
1. 工具系统:把外部能力封装好
在龙虾的设计中,每个工具大致都有:
- 清晰的输入参数;
- 结构化的输出(JSON 等);
- 可靠的错误处理(超时、重试、异常提示)。
例如,你可以为“业务日报”项目设计一个工具:
# 伪代码示例
def fetch_daily_metrics(date: str) -> dict:
"""根据日期拉取关键业务指标,用于生成日报。"""
...
在 Agent 配置中注册这个工具后,龙虾就可以:
- 在对话中识别“我要看昨天的日报”;
- 自动构造参数调用
fetch_daily_metrics(date); - 基于返回的结构化结果生成一篇自然语言日报。
2. 工作流:把多个工具编排成“流水线”
更进一步,你可以围绕“一个任务”组织多个工具和对话节点:
- Step 1:确认用户的目标和时间范围;
- Step 2:调用数据拉取工具;
- Step 3:调用分析工具(例如做同比/环比、异常检测);
- Step 4:调用报告生成模块输出 Markdown / HTML;
- Step 5:通过连接器推送到指定渠道(邮件、IM、CSDN 草稿等)。
这就是一个典型的“Agent 驱动工作流”,龙虾负责的关键是:
- 在每一步中正确维护上下文;
- 做好错误提示和回退策略;
- 让你能在代码层面清晰看到流程,而不是把所有逻辑藏在 Prompt 里。
四、作为开发者可以怎么扩展龙虾?
理解了上面的结构之后,你可以从三个方向开始在龙虾上做二次开发,并写成 CSDN 系列文章。
1. 添加自己的工具集
典型场景:
- 团队内部有一堆 HTTP API;
- 有自建的数据仓库 / 日志系统;
- 有公司内部知识库。
你可以:
- 用 Python/Go/Node 等自己熟悉的语言封装访问逻辑;
- 定义清晰的输入参数和字段含义;
- 在 Agent 配置中注册这些工具,并在 Prompt 中说明使用场景。
这类实践非常适合写成 CSDN “实战”系列:
- 《用龙虾接入公司内部日志系统,做一款自用值班助手》;
- 《给龙虾装上 BI 能力:自动生成经营日报》。
2. 定制不同角色的 Agent
除了“通用助手”之外,你可以根据业务设计多个专用 Agent:
- 代码审查龙虾:重点做代码 Review 和架构建议;
- 日报生成龙虾:只负责读取监控数据 + 输出日报;
- 文档整理龙虾:专注处理 Markdown / 知识库条目。
每个 Agent 可以有:
- 不同的系统 Prompt(角色设定);
- 不同的工具列表;
- 不同的安全和权限策略。
3. 扩展连接器:把龙虾送到更多场景里
常见想法包括:
- 写一个简单的 Web Dashboard,查看当前 Agent 的运行状态;
- 将龙虾封装成命令行工具,融入你的日常开发脚本;
- 接入团队 IM(企业微信 / 飞书 / 钉钉等)的机器人接口。
这些内容也非常适合在 CSDN 上拆成专栏:
- 《龙虾 + 企业微信:做一只懂业务的群助手》;
- 《用龙虾和 GitHub Webhook 搭建自动化代码巡检》。
五、小结:把龙虾当作你的 Agent 实验场
从工程视角看,龙虾(OpenClaw)的价值不只有“提供一个现成的 AI 助手”,更重要的是:
- 它给出了一个相对完整的多模型 Agent 框架样板;
- 你可以在这个样板上练习模型接入、工具设计、工作流编排;
- 这些经验在未来无论是做自研 Agent 还是对接商业平台都很有用。
最后附上项目地址,建议直接 Star + Fork 一份作为自己的“Agent 实验仓库”:
- GitHub:https://github.com/openclaw/openclaw
- GitCode 镜像:https://gitcode.com/GitHub_Trending/cl/openclaw
欢迎你在 CSDN 上也写一篇《基于龙虾的 XX 实战》的文章,把这只“AI 龙虾”真正用到自己的业务和项目里去
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)