核心内容摘要
辐射避难所玩家必看:如何用iMazing轻松实现安卓到iOS存档转移
随着 Agent Skills 爆火Agent 再次引起热议今天我们暂时不谈 skills 先来聊一聊常规 Agent 构建。
其实它并没有你想象中的那么复杂我们只要100 行 Python 代码就能构建的多智能体对话系统。
想象一下这个场景你只需说“为我规划一份基于本周天气的健身计划并整理成PDF”AI就能自动查询天气、搜索健身教程、整合信息并生成文件——这已非科幻。
这类能自主规划、调用工具、执行复杂任务的系统就是AI Agent智能体。
大语言模型LLM本身如同一个“装在罐子里的大脑”知识渊博却无法与环境互动。
AI Agent则为其赋予了“身体”和“手脚”工具使其能感知环境、决策规划并执行行动。
而AI Agent框架正是构建这些智能系统的“脚手架”它们将复杂性封装让开发者能高效搭建从简单助手到复杂协作系统的各类应用。
今天我们不谈空泛的概念直接带你用代码从零搭建一个真正能干活的多 AI 智能体Multi-Agent系统。
你将看到如何用AutoGen让多个 AI 智能体通过“对话”协作如何用LangGraph像搭乐高一样编排复杂工作流以及面对众多框架你究竟该怎么选。
AI Agent核心概念从大脑到行动者
1 智能体的工作原理AI Agent的核心是一个自主循环观察接收用户输入或工具执行结果。
思考利用LLM分析现状规划下一步。
行动调用工具执行或生成回答。
重复直至完成任务。
其中工具Tools是Agent能力的延伸任何具有明确定义的函数都可作为工具如API调用、数据库查询、代码执行等。
2 为什么需要专用框架虽然简单任务可通过直接编码实现但一旦涉及状态管理、复杂决策多工具选择、长流程编排或多智能体协作代码会迅速变得难以维护。
框架提供了清晰抽象如状态、节点、工作流。
内置集成主流工具与模型的开箱即用支持。
调试支持可视化执行流程与状态追踪。
效率与可靠性标准化模式减少错误提升开发速度。
最佳 AI Agent框架推荐以下列表展示了可用于构建AI代理的最佳框架但排序并非代表对框架整体评价的高低而是基于复杂度的递增——意味着对工作流程的掌控度和功能丰富度逐步提升。
最佳选择取决于前文所述的各项考量因素本列表旨在帮助您根据自身需求和技能水平做出决策。
RelevanceAIhttps://relevanceai.com适用场景非技术人员的选择。
无需编写代码即可创建代理提供用于代理和工具创建的用户界面。
部署快速商业友好且用户体验佳。
注意事项不适合构建更复杂的系统开发者社区规模有限。
若您关注低延迟或最小化系统开销此框架可能不适用。
其为闭源框架这可能使得排查框架内部错误更为困难。
了解更多[此处可了解RelevanceAI]。
smolagentshttps://smolagents.org简介由Hugging Face开发的极简AI代理框架。
提供典型的工具调用和代码代理功能代码代理可生成并执行代码并可能使用所提供的工具。
附有非常出色的教程和代理介绍。
适用场景如果您是希望开始构建代理的开发者或开发团队smolagents无疑是绝佳的起点——您可以深入了解代理的运作方式验证其是否适合解决您的问题后续再转向更高级的框架。
其代理自主性很强因此我们通常建议将其用于简单用例或作为学习工具。
Hugging Face的背景为其可信度提供了有力背书。
PhiDatahttps://docs.phidata.com/introduction简介使您能够构建具备记忆、工具、知识、推理或多代理编排能力的AI助手。
其设计旨在简化将大语言模型转化为助手的过程。
相比自行编码它能更轻松地处理记忆、工具和用户界面。
特点社区正在兴起框架为开源。
LangChainhttps://www.langchain.com现状当前采用最广泛的代理框架。
功能允许开发者链式组合提示、模型、记忆和工具。
对主流大语言模型提供商提供原生支持并拥有丰富的工具生态系统供代理使用。
模块化程度高是中等复杂度任务的良好解决方案。
学习曲线需要理解一些抽象概念如链、代理、提示设计、记忆、检索器等但其社区已相当成熟且有大量教程可用。
集成性和可扩展性亦是LangChain的强项。
了解更多[此处可了解LangChain]。
LlamaIndexhttps://www.llamaindex.ai侧重点高度专注于数据摄取、索引、检索、查询引擎和文档处理。
适用场景用它构建RAG应用相当容易但对于需要众多不同角色代理的编排框架而言可能不太适合。
性能取决于所提供文档的质量和嵌入模型。
扩展性允许通过自定义索引、检索器等进行扩展。
社区活跃但该框架可能并非分支化或高度编排工作流程的最佳解决方案。
了解更多[此处可了解LlamaIndex]。
CrewAIhttps://www.crewai.com设计目标专为具有角色/团队的高层级多代理编排而设计利用大语言模型来协调代理工作。
特点虽比LangChain新但同样受欢迎。
可用其快速构建多代理AI系统但对于非常庞大的任务性能可能仍不理想因为它不提供流程控制代理自行组织一切。
不支持并行执行。
了解更多[此处可了解CrewAI]。
AutoGenhttps://github.com/microsoft/autogen核心概念由微软开发的开源框架其核心理念是通过多智能体之间的对话与协作来完成任务。
它允许开发者定义具有不同角色如助手、用户代理、代码执行器等的代理并让它们通过自然语言对话自主协商、规划和执行复杂工作流。
主要优点强大的多代理协作专为模拟多角色、动态交互的复杂场景设计代理间通过对话自主协调。
灵活的对话模式支持自定义对话流程可实现自动聊天、有条件分支和人类介入。
研究友好因其对话机制非常适合科研、复杂系统模拟和探索性项目。
LangGraphhttps://www.langchain.com/langgraph定位LangChain的扩展也是列表中最先进的AI框架。
核心概念允许您将代理工作流程定义为图其中每个节点代表一个执行步骤边则定义可能的转换。
LangGraph中的代理是有状态的——除了消息历史您还可以追踪任何其他所需信息如图中某个循环已被调用的迭代次数。
强大功能提供条件边、循环、持久状态、易于调试、自定义工具、结构化输出等众多功能。
它是我们Software Mansion用于构建自身代理的技术。
生态组合LangGraph以LangChain为基础辅以LangSmith作为深度观察执行的工具共同构成了构建高级代理的完整环境。
其最高级别的控制能力使其非常适合对可扩展性和极低延迟有苛刻要求的解决方案。
选择框架时需综合考虑易用性从无代码到需图编程基础。
任务复杂度简单链式任务无需重型框架。
社区与生态影响学习成本与问题解决效率。
性能与延迟精细化控制通常意味着更低延迟。
Token使用自主性高的Agent可能因重复尝试消耗更多Token。
可扩展性复杂系统需考虑并发、状态管理与错误处理。
集成与安全现有技术栈兼容性与数据隐私要求。
深度实战一AutoGen —— 对话即协作
1 AutoGen核心理念微软推出的AutoGen提出了一种优雅的范式通过可编程的对话实现多智能体协作。
它允许构建由多个专业Agent如规划者、开发者、执行者、质检员组成的团队它们通过自然语言交流协同解决复杂问题且人类可随时介入。
2 实战用AutoGen构建AI狼人杀游戏以下示例展示如何用不到100行代码创建多AI角色协作推理场景# 安装pip install pyautogen import os from autogen import ConversableAgent, GroupChat, GroupChatManager #
配置LLM以阿里云通义千问为例 llm_config { config_list: [ { model: qwen-max-1201, api_key: os.getenv(QWEN_API_KEY), base_url: https://dashscope.aliyuncs.com/compatible-mode/v1 } ] } #
创建历史人物AI Agent aristotle ConversableAgent( name亚里士多德, system_message你是亚里士多德公元前384-
古希腊哲学家。
思维严谨注重逻辑与经验观察。
在推理时善于层层追问揭露矛盾。
, llm_configllm_config, human_input_modeNEVER ) mozart ConversableAgent( name莫扎特, system_message你是沃尔夫冈·阿马德乌斯·莫扎特1756-
天才作曲家。
感性敏锐注意对话中的韵律与情感线索。
, llm_configllm_config, human_input_modeNEVER ) #
创建人类玩家Agent成吉思汗 genghiskhan ConversableAgent( name成吉思汗, system_message你是成吉思汗1162-
蒙古帝国创立者。
你实际上是人类玩家需要伪装成AI。
避免暴露对人类现代知识的陌生。
, llm_configllm_config, human_input_modeALWAYS# 等待人类输入 ) #
创建群聊与管理器 groupchat GroupChat( agents[aristotle, mozart, genghiskhan], # 可添加更多角色 messages[], max_round6, speaker_selection_methodround_robin ) manager GroupChatManager(groupchatgroupchat, llm_configllm_config) #
列车员主持人启动游戏 guard ConversableAgent( name列车员, system_message你是列车员正在查票。
你发现团体票上有5位历史伟人但WiFi记录显示只有4个AI连接。
, llm_configllm_config, human_input_modeALWAYS ) guard.initiate_chat( manager, message你们这张团体票上有五位历史上的伟人但WiFi记录显示只有4个AI也就是说你们中有一个是人类假扮的。
请通过对话找出他。
)执行效果AI角色们将开始多轮对话依据各自角色背景提问、推理试图识别出人类玩家。
此例展示了AutoGen在动态多角色协作对话中的天然优势。
深度实战二LangGraph —— 图工作流编排
1 LangGraph核心优势作为LangChain的扩展LangGraph将Agent工作流定义为有状态图Stateful Graph节点代表执行步骤如调用工具、处理数据。
边定义步骤间流转逻辑支持条件分支、循环。
状态贯穿整个工作流的共享数据容器。
这种模式提供了无与伦比的控制精度适合需要严格流程、最小延迟与复杂错误处理的生产系统。
2 实战用LangGraph构建天气新闻简报助手# 安装pip install langgraph langchain-openai langchain-community import os from dotenv import load_dotenv from typing import TypedDict, Annotated, Sequence import operator from langgraph.graph import StateGraph, END from langchain_openai import ChatOpenAI from langchain_community.tools import TavilySearchResults from langchain_community.utilities import OpenWeatherMapAPIWrapper from langchain_core.messages import BaseMessage, HumanMessage #
加载环境变量需配置OPENAI_API_KEY、TAVILY_API_KEY、OPENWEATHER_API_KEY load_dotenv() #
初始化LLM与工具 llm ChatOpenAI(modelgpt-4o-mini, temperature
search_tool TavilySearchResults(api_keyos.getenv(TAVILY_API_KEY), max_results
weather_tool OpenWeatherMapAPIWrapper(api_keyos.getenv(OPENWEATHER_API_KEY)) #
定义状态结构共享白板 classAgentState(TypedDict): messages: Annotated[Sequence[BaseMessage], operator.add] city: str weather_info: str news_info: str final_report: str #
定义节点函数 defparse_input(state: AgentState): 解析用户输入提取城市 user_input state[messages][-1].content # 简化为固定城市实际可用NLP解析 return {city: 北京} defget_weather(state: AgentState): 调用天气工具 city state[city] weather_result weather_tool.run(city) return {weather_info: weather_result} defget_news(state: AgentState): 调用新闻搜索工具 query f{state[city]} AI technology news today news_result search_tool.run(query) news_summary \n.join([f- {res[title]}: {res[content][:100]}...for res in news_result]) return {news_info: news_summary} defgenerate_report(state: AgentState): 汇总信息生成最终报告 prompt f 基于以下信息生成一份简洁的Markdown格式简报 城市{state[city]} 天气{state.get(weather_info, 无)} 新闻{state.get(news_info, 无)} response llm.invoke(prompt) return {final_report: response.content} #
构建图工作流 defcreate_workflow(): workflow StateGraph(AgentState) workflow.add_node(parse_input, parse_input) workflow.add_node(get_weather, get_weather) workflow.add_node(get_news, get_news) workflow.add_node(generate_report, generate_report) workflow.set_entry_point(parse_input) workflow.add_edge(parse_input, get_weather) workflow.add_node(parse_input, parse_input) workflow.add_node(get_weather, get_weather) workflow.add_node(get_news, get_news) workflow.add_node(generate_report, generate_report) workflow.set_entry_point(parse_input) workflow.add_edge(parse_input, get_weather) workflow.add_edge(parse_input, get_news) # 并行执行天气与新闻查询两者都完成后进入报告生成 workflow.add_edge(get_weather, generate_report) workflow.add_edge(get_news, generate_report) workflow.add_edge(generate_report, END) return workflow.compile() #
运行Agent app create_workflow() initial_state {messages: [HumanMessage(content查询北京天气和AI新闻)], city: , weather_info: , news_info: , final_report: } result app.invoke(initial_state) print(result[final_report])LangGraph精妙之处清晰的状态管理所有数据在AgentState中定义与传递避免全局变量混乱。
可视化流程图结构使工作流一目了然易于调试与扩展。
内置并行与同步get_weather与get_news并行执行自动同步后进入下一步。
极强扩展性新增步骤仅需定义节点并插入图中架构保持整洁。
框架选择终极指南与最佳实践
1 决策清单你的场景匹配哪个框架你的身份与目标推荐框架关键理由非技术背景快速验证想法RelevanceAI无代码可视化最快上线初学者希望理解Agent核心概念smolagents极简API学习曲线平缓官方教程优秀构建中等复杂度应用重视生态LangChain丰富集成、工具与社区文档案例海量核心是文档问答/RAG系统LlamaIndex专精数据处理与检索性能优化到位设计多角色协作虚拟团队CrewAI角色、任务、流程抽象直观适合内容生产等场景需要动态对话协作与人类介入AutoGen对话即协作适合研究、创意类动态任务构建复杂、稳定、可控的生产流程LangGraph图模型提供最高控制精度适合金融、运维等严肃场景
2 避坑与实践建议避免过度设计简单任务无需复杂框架。
例如仅调用
个API的任务使用LangChain的AgentExecutor或smolagents即可。
优化Token消耗Agent的“思考-行动”循环会多次调用LLM。
利用框架的上下文管理功能如LangGraph的状态选择避免不必要的历史消息传入。
编写清晰的工具描述工具的description字段是LLM决定是否及如何调用工具的关键。
模糊描述会导致错误调用。
实现错误处理工具调用可能失败。
设计容错机制例如在LangGraph中通过条件边检查结果并路由到重试或降级节点。
从小规模开始先用简单框架或原型验证需求观察哪些任务模式重复出现再使用更高级框架如LangGraph将其固化为优化的工作流。
重视可观测性利用框架提供的调试工具如LangSmith for LangChain追踪执行流程、检查中间状态这对复杂系统至关重要。
写在最后AI Agent技术正从“炫技”走向“实用”成为开发者延伸能力的重要杠杆。
无论是AutoGen通过对话实现的动态协作还是LangGraph通过图编排提供的精密控制都在推动AI从“被动问答”走向“主动执行”。
技术的本质是延伸人的能力。
Agent延伸的正是我们规划、协调与执行的综合能力。
选择适合的框架从小处着手你可以构建出能自动处理邮件、监控日志、生成报告甚至管理项目的数字员工。
你现在最希望哪个重复性任务被AI Agent自动化是客服邮件处理、系统日志监控还是个性化信息筛选欢迎分享你的场景让我们共同探索实现的可能。
参考资料[1]LangGraph官方教程:https://langchain-ai.github.io/langgraph/[2]AutoGen官方示例:https://microsoft.github.io/autogen/[3]Hugging Face smolagents课程:https://huggingface.co/learn/agents-course/[4]LangChain Agent概念指南:https://python.langchain.com/docs/concepts/#agents如何学习AGI大模型作为一名热心肠的互联网老兵我决定把宝贵的AI知识分享给大家。
至于能学习到多少就看你的学习毅力和能力了 。
我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
因篇幅有限仅展示部分资料需要点击下方链接即可前往获取2025最新版CSDN大礼包《AGI大模型学习资源包》免费分享**
2025最新大模型学习路线一个明确的学习路线可以帮助新人了解从哪里开始按照什么顺序学习以及需要掌握哪些知识点。
大模型领域涉及的知识点非常广泛没有明确的学习路线可能会导致新人感到迷茫不知道应该专注于哪些内容。
我们把学习路线分成L1到L4四个阶段一步步带你从入门到进阶从理论到实战。
L1级别:AI大模型时代的华丽登场L1阶段我们会去了解大模型的基础知识以及大模型在各个行业的应用和分析学习理解大模型的核心原理
关键技术以及大模型应用场景通过理论原理结合多个项目实战从提示工程基础到提示工程进阶掌握Prompt提示工程。
L2级别AI大模型RAG应用开发工程L2阶段是我们的AI大模型RAG应用开发工程我们会去学习RAG检索增强生成包括Naive RAG、Advanced-RAG以及RAG性能评估还有GraphRAG在内的多个RAG热门项目的分析。
L3级别大模型Agent应用架构进阶实践L3阶段大模型Agent应用架构进阶实现我们会去学习LangChain、 LIamaIndex框架也会学习到AutoGPT、 MetaGPT等多Agent系统打造我们自己的Agent智能体同时还可以学习到包括Coze、Dify在内的可视化工具的使用。
L4级别大模型微调与私有化部署L4阶段大模型的微调和私有化部署我们会更加深入的探讨Transformer架构学习大模型的微调技术利用DeepSpeed、Lamam Factory等工具快速进行模型微调并通过Ollama、vLLM等推理部署框架实现模型的快速部署。
整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握而L3 L4更多的是通过项目实战来掌握大模型的应用开发针对以上大模型的学习路线我们也整理了对应的学习视频教程和配套的学习资料。
大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。
书籍含电子版PDF
大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。
大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。
大模型面试题面试不仅是技术的较量更需要充分的准备。
在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。
因篇幅有限仅展示部分资料需要点击下方链接即可前往获取2025最新版CSDN大礼包《AGI大模型学习资源包》免费分享