序章:AI的“巴别塔”困境
在2023年之前,大型语言模型(LLM)的世界更像是一座座信息孤岛。它们是博学的“数字鹦鹉”,被囚禁在自己庞大的训练数据之中。
你可以问它“法国的首都是哪里?”,它能对答如流;
但你若让它“帮我订一张去巴黎的机票”,它只能抱歉地告诉你:“我只是一个语言模型,无法执行现实世界中的操作。”
这就是当时整个行业面临的“巴别塔”困境——AI能“说”不能“做”。
AI与现实世界的工具、数据库和API之间,语言不通,无法协作。如何打破这堵无形的墙,让AI从一个“知识库”进化成一个真正的“行动者”?这成为了所有顶尖AI实验室必须回答的核心问题。
这篇长文,将带您穿越这段波澜壮阔的技术演进史,从最初的破冰之举,到行业标准的建立,再到专家知识的注入,一步步见证AI智能体(Agent)如何学会“动手”,真正地“能干活”。


第一章:黎明前的破晓 —— Function Calling/Tool Use的诞生

大约在2023年中期,以OpenAI为代表的公司率先迈出了革命性的第一步,推出了函数调用(Function Calling),后来被更广泛地称为工具使用(Tool Use)。这不亚于在AI的“巴别塔”上凿开的第一扇窗。

1.1 核心原理:AI的“意图翻译器”

Function Calling的逻辑非常精妙。它并非让AI自己去运行代码,而是赋予了AI一种新的能力:将人类的自然语言指令,翻译成机器可以理解的、结构化的“工作指令”(即JSON)。

其工作流程就像一位聪明的助理和一位执行者:

  1. 开发者提供工具说明书:开发者在系统提示词中用特定格式(JSON Schema)向AI模型“描述”自己拥有的工具,告诉AI“我们有这些工具,它们能干什么,需要什么参数”。
  2. AI助理理解意图:当用户下达指令时(如“查天气”),AI助理利用其强大的语言能力,判断这个指令能用哪个工具来完成。
  3. AI助理填写工作单(JSON):AI助理不会亲自去做,而是会生成一份标准的“工作单”(JSON对象),清晰地写明:“请调用getCurrentWeather这个工具,参数是北京”。
  4. 执行者执行任务:你的应用程序(后端)拿到这份工作单,解析并真正地调用自己的函数或外部API。
  5. 执行者汇报结果:应用程序将执行结果(如“天气晴,22度”)再传回给AI助理。
  6. AI助理总结汇报:AI助理将收到的枯燥结果,用自然、流畅的语言组织起来,最终向用户汇报。

1.2 实战演练:一个经典的天气查询例子

让我们看看这位“助理”和“执行者”是如何协作的。

第一步:提供工具说明书
在调用AI时,附上工具描述:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"tools": [
{
"type": "function",
"function": {
"name": "getCurrentWeather",
"description": "获取指定地点的当前天气信息",
"parameters": {
"type": "object",
"properties": {
"location": { "type": "string", "description": "城市,例如:北京" },
"unit": { "type": "string", "enum": ["celsius", "fahrenheit"] }
},
"required": ["location"]
}
}
}
]
}

第二步:用户与AI的交互

  • 用户:“北京今天天气怎么样?”
  • AI助理的思考过程:用户的意图是“查询天气”,匹配了getCurrentWeather函数。地点是“北京”。单位没说,用默认的就好。

AI助理输出的“工作单”:

1
2
3
4
5
6
7
8
9
10
11
12
{
"tool_calls": [
{
"id": "call_abc123",
"type": "function",
"function": {
"name": "getCurrentWeather",
"arguments": "{\"location\": \"北京\"}"
}
}
]
}
  • 你的应用程序(执行者)
    a. 收到tool_calls响应,知道有活要干。
    b. 解析出函数名是getCurrentWeather,参数是location: "北京"
    c. 调用自己的天气API my_weather_api("北京"),得到结果 {"temperature": "22", "unit": "celsius", "condition": "晴"}
    d. 将这个结果再次汇报给AI助理。
  • AI助理的最终回复:“北京今天的天气是22摄氏度,晴天。”

1.3 历史的局限:Function Calling的“三大原罪”

