Agent 通过 function calling 使用工具,MCP 提供 Agent 访问通用、公共的【工具、资源】的能力。

Overview of the architecture about tool-use with agent

1. Agent

不管说的天花乱坠,现阶段的 Agent 还是 LLM/VLM 为代表的模型,本质还是根据用户 input query 输出文本的模型。不严格的说,我们也可以说 chatbot 就是一个具备聊天能力的 agent,chat 就是他的 action.

虽然目前好像还没有严格定义,但 Agent 应该具备能观察、感知、决策行动等能力.

AI agents have the capacity to interpret, predict, and respond based on its training and input data. AI agent systems generally possess the following abilities: 1) Predictive Modeling;... 2) Decision Making:... 3) Handling Ambiguity;4) Continuous Improvement...[1]

作为语言模型本身没有行为能力,研究者通过 Function calling 的方式赋予 Agent 行动的能力。

2. Function Calling

Agent 根据用户输入和提供的工具,自主决策是否需要调用工具,如果选择要调用工具,就会生成格式化输出(例如 json 格式)的文本字段。

constrained decoding

代码中编写文本解析去将 agent 决定的工具、参数等信息发送给已有的工具,运行工具得到结果返回给 agent 的上下文。

ToolFormer

这个动作叫做 function calling,而模型是否能够准确决策选取工具格式化输出,作为模型是否具备 function calling 能力的标准。

没有 function calling,Agent 就自断手脚,只能停留在文本对话这类基础能力上。

3. MCP

在这篇文章里,有介绍 Model Context Protocol 具体是什么,在这里就不重复定义了。

lokinko:[Agent 初探] | 什么是 MCP 协议?33 赞同 · 2 评论文章

简单来说,我理解的 MCP 是一个中间层基建,用来协助 Agent 使用【工具、数据】而提出的标准。

MCP workflow

没有 MCP,Agent 的所有工具都需要自己重复造轮子,Manus、OWL 等没有接入 MCP,因此只提供有限的工具,需要自行开发新工具,而一旦接入 MCP,就能够接入丰富的生态如 awesome-mcp-servers, MCP-servers.

4. 随便讲讲

因为 MCP 协议是 Antropic 提出来的,所以他们 Claude 对 MCP 支持的非常好,而且因为 MCP 能提供更好地文件、数据访问流程,Claude-sonnet 3.7 这类的强 code 模型能够发挥更强大的作用。

目前 cursor 等工具听说也都开始支持 MCP 了,可以浅浅期待下生态繁荣后的丰富想象力的产品。

Cursor - Model Context Protocolnotion-mcp,

(抽象点讲,MCP 感觉是 agent 时代的 API,编程时代程序员去学习 API 的接口,AI 时代可以进行更高层的封装,让 Agent 去选择需要用的工具。

不禁发散到这个脑洞:硅基智能.html | Andrej karpathy