尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Python构建AI智能体:ReAct、Plan-and-Solve与Reflection三大范式实战
1. 智能体开发基础与核心概念在当今AI技术快速发展的背景下构建能够自主思考和行动的智能体已成为开发者关注的热点。作为一名长期从事AI开发的工程师我将分享如何用Python构建三类典型智能体的实战经验。1.1 智能体的本质特征智能体的核心在于其自主性。一个真正的智能体应当具备感知能力通过传感器获取环境信息决策能力基于感知信息进行推理和规划执行能力通过执行器对环境产生影响学习能力从经验中改进自身行为在代码层面这通常表现为一个持续运行的循环不断接收输入、处理信息、产生输出。现代LLM大语言模型为智能体提供了强大的认知基础但需要开发者精心设计交互机制。1.2 开发环境准备构建智能体首先需要配置开发环境。以下是关键组件# 基础环境配置 python -m venv agent-env source agent-env/bin/activate # Linux/Mac # agent-env\Scripts\activate # Windows # 核心依赖安装 pip install google-generativeai openai python-dotenv typing-extensions ollama不同模型API的调用方式存在差异这是新手常见的踩坑点。例如# Gemini调用示例 import google.generativeai as genai genai.configure(api_keyYOUR_API_KEY) model genai.GenerativeModel(gemini-1.5-flash) # OpenAI标准调用 from openai import OpenAI client OpenAI(api_keysk-xxx) # 第三方中转API调用需注意base_url client OpenAI( api_keysk-xxxx, base_urlhttps://api.xxx.com/v1 # 必须以/v1结尾 ) # 本地Ollama调用无需API key import ollama response ollama.chat(modelllama3, messages[...])关键提示API密钥等敏感信息应存储在.env文件中通过python-dotenv加载切勿硬编码在脚本中。2. 智能体三大范式实现2.1 ReAct范式动态思考与行动ReActReasoning and Acting是最接近人类思考过程的智能体范式。其核心在于建立思考-行动-观察的循环class ReActAgent: def __init__(self, llm_client, tool_executor, max_steps5): self.llm_client llm_client self.tool_executor tool_executor self.max_steps max_steps self.history [] def run(self, question: str): while len(self.history) self.max_steps: # 1. 生成思考 prompt self._build_prompt(question) response self.llm_client.think(prompt) # 2. 解析行动 thought, action self._parse_response(response) if action.startswith(Finish): return self._handle_finish(action) # 3. 执行工具 tool_name, tool_input self._parse_action(action) observation self._execute_tool(tool_name, tool_input) # 4. 更新历史 self._update_history(thought, action, observation)2.1.1 提示词工程ReAct的成功很大程度上依赖于精心设计的提示词模板REACT_PROMPT_TEMPLATE 你是一个可以调用外部工具的智能助手。可用工具 {tools} 请严格按以下格式回应 Thought: 你的思考过程 Action: 要采取的行动格式为 - {{tool}}[{{input}}] 调用工具 - Finish[{{answer}}] 结束任务 当前问题{question} 历史记录{history} 2.1.2 实战技巧历史压缩当历史记录过长时可以总结前几步的关键信息避免超出模型上下文限制错误恢复当工具调用失败时应让模型有机会尝试替代方案超时控制设置最大步数防止无限循环2.2 Plan-and-Solve先规划后执行与ReAct的动态调整不同Plan-and-Solve强调先制定完整计划再执行class PlanAndSolveAgent: def __init__(self, llm_client): self.planner Planner(llm_client) self.executor Executor(llm_client) def run(self, question: str): plan self.planner.plan(question) return self.executor.execute(question, plan)2.2.1 规划阶段规划器的核心是让模型将复杂任务分解为可执行的子步骤PLANNER_PROMPT 你是一个规划专家。请将问题分解为可执行的步骤列表。 输出必须为Python列表格式 python [步骤1, 步骤2, ...]问题{question} #### 2.2.2 执行阶段 每个步骤执行时都会获得完整上下文 python EXECUTOR_PROMPT 你是一个执行专家。请解决当前步骤 问题{question} 计划{plan} 已完成步骤{history} 当前步骤{current_step} 只需回答当前步骤的结果 2.3 Reflection迭代优化Reflection范式通过自我评审不断改进输出质量class ReflectionAgent: def __init__(self, llm_client, max_iters3): self.llm_client llm_client self.memory Memory() self.max_iters max_iters def run(self, task: str): code self._initial_execute(task) for _ in range(self.max_iters): feedback self._reflect(task, code) if 无需改进 in feedback: break code self._refine(task, code, feedback) return code2.3.1 记忆管理记忆模块记录完整的迭代轨迹class Memory: def __init__(self): self.records [] def add_record(self, record_type: str, content: str): self.records.append({type: record_type, content: content}) def get_trajectory(self) - str: return \n.join( f{r[type]}: {r[content]} for r in self.records )3. 实战问题与解决方案3.1 常见错误排查API调用失败检查API密钥是否正确验证网络连接是否正常确认服务端是否可用解析错误添加更健壮的解析逻辑在提示词中强调输出格式要求实现自动修正机制无限循环设置最大迭代次数检测重复操作实现超时机制3.2 性能优化技巧缓存机制对相同工具的重复调用结果进行缓存并行执行当多个步骤无依赖关系时可并行处理精简上下文定期清理无关的历史记录模型选择简单任务使用轻量级模型3.3 高级应用模式多智能体协作不同特长的智能体分工合作混合范式结合ReAct的灵活性和Plan-and-Solve的系统性长期记忆引入向量数据库存储历史经验工具学习让智能体自主发现和掌握新工具4. 开发心得与建议在实际开发中有几个关键点值得注意逐步验证先构建最小可行智能体再逐步添加复杂功能监控指标跟踪每一步的成功率、耗时等关键指标异常处理为每个可能失败的点设计恢复策略用户反馈收集最终用户对智能体决策的反馈用于改进一个典型的开发迭代周期包括设计智能体架构实现核心循环构建测试用例运行评估指标分析失败案例优化提示词和逻辑对于资源有限的团队建议从Ollama本地模型开始待验证核心逻辑后再接入商用API。同时可以复用开源的智能体框架如LangChain、AutoGen加速开发。
RELATED

