在AI技术飞速迭代的当下,AI Agent已成为实现任务自动化、复杂问题求解的核心工具,而优秀的框架则是构建高效Agent的基础。本文将系统梳理当前主流的11款AI Agent框架,从技术特性、适用场景到实战代码,全方位对比其优劣,为您的项目选型提供精准参考,同时融入最新行业实践经验,助力开发者快速上手。

文章配图

一、AI Agent框架是什么?

AI Agent框架是支撑开发者构建自主智能系统的软件平台,它赋予AI具备类人决策与执行能力,核心功能包括:

  • 自然语言理解与交互,实现人机顺畅沟通
  • 复杂问题拆解与逻辑推理,应对多步骤任务
  • 基于上下文与外部信息的决策生成
  • 目标驱动的行动执行,自动调用工具或API
  • 持续学习优化,通过反馈迭代提升性能

这类框架通常以大型语言模型(LLM)为“大脑”,搭配记忆存储、工具调用、任务规划等模块化组件,形成完整的智能体开发体系,大幅降低复杂AI系统的构建门槛。

二、11款主流AI Agent框架详解

1. LangChain:灵活可扩展的开源标杆

img

作为AI Agent领域的“元老级”框架,LangChain凭借模块化设计成为开源生态的核心,支持开发者将LLM与外部工具、数据源无缝衔接,构建多步骤智能应用。其最新版本进一步优化了多Agent协作能力,新增了动态工作流调整功能,适用于从简单聊天机器人到复杂RAG系统的全场景开发。

核心特性

  • 支持LLM串联调用,实现多步骤任务自动化
  • 丰富的工具集成库,涵盖搜索、数据库、API等60+工具
  • 支持人工介入(Human-in-the-loop),平衡自动化与可控性
  • 内置记忆模块,实现上下文长期存储与调用
  • 兼容OpenAI、Anthropic、Hugging Face等主流LLM

优势与劣势

优势 劣势
开源生态成熟,社区贡献插件超200个 复杂场景下需手动设计工作流,对编程能力要求高
支持实时信息获取与外部系统交互 依赖LLM性能,低参数模型下效果易受影响
文档完善,官方教程覆盖从入门到进阶 多Agent协作需自定义逻辑,无标准化模板

典型应用场景

  • 企业知识库问答系统(结合RAG技术)
  • 多步骤数据分析师Agent(自动取数、分析、生成报告)
  • 智能客服机器人(对接CRM系统实现个性化服务)

实战代码示例

from langchain.agents import Tool, AgentExecutor, create_react_agent
from langchain.tools.ddg_search import DuckDuckGoSearchRun
from langchain_openai import ChatOpenAI
from langchain.memory import ConversationBufferMemory

# 1. 定义工具(搜索+记忆)
search_tool = DuckDuckGoSearchRun()
tools = [
    Tool(
        name="Search",
        func=search_tool.run,
        description="用于获取实时信息,如最新AI框架动态、行业数据等"
    )
]

# 2. 初始化LLM与记忆模块
llm = ChatOpenAI(model="gpt-4-turbo", temperature=0.3)
memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)

# 3. 创建Agent与执行器
agent = create_react_agent(
    llm, 
    tools, 
    system_message="你是专业的AI技术分析师,需结合搜索工具获取最新信息,回答需严谨准确"
)
agent_executor = AgentExecutor(
    agent=agent, 
    tools=tools, 
    memory=memory,
    verbose=True,
    return_intermediate_steps=True  # 输出中间思考过程
)

# 4. 运行Agent(查询2024年AI框架趋势)
response = agent_executor.invoke({
    "input": "2024年AI Agent框架领域有哪些新趋势?请结合最新案例说明"
})

# 输出结果与中间步骤
print("最终回答:", response["output"])
print("\n中间思考过程:")
for step in response["intermediate_steps"]:
    print(f"工具调用:{step[0].tool},参数:{step[0].tool_input},结果:{step[1][:100]}...")

2. AutoGen(微软):多Agent协作专家

AutoGen Logo

由微软研究院开发的AutoGen,以“Actor架构”为核心,专注于解决多Agent协同问题。其最新版本新增了“动态角色分配”功能,可根据任务复杂度自动调整Agent数量与职责,在金融量化分析、医疗数据处理等领域表现突出,目前已成为企业级多Agent系统的首选框架之一。

