去年这个时候,大多数人还在把 AI agent 当玩具。今年,情况变了。
越来越多的团队开始认真问:我要给 agent 装上能用的工具,读邮件、操 GitHub、查数据库、发 Slack 消息,这件事怎么做才不会让自己掉进一个无底洞?
这个问题的答案,通常会把你引向三个方向:Composio、LangChain Tools,或者 CrewAI 的内置工具层。三者都能让 agent 调用外部工具,但背后的设计哲学差了很远,适合的场景也几乎不重叠。
Composio:工具集成这件事,不该让开发者自己做
Composio 的核心主张很清楚:工具集成是基础设施,不是业务逻辑,应该被抽象掉。
它提供的,是一个工具调用的托管层。你不需要写 OAuth,不需要存 token,不需要理解每个 API 的细节。Composio 在中间,帮你把这些事都处理了。
有几个地方值得说一下。
第一是覆盖范围。Composio 目前支持的集成数量很多,覆盖了 SaaS 工具、开发工具、数据库、通讯工具等主要品类。对于需要快速接入多个服务的项目,这个优势是实实在在的,否则你得一个个自己封装。
第二是认证处理。OAuth 是集成工作里最烦的环节之一,token 刷新、多用户场景、权限范围管理,稍不注意就出问题。Composio 把这一块统一接管,开发者只需要调用封装好的接口,不用操心底层的认证状态。
第三是沙箱执行。这个功能相对小众,但对需要 agent 执行代码的场景来说很重要。Composio 提供了隔离的执行环境,让 agent 跑代码时不会影响到宿主系统。
Composio 支持主流的 agent 框架,包括 LangChain、LlamaIndex、CrewAI 等,可以直接插进现有的项目里用。
它适合什么样的团队?最典型的场景是:你需要 agent 操作真实的外部服务,集成数量多,OAuth 场景复杂,团队不想在工具层上投入太多时间。
它不太适合的场景:你的工具都是内部系统,或者需要高度定制化的调用逻辑,Composio 的抽象层反而会成为障碍。
—
LangChain Tools:你要的自由,和随之而来的代价
LangChain 是一个框架,而不是一个平台。这个区别很重要。
LangChain Tools 给了你一套标准接口:定义工具的输入、输出、描述,让 LLM 能理解并调用它。剩下的事,全是你的。
这种设计有它的道理。LangChain 的用户群体里,有大量团队在做内部工具、私有系统的集成,这些东西 Composio 的预建库根本不会有。你得自己写,而 LangChain 提供了一个规范的方式让你写。
灵活性是 LangChain 最大的优势。你可以把任何东西封装成工具,一段 SQL 查询、一个内部 API、一个自定义的数据处理逻辑都行。工具的行为完全在你的掌控之中。
但代价是什么?
工程量。如果你需要接入的是公共 SaaS 服务,自己写集成是一件很费时间的事。LangChain 社区里有一些现成的集成,但覆盖范围和维护质量参差不齐,踩坑概率不低。
另外,LangChain 的整体学习曲线不算平缓。工具只是其中一个模块,你还需要理解 chain、agent、memory 等概念,才能真正用好它。
LangChain Tools 适合的场景:工具是内部系统或高度定制化逻辑,团队有足够的工程能力,或者你已经在用 LangChain 其他模块,加工具是顺手的事。
—
CrewAI:工具是角色的延伸,不是独立的基础设施
CrewAI 的出发点和前两者不一样。它解决的核心问题,不是怎么给 agent 接工具,而是怎么让多个 agent 协作。
在 CrewAI 的模型里,一切从角色开始。你先定义一个 agent 是什么身份,研究员、分析师还是写作者,然后给这个角色分配任务和工具。工具不是独立存在的,它属于角色,服务于任务。
这种设计在多 agent 场景下有很强的表达力。你可以定义一个团队:一个 agent 负责搜索资料,一个负责分析,一个负责写报告,每个人手里有自己需要的工具,按流程协作。这套表达方式比较直觉,搭出来的系统也相对好理解。
但如果你只是想让单个 agent 调用外部工具,CrewAI 就显得有点重了。你得先建角色、建任务、建流程,才能到工具这一层。
CrewAI 也支持通过 Composio 或 LangChain Tools 接入外部工具,三者不是互斥关系。实际项目里,CrewAI 做编排,Composio 或 LangChain 提供工具层,是一种常见的组合。
CrewAI 适合的场景:你在做多 agent 协作系统,任务流程相对明确,需要角色分工。单 agent 简单工具调用的场景,选它反而绕远了。
—
核心差异对比
这三个工具的差异,用一张表格可以说清楚大部分:
| 维度 | Composio | LangChain Tools | CrewAI |
|---|---|---|---|
| 定位 | 工具集成平台(托管) | 工具定义框架 | 多 agent 编排框架 |
| 预建集成 | 多,覆盖主流 SaaS | 少,依赖社区和自建 | 无,依赖外部工具层 |
| 认证处理 | 统一托管 | 自行实现 | 自行实现或外包 |
| 定制灵活性 | 中(受抽象层约束) | 高 | 取决于底层工具层 |
| 适合规模 | 单 agent 到多 agent | 任意规模 | 中到大型多 agent |
| 学习成本 | 低 | 中高 | 中 |
| 典型用途 | 快速接入外部服务 | 内部系统/定制逻辑 | 复杂 agent 协作流程 |
表格解释不了的是选择背后的逻辑:三者并不是同一个问题的不同答案,它们其实在解决不同的问题。Composio 解决的是”怎么不重复造轮子”,LangChain Tools 解决的是”怎么把任何东西变成工具”,CrewAI 解决的是”怎么让多个 agent 有条不紊地协作”。
—
怎么选
有一个简单的判断框架:先看工具从哪里来,再看 agent 是几个。
如果你的工具主要是公共 SaaS 服务(Gmail、Slack、GitHub、Notion 这类),而且不想在集成上花太多时间,Composio 是最省力的选择。它把工具这件事变成了一个配置问题,而不是工程问题。
如果你的工具主要是内部系统或者高度定制化的逻辑,LangChain Tools 给你最大的自由度。代价是你得自己写,自己维护。
如果你在搭多 agent 系统,任务之间需要分工协作,CrewAI 的编排模型值得认真看。工具层可以叠加 Composio 或 LangChain,两者并不冲突。
三者组合也不少见。比较典型的一种:CrewAI 负责 agent 编排,Composio 负责外部服务集成,LangChain Tools 负责内部自定义工具。每一层做自己擅长的事,整体系统反而清晰。
选错的代价通常不是灾难性的,但会让你在错误的地方花时间。Composio 的抽象层在你需要深度定制时会变成摩擦;LangChain 在你面对大量公共 SaaS 集成时会让你重复劳动;CrewAI 在简单场景下会让你过度设计。
认清自己的需求在哪里,这三个工具各有各的位置。