Function Calling是伟大的第一步,但它很快就暴露了阻碍其发展的“三大原罪”:

  1. 标准化之罪(生态分裂):每家AI厂商(OpenAI, Google, Anthropic)的“工具说明书”和“工作单”格式都不同。就像不同品牌的手机用着不同的充电口,为Claude写的工具无法直接给ChatGPT用,导致开发者重复劳动,无法形成统一的“AI工具商店”。
  2. 扩展性之罪(成本高昂):每次对话,你都得把厚厚的“工具说明书”作为Prompt的一部分发给AI。如果你的应用有100个复杂工具,这份说明书会变得异常庞大,不仅消耗宝贵的上下文窗口,还显著增加了API成本和延迟。
  3. 发现性之罪(封闭孤立):AI无法主动发现互联网上存在的工具。一个工具必须由开发者“手动喂给”AI,它才能使用。这与开放、动态的互联网精神背道而驰。

问题已经浮现:我们如何才能创造一个统一、开放、可扩展的AI工具生态系统? 历史的车轮滚滚向前,MCP应运而生。


第二章:统一的时代 —— MCP(模型上下文协议)的宏伟蓝图

面对Function Calling带来的混乱,Anthropic在2024年提出了一个极具野心的解决方案,并迅速将其开源,推动其成为行业标准——这就是模型上下文协议(Model Context Protocol, MCP)

MCP的目标,是成为**“AI工具世界的USB-C接口”**,彻底解决标准化、扩展性和发现性的问题。

2.1 核心逻辑:从“自带说明书”到“在线下载驱动”

MCP的革命性在于,它将工具的定义与AI的调用进行了解耦。

  • 过去(Function Calling):每次都把厚厚的说明书(JSON定义)塞给AI。
  • 现在(MCP):工具提供者搭建一个遵循MCP规范的Web服务器,并提供一个标准的清单文件(mcp.json)。这份清单就像一个“驱动程序下载页面”的地址。

AI应用只需要知道这个清单文件的URL,就可以像电脑安装新打印机一样,瞬间了解这个工具的所有功能,并直接通过标准的HTTP请求来使用它。

2.2 实战演练:用MCP重构“天气查询”工具

让我们看看之前的天气查询工具,在MCP的世界里会是什么样子。

第一步:搭建MCP服务器,提供“驱动”和“服务”

你需要一个Web服务器,它对外暴露两个东西:

  1. 清单文件(驱动页面)/mcp.json
  2. 实际功能接口/v1/weather
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// McpWeatherController.java
// 这是一个Spring Boot的Web控制器,用于处理HTTP请求

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@RestController
public class McpWeatherController {

/**
* 1. 提供清单文件 (驱动下载页面)
* AI应用启动时会访问这个接口来“学习”工具的功能。
*/
@GetMapping("/mcp.json")
public Manifest getManifest() {
// 创建函数定义。Manifest和FunctionDefinition是自定义的Java对象(POJO),
// 此处为简洁省略了其定义。
FunctionDefinition getWeatherFunction = new FunctionDefinition(
"get_weather",
"获取实时天气",
"/v1/weather",
"GET",
Map.of("city", Map.of("type", "string", "description", "城市名称"))
);

// 创建完整的清单
Manifest manifest = new Manifest(
"0.1.0",
"StandardWeatherService",
"一个可被任何AI发现和使用的标准天气服务。",
"https://api.myweather.com", // 生产环境中的API基地址
List.of(getWeatherFunction)
);

// Spring Boot会自动将这个Java对象序列化为JSON格式并返回。
return manifest;
}

/**
* 2. 提供实际的工具功能
* AI应用在得到模型决策后,会调用这个接口。
*/
@GetMapping("/v1/weather")
public WeatherData getWeather(@RequestParam("city") String city) {
System.out.println("收到天气查询请求,城市: " + city);
// ... 此处是调用真实天气API的业务逻辑 ...

// 模拟返回数据。WeatherData也是一个自定义Java对象。
WeatherData weatherData = new WeatherData("15°C", "多云");

// Spring Boot会自动将这个对象序列化为JSON返回。
return weatherData;
}
}

// 注意:为保持示例简洁,Manifest, FunctionDefinition, WeatherData这些数据模型的
// Java类定义在此省略。在实际项目中,它们是简单的POJO类。

第二步:AI应用如何使用它

现在,任何支持MCP的AI应用,只需在配置中添加一行,告诉它“驱动”地址:
USE_TOOL: https://api.myweather.com/mcp.json

