{
  "metadata": {
    "id": "ch41",
    "title": "第41章：Agent 生态全景",
    "volume": "vol11",
    "volume_title": "生态与跨平台",
    "word_count": 8313,
    "difficulty": "intermediate",
    "prerequisites": [
      "ch04"
    ],
    "key_concepts": [
      "生态全景：从模型到应用的技术栈",
      "技术栈分层模型",
      "层间关系与依赖分析",
      "模型层生态：LLM 提供商全景",
      "国际头部厂商",
      "国内主要厂商",
      "模型选型决策矩阵",
      "框架层生态：Agent 开发框架",
      "框架分类与定位",
      "主流框架深度对比",
      "框架选型指南",
      "工具层生态：让 Agent 连接世界",
      "MCP：模型上下文协议",
      "Function Calling 生态",
      "插件系统生态"
    ],
    "learning_objectives": [],
    "estimated_tokens": 4988,
    "source_file": "vol11/ch41_Agent生态全景.md"
  },
  "overview": "",
  "sections": [
    {
      "id": "41.1",
      "title": "41.1 生态全景：从模型到应用的技术栈",
      "level": 2,
      "content": "在深入探讨 Agent 生态之前，我们需要先建立一个宏观的认知框架。Agent 技术并非孤立存在，它依赖于一个多层协作的完整技术栈。理解这个技术栈的每一层、每个主要玩家及其之间的关系，是做出正确技术选型的前提。",
      "subsections": [
        {
          "id": "41.1.1",
          "title": "41.1.1 技术栈分层模型",
          "content": "Agent 生态可以自底向上分为五个核心层级：\n\n\n这个分层模型揭示了一个关键事实：**每一层都有自己的生态和竞争格局**，而层与层之间的接口协议（如 OpenAI API、MCP 协议）则是整个生态运转的关节。理解层间依赖关系，有助于我们在技术选型时避免\"被锁定在某一层\"的风险。"
        },
        {
          "id": "41.1.2",
          "title": "41.1.2 层间关系与依赖分析",
          "content": "- **模型层 → 框架层**：框架层通过标准化 API 调用模型层的推理能力。OpenAI API 事实上已经成为行业标准接口，多数框架都支持 OpenAI 兼容的调用方式。\n- **框架层 → 工具层**：框架通过工具层扩展 Agent 的能力边界。MCP 协议的兴起正在统一工具调用接口。\n- **基础设施层 → 所有上层**：向量数据库、GPU 算力、监控等基础设施为所有上层提供底层支撑。\n- **应用层 → 框架层**：应用层基于框架层快速构建，但也越来越多地直接使用模型 API 以获得更精细的控制。\n\n---"
        }
      ]
    },
    {
      "id": "41.2",
      "title": "41.2 模型层生态：LLM 提供商全景",
      "level": 2,
      "content": "",
      "subsections": [
        {
          "id": "41.2.1",
          "title": "41.2.1 国际头部厂商",
          "content": "#### OpenAI\n\nOpenAI 是当前 Agent 生态的绝对核心玩家。其 GPT 系列模型（GPT-4o、o1、o3）在推理能力、多模态理解、工具调用等方面都处于行业领先地位。\n\n**核心优势：**\n- **Function Calling 能力最强**：OpenAI 的函数调用机制是事实标准，几乎所有 Agent 框架都优先支持\n- **生态最完善**：Assistants API、Files API、Batch API 等一整套面向 Agent 的 API 体系\n- **多模态领先**：GPT-4o 的原生多模态能力使视觉 Agent、语音 Agent 成为可能\n\n**Agent 相关产品：**\n- **Assistants API**：提供了内置的线程管理、文件检索、代码解释器，几乎是一个\"开箱即用\"的 Agent 后端\n- **GPTs**：面向非技术用户的 Agent 创建平台\n- **Responses API**（2025新增）：替代了传统的 Chat Completions API，原生支持工具调用、多轮对话管理\n\n\n#### Anthropic\n\nAnthropic 以 Claude 系列模型为代表，在长上下文理解、代码生成、安全对齐等方面表现突出。\n\n**核心优势：**\n- **200K 超长上下文**：Claude 支持业界最长的上下文窗口（最高 200K tokens），适合处理复杂文档和长代码库\n- **出色的代码能力**：Claude 在代码生成和理解方面通常优于同类模型\n- **Claude Code**：Anthropic 推出的终端 AI 编程工具，开创了\"AI Agent 编程\"的全新交互范式\n- **模型上下文协议（MCP）**：Anthropic 主导推出的开放协议，正在统一 Agent 工具调用标准\n\n**Agent 相关产品：**\n- **Claude Code**：基于 Claude 的 CLI Agent，能直接操作文件系统、执行命令、管理代码项目\n- **Claude Computer Use**：让 Claude 直接操控计算机桌面，执行 GUI 操作\n- **MCP（Model Context Protocol）**：开放的工具调用标准协议\n\n\n#### Google\n\nGoogle DeepMind 的 Gemini 系列模型在多模态、长上下文（2M tokens）等方面具有独特优势。\n\n**核心优势：**\n- **200万 tokens 超长上下文**：Gemini 1.5 Pro 支持业界最长的上下文窗口\n- **Google 生态整合**：与 Google Workspace（Gmail、Docs、Sheets）、Android 等深度整合\n- **多模态原生**：Gemini 从设计之初就是多模态模型，视频理解能力领先\n- **Vertex AI 平台**：企业级 AI 平台，提供模型训练、部署、监控的一站式服务\n\n**Agent 相关产品：**\n- **Project Mariner**：Google 的浏览器 Agent 原型\n- **Gemini Code Assist**：面向开发者的 AI 编程助手\n- **Vertex AI Agent Builder**：企业级 Agent 构建平台\n\n\n#### Meta（Llama）\n\nMeta 走的是开源路线，Llama 系列模型是全球最重要的开源 LLM。\n\n**核心优势：**\n- **开源免费**：Llama 系列采用宽松的开源协议，可以商用\n- **社区生态丰富**：大量微调版本、量化工具、部署框架围绕 Llama 构建\n- **可本地部署**：企业可以在自己的服务器上私有化部署，数据不出域\n- **成本可控**：无 API 调用费用，硬件成本一次性投入\n\n**Agent 部署方案：**"
        },
        {
          "id": "41.2.2",
          "title": "41.2.2 国内主要厂商",
          "content": "中国大模型市场在 2024-2025 年迎来了爆发式增长，以下是最值得关注的国内 LLM 提供商：\n\n#### 阿里云（通义千问）\n\n- **核心模型**：Qwen2.5 系列（72B、32B、14B、7B）、Qwen-VL 多模态系列\n- **特点**：开源版本能力强，中文理解优秀，阿里云通义平台提供完整工具链\n- **Agent 支持**：通义千问 App 内置 Agent 功能，百炼平台支持 Agent 构建\n- **选型建议**：中文场景首选之一，开源版本可私有化部署\n\n\n#### 百度（文心一言）\n\n- **核心模型**：文心大模型 4.5、文心一言旗舰版\n- **特点**：与百度搜索深度整合，知识问答能力强\n- **Agent 支持**：文心智能体平台（yiyan.baidu.com/agent）提供低代码 Agent 创建\n- **选型建议**：搜索增强型 Agent 场景有优势\n\n#### 腾讯（混元大模型）\n\n- **核心模型**：混元 Turbo、混元 Pro、混元 Lite\n- **特点**：与微信生态深度整合，多模态能力突出\n- **Agent 支持**：腾讯元宝 App、元器平台支持 Agent 创建\n- **选型建议**：微信生态集成、腾讯云企业客户首选\n\n#### 字节跳动（豆包）\n\n- **核心模型**：豆包大模型系列、Doubao-Pro 系列\n- **特点**：推理速度快、价格极具竞争力（Token 价格业界最低之一）\n- **Agent 支持**：扣子（Coze）平台——可能是当前最成熟的低代码 Agent 平台\n- **选型建议**：对成本敏感的场景、Coze 平台快速原型开发\n\n#### 智谱 AI（GLM）\n\n- **核心模型**：GLM-4 系列、GLM-5 系列\n- **特点**：学术基因深厚，中英文能力均衡，API 稳定性好\n- **Agent 支持**：智谱清言 App、BigModel 开放平台\n- **选型建议**：企业级 API 服务，稳定性要求高的场景\n\n#### 月之暗面（Kimi）\n\n- **核心模型**：Moonshot / Kimi 大模型\n- **特点**：以长上下文处理能力著称，支持超长文档解析\n- **Agent 支持**：Kimi 智能助手内置 Agent 能力\n- **选型建议**：长文档处理、信息提取场景"
        },
        {
          "id": "41.2.3",
          "title": "41.2.3 模型选型决策矩阵",
          "content": "| 维度 | OpenAI | Anthropic | Google | 国内厂商（头部） | 开源模型 |\n|------|--------|-----------|--------|-----------------|---------|\n| 推理能力 | ★★★★★ | ★★★★★ | ★★★★☆ | ★★★★☆ | ★★★☆☆ |\n| 中文能力 | ★★★★☆ | ★★★★☆ | ★★★★☆ | ★★★★★ | ★★★☆☆ |\n| 长上下文 | ★★★★☆ | ★★★★★ | ★★★★★ | ★★★☆☆ | ★★★★☆ |\n| 工具调用 | ★★★★★ | ★★★★★ | ★★★★☆ | ★★★★☆ | ★★★☆☆ |\n| 成本 | 高 | 中高 | 中 | 低 | 硬件成本 |\n| 数据隐私 | 云端 | 云端 | 云端 | 可私有化 | 完全可控 |\n| API 稳定性 | ★★★★★ | ★★★★★ | ★★★★☆ | ★★★☆☆ | 自建保障 |\n\n**选型建议原则：**\n\n1. **追求最佳效果** → OpenAI GPT-4o / Anthropic Claude\n2. **中文场景 + 成本敏感** → 国内头部厂商（通义千问/豆包）\n3. **数据安全/合规要求** → 私有化部署开源模型（Qwen2.5 / Llama 3）\n4. **长文档处理** → Anthropic Claude (200K) / Google Gemini (2M)\n5. **多模态需求** → GPT-4o / Gemini 2.0\n6. **成本极致优化** → 开源模型 + vLLM/SGlang 自建推理服务\n\n---"
        }
      ]
    },
    {
      "id": "41.3",
      "title": "41.3 框架层生态：Agent 开发框架",
      "level": 2,
      "content": "",
      "subsections": [
        {
          "id": "41.3.1",
          "title": "41.3.1 框架分类与定位",
          "content": "Agent 开发框架可以按照其设计理念和目标用户分为以下几类：\n\n| 类型 | 代表框架 | 目标用户 | 核心特点 |\n|------|---------|---------|---------|\n| 编排型 | LangChain / LlamaIndex | 开发者 | 灵活的链式编排，丰富的组件库 |\n| 多Agent协作型 | AutoGen / CrewAI / MetaGPT | 开发者 | 多Agent角色协作、任务分解 |\n| 低代码平台型 | Dify / Coze / 扣子 | 产品/运营 | 可视化编排、非技术友好 |\n| 研究型 | AgentBench / AgentOps | 研究者 | Agent 评测、实验管理 |\n| 基础设施型 | LiteLLM / Helicone | 平台开发者 | 统一 API 层、监控可观测 |"
        },
        {
          "id": "41.3.2",
          "title": "41.3.2 主流框架深度对比",
          "content": "#### LangChain\n\nLangChain 是目前最流行的 Agent 开发框架，提供了从 LLM 调用、Prompt 管理、工具集成到 Agent 编排的完整工具链。\n\n\n**LangGraph** 是 LangChain 团队推出的有状态 Agent 编排框架，支持复杂的工作流、持久化状态、人机协作等高级特性。它使用图（Graph）的概念来描述 Agent 的行为流程：\n\n\n**优势：** 组件丰富、社区活跃、文档完善、生态整合能力强\n**劣势：** 抽象层过多导致调试困难、版本迭代频繁导致兼容性问题、性能开销较大\n\n#### CrewAI\n\nCrewAI 采用\"角色扮演\"理念，每个 Agent 被定义为一个角色（如研究员、写手、审核员），多个角色组成一个\"团队\"协作完成任务。\n\n\n**优势：** 概念直观（角色扮演）、多 Agent 协作简单易上手、适合内容生成场景\n**劣势：** 灵活性不如 LangGraph、复杂工作流支持有限、工具生态相对较小\n\n#### AutoGen（Microsoft）\n\n微软推出的 AutoGen 专注于多 Agent 对话与协作，支持多轮对话、代码执行、人机协作等场景。\n\n\n**AutoGen v0.4** 重构了底层架构，引入了更灵活的组件化设计，支持更复杂的多 Agent 工作流。\n\n**优势：** 微软背书、代码执行能力强、人机协作体验好\n**劣势：** 学习曲线较陡、文档质量一般、社区活跃度不如 LangChain\n\n#### Dify\n\nDify 是一个开源的 LLM 应用开发平台，以可视化界面为核心特色，支持低代码构建 Agent。\n\n**核心功能：**\n- 可视化的工作流编排（Workflow）\n- RAG 知识库管理\n- Agent 编排与管理\n- 模型管理与切换\n- API 一键发布\n\n**选型建议：** Dify 适合快速构建和部署 Agent 应用，特别是对于非技术团队。但其在灵活性、性能调优方面不如代码框架。\n\n#### 扣子/Coze（字节跳动）\n\nCoze 是字节跳动推出的 Agent 构建平台，以\"让每个人都能创建 AI Bot\"为愿景。\n\n**核心优势：**\n- 丰富的插件市场（搜索引擎、数据库、第三方 API）\n- 可视化的工作流编排\n- 一键发布到多平台（微信、飞书、Telegram 等）\n- 免费额度慷慨\n\n**选型建议：** 适合快速原型验证和轻量级 Agent 构建。对于复杂的企业级 Agent，建议使用代码级框架。"
        },
        {
          "id": "41.3.3",
          "title": "41.3.3 框架选型指南",
          "content": "| 场景 | 推荐框架 | 理由 |\n|------|---------|------|\n| 快速原型/非技术用户 | Coze / Dify | 低代码/可视化 |\n| 单 Agent + 简单工具 | LangChain | 组件丰富 |\n| 多 Agent 协作 | CrewAI / AutoGen | 原生支持 |\n| 复杂工作流/状态管理 | LangGraph | 图编排、状态持久化 |\n| 企业级/生产环境 | 自研 + LangChain 组件 | 完全可控 |\n| 研究与实验 | AutoGen / 自研 | 灵活可控 |\n\n---"
        }
      ]
    },
    {
      "id": "41.4",
      "title": "41.4 工具层生态：让 Agent 连接世界",
      "level": 2,
      "content": "",
      "subsections": [
        {
          "id": "41.4.1",
          "title": "41.4.1 MCP：模型上下文协议",
          "content": "MCP（Model Context Protocol）是 Anthropic 于 2024 年底推出的开放协议，旨在标准化 LLM/Agent 与外部工具之间的通信方式。\n\n**MCP 的核心设计理念：**\n\n\nMCP 协议定义了三种核心原语：\n\n1. **Tools（工具）**：Agent 可以调用的函数\n2. **Resources（资源）**：Agent 可以读取的数据\n3. **Prompts（提示）**：预定义的提示模板\n\n\n**MCP 的生态意义：**\n\n- **一次实现，多处使用**：工具开发者只需实现一次 MCP Server，所有支持 MCP 的 Agent 都能使用\n- **标准化降低集成成本**：不再需要为每个 Agent 框架写适配器\n- **安全可控**：MCP 定义了细粒度的权限模型，工具提供方可以精确控制 Agent 能访问的数据和操作"
        },
        {
          "id": "41.4.2",
          "title": "41.4.2 Function Calling 生态",
          "content": "除了 MCP，各大模型厂商也提供了原生的工具调用机制：\n\n- **OpenAI Function Calling**：最早推出的标准工具调用 API，格式最成熟\n- **Anthropic Tool Use**：与 MCP 深度整合\n- **Google Function Calling**：Gemini 原生支持\n- **通义千问 Function Call**：国内厂商中最早支持的工具调用"
        },
        {
          "id": "41.4.3",
          "title": "41.4.3 插件系统生态",
          "content": "- **ChatGPT Plugins**：OpenAI 早期的插件生态（已被 GPTs 和 Assistants API 部分取代）\n- **Coze 插件市场**：字节跳动的插件生态，拥有丰富的中文工具\n- **Dify 工具市场**：Dify 平台的官方工具市场\n- **LangChain Tools**：LangChain 内置的 200+ 工具集成\n- **Hugging Face Tools**：Hugging Face 生态中的工具集成\n\n---"
        }
      ]
    },
    {
      "id": "41.5",
      "title": "41.5 基础设施层生态",
      "level": 2,
      "content": "",
      "subsections": [
        {
          "id": "41.5.1",
          "title": "41.5.1 向量数据库",
          "content": "向量数据库是 RAG（检索增强生成）和 Agent 记忆系统的核心基础设施。\n\n| 产品 | 类型 | 特点 | 适用场景 |\n|------|------|------|---------|\n| Pinecone | 云服务 | 全托管、高性能 | 追求开箱即用的团队 |\n| Milvus | 开源/云 | 分布式、高性能 | 大规模企业部署 |\n| Weaviate | 开源/云 | 模块化、多模态 | 需要灵活定制的场景 |\n| Qdrant | 开源/云 | Rust 实现、低延迟 | 性能敏感场景 |\n| Chroma | 开源 | 轻量、易上手 | 原型开发、小型项目 |\n| pgvector | PostgreSQL 扩展 | 基于现有 PG | 已有 PG 基础设施的团队 |"
        },
        {
          "id": "41.5.2",
          "title": "41.5.2 推理基础设施",
          "content": "- **GPU 云服务**：AWS SageMaker、Google Cloud Vertex AI、阿里云 PAI\n- **推理引擎**：vLLM（高吞吐）、SGLang（高性能）、TensorRT-LLM（NVIDIA 优化）\n- **模型服务网关**：LiteLLM（统一 API 层）、Portkey（多模型路由）\n- **Serverless 推理**：Modal、Replicate、Fireworks AI"
        },
        {
          "id": "41.5.3",
          "title": "41.5.3 监控与可观测性",
          "content": "Agent 的生产部署需要完善的监控体系：\n\n- **LLM 监控**：Helicone、LangSmith、Langfuse、AgentOps\n- **成本追踪**：各平台自带的用量面板、自定义成本分析\n- **质量评测**：LangSmith、Confident AI、DeepEval\n\n\n---"
        }
      ]
    },
    {
      "id": "41.6",
      "title": "41.6 生态发展趋势",
      "level": 2,
      "content": "",
      "subsections": [
        {
          "id": "41.6.1",
          "title": "41.6.1 协议标准化",
          "content": "MCP 协议的推出标志着 Agent 生态正在从\"各自为政\"走向\"协议标准化\"。可以预见：\n\n- **2025年**：MCP 成为事实标准，主流 Agent 框架和 IDE 全部支持\n- **2026年**：更高级的 Agent 间通信协议出现（Agent-to-Agent）\n- **长期**：类似 HTTP 之于 Web，形成统一的 Agent 通信协议栈"
        },
        {
          "id": "41.6.2",
          "title": "41.6.2 模型能力民主化",
          "content": "- 开源模型（Llama、Qwen、DeepSeek）的能力持续逼近闭源模型\n- 推理成本每季度下降 50%+\n- 小模型 + RAG 的方案在垂直领域可以达到大模型的效果"
        },
        {
          "id": "41.6.3",
          "title": "41.6.3 Agent 即服务（Agent-as-a-Service）",
          "content": "- AWS Bedrock Agents、Google Vertex AI Agent Builder 提供托管的 Agent 服务\n- 企业不需要自己构建 Agent 基础设施，按使用量付费\n- Agent 能力成为标准化的云服务"
        },
        {
          "id": "41.6.4",
          "title": "41.6.4 端侧 Agent",
          "content": "- 苹果 Intelligence、Google Gemini Nano 将 Agent 能力带到设备端\n- 端侧 Agent + 云端 Agent 协作的混合架构成为主流\n- 隐私敏感型任务（健康、金融）优先使用端侧 Agent"
        },
        {
          "id": "41.6.5",
          "title": "41.6.5 垂直行业 Agent 平台",
          "content": "- 法律、医疗、金融、教育等行业出现专用的 Agent 平台\n- 行业数据 + 行业工具 + 行业工作流的深度整合\n- 从通用 Agent 到领域专家 Agent 的分化\n\n---"
        }
      ]
    },
    {
      "id": "41.7",
      "title": "41.7 技术选型实战：构建企业知识库 Agent",
      "level": 2,
      "content": "让我们通过一个实际案例来综合运用本章的知识——构建一个企业内部知识库 Agent。",
      "subsections": [
        {
          "id": "需求分析",
          "title": "需求分析",
          "content": "- 企业有 10,000+ 内部文档（PDF、Word、Confluence）\n- 需要支持自然语言查询、文档摘要、智能推荐\n- 要求数据不出域（私有化部署）\n- 支持权限控制（不同部门只能看到自己的文档）\n- 日均 1000+ 次查询"
        },
        {
          "id": "技术选型",
          "title": "技术选型",
          "content": "| 层级 | 选型 | 理由 |\n|------|------|------|\n| 模型 | Qwen2.5-72B（本地部署） | 中文能力强、开源可私有化 |\n| 推理引擎 | vLLM | 高吞吐、OpenAI 兼容 API |\n| Agent 框架 | LangGraph | 工作流灵活、生产级 |\n| 向量数据库 | Milvus | 分布式、高性能、企业级 |\n| Embedding | bge-m3 | 中文 Embedding 效果好 |\n| 工具协议 | MCP | 标准化、可扩展 |\n| 监控 | Langfuse（自建） | 开源、追踪完整 |\n| 开发语言 | Python + TypeScript | 后端 Python + 前端 TypeScript |"
        },
        {
          "id": "架构设计",
          "title": "架构设计",
          "content": "---"
        }
      ]
    },
    {
      "id": "41.8",
      "title": "41.8 本章小结",
      "level": 2,
      "content": "Agent 生态是一个快速演进、充满活力的领域。本章从五个维度系统地梳理了当前生态的全貌：\n\n1. **模型层**：OpenAI、Anthropic 领跑，国内厂商快速追赶，开源模型持续进步\n2. **框架层**：LangChain 生态最丰富，CrewAI 多 Agent 协作便捷，Dify/Coze 降低开发门槛\n3. **工具层**：MCP 协议正在统一工具调用标准，Function Calling 已成为模型基本能力\n4. **基础设施层**：向量数据库、推理引擎、监控平台日趋成熟\n5. **发展趋势**：协议标准化、能力民主化、Agent 即服务、端侧 Agent 是主要方向\n\n**核心启示：** 在 Agent 生态中做出正确的技术选型，需要综合考虑效果、成本、安全、可维护性等多个维度。没有\"银弹\"——最好的选型取决于你的具体场景和约束条件。\n\n---\n\n*「生态不是选择，而是生存策略。融入生态，才能借力前行。」*",
      "subsections": []
    }
  ],
  "code_blocks": [
    {
      "id": "code-1",
      "language": "text",
      "description": "Agent 生态可以自底向上分为五个核心层级：",
      "code": "┌─────────────────────────────────────────────────────┐\n│              应用层 (Application Layer)              │\n│   垂直行业 Agent · 通用助手 · 企业级 Agent 平台       │\n├─────────────────────────────────────────────────────┤\n│            框架层 (Framework Layer)                  │\n│   LangChain · CrewAI · AutoGen · Dify · Coze        │\n├─────────────────────────────────────────────────────┤\n│            工具层 (Tool Layer)                       │\n│   MCP 协议 · Function Calling · 插件市场 · API Hub   │\n├─────────────────────────────────────────────────────┤\n│          基础设施层 (Infrastructure Layer)           │\n│   向量数据库 · GPU 云 · RAG 平台 · 监控与可观测性      │\n├─────────────────────────────────────────────────────┤\n│            模型层 (Model Layer)                      │\n│   OpenAI · Anthropic · Google · Meta · 国内厂商       │\n└─────────────────────────────────────────────────────┘",
      "section_ref": "41.1.1",
      "runnable": false,
      "dependencies": []
    },
    {
      "id": "code-2",
      "language": "python",
      "description": "- Responses API（2025新增）：替代了传统的 Chat Completions API，原生支持工具调用、多轮对话管理",
      "code": "# OpenAI Responses API 示例：构建一个具备工具调用能力的 Agent\nfrom openai import OpenAI\n\nclient = OpenAI()\n\nresponse = client.responses.create(\n    model=\"gpt-4o\",\n    instructions=\"你是一个数据分析助手，帮助用户分析数据。\",\n    tools=[\n        {\n            \"type\": \"function\",\n            \"name\": \"query_database\",\n            \"description\": \"查询数据库并返回结果\",\n            \"parameters\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"sql\": {\"type\": \"string\", \"description\": \"SQL 查询语句\"},\n                    \"limit\": {\"type\": \"integer\", \"description\": \"返回行数限制\"}\n                },\n                \"required\": [\"sql\"]\n            }\n        }\n    ],\n    input=\"帮我查询最近7天的销售总额\"\n)",
      "section_ref": "41.2.1",
      "runnable": true,
      "dependencies": [
        "openai"
      ]
    },
    {
      "id": "code-3",
      "language": "python",
      "description": "- MCP（Model Context Protocol）：开放的工具调用标准协议",
      "code": "# Anthropic Claude 工具调用示例\nimport anthropic\n\nclient = anthropic.Anthropic()\n\nresponse = client.messages.create(\n    model=\"claude-sonnet-4-20250514\",\n    max_tokens=1024,\n    tools=[\n        {\n            \"name\": \"get_weather\",\n            \"description\": \"获取指定城市的天气信息\",\n            \"input_schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"city\": {\"type\": \"string\", \"description\": \"城市名称\"},\n                    \"unit\": {\"type\": \"string\", \"enum\": [\"celsius\", \"fahrenheit\"]}\n                },\n                \"required\": [\"city\"]\n            }\n        }\n    ],\n    messages=[{\"role\": \"user\", \"content\": \"北京今天天气怎么样？\"}]\n)",
      "section_ref": "41.2.1",
      "runnable": true,
      "dependencies": [
        "anthropic"
      ]
    },
    {
      "id": "code-4",
      "language": "python",
      "description": "- Vertex AI Agent Builder：企业级 Agent 构建平台",
      "code": "# Google Gemini 工具调用示例\nimport google.generativeai as genai\n\nmodel = genai.GenerativeModel(\n    model_name=\"gemini-2.0-flash\",\n    tools=[\n        genai.Tool(\n            function_declarations=[\n                genai.FunctionDeclaration(\n                    name=\"search_knowledge_base\",\n                    description=\"在企业知识库中搜索相关文档\",\n                    parameters=genai.Type(\n                        type=\"OBJECT\",\n                        properties={\n                            \"query\": genai.Type(type=\"STRING\", description=\"搜索关键词\"),\n                            \"top_k\": genai.Type(type=\"INTEGER\", description=\"返回结果数\")\n                        },\n                        required=[\"query\"]\n                    )\n                )\n            ]\n        )\n    ]\n)\n\nresponse = model.generate_content(\"搜索关于公司请假制度的相关文档\")",
      "section_ref": "41.2.1",
      "runnable": true,
      "dependencies": [
        "google"
      ]
    },
    {
      "id": "code-5",
      "language": "bash",
      "description": "Agent 部署方案：",
      "code": "# 使用 vLLM 部署 Llama 3 作为 Agent 后端\npip install vllm\n\npython -m vllm.entrypoints.openai.api_server \\\n    --model meta-llama/Llama-3.3-70B-Instruct \\\n    --port 8080 \\\n    --enable-auto-tool-choice \\\n    --tool-call-parser hermes",
      "section_ref": "41.2.1",
      "runnable": false,
      "dependencies": []
    },
    {
      "id": "code-6",
      "language": "python",
      "description": "- 选型建议：中文场景首选之一，开源版本可私有化部署",
      "code": "# 阿里云百炼平台 Agent API 示例\nimport dashscope\nfrom dashscope import Agent\n\nagent = Agent(\n    app_id=\"your_app_id\",\n    api_key=\"your_api_key\"\n)\n\nresponse = agent.run(\n    messages=[{\"role\": \"user\", \"content\": \"帮我分析这份财报\"}],\n    files=[\"annual_report_2024.pdf\"]\n)",
      "section_ref": "41.2.2",
      "runnable": true,
      "dependencies": [
        "dashscope"
      ]
    },
    {
      "id": "code-7",
      "language": "python",
      "description": "LangChain 是目前最流行的 Agent 开发框架，提供了从 LLM 调用、Prompt 管理、工具集成到 Agent 编排的完整工具链。",
      "code": "from langchain_openai import ChatOpenAI\nfrom langchain.tools import tool\nfrom langgraph.prebuilt import create_react_agent\n\n# 定义工具\n@tool\ndef search_web(query: str) -> str:\n    \"\"\"搜索互联网获取信息\"\"\"\n    # 实现省略\n    return f\"搜索结果: {query}\"\n\n@tool\ndef read_file(path: str) -> str:\n    \"\"\"读取文件内容\"\"\"\n    with open(path) as f:\n        return f.read()\n\n# 创建 Agent\nmodel = ChatOpenAI(model=\"gpt-4o\")\nagent = create_react_agent(model, [search_web, read_file])\n\n# 执行\nresult = agent.invoke({\n    \"messages\": [{\"role\": \"user\", \"content\": \"帮我搜索最新的 AI 新闻并总结\"}]\n})",
      "section_ref": "41.3.2",
      "runnable": true,
      "dependencies": [
        "langchain_openai",
        "langchain",
        "langgraph"
      ]
    },
    {
      "id": "code-8",
      "language": "python",
      "description": "LangGraph 是 LangChain 团队推出的有状态 Agent 编排框架，支持复杂的工作流、持久化状态、人机协作等高级特性。它使用图（Graph）的概念来描述 Agent 的行为流程：",
      "code": "from langgraph.graph import StateGraph, MessagesState\n\ndef should_continue(state: MessagesState):\n    last_message = state[\"messages\"][-1]\n    if last_message.tool_calls:\n        return \"tools\"\n    return END\n\nworkflow = StateGraph(MessagesState)\nworkflow.add_node(\"agent\", model_with_tools)\nworkflow.add_node(\"tools\", tool_executor)\nworkflow.add_edge(\"agent\", should_continue)\nworkflow.add_edge(\"tools\", \"agent\")",
      "section_ref": "41.3.2",
      "runnable": true,
      "dependencies": [
        "langgraph"
      ]
    },
    {
      "id": "code-9",
      "language": "python",
      "description": "CrewAI 采用\"角色扮演\"理念，每个 Agent 被定义为一个角色（如研究员、写手、审核员），多个角色组成一个\"团队\"协作完成任务。",
      "code": "from crewai import Agent, Task, Crew, Process\n\nresearcher = Agent(\n    role=\"高级研究员\",\n    goal=\"深入研究并提供详细分析报告\",\n    backstory=\"你是一位经验丰富的行业研究员，擅长从海量信息中提取关键洞察。\",\n    tools=[search_tool, scrape_tool],\n    llm=\"gpt-4o\"\n)\n\nwriter = Agent(\n    role=\"技术写手\",\n    goal=\"将研究结果转化为清晰易懂的文章\",\n    backstory=\"你擅长将复杂的技术概念用通俗易懂的方式表达。\",\n    llm=\"claude-sonnet-4-20250514\"\n)\n\nresearch_task = Task(\n    description=\"研究 2025 年 Agent 技术的最新趋势\",\n    expected_output=\"一份包含 5 个主要趋势的详细分析报告\",\n    agent=researcher\n)\n\nwriting_task = Task(\n    description=\"基于研究报告撰写一篇技术博客\",\n    expected_output=\"一篇 2000 字的技术博客文章\",\n    agent=writer,\n    context=[research_task]  # 依赖研究任务的结果\n)\n\ncrew = Crew(\n    agents=[researcher, writer],\n    tasks=[research_task, writing_task],\n    process=Process.sequential  # 顺序执行\n)\n\nresult = crew.kickoff()",
      "section_ref": "41.3.2",
      "runnable": true,
      "dependencies": [
        "crewai"
      ]
    },
    {
      "id": "code-10",
      "language": "python",
      "description": "微软推出的 AutoGen 专注于多 Agent 对话与协作，支持多轮对话、代码执行、人机协作等场景。",
      "code": "import autogen\n\nconfig_list = [{\"model\": \"gpt-4o\", \"api_key\": \"your_key\"}]\n\n# 创建两个 Agent 进行协作\nassistant = autogen.AssistantAgent(\n    name=\"编码助手\",\n    llm_config={\"config_list\": config_list}\n)\n\nuser_proxy = autogen.UserProxyAgent(\n    name=\"用户代理\",\n    human_input_mode=\"NEVER\",\n    code_execution_config={\"work_dir\": \"coding\"}\n)\n\n# 对话\nuser_proxy.initiate_chat(\n    assistant,\n    message=\"请编写一个 Python 脚本来分析 CSV 文件中的销售数据\"\n)",
      "section_ref": "41.3.2",
      "runnable": true,
      "dependencies": [
        "autogen"
      ]
    },
    {
      "id": "code-11",
      "language": "text",
      "description": "MCP 的核心设计理念：",
      "code": "┌──────────┐    MCP 协议    ┌──────────────┐\n│          │ ←───────────→  │  MCP Server   │\n│  LLM /   │   JSON-RPC    │  (工具提供方)  │\n│  Agent   │               └──────────────┘\n│          │    MCP 协议    ┌──────────────┐\n│          │ ←───────────→  │  MCP Server   │\n│          │   JSON-RPC    │  (知识库)      │\n└──────────┘               └──────────────┘",
      "section_ref": "41.4.1",
      "runnable": false,
      "dependencies": []
    },
    {
      "id": "code-12",
      "language": "python",
      "description": "3. Prompts（提示）：预定义的提示模板",
      "code": "# MCP Server 示例（使用 FastMCP）\nfrom mcp.server.fastmcp import FastMCP\n\nmcp = FastMCP(\"database-tools\")\n\n@mcp.tool()\nasync def query_user(user_id: str) -> dict:\n    \"\"\"根据用户ID查询用户信息\"\"\"\n    # 查询数据库\n    return {\"id\": user_id, \"name\": \"张三\", \"email\": \"zhang@example.com\"}\n\n@mcp.tool()\nasync def create_order(user_id: str, product_id: str, quantity: int) -> dict:\n    \"\"\"创建订单\"\"\"\n    return {\"order_id\": \"ORD-001\", \"status\": \"created\"}\n\n@mcp.resource(\"config://app\")\ndef get_app_config() -> str:\n    \"\"\"提供应用配置信息\"\"\"\n    return \"API endpoint: https://api.example.com\"",
      "section_ref": "41.4.1",
      "runnable": true,
      "dependencies": [
        "mcp"
      ]
    },
    {
      "id": "code-13",
      "language": "json",
      "description": "- 通义千问 Function Call：国内厂商中最早支持的工具调用",
      "code": "// OpenAI Function Calling 标准格式\n{\n  \"type\": \"function\",\n  \"function\": {\n    \"name\": \"get_weather\",\n    \"description\": \"获取指定城市的天气信息\",\n    \"parameters\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"city\": {\"type\": \"string\"},\n        \"unit\": {\"type\": \"string\", \"enum\": [\"celsius\", \"fahrenheit\"]}\n      },\n      \"required\": [\"city\"]\n    }\n  }\n}",
      "section_ref": "41.4.2",
      "runnable": false,
      "dependencies": []
    },
    {
      "id": "code-14",
      "language": "python",
      "description": "| pgvector | PostgreSQL 扩展 | 基于现有 PG | 已有 PG 基础设施的团队 |",
      "code": "# Qdrant 向量数据库使用示例\nfrom qdrant_client import QdrantClient\nfrom qdrant_client.models import Distance, VectorParams\n\nclient = QdrantClient(\":memory:\")\n\n# 创建集合\nclient.create_collection(\n    collection_name=\"documents\",\n    vectors_config=VectorParams(size=1536, distance=Distance.COSINE)\n)\n\n# 插入文档\nclient.upsert(\n    collection_name=\"documents\",\n    points=[\n        {\"id\": 1, \"vector\": embedding1, \"payload\": {\"text\": \"文档内容1\"}},\n        {\"id\": 2, \"vector\": embedding2, \"payload\": {\"text\": \"文档内容2\"}}\n    ]\n)\n\n# 搜索\nresults = client.search(\n    collection_name=\"documents\",\n    query_vector=query_embedding,\n    limit=5\n)",
      "section_ref": "41.5.1",
      "runnable": true,
      "dependencies": [
        "qdrant_client"
      ]
    },
    {
      "id": "code-15",
      "language": "bash",
      "description": "- Serverless 推理：Modal、Replicate、Fireworks AI",
      "code": "# 使用 LiteLLM 统一多模型 API\npip install litellm\n\n# 通过统一接口调用不同厂商的模型\nlitellm --model gpt-4o --text \"Hello\"\nlitellm --model claude-sonnet-4-20250514 --text \"Hello\"\nlitellm --model qwen-turbo --text \"你好\"",
      "section_ref": "41.5.2",
      "runnable": false,
      "dependencies": []
    },
    {
      "id": "code-16",
      "language": "python",
      "description": "- 质量评测：LangSmith、Confident AI、DeepEval",
      "code": "# Langfuse 集成示例：追踪 Agent 执行过程\nfrom langfuse import Langfuse\n\nlangfuse = Langfuse(public_key=\"pk-xxx\", secret_key=\"sk-xxx\")\n\n# 记录一次 Agent 调用\ntrace = langfuse.trace(name=\"customer_service_agent\")\ntrace.generation(\n    model=\"gpt-4o\",\n    input=\"用户提问：如何退货？\",\n    output=\"Agent 回复：您可以按照以下步骤退货...\",\n    usage={\"prompt_tokens\": 150, \"completion_tokens\": 300},\n    metadata={\"user_id\": \"user_123\", \"session_id\": \"sess_456\"}\n)",
      "section_ref": "41.5.3",
      "runnable": true,
      "dependencies": [
        "langfuse"
      ]
    },
    {
      "id": "code-17",
      "language": "text",
      "description": "| 开发语言 | Python + TypeScript | 后端 Python + 前端 TypeScript |",
      "code": "┌─────────────────────────────────────────────┐\n│                   前端                       │\n│          React + TailwindCSS                 │\n└──────────────────┬──────────────────────────┘\n                   │ REST API\n┌──────────────────▼──────────────────────────┐\n│              API Gateway                     │\n│         认证 · 限流 · 权限                     │\n└──────────────────┬──────────────────────────┘\n                   │\n┌──────────────────▼──────────────────────────┐\n│            Agent 编排层 (LangGraph)           │\n│  ┌─────────┐  ┌─────────┐  ┌─────────────┐ │\n│  │ 意图识别 │→│ 知识检索 │→│  答案生成    │ │\n│  └─────────┘  └─────────┘  └─────────────┘ │\n└──────────────────┬──────────────────────────┘\n                   │ MCP Protocol\n┌──────────────────▼──────────────────────────┐\n│              MCP 工具层                      │\n│  ┌─────────┐  ┌─────────┐  ┌─────────────┐ │\n│  │ Milvus  │  │ 文档解析 │  │ 权限校验    │ │\n│  │ 检索    │  │ 工具    │  │ 工具        │ │\n│  └─────────┘  └─────────┘  └─────────────┘ │\n└──────────────────┬──────────────────────────┘\n                   │\n┌──────────────────▼──────────────────────────┐\n│            模型服务层 (vLLM)                  │\n│         Qwen2.5-72B-Instruct                 │\n└─────────────────────────────────────────────┘",
      "section_ref": "架构设计",
      "runnable": false,
      "dependencies": []
    }
  ],
  "tables": [
    {
      "headers": [
        "维度",
        "OpenAI",
        "Anthropic",
        "Google",
        "国内厂商（头部）",
        "开源模型"
      ],
      "data": [
        [
          "推理能力",
          "★★★★★",
          "★★★★★",
          "★★★★☆",
          "★★★★☆",
          "★★★☆☆"
        ],
        [
          "中文能力",
          "★★★★☆",
          "★★★★☆",
          "★★★★☆",
          "★★★★★",
          "★★★☆☆"
        ],
        [
          "长上下文",
          "★★★★☆",
          "★★★★★",
          "★★★★★",
          "★★★☆☆",
          "★★★★☆"
        ],
        [
          "工具调用",
          "★★★★★",
          "★★★★★",
          "★★★★☆",
          "★★★★☆",
          "★★★☆☆"
        ],
        [
          "成本",
          "高",
          "中高",
          "中",
          "低",
          "硬件成本"
        ],
        [
          "数据隐私",
          "云端",
          "云端",
          "云端",
          "可私有化",
          "完全可控"
        ],
        [
          "API 稳定性",
          "★★★★★",
          "★★★★★",
          "★★★★☆",
          "★★★☆☆",
          "自建保障"
        ]
      ]
    },
    {
      "headers": [
        "类型",
        "代表框架",
        "目标用户",
        "核心特点"
      ],
      "data": [
        [
          "编排型",
          "LangChain / LlamaIndex",
          "开发者",
          "灵活的链式编排，丰富的组件库"
        ],
        [
          "多Agent协作型",
          "AutoGen / CrewAI / MetaGPT",
          "开发者",
          "多Agent角色协作、任务分解"
        ],
        [
          "低代码平台型",
          "Dify / Coze / 扣子",
          "产品/运营",
          "可视化编排、非技术友好"
        ],
        [
          "研究型",
          "AgentBench / AgentOps",
          "研究者",
          "Agent 评测、实验管理"
        ],
        [
          "基础设施型",
          "LiteLLM / Helicone",
          "平台开发者",
          "统一 API 层、监控可观测"
        ]
      ]
    },
    {
      "headers": [
        "场景",
        "推荐框架",
        "理由"
      ],
      "data": [
        [
          "快速原型/非技术用户",
          "Coze / Dify",
          "低代码/可视化"
        ],
        [
          "单 Agent + 简单工具",
          "LangChain",
          "组件丰富"
        ],
        [
          "多 Agent 协作",
          "CrewAI / AutoGen",
          "原生支持"
        ],
        [
          "复杂工作流/状态管理",
          "LangGraph",
          "图编排、状态持久化"
        ],
        [
          "企业级/生产环境",
          "自研 + LangChain 组件",
          "完全可控"
        ],
        [
          "研究与实验",
          "AutoGen / 自研",
          "灵活可控"
        ]
      ]
    },
    {
      "headers": [
        "产品",
        "类型",
        "特点",
        "适用场景"
      ],
      "data": [
        [
          "Pinecone",
          "云服务",
          "全托管、高性能",
          "追求开箱即用的团队"
        ],
        [
          "Milvus",
          "开源/云",
          "分布式、高性能",
          "大规模企业部署"
        ],
        [
          "Weaviate",
          "开源/云",
          "模块化、多模态",
          "需要灵活定制的场景"
        ],
        [
          "Qdrant",
          "开源/云",
          "Rust 实现、低延迟",
          "性能敏感场景"
        ],
        [
          "Chroma",
          "开源",
          "轻量、易上手",
          "原型开发、小型项目"
        ],
        [
          "pgvector",
          "PostgreSQL 扩展",
          "基于现有 PG",
          "已有 PG 基础设施的团队"
        ]
      ]
    },
    {
      "headers": [
        "层级",
        "选型",
        "理由"
      ],
      "data": [
        [
          "模型",
          "Qwen2.5-72B（本地部署）",
          "中文能力强、开源可私有化"
        ],
        [
          "推理引擎",
          "vLLM",
          "高吞吐、OpenAI 兼容 API"
        ],
        [
          "Agent 框架",
          "LangGraph",
          "工作流灵活、生产级"
        ],
        [
          "向量数据库",
          "Milvus",
          "分布式、高性能、企业级"
        ],
        [
          "Embedding",
          "bge-m3",
          "中文 Embedding 效果好"
        ],
        [
          "工具协议",
          "MCP",
          "标准化、可扩展"
        ],
        [
          "监控",
          "Langfuse（自建）",
          "开源、追踪完整"
        ],
        [
          "开发语言",
          "Python + TypeScript",
          "后端 Python + 前端 TypeScript"
        ]
      ]
    }
  ],
  "key_takeaways": [],
  "common_pitfalls": [],
  "related_chapters": [
    "ch04"
  ]
}