Skip to content

附录A:Agent框架对比

"工欲善其事,必先利其器。" 选择合适的Agent框架,是项目成功的第一个关键决策。


A.1 概述

AI Agent开发框架在过去两年经历了爆发式增长。从最初的简单LLM调用封装,到如今支持多Agent协作、复杂工作流编排、工具调用、记忆管理等高级特性,框架的能力边界不断扩展。然而,框架的多样性和快速迭代也给开发者带来了选型难题。

本附录对当前最主流的8个Agent开发框架进行系统化对比,旨在帮助你在项目初期做出明智的技术选型决策。

A.1.1 框架分类

根据设计哲学和目标用户,可以将这些框架分为三大类:

类别框架特点
代码优先LangChain, LangGraph, AutoGen, CrewAI, edict面向开发者,灵活性高,适合复杂场景
企业集成Semantic Kernel与微软生态深度整合,面向企业开发者
低代码/平台Dify, Coze可视化编排,适合非开发者和快速搭建

A.2 框架详细分析

A.2.1 LangChain

定位:最广泛使用的LLM应用开发框架

LangChain 是目前社区最活跃、生态最丰富的LLM开发框架。它提供了一套标准化的抽象层,将LLM、工具、记忆、检索等组件模块化,让开发者可以像搭积木一样构建复杂的AI应用。

核心优势

  • 生态最丰富:200+ 集成组件(称为 "Chains"),覆盖几乎所有主流LLM提供商、向量数据库、工具API
  • 学习资源充足:大量教程、示例代码、社区解答
  • 模块化设计:LangExpression (LCEL) 提供了声明式的链式调用语法
  • LangSmith集成:内置的可观测性和调试平台

核心劣势

  • 抽象层次过多:简单的LLM调用也可能需要多层封装,"简单的事情变复杂"
  • API稳定性:版本迭代频繁,API经常发生breaking changes
  • 性能开销:多层抽象带来一定的运行时开销
  • 调试困难:抽象层使得问题定位有时不够直观
python
# LangChain 示例:带工具的Agent
from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate

# 初始化LLM
llm = ChatOpenAI(model="gpt-4o", temperature=0)

# 定义工具
tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "获取指定城市的天气信息",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "城市名称"}
                },
                "required": ["city"]
            }
        }
    }
]

# 创建Agent
prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一个有帮助的助手。"),
    ("human", "{input}"),
    ("placeholder", "{agent_scratchpad}"),
])

agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

# 执行
result = executor.invoke({"input": "北京今天天气怎么样?"})

适用场景

  • 需要快速集成多种LLM和工具的项目
  • 团队对LangChain已有经验
  • 需要丰富的社区组件支持

A.2.2 LangGraph

定位:基于图结构的有状态Agent工作流框架

LangGraph 是 LangChain 团队推出的新一代框架,专门解决复杂、有状态的多步Agent编排问题。它使用有向图(DAG)来建模Agent的工作流,支持循环、条件分支、人机协作等高级模式。

核心优势

  • 图结构编排:用节点和边来建模复杂工作流,逻辑清晰
  • 原生状态管理:内置 StateGraph,支持检查点(checkpoint)和恢复
  • 人机协作:内置 interrupt 机制,支持人工审批和介入
  • 持久化:支持内存、SQLite、PostgreSQL等多种后端
  • LangSmith深度集成:完整的可视化调试和监控

核心劣势

  • 学习曲线陡峭:图思维模式需要一定适应期
  • 与LangChain绑定:底层仍依赖LangChain的抽象,独立使用较难
  • 社区生态尚在建设:相比LangChain,第三方组件和教程较少
python
# LangGraph 示例:多步推理工作流
from langgraph.graph import StateGraph, END
from typing import TypedDict, Annotated
import operator

# 定义状态
class AgentState(TypedDict):
    messages: Annotated[list, operator.add]
    documents: list
    iteration: int

# 定义节点
def retrieve(state: AgentState):
    """检索相关文档"""
    # 检索逻辑
    state["documents"] = vector_store.search(state["messages"][-1])
    state["iteration"] = state.get("iteration", 0) + 1
    return state

