Appearance
协议与接口总览
很多人一开始学 AI,注意力会放在模型名字、参数规模、回答效果这些地方。 但项目一接业务,很快就会碰到另一条同样重要的主线:
应用到底怎么调用模型,模型又怎么和外部系统发生真实交互。
这条线如果没搞清楚,后面无论是接知识库、接工具、接 MCP,还是做多 Agent 协作,都会有点虚。
所以这一部分不把协议、接口和工具调用拆成零散名词,而是放回同一条“对接主线”里。
1. 这一层到底在解决什么问题
协议与接口层主要解决 3 类问题:
- 应用怎么把任务发给模型
- 模型怎么把结果稳定返回给应用
- 当模型需要外部能力时,应用怎么把它接到真实系统上
这 3 类问题看起来像平行关系,其实是一条连续主线:
- 把模型接通
- 再让输出可控
- 再让模型和外部世界真正连起来
2. 这一层主要会看哪些词
这里重点整理的是:
- 模型接口
- 流式输出
ToolFunction CallingStructured OutputMCPA2A
这些词虽然都和“对接”有关,但并不站在同一层。
3. 把这条对接主线看清楚
mermaid
flowchart LR
A[应用组织请求] --> B[调用模型接口]
B --> C[模型生成结果]
C --> D{是否需要外部能力}
D -- 否 --> E[直接返回文本或结构化结果]
D -- 是 --> F[Function Calling / Tool Calling]
F --> G[本地 Tool / MCP / A2A]
G --> H[拿到外部结果]
H --> I[继续生成最终答案]这条线里,最值得先分开的其实是 3 层:
- 接口层:应用怎么调模型
- 调用层:模型怎么表达它想调外部能力
- 协议层:应用怎么把这些能力接到真实系统上
如果这 3 层不先分开,后面很容易出现这些混淆:
- 把
Function Calling当成工具本身 - 把
MCP当成模型接口 - 把多 Agent 协作和外部工具接入混成一回事
4. 🌟 这一层最值得抓住的边界
- 模型接口解决的是“怎么调模型”,不是“怎么接外部工具”
Function Calling解决的是“模型如何表达调用意图”,不是“外部工具怎么接进来”Structured Output解决的是“输出怎么稳定”,不等于一定要调工具MCP更偏宿主和外部能力的标准化对接A2A更偏 Agent 和 Agent 之间的任务协作
5. 入口
这一部分可以按下面这组内容往下看:
- 模型接口、流式输出与生成主线
- Streaming
- Tool、Function Calling 与 Structured Output
- Function Calling
- Structured Output
- MCP、A2A 与外部能力对接
这些内容放在一起看,会更容易串起来:
- 先理解应用怎么和模型对接
- 再理解流式返回为什么会直接影响交互体验
- 再理解模型怎么表达调用外部能力的意图
- 再看结构化输出怎么把结果稳定接进系统
- 最后再看这些能力在工程里怎么真正接进来