核心特性

  • 支持Agent间异步通信与动态协作,无需手动定义交互逻辑
  • 内置代码执行与调试模块,支持Python、JavaScript等多语言
  • 提供“人工代理”角色,支持关键时刻人工干预
  • 兼容分布式计算,支持大规模Agent集群部署
  • 自带可视化工具,实时监控Agent交互流程

优势与劣势

优势 劣势
多Agent协作逻辑自动化,降低复杂系统开发成本 框架较新,部分高级功能仍在迭代(如多模态支持)
代码执行环境安全隔离,支持沙箱运行 多Agent调试难度高,需熟悉框架内部通信机制
与微软Azure生态深度集成,企业部署便捷 对硬件资源要求较高,大规模部署需云服务器支持

典型应用场景

  • 金融投研分析(数据采集Agent+模型计算Agent+报告生成Agent协同)
  • 软件开发协同(需求分析Agent+代码编写Agent+测试Agent联动)
  • 医疗病例分析(数据提取Agent+诊断建议Agent+方案生成Agent配合)

实战代码示例

import autogen
from autogen.coding import LocalCommandLineCodeExecutor

# 1. 配置LLM与代码执行环境
llm_config = {
    "config_list": [{"model": "gpt-4-turbo", "api_key": "your-api-key"}],
    "temperature": 0.2,
}
code_executor = LocalCommandLineCodeExecutor(
    work_dir="auto_gen_code",  # 代码存储目录
    timeout=300,  # 执行超时时间(秒)
)

# 2. 创建不同角色Agent
# 代码编写Agent
coder = autogen.AssistantAgent(
    name="Coder",
    llm_config=llm_config,
    system_message="你是资深Python工程师,擅长编写高效、可复用的代码,需严格遵循PEP8规范"
)

# 代码测试Agent
tester = autogen.AssistantAgent(
    name="Tester",
    llm_config=llm_config,
    system_message="你是软件测试专家,需针对Coder编写的代码设计测试用例,检查功能完整性与异常处理"
)

# 用户代理(协调+人工干预)
user_proxy = autogen.UserProxyAgent(
    name="UserProxy",
    human_input_mode="NEVER",  # 自动运行,无需人工输入
    code_execution_config={"executor": code_executor},
    max_consecutive_auto_reply=10,
    is_termination_msg=lambda x: x.get("content", "").rstrip().endswith("TERMINATE"),
)

# 3. 定义Agent协作流程
groupchat = autogen.GroupChat(
    agents=[user_proxy, coder, tester],
    messages=[],
    max_round=15,  # 最大交互轮次
)
manager = autogen.GroupChatManager(
    groupchat=groupchat,
    llm_config=llm_config,
)

# 4. 发起任务(生成斐波那契数列计算代码并测试)
user_proxy.initiate_chat(
    manager,
    message="编写一个Python函数,计算第n个斐波那契数(n≥0),需包含输入验证与单元测试"
)

3. CrewAI:角色化多Agent编排工具

CrewAI Logo

CrewAI以“模拟真实团队”为设计理念,支持开发者为Agent分配明确角色、目标与协作规则,最新版本新增了“任务依赖管理”功能,可设置任务间的先后顺序与数据流转逻辑,特别适合需要分工协作的复杂项目,如市场调研、学术研究等。

核心特性

  • 支持角色化Agent定义,可设置专业背景、技能特长与工作风格
  • 可视化任务流设计,支持拖拽式配置Agent协作关系
  • 内置任务优先级排序,自动优化执行顺序
  • 兼容LangChain工具生态,可直接复用现有工具
  • 支持结果校验机制,确保输出符合预期标准

优势与劣势

优势 劣势
角色化设计降低协作逻辑复杂度,上手门槛低 社区规模较小,第三方插件资源有限
任务依赖管理清晰,适合多步骤流程 大模型调用成本较高,长期使用需控制预算
文档简洁易懂,新手教程覆盖核心场景 暂不支持分布式部署,大规模任务处理能力有限

