2026/2/25 0:14:32
网站建设
项目流程
商业网站建设预估收益,重庆在线直播,北京朝阳区房租,开发网站用什么软件随着 Agent Skills 爆火#xff0c;Agent 再次引起热议#xff0c;今天我们暂时不谈 skills #xff0c;先来聊一聊常规 Agent 构建。其实它并没有你想象中的那么复杂#xff0c;我们只要 100 行 Python 代码就能构建的多智能体对话系统。
想象一下这个场景#xff1a;你…随着 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.1 智能体的工作原理AI Agent的核心是一个自主循环观察接收用户输入或工具执行结果。思考利用LLM分析现状规划下一步。行动调用工具执行或生成回答。重复直至完成任务。其中工具Tools是Agent能力的延伸任何具有明确定义的函数都可作为工具如API调用、数据库查询、代码执行等。1.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 —— 对话即协作3.1 AutoGen核心理念微软推出的AutoGen提出了一种优雅的范式通过可编程的对话实现多智能体协作。它允许构建由多个专业Agent如规划者、开发者、执行者、质检员组成的团队它们通过自然语言交流协同解决复杂问题且人类可随时介入。3.2 实战用AutoGen构建AI狼人杀游戏以下示例展示如何用不到100行代码创建多AI角色协作推理场景# 安装pip install pyautogenimport osfrom autogen import ConversableAgent, GroupChat, GroupChatManager# 1. 配置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 } ]}# 2. 创建历史人物AI Agentaristotle ConversableAgent( name亚里士多德, system_message你是亚里士多德公元前384-322)古希腊哲学家。思维严谨注重逻辑与经验观察。在推理时善于层层追问揭露矛盾。, llm_configllm_config, human_input_modeNEVER)mozart ConversableAgent( name莫扎特, system_message你是沃尔夫冈·阿马德乌斯·莫扎特1756-1791)天才作曲家。感性敏锐注意对话中的韵律与情感线索。, llm_configllm_config, human_input_modeNEVER)# 3. 创建人类玩家Agent成吉思汗genghiskhan ConversableAgent( name成吉思汗, system_message你是成吉思汗1162-1227)蒙古帝国创立者。你实际上是人类玩家需要伪装成AI。避免暴露对人类现代知识的陌生。, llm_configllm_config, human_input_modeALWAYS# 等待人类输入)# 4. 创建群聊与管理器groupchat GroupChat( agents[aristotle, mozart, genghiskhan], # 可添加更多角色 messages[], max_round6, speaker_selection_methodround_robin)manager GroupChatManager(groupchatgroupchat, llm_configllm_config)# 5. 列车员主持人启动游戏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 —— 图工作流编排4.1 LangGraph核心优势作为LangChain的扩展LangGraph将Agent工作流定义为有状态图Stateful Graph节点代表执行步骤如调用工具、处理数据。边定义步骤间流转逻辑支持条件分支、循环。状态贯穿整个工作流的共享数据容器。这种模式提供了无与伦比的控制精度适合需要严格流程、最小延迟与复杂错误处理的生产系统。4.2 实战用LangGraph构建天气新闻简报助手# 安装pip install langgraph langchain-openai langchain-communityimport osfrom dotenv import load_dotenvfrom typing import TypedDict, Annotated, Sequenceimport operatorfrom langgraph.graph import StateGraph, ENDfrom langchain_openai import ChatOpenAIfrom langchain_community.tools import TavilySearchResultsfrom langchain_community.utilities import OpenWeatherMapAPIWrapperfrom langchain_core.messages import BaseMessage, HumanMessage# 1. 加载环境变量需配置OPENAI_API_KEY、TAVILY_API_KEY、OPENWEATHER_API_KEYload_dotenv()# 2. 初始化LLM与工具llm ChatOpenAI(modelgpt-4o-mini, temperature0)search_tool TavilySearchResults(api_keyos.getenv(TAVILY_API_KEY), max_results2)weather_tool OpenWeatherMapAPIWrapper(api_keyos.getenv(OPENWEATHER_API_KEY))# 3. 定义状态结构共享白板classAgentState(TypedDict): messages: Annotated[Sequence[BaseMessage], operator.add] city: str weather_info: str news_info: str final_report: str# 4. 定义节点函数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}# 5. 构建图工作流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()# 6. 运行Agentapp 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并行执行自动同步后进入下一步。极强扩展性新增步骤仅需定义节点并插入图中架构保持整洁。五、框架选择终极指南与最佳实践5.1 决策清单你的场景匹配哪个框架你的身份与目标推荐框架关键理由非技术背景快速验证想法RelevanceAI无代码可视化最快上线初学者希望理解Agent核心概念smolagents极简API学习曲线平缓官方教程优秀构建中等复杂度应用重视生态LangChain丰富集成、工具与社区文档案例海量核心是文档问答/RAG系统LlamaIndex专精数据处理与检索性能优化到位设计多角色协作虚拟团队CrewAI角色、任务、流程抽象直观适合内容生产等场景需要动态对话协作与人类介入AutoGen对话即协作适合研究、创意类动态任务构建复杂、稳定、可控的生产流程LangGraph图模型提供最高控制精度适合金融、运维等严肃场景5.2 避坑与实践建议避免过度设计简单任务无需复杂框架。例如仅调用1-2个API的任务使用LangChain的AgentExecutor或smolagents即可。优化Token消耗Agent的“思考-行动”循环会多次调用LLM。利用框架的上下文管理功能如LangGraph的状态选择避免不必要的历史消息传入。编写清晰的工具描述工具的description字段是LLM决定是否及如何调用工具的关键。模糊描述会导致错误调用。实现错误处理工具调用可能失败。设计容错机制例如在LangGraph中通过条件边检查结果并路由到重试或降级节点。从小规模开始先用简单框架或原型验证需求观察哪些任务模式重复出现再使用更高级框架如LangGraph将其固化为优化的工作流。重视可观测性利用框架提供的调试工具如LangSmith for LangChain追踪执行流程、检查中间状态这对复杂系统至关重要。写在最后AI Agent技术正从“炫技”走向“实用”成为开发者延伸能力的重要杠杆。无论是AutoGen通过对话实现的动态协作还是LangGraph通过图编排提供的精密控制都在推动AI从“被动问答”走向“主动执行”。技术的本质是延伸人的能力。Agent延伸的正是我们规划、协调与执行的综合能力。选择适合的框架从小处着手你可以构建出能自动处理邮件、监控日志、生成报告甚至管理项目的数字员工。你现在最希望哪个重复性任务被AI Agent自动化是客服邮件处理、系统日志监控还是个性化信息筛选欢迎分享你的场景让我们共同探索实现的可能。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】