def generate(state: AgentState):
    """生成回答"""
    response = llm.generate(
        context=state["documents"],
        question=state["messages"][-1]
    )
    state["messages"].append(response)
    return state

def should_continue(state: AgentState):
    """判断是否需要继续检索"""
    if state["iteration"] >= 3:
        return END
    return "retrieve"

# 构建图
graph = StateGraph(AgentState)
graph.add_node("retrieve", retrieve)
graph.add_node("generate", generate)

graph.add_edge("__start__", "retrieve")
graph.add_conditional_edges("generate", should_continue)

# 编译
app = graph.compile(checkpointer=memory)

# 运行
result = app.invoke(
    {"messages": ["什么是RAG?"]},
    config={"configurable": {"thread_id": "session-1"}}
)

适用场景

  • 需要复杂条件分支和循环的Agent工作流
  • 需要状态持久化和恢复能力
  • 需要人机协作(审批、介入)的场景

A.2.3 AutoGen

定位:微软推出的多Agent对话框架

AutoGen(Auto Generation)是微软研究院开发的框架,专注于多Agent之间的对话和协作。它让开发者可以定义多个具有不同角色和能力的Agent,通过结构化对话来协作完成复杂任务。

核心优势

  • 多Agent原生支持:框架核心设计就是围绕多Agent协作
  • 人机协作:内置 UserProxyAgent,支持人在回路中
  • 灵活的对话模式:支持群聊、两人对话、嵌套对话等多种模式
  • 代码执行:内置代码沙箱,Agent可以编写并执行代码
  • 微软生态:与Azure、Semantic Kernel深度集成

核心劣势

  • 对话为中心:非对话式的工作流需要额外适配
  • 调试复杂:多Agent对话链路长,问题定位困难
  • 状态管理:相比LangGraph,持久化和恢复能力较弱
  • 性能开销:多Agent协作的通信开销较大
python
# AutoGen 示例:代码生成的多Agent协作
import autogen

# 配置LLM
config_list = [
    {"model": "gpt-4o", "api_key": "your-api-key"}
]
llm_config = {"config_list": config_list, "temperature": 0}

# 创建Agent
assistant = autogen.AssistantAgent(
    name="Coder",
    llm_config=llm_config,
    system_message="你是一个Python编程专家。"
)

reviewer = autogen.AssistantAgent(
    name="Reviewer",
    llm_config=llm_config,
    system_message="你是一个代码审查专家,专注于代码质量和安全性。"
)

user_proxy = autogen.UserProxyAgent(
    name="User",
    human_input_mode="NEVER",
    code_execution_config={
        "work_dir": "coding",
        "use_docker": True
    }
)

# 启动群聊
groupchat = autogen.GroupChat(
    agents=[user_proxy, assistant, reviewer],
    messages=[],
    max_round=10
)

manager = autogen.GroupChatManager(
    groupchat=groupchat,
    llm_config=llm_config
)

user_proxy.initiate_chat(
    manager,
    message="请编写一个Web爬虫,抓取新闻网站的标题和摘要。"
)

适用场景

  • 需要多个Agent角色协作的复杂任务
  • 代码生成+执行+审查的场景
  • 研究和原型验证

A.2.4 CrewAI

定位:角色驱动的多Agent协作框架

CrewAI 采用了独特的"角色驱动"设计理念。每个Agent被赋予一个明确的角色(如"研究员"、"写作者"、"分析师"),Agent之间通过任务(Task)和流程(Process)进行协作。这种设计让多Agent系统的编排更接近真实世界的团队组织。

核心优势

  • 角色驱动:Agent定义直观,接近自然语言描述
  • 流程控制:支持串行(Sequential)和层级(Hierarchical)两种编排模式
  • 任务分解:天然支持复杂任务的分解和分配
  • 上手简单:API设计简洁,学习成本低
  • CrewAI+:提供托管平台,支持一键部署

核心劣势

  • 灵活性有限:预定义的流程模式可能不够灵活
  • 状态管理弱:缺乏LangGraph级别的状态持久化
  • 社区规模较小:相比LangChain,社区和生态较小
  • 调试工具:可观测性和调试能力有待完善