典型应用场景

  • 市场调研报告生成(数据采集Agent+竞品分析Agent+报告撰写Agent)
  • 学术论文辅助(文献检索Agent+数据处理Agent+论文写作Agent)
  • 产品需求规划(用户调研Agent+功能设计Agent+原型描述Agent)

实战代码示例

from crewai import Agent, Task, Crew
from crewai_tools import SerperDevTool  # 搜索工具
from langchain_openai import ChatOpenAI

# 1. 初始化LLM与工具
llm = ChatOpenAI(model="gpt-4-turbo", temperature=0.4)
search_tool = SerperDevTool(api_key="your-serper-key")  # 需申请Serper API

# 2. 定义角色化Agent
# 市场调研Agent
market_researcher = Agent(
    role="市场调研专家",
    goal="精准获取2024年AI Agent框架的市场份额、用户评价与技术趋势",
    backstory="你拥有5年AI行业调研经验,擅长从多渠道提取关键数据,分析结论客观严谨",
    tools=[search_tool],
    llm=llm,
    verbose=True
)

# 数据分析师Agent
data_analyst = Agent(
    role="数据分析师",
    goal="将调研数据整理为结构化报告,包含对比表格、趋势图表描述与关键洞察",
    backstory="你是资深数据分析师,擅长将复杂数据转化为易懂的商业洞察,报告逻辑清晰",
    llm=llm,
    verbose=True
)

# 3. 定义任务(含依赖关系)
# 任务1:市场调研(无依赖)
research_task = Task(
    description="""1. 搜索2024年全球AI Agent框架市场份额数据(Top5框架);
2. 收集各框架的用户评价(GitHub星标、Stack Overflow提及量);
3. 总结3个核心技术趋势(如多模态支持、低代码化)""",
    expected_output="包含数据来源、原始数据与初步结论的调研笔记",
    agent=market_researcher
)

# 任务2:数据可视化分析(依赖任务1)
analysis_task = Task(
    description="""1. 基于调研数据制作框架对比表格(维度:市场份额、星标数、核心特性);
2. 描述技术趋势的发展脉络与商业影响;
3. 给出3个框架选型建议(分场景:中小企业、大型企业、科研机构)""",
    expected_output="结构化分析报告(含表格、趋势描述与建议)",
    agent=data_analyst,
    context=[research_task]  # 依赖调研任务结果
)

# 4. 组建Crew并执行
crew = Crew(
    agents=[market_researcher, data_analyst],
    tasks=[research_task, analysis_task],
    verbose=2  # 显示详细执行日志
)

# 5. 运行任务并输出结果
result = crew.kickoff()
print("最终分析报告:\n", result)

4. Semantic Kernel(微软):跨语言企业级框架

Semantic Kernel Logo

微软推出的Semantic Kernel(SK)以“跨语言兼容”为核心优势,支持C#、Python、Java三种主流语言开发,最新版本强化了企业级安全特性,新增了权限管理与数据加密模块,适合大型企业构建内部AI系统,尤其适配微软Azure云环境。

核心特性

  • 跨语言开发支持,Python/C#/Java代码可无缝交互
  • 内置“语义函数”机制,支持用自然语言定义AI能力
  • 与Azure AI服务深度集成,可直接调用Azure OpenAI、认知服务等
  • 企业级安全控制,支持角色权限管理与数据脱敏
  • 模块化工作流设计,支持复杂业务逻辑拆分

优势与劣势

优势 劣势
跨语言兼容,适合多技术栈企业团队 学习曲线较陡,需理解语义函数与内核机制
企业级安全特性完善,满足合规要求 开源社区活跃度低于LangChain,第三方资源少
与微软生态无缝衔接,Azure部署便捷 轻量级场景下配置复杂,性价比低

典型应用场景

  • 企业内部智能助手(对接OA、CRM系统,支持多语言开发)
  • 金融风控AI系统(需高安全性与多团队协作开发)
  • 制造业流程自动化(兼容工业软件的多语言接口)

实战代码示例

import semantic_kernel assk
from semantic_kernel.connectors.ai.open_ai import OpenAIChatCompletion

# 初始化内核
kernel = sk.Kernel()