相关推荐

CD-HIT完全指南:从安装到序列聚类的终极教程

CD-HIT完全指南:从安装到序列聚类的终极教程

CD-HIT完全指南:从安装到序列聚类的终极教程 【免费下载链接】cdhit Automatically exported from code.google.com/p/cdhit 项目地址: https://gitcode.com/gh_mirrors/cd/cdhit CD-HIT是一款高效的序列聚类工具,能够快速将蛋白质或核苷酸序列按…

📅 2026/8/23 16:18:15
终极指南:qmcdump免费解密QQ音乐加密音频的完整教程

终极指南:qmcdump免费解密QQ音乐加密音频的完整教程

终极指南:qmcdump免费解密QQ音乐加密音频的完整教程 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 还在为Q…

📅 2026/9/9 14:47:34
从研究到实盘:机器学习交易全流程实战指南

从研究到实盘:机器学习交易全流程实战指南

从研究到实盘:机器学习交易全流程实战指南 【免费下载链接】machine-learning-for-trading Code for Machine Learning for Trading, 3rd edition — from data sourcing to live execution. 项目地址: https://gitcode.com/GitHub_Trending/ma/machine-learning-…

📅 2026/9/5 0:32:54
MORE NEWS

更多资讯

📰

AR-NAR混合Transformer实战:从Hugging Face部署到VS Code调试

1. 项目概述:从“YuE”到可复现的AR–NAR混合Transformer实践第一次看到“YuE”这个标题时,我下意识去Hugging Face搜了三遍——没有官方仓库,没有README,也没有任何论文链接。它不像Llama、Phi或Qwen那样自带清晰的技术标签&…

📰

153页运维投标书拆解:ITIL服务域、SLA指标与监控巡检落地

简介:这是一份面向互联网与企业级 IT 数据中心运维外包项目的技术投标方案模板,适合承接运维服务外包的集成商、服务商及参与投标的技术人员使用。内容围绕日常监测、维护服务、系统补丁升级、应急处理与专项服务支持等模块展开,涵盖项目背景…

📰

耶鲁Vulcan-FR智能锁说明书全解读:安装调试与故障排查要点

简介:耶鲁Vulcan-FR沃肯FR智能门锁的中文说明书PDF,面向门锁安装人员、家庭用户及智能家居爱好者,帮助快速掌握产品功能、安全机制与日常维护要领。资源为单份pdf文件,大小2.9MB,以图文形式完整呈现操作指引。目前已有…

📰

Oracle 19c Linux保姆级安装教程:从下载到DBCA建库

很多人拿到Oracle 19c的下载安装教程后,第一反应都是找一个“绿色免安装”的包,或者直接在官网点下载,然后被登录页拦住,再被一堆Linux依赖包折磨到怀疑人生。我当年第一次装19c,环境是CentOS 7,内存给了4G…

📰

SeaTunnel Edge Agent 下载与二进制包构建指南:从官方 Tarball 到源码打包

SeaTunnel Edge Agent 下载与二进制包构建指南:从官方 Tarball 到源码打包 【免费下载链接】seatunnel SeaTunnel is a multimodal, high-performance, distributed, massive data integration tool. 项目地址: https://gitcode.com/GitHub_Trending/se/seatunnel…

📰

Security-101 基础设施安全能力全解:漏洞管理、CSPM 与 CNAPP 实战指南

Security-101 基础设施安全能力全解:漏洞管理、CSPM 与 CNAPP 实战指南 【免费下载链接】Security-101 8 Lessons, Kick-start Your Cybersecurity Learning. 项目地址: https://gitcode.com/GitHub_Trending/se/Security-101 导读:本文以 Securit…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