附录 A+B 主流框架速查 & 工具与资源清单

65 阅读6分钟

本篇是《AI Agent 实战:从设计模式到生产落地》的附录 A + B 合集:主流框架速查 + 工具与资源清单,方便随时查阅。


附录 A:主流框架速查

本附录为全书涉及的 5 大框架/协议的横向对比速查。详细选型逻辑见正文对应章节。

A.1 框架总览

框架/协议类型核心概念适合正文章节
LangGraph编排框架图(StateGraph)+ 节点 + 条件边复杂编排、生产级6、10-16 章
AutoGen多 Agent 框架Agent 群聊(ConversableAgent)研究、辩论、协商16 章
CrewAI多 Agent 框架角色/任务/工具声明式快速原型16 章
MCP工具接入协议Server / Client + 工具/资源/提示工具标准化接入7 章
OpenAI 兼容 API模型接口chat.completions + tools 参数通用模型调用5、14 章

A.2 LangGraph 速查

核心概念

StateGraph(状态图)→ 节点(Node)+ 边(Edge)
  ├─ add_node: 添加处理节点
  ├─ add_edge: 顺序边
  ├─ add_conditional_edges: 条件边(路由/循环)
  └─ compile: 编译为可执行图 → invoke(输入)

最小示例(提示链)

from langgraph.graph import StateGraph, END

g = StateGraph(dict)
g.add_node("extract", lambda s: {**s, "e": extract(s)})
g.add_node("write", lambda s: {**s, "r": write(s)})
g.add_edge("extract", "write")
g.add_edge("write", END)
app = g.compile()
result = app.invoke({"q": "..."})

关键能力

  • 状态管理:节点间通过 state 传递,天然支持分支/循环
  • 条件边:实现路由、反思循环、重试
  • checkpointer:断点续跑、人工介入(Human-in-loop)

A.3 AutoGen 速查

核心概念

ConversableAgent(可对话 Agent)
  ├─ UserProxyAgent(人类代理:可执行代码/工具)
  ├─ AssistantAgent(助手)
  └─ GroupChat(群聊)+ GroupChatManager(群聊管理者)

最小示例(双 Agent 对话)

from autogen import ConversableAgent, UserProxyAgent

assistant = ConversableAgent("assistant", llm_config={"model": "..."})
user_proxy = UserProxyAgent("user", code_execution_config={"work_dir": "."})
user_proxy.initiate_chat(assistant, message="帮我写个冒泡排序")

注意事项

  • 群聊模式易失控:自由对话需强约束(停止条件/轮数上限,见 16 章)
  • 生产场景慎用自由对话:优先结构化传递(16.3.1)

A.4 CrewAI 速查

核心概念

Agent(角色)+ Task(任务)+ Crew(团队)
  ├─ Agent: role/goal/backstory/tools
  ├─ Task: description/expected_output/agent
  └─ Crew: agents + tasks + process(sequential/hierarchical)

最小示例

from crewai import Agent, Task, Crew

researcher = Agent(role="研究员", goal="查资料", backstory="...")
writer = Agent(role="写手", goal="写报告", backstory="...")
task1 = Task(description="调研市场", expected_output="要点清单", agent=researcher)
task2 = Task(description="写报告", expected_output="报告", agent=writer)
crew = Crew(agents=[researcher, writer], tasks=[task1, task2])
result = crew.kickoff()

注意事项

  • 上手快但封装深:底层控制力弱,复杂逻辑受限
  • 适合原型:快速验证多 Agent 想法(16.4)

A.5 MCP 速查

架构

MCP Client(Agent 应用) ←协议→ MCP Server(工具/数据提供方)
  ├─ 传输:stdio(本地)/ HTTP(远程)
  ├─ 能力:tools(工具)/ resources(资源)/ prompts(提示)
  └─ SDK:mcp(官方)/ fastmcp(FastMCP 简化)

最小 Server(FastMCP)

from fastmcp import FastMCP
mcp = FastMCP("my-tools")

@mcp.tool()
def my_tool(x: int) -> int:
    """工具描述:何时用/做什么"""
    return x * 2

mcp.run(transport="stdio")

关键点

  • docstring 即工具描述(7.4.2)
  • 接入前审查 Server 暴露的工具(供应链安全,22 章)

A.6 OpenAI 兼容 API 速查

基础调用

from openai import OpenAI
client = OpenAI(base_url="https://api.deepseek.com", api_key="<key>")

resp = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "你好"}],
    temperature=0.3,
    max_tokens=1000,
)
print(resp.choices[0].message.content)

工具调用(第 5 章)