# 添加 OpenAI 服务
api_key = "your-api-key"
model= "gpt-4"
kernel.add_chat_service("chat_completion", OpenAIChatCompletion(model, api_key))

# 使用自然语言创建语义函数
prompt = """
Generate a creative story about {{$input}}.
The story should be engaging and approximately 100 words.
"""

# 在内核中注册函数
story_function = kernel.create_semantic_function(prompt, max_tokens=500)# 执行函数
result = story_function("a robot learning to paint")
print(result)

# 使用 Semantic Kernel 创建简单 Agent
from semantic_kernel.planning import ActionPlanner

# 定义规划器
planner = ActionPlanner(kernel)

# 执行计划
# 注意:aiohttp 版本冲突可能导致此处需要异步运行,示例代码展示了同步方式,实际应用可能需调整
# plan = await planner.create_plan("Write a poem aboutartificial intelligence")
# result = await plan.invoke()
# print(result)

# 为了示例的同步执行,这里省略了实际的 planner 运行,仅展示创建语义函数的部分。
# 如果需要运行 planner,需配置异步环境。

5. LangGraph

LangGraph LogoLangGraph Logo

LangGraph 是 LangChain 创建的一个开源 AI Agent 框架,用于构建和管理复杂的生成式 AI 工作流。

主要特性:

  • 先进的 Agentic 模式(工具调用、React 方法论、Self-Ask 方法)
  • 支持节点(LLM)和边缘(工具)的可视化表示
  • 对工作流流程和状态进行细粒度控制
  • 构建有状态应用的灵活框架
  • 支持复杂的多 Agent 场景

优势:

  • 专为基于语言的 AI Agent 设计的基础架构
  • 能够创建精密的、相互关联的 Agent 系统
  • 支持复杂工作流的设计与管理

劣势:

-复杂度较高,可能需要高级开发者技能

  • 主要专注于基于语言的工作流

应用场景:

  • 对话式 Agent
  • 复杂任务自动化
  • 自定义 LLM 支持的工作流
  • 专注于语言处理的AI Agent 开发

代码示例:

from typing import TypedDict, Annotated, Sequence
from langgraph.graph import StateGraph, END
from langchain_openai import ChatOpenAI
from langchain_core.messagesimport HumanMessage, AIMessage

# 定义状态结构
class AgentState(TypedDict):
    messages: Annotated[Sequence[HumanMessage | AIMessage], "The messages in the conversation"]
    next_step: Annotated[str, "The next step to take"]

# 初始化语言模型
llm = ChatOpenAI(model="gpt-4")

# 定义节点(工作流中的步骤)
def research(state: AgentState) -> AgentState:messages = state["messages"]
    response = llm.invoke(messages + [HumanMessage(content="Research this topic thoroughly.")])
    return {"messages": state["messages"] + [response], "next_step": "analyze"}

def analyze(state: AgentState) -> AgentState:
    messages = state["messages"]
    response = llm.invoke(messages + [HumanMessage(content="Analyze the research findings.")])return {"messages": state["messages"] + [response], "next_step": "conclude"}

def conclude(state: AgentState) -> AgentState:
    messages = state["messages"]
    response =llm.invoke(messages + [HumanMessage(content="Provide a conclusion based on the analysis.")])
    return {"messages": state["messages"] + [response], "next_step": "end"}

# 创建图workflow = StateGraph(AgentState)

# 添加节点
workflow.add_node("research", research)
workflow.add_node("analyze", analyze)
workflow.add_node("conclude", conclude)# 添加边缘
workflow.add_edge("research", "analyze")
workflow.add_edge("analyze", "conclude")
workflow.add_edge("conclude", END)

# 设置入口点
workflow.set_entry_point("research")

# 编译图
agent = workflow.compile()

# 执行工作流
result = agent.invoke({
    "messages": [HumanMessage(content="Tell me about AI agent frameworks")],
    "next_step": "research"
})

# 打印最终消息
for message in result["messages"]:
    print(f"{message.type}: {message.content}\n")

6. LlamaIndex

LlamaIndex LogoLlamaIndex Logo

LlamaIndex 是一个灵活的开源数据编排框架,专注于为 LLM 应用集成私有和公共数据。