python
# CrewAI 示例:研究团队
from crewai import Agent, Task, Crew, Process

# 定义Agent
researcher = Agent(
    role="高级研究员",
    goal="深入研究并收集全面的信息",
    backstory="""你是一位经验丰富的研究员,擅长快速收集和分析
    大量信息,并提炼出关键洞察。""",
    verbose=True,
    allow_delegation=False
)

writer = Agent(
    role="技术写作者",
    goal="将研究结果转化为清晰易懂的文章",
    backstory="""你是一位技术写作专家,擅长将复杂的技术概念
    转化为通俗易懂的语言。""",
    verbose=True,
    allow_delegation=False
)

# 定义任务
research_task = Task(
    description="研究RAG技术的最新发展和最佳实践",
    expected_output="一份详细的研究报告,包含技术概述、关键组件和趋势分析",
    agent=researcher
)

writing_task = Task(
    description="基于研究报告,撰写一篇面向开发者的RAG入门指南",
    expected_output="一篇3000字的技术文章,包含代码示例和架构图",
    agent=writer
)

# 组建团队
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, writing_task],
    process=Process.sequential,  # 串行执行
    verbose=True
)

# 执行
result = crew.kickoff()

适用场景

  • 内容生成(研究+写作+审核)
  • 多角色协作的任务流水线
  • 快速构建多Agent原型

A.2.5 edict

定位:面向生产级Agent应用的轻量级框架

edict 是一个以"三省六部"架构为灵感设计的Agent框架,强调模块化和可扩展性。它在设计上追求简洁高效,避免过度抽象,同时提供足够的灵活性来构建生产级Agent系统。

核心优势

  • 模块化架构:核心概念清晰——Agent、Tool、Memory、Channel、Provider
  • 轻量高效:最小依赖,低延迟,适合对性能敏感的场景
  • 生产就绪:内置JWT认证、审计日志、速率限制等企业级功能
  • Rust后端:高性能异步处理,天然支持高并发
  • 灵活部署:支持Docker单容器部署和Kubernetes编排

核心劣势

  • 社区规模:相比LangChain,社区和文档资源较少
  • 生态集成:第三方组件集成数量有限
  • 学习资源:教程和示例较少
  • 语言门槛:部分核心代码使用Rust编写,定制需要Rust技能
rust
// edict 示例:Agent定义(Rust)
use edict::{
    agent::AgentBuilder,
    tool::{Tool, ToolResult},
    provider::OpenAIProvider,
};

// 定义工具
struct WeatherTool;

#[async_trait]
impl Tool for WeatherTool {
    fn name(&self) -> &str { "get_weather" }
    fn description(&self) -> &str { "获取城市天气信息" }
    
    async fn execute(&self, params: serde_json::Value) -> ToolResult {
        let city = params["city"].as_str().unwrap_or("北京");
        // 调用天气API
        let weather = fetch_weather(city).await?;
        ToolResult::Ok(serde_json::to_value(weather)?)
    }
}

// 构建Agent
let agent = AgentBuilder::new("weather-assistant")
    .provider(OpenAIProvider::new("gpt-4o"))
    .system_prompt("你是一个天气查询助手。")
    .tool(WeatherTool)
    .max_iterations(5)
    .build()?;

适用场景

  • 对性能和延迟敏感的生产环境
  • 需要细粒度控制Agent行为
  • 微服务架构中的Agent服务
  • 需要Rust级别性能的场景

A.2.6 Semantic Kernel

定位:微软官方的企业级AI编排框架

Semantic Kernel(SK)是微软推出的企业级AI编排框架,与Azure AI生态深度集成。它的设计哲学是"AI的OR-Mapper"——提供统一的抽象层,屏蔽不同LLM提供商的差异。

核心优势

  • 微软生态:与Azure OpenAI、Microsoft 365、Copilot Studio无缝集成
  • 多语言支持:C#、Python、Java 三种SDK
  • Planner系统:内置任务规划器(Sequential/Stepwise/Handlebars)
  • 企业级特性:依赖注入、日志记录、遥测、配置管理
  • Prompt工程:支持Handlebars和Liquid模板语法

