AI Agent核心概念详解(非常详细),Function Calling到Sub Agent全解析,入门到精通,收藏这一篇就够了!
本文综合整理自 Prompt Engineering Guide、Model Context Protocol 官方文档、Agent Skills 规范、Google ADK 文档及 IBM 技术文章,旨在帮助读者快速理解 AI Agent 领域的核心概念。
什么是 AI Agent
AI Agent(人工智能代理)是一种能够自主执行任务的系统或程序。与传统 LLM 的被动文本生成不同,AI Agent 具备以下核心能力:
- 规划能力:能够将复杂任务分解为多个步骤
- 工具调用:可以调用外部 API、数据库、搜索引擎等
- 自适应学习:能够根据新信息更新自身记忆和行为
- 自主决策:能够判断何时需要调用工具、何时直接回答
“Function calling transforms LLMs from passive text generators into active agents capable of real-world interactions.” — Fireworks AI
Function Calling(函数调用)
定义
Function Calling 是让 LLM 能够与外部工具、API 和知识库交互的核心能力。当 LLM 收到需要超出其训练数据范围的信息或操作请求时,它可以决定调用外部函数来获取信息或执行操作。
工作流程
用户请求 → 上下文组装 → LLM 决策 → 工具执行 → 观察结果 → 生成响应
详细步骤:
- 用户查询:用户发送请求(如"巴黎的天气如何?")
- 上下文组装:系统消息、工具定义和用户消息组合成完整上下文
- 工具决策:LLM 分析上下文,决定是否需要调用工具
- 工具执行:开发者代码接收工具调用请求并执行实际函数
- 观察:工具返回结果,成为 Agent 的"观察"
- 响应生成:观察结果传回模型,生成最终响应
工具定义示例
{ "type": "function","function": { "name": "get_current_weather", "description": "获取指定位置的当前天气。当用户询问特定城市或地区的天气状况时使用。", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "城市和州,例如:San Francisco, CA" }, "unit": { "type": "string", "enum": ["celsius", "fahrenheit"], "description": "温度单位" } }, "required": ["location"] } }}
最佳实践
- 清晰的描述:工具描述应明确说明功能和使用场景
- 精简工具数量:建议不超过 20 个工具以保证准确性
- 参数验证:明确必需参数和可选参数
- Token 优化:工具定义会消耗 Token,需简洁但完整
MCP(Model Context Protocol)
定义
MCP(Model Context Protocol)是一个开源标准协议,用于连接 AI 应用与外部系统。它为 AI 应用提供了一种标准化的方式来访问数据源、工具和工作流。
“Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect electronic devices, MCP provides a standardized way to connect AI applications to external systems.” — MCP 官方文档
核心架构
┌─────────────┐ ┌─────────────┐ ┌─────────────┐│ MCP Host │────▶│ MCP Client │────▶│ MCP Server ││ (AI 应用) │ │ (连接器) │ │ (服务提供) │└─────────────┘ └─────────────┘ └─────────────┘
三大角色:
| 角色 | 说明 |
|---|---|
| Host | AI 应用程序(如 Claude、ChatGPT) |
| Client | 连接器,负责与 Server 通信 |
| Server | 提供工具、资源和提示模板的服务端 |
MCP Server 核心功能
- Tools(工具):可执行的函数,如搜索、计算、API 调用
- Resources(资源):静态数据源,如文件、数据库内容
- Prompts(提示):预定义的提示模板
MCP 的价值
| 受益方 | 价值 |
|---|---|
| 开发者 | 减少构建和集成 AI 应用的开发时间和复杂度 |
| AI 应用 | 获得丰富的数据源、工具和应用生态系统 |
| 终端用户 | 获得更强大的 AI 应用,能够访问数据并代为执行操作 |
生态系统支持
MCP 已被广泛支持:
- AI 助手:Claude、ChatGPT
- 开发工具:VS Code、Cursor、Windsurf
- 其他:MCPJam 等众多客户端
Skills(技能)
定义
Agent Skills 是一种轻量级、开放格式,用于扩展 AI Agent 的能力,为其提供专业知识和工作流程。Skills 本质上是包含指令、脚本和资源的文件夹。
目录结构
my-skill/├── SKILL.md # 必需:指令 + 元数据├── scripts/ # 可选:可执行代码├── references/ # 可选:参考文档└── assets/ # 可选:模板、资源
工作机制
发现 → 激活 → 执行
- 发现(Discovery):启动时,Agent 仅加载每个可用 Skill 的名称和描述
- 激活(Activation):当任务匹配 Skill 描述时,Agent 读取完整的 SKILL.md 指令
- 执行(Execution):Agent 按照指令执行,按需加载引用文件或执行捆绑代码
SKILL.md 示例
---name:pdf-processingdescription:ExtractPDFtext,fillforms,mergefiles.UsewhenhandlingPDFs.---# PDF Processing## When to use this skillUsethisskillwhentheuserneedstoworkwithPDFfiles...## How to extract text1.Usepdfplumberfortextextraction...## How to fill forms...
Skills 的特点
| 特点 | 说明 |
|---|---|
| 自文档化 | 任何人都可以阅读 SKILL.md 理解其功能 |
| 可扩展 | 从纯文本指令到可执行代码,复杂度可变 |
| 可移植 | 只是文件,易于编辑、版本控制和共享 |
支持平台
- GitHub Copilot(VS Code、CLI、Coding Agent)
- 其他兼容 Agent Skills 标准的 AI 工具
Sub Agent(子代理)与多代理系统
定义
多代理系统(Multi-Agent System, MAS) 由多个 AI Agent 协同工作,共同完成用户或其他系统的任务。每个 Agent 具有独立属性,但通过协作实现全局目标。
Sub Agent(子代理) 是多代理系统中的组成部分,在父代理的协调下执行特定任务。
单代理 vs 多代理系统
| 维度 | 单代理系统 | 多代理系统 |
|---|---|---|
| 结构 | 独立运行 | 多个 Agent 协作 |
| 通信 | 与环境交互 | Agent 间直接/间接通信 |
| 学习 | 独立学习 | 共享经验和策略 |
| 性能 | 受限于单一 Agent | 资源池更大,性能更优 |
多代理系统架构
1. 集中式网络(Centralized)
┌─────────────┐ │ 中央单元 │ └──────┬──────┘ ┌──────────┼──────────┐ ▼ ▼ ▼┌───────┐ ┌───────┐ ┌───────┐│Agent A│ │Agent B│ │Agent C│└───────┘ └───────┘ └───────┘
- 优点:通信便捷,知识统一
- 缺点:中央单元故障导致系统崩溃
2. 去中心化网络(Decentralized)
┌───────┐ ┌───────┐│Agent A│◄───►│Agent B│└───┬───┘ └───┬───┘ │ │ ▼ ▼┌───────┐ ┌───────┐│Agent C│◄───►│Agent D│└───────┘ └───────┘
- 优点:鲁棒性强,模块化
- 缺点:协调复杂度高
多代理系统结构类型
| 结构 | 特点 |
|---|---|
| 层级结构 | 树状结构,Agent 具有不同自主级别 |
| Holonic 结构 | Agent 分组为 holarchy,子代理协作呈现为单一实体 |
| 联盟结构 | Agent 临时联合提升性能,目标达成后解散 |
| 团队结构 | Agent 紧密协作,相互依赖程度高 |
ADK 中的多代理实现
Google Agent Development Kit (ADK) 提供了构建多代理系统的原语:
Agent 层级
from google.adk.agents import LlmAgent, BaseAgent# 定义子代理greeter = LlmAgent(name="Greeter", model="gemini-2.0-flash")task_doer = BaseAgent(name="TaskExecutor")# 创建父代理并分配子代理coordinator = LlmAgent( name="Coordinator", model="gemini-2.0-flash", description="I coordinate greetings and tasks.", sub_agents=[greeter, task_doer])
工作流代理类型
| 类型 | 说明 |
|---|---|
| SequentialAgent | 顺序执行子代理 |
| ParallelAgent | 并行执行子代理 |
| LoopAgent | 循环执行子代理直到满足条件 |
代理间交互模式
- LLM Transfer:通过 LLM 决策将任务转移给子代理
- Agent as Tool:将代理封装为工具供其他代理调用
- State Sharing:通过共享状态传递信息
多代理系统优势
- 灵活性:动态调整 Agent 组合
- 可扩展性:轻松添加新 Agent
- 领域专业化:每个 Agent 专注特定领域
- 更高性能:并行处理,资源共享
概念对比与关系
┌─────────────────────────────────────────────────────────────┐│ AI Agent ││ ┌─────────────────────────────────────────────────────┐ ││ │ 能力扩展层 │ ││ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ ││ │ │ Skills │ │ MCP │ │ Function │ │ ││ │ │ (技能) │ │ (协议) │ │ Calling │ │ ││ │ └─────────────┘ └─────────────┘ └─────────────┘ │ ││ └─────────────────────────────────────────────────────┘ ││ ┌─────────────────────────────────────────────────────┐ ││ │ 协作层 │ ││ │ ┌─────────────────────────────────────────────┐ │ ││ │ │ Sub Agent / Multi-Agent │ │ ││ │ │ (子代理/多代理系统) │ │ ││ │ └─────────────────────────────────────────────┘ │ ││ └─────────────────────────────────────────────────────┘ │└─────────────────────────────────────────────────────────────┘
| 概念 | 层级 | 核心作用 | 标准化程度 |
|---|---|---|---|
| Function Calling | 基础能力 | 让 LLM 调用外部函数 | 各厂商有自己的实现 |
| MCP | 连接协议 | 标准化 AI 与外部系统的连接 | 开放标准 |
| Skills | 能力扩展 | 为 Agent 提供专业知识和工作流 | 开放格式 |
| Sub Agent | 系统架构 | 多个 Agent 协作完成复杂任务 | 框架相关 |
它们如何协同工作
- Function Calling 是最底层的能力,让 Agent 能够调用工具
- MCP 提供标准化的协议,让不同的工具和数据源能够统一接入
- Skills 为 Agent 提供领域专业知识,指导其如何完成特定任务
- Sub Agent 将多个专业 Agent 组合,协作完成复杂任务
总结
| 概念 | 一句话总结 |
|---|---|
| Function Calling | LLM 调用外部工具的能力,是 Agent 的"手" |
| MCP | AI 应用的"USB-C 接口",标准化连接外部系统 |
| Skills | Agent 的"专业技能包",提供领域知识和工作流 |
| Sub Agent | Agent 的"团队协作",多个专业 Agent 分工合作 |
这四个概念共同构成了现代 AI Agent 的核心架构:
- Function Calling 提供基础的工具调用能力
- MCP 解决了工具和数据源的标准化接入问题
- Skills 解决了领域专业知识的封装和复用问题
- Sub Agent 解决了复杂任务的分解和协作问题
理解这些概念及其关系,是构建强大 AI Agent 应用的基础。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)