主要特性:

  • AI Agent 功能,可作为“自动化推理和决策引擎”
  • 函数调用能力
  • 与各种格式的数据交互
  • 工具集成
  • 支持多模态应用(文本、图像及其他数据类型)

优势:

  • 框架简单灵活
  • 支持集成各种数据源
  • 能够进行自定义 AI Agent 开发 -开源且适应性强

劣势:

  • 复杂度可能需要高级技术知识
  • 需要理解 LLM 和 Agent 开发概念

应用场景:

  • 企业知识助手
  • 自主 AI Agent
  • 复杂数据交互与分析
  • 构建生产级 AI 应用

代码示例:

from llama_index.core.agent import FunctionCallingAgentWorker
from llama_index.core.tools import FunctionTool
from llama_index.llms.openai import OpenAI

# 定义一个简单的工具函数
def search_documents(query: str) -> str:
    """Search for information in the document database."""
    # 在实际应用中,这里会查询文档存储
    returnf"Here are the search results for: {query}"

# 创建一个函数工具
search_tool = FunctionTool.from_defaults(
    name="search_documents",
    fn=search_documents,
    description="Search for information in the document database"
)

# 初始化语言模型
llm = OpenAI(model="gpt-4")

# 创建 Agent
agent = FunctionCallingAgentWorker.from_tools(
    [search_tool],
    llm=llm,
    verbose=True
)

# 运行 Agent
response = agent.chat("Find information about AI agent frameworks")
print(response)

7. OpenAI Agents SDK

OpenAI LogoOpenAI Logo

OpenAI Agents SDK 是一个基于 Python 的工具包,用于构建能够推理、规划和采取行动以完成复杂任务的智能自主系统。

主要特性:

  • Agent 循环功能(处理工具调用,将结果发送给 LLM)
  • 工具集成(将 Python 函数转换为 Agent 可用的工具)
  • 支持跟踪功能,可视化 Agent 工作流

优势:

  • 精简的 Agent 开发方法
  • 内置Agent 工作流可视化功能
  • 步步跟踪 Agent 行动

劣势:

  • 依赖 OpenAI 的基础设施
  • 需要扎实的 Python 编程功底
  • 可能受 OpenAI 当前技术限制

应用场景:

  • 客户支持自动化
  • 多步研究流程
  • 内容生成
  • 复杂任务管理

代码示例:

from openai import OpenAI
import json

# 初始化 OpenAI 客户端
client = OpenAI(api_key="your-api-key")

# 定义一个工具
tools = [
    {
        "type": "function",
        "function": {
            "name": "search_weather",
            "description": "Get the current weather in a given location",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city and state, e.g., San Francisco, CA"
                    }
                },
                "required": ["location"]
            }
        }
    }
]

# 处理天气查询工具的函数
defsearch_weather(location):
    # 在实际应用中,这里会调用天气 API
    returnf"The weather in {location} is currently sunny with a temperature of 72°F."

# 创建使用该工具的 Agent
messages = [{"role": "user", "content": "What's the weather like in Boston?"}]
response = client.chat.completions.create(
    model="gpt-4",messages=messages,
    tools=tools,
    tool_choice="auto"
)

# 处理响应
response_message = response.choices[0].message
messages.append(response_message)

#检查模型是否想调用函数
if response_message.tool_calls:
    # 处理每个工具调用
    for tool_call in response_message.tool_calls:
        function_name = tool_call.function.name
        function_args = json.loads(tool_call.function.arguments)

        # 调用函数
        if function_name == "search_weather":
            function_response = search_weather(function_args.get("location"))

            # 将函数响应添加到消息列表
            messages.append({
                "tool_call_id": tool_call.id,
                "role": "tool",
                "name": function_name,
                "content": function_response
            })

    # 从模型获取新响应
    second_response = client.chat.completions.create(
        model="gpt-4",
        messages=messages)

    print(second_response.choices[0].message.content)
else:
    print(response_message.content)

8. Atomic Agents

Atomic Agents LogoAtomic Agents Logo

Atomic Agents 的 GitHub 仓库。

Atomic Agents 是一个轻量级、模块化的框架,用于构建 AI Agent 流水线,强调 AI Agent 开发的原子性。