交互流程就变成了:

  1. AI应用启动,访问该URL,瞬间理解了StandardWeatherService的用法。
  2. 用户:“巴黎天气如何?”
  3. AI模型决策后,AI应用直接向 https://api.myweather.com/v1/weather?city=巴黎 发起一个GET请求
  4. MCP服务器返回 {"temperature": "15°C", "condition": "多云"}
  5. AI模型将结果组织成自然语言回复。

2.3 MCP的局限:“知道有什么工具”不等于“知道怎么干活”

MCP是一次伟大的飞跃,它成功地为AI工具世界建立了“铁路轨距”和“集装箱”标准。

然而,MCP也并非万能。它完美地解决了**“连接”的问题,但一个新的、更深层次的问题浮现出来:“流程”**的问题。

想象一下,MCP给了AI一套完整的厨具(锅、碗、瓢、盆)和所有食材(菜、肉、调料)。但如果你想让它做一道工序复杂的“佛跳墙”,它就傻眼了。

  1. 它不知道菜谱(The “How-To” Problem):MCP告诉AI可以调用切菜()烧水()倒油()这些原子操作,但它不知道做佛跳墙需要“先将食材A浸泡2小时,再用小火慢炖,同时将食材B过油…”这一整套复杂的程序性知识
  2. 它不了解企业内部的“家规”(The Organizational Knowledge Gap):每个公司都有大量隐性的SOP(标准作业程序)。例如,“制作周报PPT,必须用公司模板,颜色只能用主色#345C7D,第一页是标题,第二页是数据总览……”这些复杂的、多步骤的、包含特定规则的“手艺”,是MCP无法承载的。

新的问题再次出现:我们如何不仅给AI工具,还要教会它包含专家经验的“菜谱”和“手艺”? 于是,Anthropic在2025年,为Claude模型推出了点睛之笔——Anthropic Skills。


第三章:注入灵魂的工艺 —— Anthropic Skills的诞生

如果说MCP是为AI提供了标准化的“四肢和工具”,那么Skills则是为AI注入了**“专家的大脑和肌肉记忆”**。它旨在解决MCP无法解决的“流程”和“知识”问题。

3.1 核心原理:“渐进式披露”的上下文魔术

Skills的实现方式堪称天才,其核心是一种名为**“渐进式披露”(Progressive Disclosure)**的策略。它彻底解决了上下文窗口被无效信息占满的难题。

把它想象成查阅一部巨大的百科全书:

  1. 只看目录(轻量级索引):对话开始时,AI不读任何技能的详细内容,只快速扫描所有技能说明文件的第一行描述,形成一个极小的“技能目录”。这几乎不占用任何上下文空间。
  2. 按需翻页(动态加载):当用户的请求(如“做个PPT”)与目录中的某一项匹配时,系统在那一刻,才会将该技能的完整说明书(SKILL.md文件)动态地加载到当前的对话上下文中。
  3. 成为专家(专家级执行):此时,AI的上下文中充满了关于如何完成这个特定任务的详细步骤、规则和最佳实践。它瞬间从一个“通才”变身为一个“PPT制作专家”,并严格按照这份“SOP”来主导工作流程。

3.2 实战演练:创建一个“企业级PPT制作”高级技能

让我们来构建一个解决MCP无法处理的复杂流程任务的Skill。

第一步:创建Skill的文件结构(工具箱)
Skill是一个结构化的文件夹,像一个工具箱,里面有说明书、参考资料和范例。

1
2
3
4
5
6
7
8
/my_claude_skills
└── corporate_presentation_maker/
├── SKILL.md # 核心SOP(灵魂说明书)
├── resources/
│ ├── brand_guidelines.txt # 品牌规范
│ └── slide_templates.json # 幻灯片模板
└── examples/
└── sample_output.pptx # 输出样例

第二步:编写灵魂文件 SKILL.md
这是整个Skill的大脑,它不是代码,而是给AI看的、包含严格指令的自然语言“剧本”。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# SKILL.md

Description: 严格遵循[Acme公司]品牌规范,以交互方式创建一份专业的演示文稿。

---

**[总体原则]**
你现在的身份是Acme公司的品牌合规助理。你的唯一任务是确保产出的每一页PPT都100%符合品牌规范。绝不允许自由发挥。

**[工作流程]**
你必须严格按照以下编号步骤执行,一步都不能跳过或颠倒:

1. **启动与确认**:
* 以“您好,我是您的品牌合规助理...”作为开场白。
* 读取并理解 `resources/brand_guidelines.txt` 的核心要点。