resp = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "查订单 A1"}],
    tools=[{...}],           # Function Schema
    tool_choice="auto",
)
msg = resp.choices[0].message
if msg.tool_calls:
    print(msg.tool_calls[0].function.name, msg.tool_calls[0].function.arguments)

结构化输出(第 4 章)

resp = client.chat.completions.create(
    model="deepseek-chat",
    messages=[...],
    response_format={"type": "json_object"},   # 或 json_schema
)

A.7 框架选型速查表

你的需求首选备选
纯顺序流程(提示链)自研(10 章)LangGraph
复杂图结构(分支/循环)LangGraph自研
多 Agent 协作(生产)LangGraph + 自研编排CrewAI
多 Agent 研究/辩论AutoGenLangGraph
工具标准化接入MCP手写 Schema
快速原型验证CrewAIAutoGen
通用模型调用OpenAI 兼容 API各厂商 SDK

核心原则(第 29 章):先自研跑通理解原理,再按需选框架;学模式,不追框架。


附录 B:工具与资源清单

本附录汇总全书涉及的开发工具、开源项目、云服务与学习资源。均为第三方资源,使用时以官方文档为准,接入前按第 22 章做安全审查。

B.1 开发框架与库

类别工具用途备注
Agent 编排LangGraph图结构工作流第 10-16 章对照
Agent 编排AutoGen多 Agent 对话第 16 章
Agent 编排CrewAI声明式多 Agent第 16 章
工具接入MCP / FastMCP工具标准化第 7 章
提示工程LangChain链式组件部分章节对照
评测LangfuseLLM 追踪/评测第 20-21 章
评测LangSmithLangChain 生态评测第 20 章
评测LLM-as-Judge(自建)模型评分第 17、20 章
向量库Chroma轻量向量库第 8 章
向量库Qdrant生产级向量库第 8 章
向量库FAISSMeta 开源向量库第 8 章
向量库Milvus大规模向量库第 8 章
语义路由semantic-routerembedding 意图路由第 11 章变体
记忆存储Redis会话/缓存第 3、9 章
记忆存储PostgreSQL结构化记忆第 9 章

B.2 模型与 API

模型厂商接入方式特点备注
DeepSeek-V3深度求索OpenAI 兼容 API通用强、价格低第 2 章推荐主力
DeepSeek-R1深度求索OpenAI 兼容 API推理强别乱调温度(24 章)
Qwen 系列阿里OpenAI 兼容 API / 开源开源可私有化长窗口
豆包 Doubao字节火山方舟 API中文对话自然字节生态
混元 Hunyuan腾讯OpenAI 兼容 API腾讯生态微信场景
GPT 系列OpenAI官方 API综合最强成本高
ClaudeAnthropic官方 API长文本/代码强MCP 起源

B.3 追踪与可观测

工具类型特点正文章节
Langfuse开源可自部署LLM 专用 trace/评测/成本面板21 章推荐
OpenTelemetry标准通用可观测,可接 LLM21 章
LangSmithSaaSLangChain 生态20-21 章
自建 JSON 日志自研零依赖起步21 章

B.4 部署基础设施

类别工具/服务用途
无服务器AWS Lambda / 云函数Agent 服务托管
容器Docker环境打包
编排Kubernetes / 云原生大规模部署
网关API Gateway限流/鉴权/路由
消息队列Redis Streams / Kafka异步任务
定时任务APScheduler / Celery beat周期任务

B.5 安全工具

工具用途说明
Guardrails AI输出护栏第 17 章
NeMo Guardrails企业级护栏NVIDIA,第 17 章
LlamaGuard内容安全分类Meta,第 22 章
自建注入检测输入过滤第 22 章 22.4
沙箱(Docker)代码执行隔离第 22 章

B.6 学习资源

类型资源说明
文档MCP 官方文档协议最新规范
文档LangGraph 官方文档图编排 API
开源AutoGen / CrewAI 仓库学习多 Agent 实现
图书本书参考书单见策划方案 1.1 节竞品表
社区GitHub Trending / Hacker News跟踪 Agent 生态演进
论文ReAct / Reflexion / ToT设计模式源头

B.7 快速上手建议

  1. 起步组合:DeepSeek API + Chroma + 自建日志(零成本跑通第 1-9 章)
  2. 工程组合:DeepSeek/Qwen API + Qdrant + Langfuse + MCP(生产级)
  3. 私有化组合:Qwen 开源 + Docker + 自建(数据敏感场景)
  4. 多 Agent 组合:LangGraph + MCP Server 群(复杂编排)

注意:第三方服务随时可能变更,接入前查看最新文档;涉及数据/安全的工具,先过第 22 章检查清单。