核心劣势

  • Azure绑定:虽然支持OpenAI,但与Azure的集成最深
  • 设计偏重:企业级设计带来了一定的复杂度
  • 社区活跃度:相比LangChain,开源社区活跃度较低
  • 灵活性:某些设计决策偏向微软生态,通用性稍弱
csharp
// Semantic Kernel 示例(C#)
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Plugins.Web;

var kernel = Kernel.Builder()
    .WithOpenAIChatCompletionService("gpt-4o", apiKey)
    .Build();

// 添加插件
kernel.ImportFunctions(new WeatherPlugin(), "weather");
kernel.ImportFunctionsFromDirectory("Plugins");

// 创建Prompt
var prompt = kernel.CreateFunctionFromPrompt(
    "根据用户的查询,调用天气插件获取信息并回答。{{$input}}",
    executionSettings: new OpenAIPromptExecutionSettings
    {
        FunctionChoiceBehavior = FunctionChoiceBehavior.Auto()
    }
);

// 执行
var result = await kernel.InvokeAsync(prompt, new() { ["input"] = "北京天气" });

适用场景

  • 微软技术栈的企业项目
  • 需要.NET/Java/Python多语言支持
  • 与Azure服务深度集成的场景
  • 企业级AI应用开发

A.2.7 Dify

定位:开源的LLM应用开发平台

Dify 是一个开源的LLM应用开发平台,提供可视化的工作流编排、RAG管道构建、Agent创建等功能。它的核心价值在于降低了AI应用的开发门槛,让非开发者也能构建AI应用。

核心优势

  • 可视化编排:拖拽式的工作流设计器,直观易用
  • RAG引擎:内置完善的RAG管道,支持多种文档格式
  • 一键部署:Docker Compose 一键启动,开箱即用
  • 多模型支持:支持几乎所有主流LLM提供商
  • 开源免费:社区版完全免费,可自行部署

核心劣势

  • 灵活性受限:可视化编排无法覆盖所有自定义需求
  • 性能开销:平台层引入额外的延迟和资源消耗
  • 定制困难:深度定制需要修改源码
  • 规模限制:大规模高并发场景需要额外优化
yaml
# Dify 工作流配置示例
app:
  name: "智能客服"
  mode: workflow
  workflow:
    nodes:
      - id: start
        type: start
        data:
          variables:
            - name: user_query
              type: string
      - id: classify
        type: llm
        data:
          model: gpt-4o
          prompt: |
            将用户问题分类为以下之一:
            - 技术问题
            - 账户问题
            - 投诉建议
            问题:{{user_query}}
      - id: technical_handler
        type: llm
        data:
          model: gpt-4o
          prompt: |
            你是技术支持专家。请回答以下问题:
            {{user_query}}
          conditions:
            - classify_result == "技术问题"
      - id: account_handler
        type: api
        data:
          url: "https://api.example.com/account/query"
          method: POST
          conditions:
            - classify_result == "账户问题"

适用场景

  • 快速构建AI应用原型
  • 非开发者的AI应用搭建
  • 中小规模的AI客服、知识库问答
  • 需要可视化管理的AI应用

A.2.8 Coze

定位:字节跳动推出的AI Bot开发平台

Coze(扣子)是字节跳动推出的AI Bot开发平台,提供可视化的Bot构建、工作流编排、插件市场等功能。与Dify类似,Coze也追求降低AI应用的开发门槛,但更侧重于社交和内容创作场景。

核心优势

  • 字节生态:与飞书、抖音等字节产品深度集成
  • 插件市场:丰富的预置插件和组件
  • 知识库:内置文档上传和知识库管理
  • 多渠道发布:支持飞书、微信、Web等多渠道部署
  • 免费额度:提供一定的免费使用额度

核心劣势

  • 平台锁定:深度依赖Coze平台,迁移成本高
  • 定制限制:平台内的定制能力有限
  • 数据隐私:数据存储在平台方,企业敏感数据需谨慎
  • 开源限制:核心平台不开源