2. **构建标题页**:
* 向用户提问:“我们开始构建标题页。请提供您的主标题和副标题。”
* 根据 `resources/slide_templates.json` 的布局生成内容。

3. **循环构建内容页**:
* 完成一页后,提问:“下一页的内容是什么?”
* 一次只处理一页,在用户确认当前页无误前,不进行下一步。

4. **调用外部工具(与MCP协同)**:
* 如果用户提到“需要最新的销售数据”,你必须调用名为 `AcmeSalesDB` 的MCP工具中的 `get_quarterly_sales()` 函数。

5. **最终确认与输出**:
* 当用户表示“完成了”,生成内容摘要,并询问是否确认生成最终文件。

**[禁止事项]**
* 严禁使用 `brand_guidelines.txt` 中未提及的颜色。
* 如果用户请求违反规范,你必须礼貌地拒绝并解释原因,例如:“抱歉,根据品牌规范,标题不能超过10个字。您能否缩短一下?”

3.3 交互流程的升华

  1. 初始状态:Claude启动,上下文中只有一行轻量级信息:“corporate_presentation_maker: …创建专业的演示文稿。”
  2. 用户:“我们要做个季度汇报,帮我弄个PPT。”
  3. 激活与加载:AI路由系统匹配到关键词“PPT”,立即激活技能,SKILL.md的全部内容瞬间被加载到上下文中。
  4. AI化身专家:Claude的下一句话,将严格遵循SOP的第一步:“您好,我是您的品牌合规助理。我将协助您严格按照Acme公司规范创建演示文稿。我们开始构建标题页。请提供您的主标题和副标题。”

看到区别了吗? AI不再是被动地等待调用,而是主动地、专家级地主导整个工作流程。它从一个听话的工具,变成了一个懂规矩、懂流程的项目经理。


第四章:厘清核心 —— Workflow 与 Skill 的本质区别

很多人会将Skill与传统的Workflow(工作流引擎)混淆,但它们的底层逻辑截然不同。

传统的Workflow(比如用代码实现的流程引擎)是这样的:

  • 代码是刚性的if (step == 1) { call_api_A(); } else if (step == 2) { call_api_B(); }//当然这个代码可能是作为工作流画布中某个节点的准入条件,亦或者是代码中的硬编码。
  • 状态由引擎管理:引擎自己记录着“当前在第二步”。
  • 反馈是给引擎的:API_A返回的结果,是交给流程引擎的代码去处理,然后决定下一步。

Skill 的工作方式完全不同:

  • SKILL.md 是柔性的:它是一份自然语言的说明书,告诉AI“你的角色是什么”、“你的行事原则是什么”、“你应该遵循哪些步骤”。
  • AI(LLM)本身就是“引擎”:AI利用其强大的阅读理解和推理能力,来“理解”这份说明书,并决定下一步做什么。
  • 反馈是给AI的:工具执行的结果,会作为新的信息,放回对话上下文中,让AI“看到”,并基于这个新信息,结合SKILL.md的指示,进行下一步的推理。

“Skill执行引擎”的幕后工作流程(The Secret Sauce)

我们仍然用“企业级PPT制作”Skill来一步步拆解,看看当用户说“帮我弄个PPT”时,到底发生了什么:

第一轮交互:

  1. [用户] -> “我们要做个季度汇报,帮我弄个PPT。”
  2. [Skill执行引擎]
  • 接收到用户输入。
  • 通过意图识别(这里可以是意图识别模型,也有可能是一个LLM,意图识别也是LLM应用中的必修课),匹配到了 corporate_presentation_maker 这个Skill。
  • 【关键步骤】 它将 SKILL.md全部内容加载进来,然后将它和用户的请求拼接成一个巨大的、隐藏的Prompt,发送给Claude模型。
  1. [Claude LLM]
  • 它收到的输入(在它的“脑海”里)是这样的:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
你是一个AI助手。以下是你当前可用的一个特殊技能的说明书:
---
# SKILL.md
Description: 严格遵循[Acme公司]品牌规范...
[总体原则]
你现在的身份是Acme公司的品牌合规助理...
[工作流程]
你必须严格按照以下编号步骤执行...
1. 启动与确认:
* 以“您好,我是您的品牌合规助理...”作为开场白。
* 读取并理解 `resources/brand_guidelines.txt`...
...(SKILL.md的全部内容)...
---
现在,一个用户对你说了以下这句话:
“我们要做个季度汇报,帮我弄个PPT。”