主要特性:

  • 模块化,允许组合小型、可重用的组件
  • 使用 Pydantic 通过清晰的输入/输出模式实现可预测性
  • 可扩展性,用于集成新组件
  • 支持多 Agent 系统开发

优势:

  • 轻量级架构
  • Agent 构建灵活性高
  • 对 AI Agent 组件的控制精细
  • 开源且对开发者友好

劣势:

  • 框架相对较新(生态系统仍在演变)

应用场景:

  • 构建复杂的 AI 应用
  • 开发多 Agent 系统 -创建模块化 AI 流水线
  • 研究与分析任务

代码示例:

from pydantic import BaseModel, Field
from typing import List
import os

# 这是一个基于 Atomic Agents 方法的简化示例# 在实际实现中,你需要从 atomic_agents 包导入

# 定义输入/输出模式
class ResearchQuery(BaseModel):
    topic: str = Field(description="The topic to research")
    depth: int = Field(description="The depth of research required (1-5)")

class ResearchResult(BaseModel):
    findings: List[str] = Field(description="Key findings from the research")
    sources: List[str] =Field(description="Sources of information")

# 定义一个原子 Agent 组件
class ResearchAgent:
    def __init__(self, api_key: str):
        self.api_key = api_key
        # 初始化任何必要的客户端或工具

    def process(self, input_data: ResearchQuery) -> ResearchResult:
        # 在实际实现中,这里会使用 LLM 执行研究
        print(f"Researching {input_data.topic} at depth {input_data.depth}")

        # 模拟研究结果
        findings = [
            f"Finding 1 about {input_data.topic}",
            f"Finding 2 about {input_data.topic}",
            f"Finding 3 about {input_data.topic}"
        ]

        sources = [
            "https://github.com/e2b-dev/awesome-ai-agents","https://github.com/e2b-dev/awesome-ai-agents"
        ]

        return ResearchResult(findings=findings, sources=sources)

# 使用示例
if __name__ == "__main__":# 创建 Agent
    agent = ResearchAgent(api_key=os.environ.get("OPENAI_API_KEY", "default-key"))

    # 创建输入数据
    query = ResearchQuery(topic="AIagent frameworks", depth=3)

    # 处理查询
    result = agent.process(query)

    # 显示结果
    print("\nResearch Findings:")
    for i, finding in enumerate(result.findings, 1):
        print(f"{i}. {finding}")

    print("\nSources:")
    for source in result.sources:
        print(f"- {source}")

9. Rasa

Rasa LogoRasa Logo

RASA 是一个开源机器学习框架,专注于构建对话式 AI 应用,侧重于文本和语音助手。

主要特性:

  • 先进的自然语言理解 (NLU) 能力
  • 提供灵活性和控制力,构建上下文感知的对话 Agent
  • 机器学习能力,用于构建、测试和部署 AI 应用

优势:

  • 高度可定制
  • 强大的机器学习框架
  • 文档完善丰富
  • 支持复杂的对话场景

劣势:

  • 与无代码平台相比,需要更多技术专业知识
  • 对于初学者来说学习曲线较陡峭
  • 可能需要大量开发资源

应用场景:

  • 聊天机器人开发
  • 虚拟助手
  • 客户服务界面 -语音交互系统
  • 企业级对话式 AI 解决方案

代码示例:

# RASA 项目结构示例
# 这通常会分布在 RASA 项目的多个文件中

# domain.yml - 定义助手的领域
"""
version: "3.1"

intents:
  - greet
  - goodbye
  - ask_about_ai_frameworks

responses:
  utter_greet:
    - text: "Hello! How can I help you with AI frameworks today?"

  utter_goodbye:
    - text: "Goodbye! Feel free to ask about AI frameworks anytime."

  utter_about_frameworks:
    - text: "There are several popular AI agent frameworks including LangChain, AutoGen, CrewAI, and more. Which one would you like to know about?"

entities:
  - framework_name

slots:
  framework_name:
    type: text
    mappings:
    - type: from_entity
      entity: framework_name
"""