适用场景

  • 字节生态内的Bot开发
  • 内容创作和社交场景的AI应用
  • 快速验证Bot想法

A.3 综合对比

A.3.1 功能覆盖对比

功能LangChainLangGraphAutoGenCrewAIedictSemantic KernelDifyCoze
单Agent编排⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
多Agent协作⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
工具调用⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
记忆管理⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
RAG集成⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
代码执行⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
可视化编排⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
人机协作⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

⭐ 数量表示能力评级:1-5星,5星为最强

A.3.2 技术特性对比

特性LangChainLangGraphAutoGenCrewAIedictSemantic KernelDifyCoze
主要语言Python/JSPythonPythonPythonRust/PythonC#/Python/JavaPython平台
许可证MITMITMITMIT自定义MITApache 2.0商业
最低LLM要求GPT-3.5GPT-3.5GPT-3.5GPT-3.5GPT-3.5GPT-3.5GPT-3.5平台
离线部署
异步支持⚠️⚠️⚠️N/A
流式输出
多模态⚠️

A.3.3 社区与生态

指标LangChainLangGraphAutoGenCrewAIedictSemantic KernelDifyCoze
GitHub Stars95K+12K+40K+30K+2K+22K+55K+N/A
NPM/PyPI下载20M+/月2M+/月5M+/月3M+/月50K+/月3M+/月N/AN/A
贡献者3000+200+500+300+50+500+500+N/A
Stack Overflow50K+5K+10K+3K+100+8K+5K+N/A
更新频率每日每周每周每周每月每周每周平台

📊 数据截至2025年第四季度,仅供参考

A.3.4 性能基准

以下基准测试在相同硬件环境下(4 vCPU, 16GB RAM, GPT-4o API)进行:

场景LangChainLangGraphAutoGenCrewAIedict
简单问答(单轮)1.2s1.3s1.5s1.1s0.8s
带工具调用2.8s2.9s3.5s3.0s2.1s
RAG检索+生成3.5s3.6s4.0s3.8s2.8s
多Agent协作(3轮)N/A8.5s10.2s7.5s6.2s
冷启动时间2.1s2.5s3.0s1.8s0.5s
内存占用(空闲)180MB200MB250MB150MB45MB

📊 延迟不包含LLM API调用时间,仅框架自身开销。edict的Rust后端在延迟和内存方面具有明显优势。


A.4 选型决策指南

A.4.1 决策树

开始

 ├─ 你的团队有开发者吗?
 │   ├─ 否 → Dify / Coze(低代码平台)
 │   └─ 是 ↓

 ├─ 需要多Agent协作吗?
 │   ├─ 否 → 单Agent场景 ↓
 │   │        ├─ 需要复杂工作流?→ LangGraph
 │   │        ├─ 需要丰富集成?→ LangChain
 │   │        ├─ 微软生态?→ Semantic Kernel
 │   │        └─ 追求极致性能?→ edict
 │   │
 │   └─ 是 → 多Agent场景 ↓
 │            ├─ 对话驱动?→ AutoGen
 │            ├─ 角色驱动?→ CrewAI
 │            ├─ 需要状态管理?→ LangGraph
 │            └─ 生产级部署?→ edict

 ├─ 部署要求?
 │   ├─ 云平台托管 → Dify Cloud / Coze
 │   ├─ 自托管 → 所有框架均可
 │   └─ 边缘/离线 → edict / LangChain

 └─ 企业合规?
     ├─ 数据不能出境 → edict / LangChain(本地部署)
     ├─ 微软生态 → Semantic Kernel
     └─ 字节生态 → Coze

A.4.2 场景推荐矩阵

场景首选次选不推荐
个人开发者快速验证LangChainCrewAISemantic Kernel
创业公司MVPLangChainDifyedict(运维成本高)
企业内部工具Semantic KernelLangChainCoze(数据安全)
大规模客服系统edictLangGraphCrewAI
研究论文复现AutoGenLangGraphCoze
内容生成平台CrewAILangChainedict(非核心优势)
代码助手/IDE插件LangChainedictDify(延迟高)
数据分析AgentLangGraphAutoGenCoze(灵活性低)
教育/培训DifyCrewAIedict(学习曲线)