请严格遵循你的技能说明书,生成你的下一步回应。
  1. [Claude LLM 的推理过程]
  • “好的,我看到了我的技能说明书。我的身份是‘品牌合规助理’。”
  • “说明书的**[工作流程]第一步是启动与确认**。”
  • “这一步要求我以一个特定的句子作为开场白。”
  • “所以,我下一步的行动就是输出这个句子。”

5.[Claude LLM] -> 输出一个纯文本回应。

6.[Skill执行引擎] -> 将这个纯文本回应直接展示给用户。

  1. [用户看到的界面] -> “您好,我是您的品牌合规助理。我将协助您严格按照Acme公司规范创建演示文稿。我们开始构建标题页。请提供您的主标题和副标题。”

到这里,Skill的第一步就完成了。注意,全程没有调用任何工具,这完全是LLM在“角色扮演”。

第二轮交互(调用工具):

假设用户提供了标题,并且现在提到了需要数据。

  1. [用户] -> “好的,主标题是‘Q3销售业绩回顾’。另外,帮我把最新的销售数据放进去。”
  2. [Skill执行引擎]
  • 接收到用户的新输入。
  • 【关键步骤】 它将这次的整个对话历史(包括AI自己的上一句回复)和 SKILL.md 的内容,再次拼接成一个新的、更长的隐藏Prompt,发送给Claude。
  1. [Claude LLM]
  • 它现在“脑海”里的信息更多了:
1
2
3
4
5
6
7
8
...(SKILL.md的全部内容)...
---
以下是到目前为止的对话历史:
用户: “我们要做个季度汇报,帮我弄个PPT。”
你: “您好,我是您的品牌合规助理...请提供您的主标题和副标题。”
用户: “好的,主标题是‘Q3销售业绩回顾’。另外,帮我把最新的销售数据放进去。”
---
请严格遵循你的技能说明书,并根据最新的用户输入,生成你的下一步回应或行动。
  1. [Claude LLM 的推理过程]
  • “我收到了用户的回复。我需要处理‘最新的销售数据’这个请求。”
  • “我快速回顾我的技能说明书 SKILL.md。”
  • “啊哈!在**[工作流程]的第4步写着:‘如果用户提到“需要最新的销售数据”,你必须**调用名为 AcmeSalesDB 的MCP工具中的 get_quarterly_sales() 函数…’”
  • “所以,我下一步的行动不是回复一句话,而是生成一个工具调用指令。”
  1. [Claude LLM] -> 输出一个特殊的JSON对象(和Function Calling一样!):
1
2
3
4
5
6
7
8
{
"tool_calls": [
{
"name": "AcmeSalesDB.get_quarterly_sales",
"arguments": {}
}
]
}
  1. [Skill执行引擎]
  • 截获了这个JSON,知道这不是给用户看的内容。
  • 它解析JSON,并去真正地执行AcmeSalesDB 这个MCP工具的 get_quarterly_sales() 函数。
  • 假设工具返回了结果:{“sales”: “5.2M”, “growth”: “15%”}
  • 【关键步骤】 引擎将这个工具返回的结果,再次打包,作为新的信息,反馈给LLM
  1. [Claude LLM]
  • 它现在收到的信息是(这是同一次推理的延续):
1
2
3
4
5
6
...(之前的全部上下文)...
你决定调用工具 AcmeSalesDB.get_quarterly_sales()。
以下是工具执行后的返回结果:
{"sales": "5.2M", "growth": "15%"}
---
现在,请综合所有信息,生成最终给用户的回复。
  1. [Claude LLM 的最终推理]
  • “好的,我拿到了销售数据。我的SKILL.md要求我制作PPT。我现在应该将这个数据整合成自然语言,并继续引导用户。”

9.[Claude LLM] -> 输出最终的纯文本回应。

  1. [用户看到的界面] -> “好的,标题页已设定。根据我获取到的最新数据,本季度销售额为520万美元,增长了15%。您希望如何将这个数据呈现在幻灯片上?例如,作为一个关键指标,还是一个图表?”

结论:Skill是给AI的“导演手记”

现在你应该明白了:

  • Workflow是代码,是给机器执行的指令。
  • Skill是剧本,是给AI演员的表演指南。

