AI Agent实战——从零搭建一个能自动完成任务的智能体

发布时间:2026/6/6 12:35:08

AI Agent实战——从零搭建一个能自动完成任务的智能体 引言2024年AI Agent成为了技术圈最火的话题。从AutoGPT到BabyAGI从LangChain到CrewAI各种Agent框架层出不穷。但很多开发者只是跑了个Demo并没有真正理解Agent的工作原理。本文将从零开始手把手教你搭建一个真正能自动完成任务的AI Agent包含完整的代码实现和踩坑经验。一、什么是AI Agent1.1 Agent的核心概念AI Agent是一个能够自主感知环境、做出决策、执行动作的智能程序。与传统的ChatGPT对话不同Agent具有以下特征自主性无需人工干预自动完成目标感知能力能够获取外部信息搜索、API调用记忆能力记住之前的操作和结果规划能力将大目标拆解为小步骤工具使用调用外部工具完成任务1.2 Agent vs 普通LLM对话维度普通LLM对话AI Agent交互方式一问一答自主多步执行记忆能力上下文窗口内长期记忆短期记忆工具使用不能可调用搜索/代码/API目标导向被动回答主动规划执行错误恢复无法自动修复自我反思重试二、Agent架构设计2.1 ReAct架构ReActReasoning Acting是目前最流行的Agent架构核心思路是思考-行动-观察的循环。# ReAct Agent 核心循环while not task_completed:# 1. 思考Reasoningthought llm.think(current_state, goal)# 2. 行动Actingaction llm.choose_action(thought)result tool.execute(action)# 3. 观察Observationobservation parse_result(result)memory.add(thought, action, observation)# 4. 判断是否完成task_completed llm.is_completed(goal, observation)2.2 记忆系统设计Agent的记忆分为三层记忆类型存储内容实现方式容量短期记忆当前对话上下文LLM Context Window4K-128K tokens工作记忆当前任务的中间结果内存字典/列表无限制长期记忆历史经验、知识向量数据库无限制2.3 工具系统设计Agent的能力取决于它能使用什么工具。以下是常用工具工具类型功能适用场景Web搜索获取最新信息调研、事实核查代码执行运行Python代码计算、数据分析文件读写操作本地文件文档处理、代码修改API调用调用外部服务发送邮件、数据库查询浏览器自动化网页操作信息采集、表单填写三、从零实现一个Agent3.1 最简Agent实现下面是一个最简的ReAct Agent实现仅用100行Python代码import jsonfrom openai import OpenAIclass SimpleAgent:def __init__(self, api_key, modelgpt-4):self.client OpenAI(api_keyapi_key)self.model modelself.memory [] # 工作记忆self.tools {} # 工具注册表def register_tool(self, name, func, description):self.tools[name] {func: func, desc: description}def run(self, task, max_steps10):self.memory.append({role: user, content: task})for step in range(max_steps):# 1. LLM思考并决策response self.client.chat.completions.create(modelself.model,messagesself.memory,toolsself._get_tool_schemas())msg response.choices[0].messageself.memory.append(msg)# 2. 如果LLM要调用工具if msg.tool_calls:for tool_call in msg.tool_calls:result self._execute_tool(tool_call)self.memory.append({role: tool,tool_call_id: tool_call.id,content: str(result)})else:# 3. LLM给出最终回答return msg.contentreturn Agent reached max steps without completing task.def _execute_tool(self, tool_call):name tool_call.function.nameargs json.loads(tool_call.function.arguments)func self.tools[name][func]return func(**args)def _get_tool_schemas(self):# 返回OpenAI function calling格式return [{type: function, function: {name: name, description: t[desc],parameters: {type: object, properties: {}}}} for name, t in self.tools.items()]3.2 添加工具给Agent注册工具让它具备实际能力# 注册搜索工具def web_search(query: str) - str:import requestsresp requests.get(fhttps://api.search.brave.com/res/v1/web/search?q{query})return resp.json()[web][results][0][description]# 注册计算工具def calculate(expression: str) - str:return str(eval(expression))# 注册文件读写工具def read_file(filepath: str) - str:with open(filepath, r) as f:return f.read()def write_file(filepath: str, content: str) - str:with open(filepath, w) as f:f.write(content)return fWritten {len(content)} chars to {filepath}# 组装Agentagent SimpleAgent(api_keyyour-key)agent.register_tool(web_search, web_search, Search the web for information)agent.register_tool(calculate, calculate, Evaluate a math expression)agent.register_tool(read_file, read_file, Read a local file)agent.register_tool(write_file, write_file, Write content to a local file)# 运行result agent.run(帮我调研2024年最流行的5个AI Agent框架并写一份对比报告保存到report.md)print(result)四、主流Agent框架对比4.1 框架选型框架语言特点适用场景推荐指数LangChainPython/JS生态最全文档丰富通用Agent开发5星CrewAIPython多Agent协作角色扮演团队协作任务4星AutoGenPython微软出品多Agent对话代码生成4星DifyPython低代码可视化快速搭建4星OpenAI AssistantsAPI官方最简单简单Agent3星PhidataPython轻量内置工具快速原型4星4.2 如何选择选框架的核心原则新手入门OpenAI Assistants API最简单通用开发LangChain生态最全团队协作CrewAI多角色协作快速搭建Dify低代码追求轻量Phidata最简洁五、工业场景Agent应用5.1 智能运维Agent场景7x24小时自动监控设备状态发现异常自动诊断并通知工程师。感知实时采集PLC/SCADA数据推理判断是否异常Isolation Forest LLM分析行动自动生成工单、推送通知、建议维修方案5.2 质量分析Agent场景自动分析SPC数据发现异常趋势给出改进建议。感知从MES/QMS获取质量数据推理计算CpK、检测趋势、识别根因行动生成质量报告、推送预警、建议参数调整5.3 工艺优化Agent场景自动优化生产参数持续提升良率。感知采集工艺参数和产品数据推理建立代理模型、优化参数组合行动推荐优化方案、A/B测试、效果验证5.4 知识管理Agent场景工程师提问Agent自动检索知识库并回答。感知理解用户问题LLM推理检索相关知识RAG行动生成准确答案、引用来源六、踩坑经验6.1 常见陷阱陷阱表现解决方案死循环Agent反复调用同一工具设置最大步数、去重检测幻觉Agent编造不存在的信息要求引用来源、事实核查工具依赖Agent过度使用工具限制工具调用次数上下文溢出记忆过长导致遗忘摘要压缩、分层记忆成本失控API调用费用过高设置token预算、使用缓存6.2 优化技巧使用更小的模型做简单判断GPT-3.5大模型做复杂推理GPT-4对工具结果做摘要减少上下文长度设置合理的最大步数通常5-10步足够添加自我反思机制每3步回顾一次判断是否偏离目标使用流式输出提升用户体验七、总结AI Agent是2024-2025年最值得投入的技术方向之一。核心要点Agent LLM 记忆 工具 规划ReAct是最实用的架构工具设计决定了Agent的能力边界工业场景是Agent落地的蓝海踩坑不可避免但可以通过设计减少AI Agent不是万能的但在特定场景下它已经能替代大量重复性工作。尽早掌握这项技术就能在AI浪潮中占据先机。

相关新闻