A.5 框架迁移指南

A.5.1 从LangChain迁移到LangGraph

如果你已经使用LangChain构建了应用,想迁移到LangGraph,以下是关键步骤:

1. 概念映射

LangChain 概念LangGraph 概念
LLMChain单节点图
AgentExecutorStateGraph
ConversationChain带记忆的状态图
SequentialChain串行连接的图

2. 迁移步骤

python
# 迁移前(LangChain)
from langchain.chains import LLMChain
chain = LLMChain(llm=llm, prompt=prompt)

# 迁移后(LangGraph)
from langgraph.graph import StateGraph
graph = StateGraph(state)
graph.add_node("generate", lambda s: {"response": llm.invoke(s["input"])})
graph.add_edge("__start__", "generate")
graph.add_edge("generate", END)
app = graph.compile()

3. 注意事项

  • ⚠️ LangGraph的状态需要显式定义(TypedDict)
  • ⚠️ 记忆管理方式不同,需要使用 checkpointer
  • 💡 迁移后可以获得更好的可观测性和状态管理能力

A.5.2 从AutoGen迁移到CrewAI

python
# AutoGen风格
assistant = autogen.AssistantAgent(name="Researcher", ...)
user_proxy = autogen.UserProxyAgent(name="User", ...)
user_proxy.initiate_chat(assistant, message="...")

# CrewAI风格(更简洁)
researcher = Agent(role="研究员", goal="研究...", backstory="...")
task = Task(description="研究...", agent=researcher)
crew = Crew(agents=[researcher], tasks=[task])
result = crew.kickoff()

A.6 框架组合策略

在生产环境中,你不必只选择一个框架。很多成功的项目采用了组合策略:

A.6.1 推荐组合

组合方案适用场景优势
LangChain + LangGraph基础组件用LangChain,复杂编排用LangGraph生态丰富 + 工作流强大
LangGraph + edict编排用LangGraph,性能关键路径用edict灵活性 + 高性能
AutoGen + CrewAI对话式协作用AutoGen,流程式协作用CrewAI多种协作模式
Dify + LangChain可视化前端用Dify,自定义后端用LangChain易用性 + 定制性
Semantic Kernel + LangChain.NET服务用SK,Python服务用LangChain多语言技术栈

A.6.2 集成架构

┌─────────────────────────────────────────────────┐
│                  API Gateway                     │
├─────────────────────────────────────────────────┤
│  ┌──────────┐  ┌──────────┐  ┌──────────────┐  │
│  │ 简单问答  │  │ 多Agent  │  │  可视化编排   │  │
│  │ LangChain│  │ AutoGen  │  │    Dify      │  │
│  └──────────┘  └──────────┘  └──────────────┘  │
├─────────────────────────────────────────────────┤
│              共享基础设施层                        │
│  ┌─────────┐ ┌─────────┐ ┌─────────────────┐  │
│  │ 向量库  │ │ 缓存    │ │  监控/日志       │  │
│  └─────────┘ └─────────┘ └─────────────────┘  │
├─────────────────────────────────────────────────┤
│              LLM Provider 层                     │
│  OpenAI │ Anthropic │ 本地模型 │ Azure OpenAI    │
└─────────────────────────────────────────────────┘

A.7 未来趋势

A.7.1 框架演进方向

  1. 标准化:Agent协议的标准化(如MCP - Model Context Protocol)正在推进
  2. 轻量化:框架将越来越轻量,减少不必要的抽象层
  3. 可视化:低代码/无代码的Agent编排将成为主流
  4. 多模态原生:原生支持文本、图像、音频、视频的Agent
  5. 安全与治理:内置的AI安全机制和合规检查

A.7.2 建议

🎯 选择框架时,请记住

框架只是工具,理解Agent的核心原理比掌握特定框架更重要。本书正文中的概念和模式在任何框架中都适用。框架会变,原理不变。


附录A完

基于 MIT 许可发布