SKILL.md 之所以强大,是因为它没有把AI当成一个笨拙的、只能一步一调用的工具。它把AI当成一个有智慧的代理(Agent),通过一份详尽的说明书来约束和引导它的行为。

AI在每一步都会“重读”剧本(SKILL.md),回顾之前的“剧情”(对话历史),然后利用自己的“演技”(LLM的推理能力)来决定是说一句“台词”(回复用户),还是做一个“动作”(调用工具)。

这就是从“能聊”到“能干”的进化中,最深刻的范式转变:我们不再为机器编写僵化的流程,而是为智能体编写灵活的使命和原则。


第五章:地平线之外 —— AI智能体的未来图景

我们已经走过了一段非凡的旅程:从Function Calling在混沌中凿开的第一道光,到MCP为世界建立的统一秩序,再到Skills为AI注入的专家级灵魂。但这并非故事的终点,而仅仅是真正“智能体时代”的序幕。

如果说过去的进化解决了AI“如何动手”的问题,那么未来的进化将聚焦于三大主题:自主性(Autonomy)、协作性(Collaboration)和生态性(Ecosystem)

以下,是我们对AI智能体未来的四大猜想,它们共同描绘了一幅激动人心的图景。

未来图景一:从静态“菜谱”到动态“自学成才”的厨师

  • 现状:目前的Anthropic Skills本质上是人类专家编写的、静态的“菜谱”(SOP)。AI是一个忠实的厨师,严格按菜谱做菜,但如果菜谱本身有缺陷,它也无能为力。
  • 未来:未来的AI智能体将拥有元认知(Meta-cognition)和自我完善的能力。它不再仅仅是菜谱的执行者,更是菜谱的改进者
  1. 分析成败:智能体在执行任务后,会分析自己的行为日志。比如一个“客户支持Skill”可能会发现,按现有流程,有30%的工单最终还是需要人工介入。
  2. 定位问题:通过分析这些失败案例,AI会总结出模式:“当用户提到‘发票错误’时,我提供的标准解决方案成功率只有10%。”
  3. 提出改进:基于这个发现,AI会主动提出一个修改建议,甚至给它的SKILL.md文件生成一个Pull Request:“建议在SOP的第三步增加一个分支:如果用户提到‘发票错误’,则直接调用BillingSystem_Toolget_invoice_details()函数,而不是提供通用帮助链接。”
  4. 验证效果:在获得批准后,AI甚至可以小范围A/B测试新流程,用数据证明其有效性,最终将其固化为新的标准菜谱。

这意味着,AI将从一个“数字员工”进化成一个**“数字流程优化专家”**。它们形成了学习、实践、反思、优化的闭环,不断地自我迭代。

未来图景二:从“独行侠”到“智能体公会”

  • 现状:我们目前的模型是“一个大脑,多个工具”。一个通用的AI模型(如Claude)作为中心大脑,协调调用不同的工具。
  • 未来:我们将进入一个**“智能体社会(Society of Agents)”**。在这个社会里,复杂的任务会被分解,并分配给一个由高度专业化、独立的智能体组成的网络,就像一个各司其职的公会。

想象一下用户提出一个宏大目标:“为我的新咖啡品牌策划一场线上发布会。”

  • 一个“项目总管Agent”(高级协调型AI)会接下任务,但它不会自己做所有事。
  • 它会立即“雇佣”并激活一个“市场分析Agent”,这个Agent拥有自己独特的Skills(如竞品分析),并调用专业的MCP数据工具。
  • 市场分析Agent完成后,总管Agent会将其结论传递给一个“创意设计Agent”(擅长文案和视觉)和一个“社媒运营Agent”(擅长内容分发)。
  • 这些Agent之间甚至可能存在一个微型经济系统,总管Agent会根据任务的完成质量,向其他Agent支付“代币”或计算资源。

这将催生一个全新的技术栈,包括Agent间的通信协议、信誉系统和结算层。我们将从与单个AI对话,转向向一个AI“董事会”下达战略目标

未来图景三:AI的“App Store”——通用工具市场

  • 现状:MCP定义了标准,但工具的发现和集成在很大程度上仍依赖于开发者手动配置。
  • 未来:MCP的终极形态,将是一个全球性的、去中心化的**“通用工具市场”**。
  • 开发者发布工具:任何人都可以将自己的API打包成MCP兼容的工具,发布到市场上,并设定定价模型(如按次调用付费)。
  • AI自主采购工具:当AI需要一个它没有的能力时(如“视频翻译并配音”),它可以直接查询这个市场。
  • AI智能决策:AI不仅能找到工具,还能像一个精明的买家,比较不同提供商的工具,权衡其价格、API速度、可靠性评级、安全认证等因素,然后选择最合适的。
  • 即插即用:一旦选定,AI可以动态地、即时地将该工具集成到自己的能力集中,无需人类开发者介入。