# data/nlu.yml - 用于 NLU 的训练数据
"""
version: "3.1"nlu:
- intent: greet
  examples: |
    - hey
    - hello
    - hi
    - hello there
    - good morning

- intent: goodbye
  examples: |
    - bye
    -goodbye
    - see you around
    - see you later

- intent: ask_about_ai_frameworks
  examples: |
    - tell me about AI frameworks
    - what are the best AI agent frameworks- I need information about [LangChain](framework_name)
    - How does [AutoGen](framework_name) work?
    - Can you explain [CrewAI](framework_name)?
"""

# data/stories.yml - 用于对话管理的训练数据
"""
version: "3.1"

stories:
- story: greet and ask about frameworks
  steps:
  - intent: greet
  - action: utter_greet- intent: ask_about_ai_frameworks
  - action: utter_about_frameworks

- story: ask about specific framework
  steps:
  - intent: ask_about_ai_frameworks
    entities:
    - framework_name: "LangChain"
  - action: action_framework_info
"""

# actions/actions.py - 自定义操作
"""
from typing import Any, Text, Dict,List
from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher

class ActionFrameworkInfo(Action):
    def name(self) -> Text:
        return "action_framework_info"def run(self, dispatcher: CollectingDispatcher,
            tracker: Tracker,
            domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:

        framework = tracker.get_slot("framework_name")

        if framework.lower() == "langchain":
            dispatcher.utter_message(text="LangChain is an open-source framework for building applications using large language models.")
        elif framework.lower()== "autogen":
            dispatcher.utter_message(text="AutoGen is a framework from Microsoft Research that enables the development of LLM applications using multiple agents.")
        elif framework.lower() == "crewai":dispatcher.utter_message(text="CrewAI is a framework for orchestrating role-playing autonomous AI agents.")
        else:
            dispatcher.utter_message(text=f"I don't have specific information about {framework}, but it might be one of the emerging AI agent frameworks.")

        return []
"""

# 要训练和运行 RASA 助手:
# rasa train
# rasa run

10. MetaGPT

MetaGPT LogoMetaGPT Logo

MetaGPT 由 Chenglin Wu 创立,是最受欢迎的开源 Agent 框架之一。

MetaGPT 是一个开源的多 Agent 框架,利用 LLM 编排 AI Agent 来模拟协作解决问题。MetaGPT 由 Chenglin Wu 创立,其 GitHub仓库已获得超过 5.6 万星标,这表明开发者们非常喜爱这款灵活且易于使用的开源 Agentic 框架。

主要特性:

  • 仅凭单行需求即可生成全面的项目材料- 模拟软件开发团队结构
  • 为 Agent 分配不同的基于 GPT 的角色
  • 能够进行复杂的协作解决问题

优势:

  • 复刻人类的程序性知识
  • 优化多 Agent 系统交互 -自动化全面的软件开发工作流
  • 可模拟整个团队的角色

劣势:

  • 设置复杂度较高
  • 依赖大型语言模型的能力
  • 多 Agent 交互可能存在不一致性

应用场景:

-自动化软件开发项目生成

  • 复杂多 Agent 协作解决问题
  • 高级 AI 驱动的研究与分析
  • 模拟组织决策过程

代码示例:

from metagpt.roles import (ProjectManager,
ProductManager,
Architect,
Engineer
)
from metagpt.team import Team
import asyncio

asyncdef main():
    # 定义项目需求
    requirement = "Create a web application that allows usersto search for and compare AI agent frameworks"

    # 创建具有不同角色的团队成员
    product_manager = ProductManager()
    project_manager = ProjectManager()
    architect = Architect()
    engineer = Engineer()# 组建一个包含这些的团队
    team = Team(
        name="AI Framework Explorer Team",
        members=[product_manager, project_manager, architect, engineer]
    )

    # 让团队开始处理需求
    await team.run(requirement)

    # 团队将生成:
    # 1. PRD (产品需求文档)
    # 2. 设计文档
    # 3. 架构图
    # 4. 实现代码
    # 5. 测试
if __name__ == "__main__":
    asyncio.run(main())

11. Camel-AI (CAMEL)

CAMEL LogoCAMEL Logo

Camel-AI (CAMEL — Communicative Agents for Machine Learning) 是一个开源多 Agent 框架,使自主 Agent 能够协作、沟通并解决复杂任务。