这将引爆一个全新的“AI工具经济”。开发者的服务对象将从人类扩展到AI,极大地加速AI能力边界的扩张。

未来图景四:从“聊天框”到“意图操作系统”

  • 现状:我们与AI交互的主要媒介,仍然是一个线性的聊天框。我们一步步告诉它做什么。
  • 未来:这个界面将会“消失”,融入到一个更高维度的**“意图操作系统(Intent-Driven OS)”中。在这个范式下,你不再需要打开App或下达具体指令,你只需要**声明你的最终意图。

你对操作系统说:“安排一次和‘北极星项目’团队的紧急会议,讨论预算超支,时间定在明天下午,把相关的财务和项目报告准备好。”

  • AI操作系统在后台会做什么?
  • 它激活“日历Agent”找到所有人的空闲时间。
  • 它激活“文件Agent”从公司数据库中检索出正确的报表。
  • 它激活“通信Agent”起草并发送包含所有信息的会议邀请。
  • 而你收到的,只是一个简单的结果:“会议已安排在明天下午3点,相关文件已附加到日历邀请中。”

这意味着,我们将从“使用工具的人”变成**“设定目标的人”**。技术的复杂性被完全隐藏,我们与数字世界的交互,将回归到人类最自然的沟通方式——表达意图。


最终章:伟大的融合 —— 从“对话”到“契约”

现在,我们终于可以回答那个终极问题:MCP和Skills到底是什么关系?

答案是:它们是构建高级AI智能体的、缺一不可的两个层面。它们是身与心的完美结合。

  • MCP是骨骼与肌肉:它提供了标准化的、连接现实世界的物理能力。它解决了**“能不能做”**的问题。
  • Skills是大脑与神经:它提供了复杂的、蕴含专家知识的智慧与策略。它解决了**“应该怎么做”和“如何做得更好”**的问题。

让我们用一个终极例子来展示它们的协同:自动化招聘筛选

  1. MCP工具层 (士兵):
  • ATS_Tool (MCP): 连接招聘系统,提供获取新简历()更新候选人状态()函数。
  • Calendar_Tool (MCP): 连接日历,提供安排面试()函数。
  1. Skills知识层 (指挥官):
  • 创建一个recruiter_assistant Skill,其SKILL.md中定义了如下SOP:
  1. 每天早上9点,自动调用ATS_Tool获取新简历()函数。
  2. 对于每份简历,检查其“技能”字段是否同时包含 “Python”, “Docker” 和 “AWS”。
  3. 如果满足条件,调用ATS_Tool更新候选人状态()为“通过筛选”,然后调用Calendar_Tool安排面试()
  4. 如果不满足条件,则更新其状态为“未通过”。
  5. 最后,生成一份报告总结今日工作。

在这个场景中,Skill扮演了总指挥官的角色,它定义了整个业务流程的逻辑和策略。而MCP工具则像忠实的士兵,负责执行Skill下达的每一个具体、原子的命令。

结论:

我们从Function Calling的混沌初开,走到了MCP的秩序建立,最终见证了Skills的智慧注入。这是一部AI从一个“聊天伴侣”进化为一个“工作伙伴”的恢弘历史。

我们可以用三份“合同”来总结这段进化:

Function Calling:是AI与世界签订的第一份临时合约,一事一议,格式不通。

MCP:是AI世界共同遵守的日内瓦公约,它确立了所有工具交互的普适法则,让协作成为可能。

Anthropic Skills:则是企业与AI签订的深度定制化劳动合同,它详细规定了AI作为“数字员工”的岗位职责、工作流程和行为准则。

这三者的演进与融合,标志着我们正在进入一个全新的AI纪元。在这个纪元里,我们与AI的关系不再仅仅是“对话”,而是一种基于能力、流程和信任的深度**“契约”**。我们不再是简单地向AI提问,而是将真实世界中复杂的工作流,安全、可靠、高效地委托给它们。

这,就是AI从“能聊”到“能干”的全部故事。