主要特性:

  • 支持多 Agent 协作
  • 支持 Agent 系统的持续演进- 为多 Agent 应用提供通用基础架构
  • 集成用于文本和图像任务的 AI 模型

优势:

  • 开源
  • 框架灵活
  • 支持集成各种 AI 模型
  • 能够实现自主 Agent通信

劣势:

  • 作为一个较新的框架,其文档和特性可能仍在发展中

应用场景:

  • autónoma 任务求解
  • 数据生成与分析
  • 模拟环境
  • 复杂计算问题求解

代码示例:

from camel.agents import ChatAgent
from camel.messages import BaseMessage
from camel.typing import ModelType
import asyncio

asyncdef main():
    # 创建两个具有不同角色的 Agent
    user_agent = ChatAgent(
        model_type=ModelType.GPT_4,
        system_message="You are a user who needs help analyzing data about AI frameworks."
    )

    assistant_agent = ChatAgent(
        model_type=ModelType.GPT_4,
        system_message="You are an AI assistant specialized in data analysis and AI frameworks."
    )

    # 用户 Agent 发出的初始消息
    user_message = BaseMessage.make_user_message(
        role_name="User",
        content="I need to compare different AI agent frameworks for my project. Can you help me analyze their features?")

    # 开始对话
    assistant_response = await assistant_agent.step(user_message)
    print(f"Assistant: {assistant_response.content}\n")

    # 继续对话for _ in range(3):  # 模拟几个回合的对话
        user_response = await user_agent.step(assistant_response)
        print(f"User: {user_response.content}\n")assistant_response = await assistant_agent.step(user_response)
        print(f"Assistant: {assistant_response.content}\n")

if __name__ == "__main__":
    asyncio.run(main())

三、 开源框架与商业解决方案

开源框架:
  • 公开且免费使用
  • 可定制性强
  • 社区驱动开发
  • 示例:LangChain、CrewAI、AutoGen、LangGraph
商业框架:
  • 通常提供更完善的企业级功能
  • 提供专门的技术支持
  • 可能具备更强大的基础设施
  • 示例:Salesforce Agentforce、Einstein GPT、OpenAI Agents SDK 的部分功能
AI Agent 框架的关键评估标准

评估 AI Agent 框架时,请考虑以下重要因素:

  • 易用性
  • 灵活性
  • 社区支持
  • 集成能力
  • 性能- 可扩展性
AI Agent 框架的新兴趋势

AI Agent 领域正在快速发展,呈现出以下几个显著趋势:

  • 越来越侧重于多 Agent 系统
  • 更复杂的推理能力
  • 工具和记忆集成得到增强
  • 开发接口更加简化
  • 对低代码和简化 AI Agent 开发的关注日益增长

四、 如何选择合适的 AI Agent 框架

为您的项目选择 AI Agent 框架时,请考虑:- 您的特定项目需求

  • 首选的编程语言
  • 可扩展性需求
  • 集成能力
  • 社区支持和文档
  • 需要对 Agent 行为控制的程度
  • 实现的复杂性
  • 所需特性
  • 预算
  • 长期可扩展性

五、 结论

AI Agent 框架格局正在快速演变,其中开源解决方案在创新性和灵活性方面遥遥领先。对于希望构建复杂 AI 应用的开发者来说,这些框架提供了创建智能、自主系统所需的工具和基础设施。

无论您需要用于构建对话 Agent、多 Agent 协作系统,还是复杂工作流自动化的框架,本指南介绍的 11 个框架都提供了多种选择,以满足不同的需求和技术专业水平。

随着 AI Agent 技术的不断发展,了解这些框架的能力和局限性对于希望在应用中充分发挥 AI 潜力的开发者来说至关重要。

那么,如何系统的去学习大模型LLM?

作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
在这里插入图片描述

为什么要学习大模型?

我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。

在这里插入图片描述

在这里插入图片描述

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
在这里插入图片描述
在这里插入图片描述

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
在这里插入图片描述

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
在这里插入图片描述

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
在这里插入图片描述

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
在这里插入图片描述
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

Logo

苏州本地的技术开发者社区,在这里可以交流本地的好吃好玩的,可以交流技术,可以交流招聘等等,没啥限制。

更多推荐