ReAct 是什么?说说它的原理
ReAct(Reasoning + Acting)是一种结合推理和行动的 AI 智能体框架。一、ReAct 概述1. 基本概念ReAct是一个让 AI 智能体能够:推理(Reasoning):思考问题和制定计划行动(Acting):执行具体操作获取信息迭代优化:基于反馈调整策略# ReAct 核心思想classReAct:""" ReAct = Reasoning + Acting 通过交替进行推理和行动来解决复杂问题 """defsolve_problem(self,problem):# 推理 → 行动 → 观察 → 再推理 → ...thoughts=[]actions=[]observations=[]whilenotself.is_solved(problem):# 推理阶段thought=self.reason(problem,observations)thoughts.append(thought)# 行动阶段action=self.plan_action(thought)actions.append(action)# 执行和观察observation=self.execute_action(action)observations.append(observation)returnself.synthesize_solution(thoughts,observations)2. 与传统方法的对比# 传统方法 vs ReActclassComparison:traditional_approach=""" 输入问题 → LLM 直接回答 缺点:无法处理需要外部信息的复杂问题 """react_approach=""" 输入问题 → 推理 → 行动 → 观察 → 再推理 → ... → 最终答案 优点:可以处理需要多步推理和外部信息的复杂问题 """二、ReAct 架构原理1. 核心循环┌─────────────────────────────────────────────────────────┐ │ ReAct 循环 │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌──────────────┐ │ 推理 │ │ (Reasoning) │ └──────────────┘ │ ▼ ┌──────────────┐ │ 行动 │ │ (Acting) │ └──────────────┘ │ ▼ ┌──────────────┐ │ 观察 │ │ (Observation)│ └──────────────┘ │ ▼ ┌──────────────┐ │ 是否解决? │ └──────────────┘ │ ┌────────┴────────┐ ▼ ▼ ┌──────────────┐ ┌──────────────┐ │ 是:输出答案 │ │ 否:继续循环 │ └──────────────┘ └──────────────┘2. 详细实现classReActAgent:def__init__(self,llm,tools):self.llm=llm self.tools=tools self.memory=[]# 存储推理和观察历史defrun(self,question,max_steps=10):""" 运行 ReAct 循环 """step=0current_state={"question":question,"thoughts":[],"actions":[],"observations":[]}whilestepmax_steps:# 1. 推理阶段thought=self._reason(current_state)current_state["thoughts"].append(thought)# 检查是否可以直接回答ifself._can_answer_directly(thought):answer=self._extract_answer(thought)returnself._format_final_answer(answer,current_state)# 2. 规划行动action_plan=self._plan_action(thought,current_state)ifnotaction_plan:# 无法规划行动,尝试直接回答answer=self._attempt_direct_answer(current_state)returnself._format_final_answer(answer,current_state)# 3. 执行行动observation=self._execute_action(action_plan)current_state["actions"].append(action_plan)current_state["observations"].append(observation)# 4. 检查是否解决ifself._is_problem_solved(observation,current_state):answer=self._synthesize_answer(current_state)returnself._format_final_answer(answer,current_state)step+=1# 达到最大步数,返回当前最佳答案returnself._format_timeout_answer(current_state)def_reason(self,state):""" 推理阶段:分析当前情况,决定下一步 """prompt=self._build_reasoning_prompt(state)response=self.llm.generate(prompt)returnself._parse_reasoning(response)def_plan_action(self,thought,state):""" 规划行动:基于推理结果选择工具和参数 """available_tools=self._get_available_tools(state)action_plan=self.llm.plan_action(thought,available_tools)returnself._validate_action(action_plan)def_execute_action(self,action_plan):""" 执行行动:调用相应工具 """tool_name=action_plan["tool"]parameters=action_plan["parameters"]iftool_nameinself.tools:tool=self.tools[tool_name]try:result=tool.execute(**parameters)return{"status":"success","result":result}exceptExceptionase:return{"status

相关新闻

你都了解哪些向量数据库?如何选型?

你都了解哪些向量数据库?如何选型?

主流向量数据库概览 1. 开源向量数据库 Milvus 特点:高性能、可扩展、支持多种索引类型 架构:云原生架构,支持分布式部署 索引类型:HNSW、IVF、PQ、DiskANN 等 适用场景:大规模生产环境、需要高性能和可扩展性 Qdrant 特点:轻量级、高性能、易部署 语言:Rust 编写,性…

2026/7/7 22:28:01 阅读更多 →
掌握十大绘图技巧,实现高效数据可视化

掌握十大绘图技巧,实现高效数据可视化

本文旨在帮助读者迅速掌握十大顶尖绘图技巧,着重阐述如何将数据以清晰直观的方式呈现在各类图表中。推荐使用pyecharts库,它能够轻松安装,版本为v1.6,并且通过简单的几行代码就能生成具有特色的图形。该库的绘图API支持链式调用&a…

2026/7/6 16:32:35 阅读更多 →
【学术对话】

【学术对话】

学术对话1. 岐金兰最初投稿/学术分享邮件2. Jonathan Cefalu 回信3. 岐金兰 正式回应完整往来邮件文本一、岐金兰致学术共同体:学术分享邮件主题:呈交学术共同体:岐金兰《人类责任主义——基于DOS模型的AI治理新范式》尊敬的编辑老师及广大学…

2026/7/7 15:49:10 阅读更多 →

最新新闻

R语言实现COVID-19有效再生数R_t实时贝叶斯估算

R语言实现COVID-19有效再生数R_t实时贝叶斯估算

1. 项目概述:用R语言实时估算COVID-19有效再生数 $R_t$ 的完整复现指南你有没有在疫情高峰期刷到过那种“某地$R_t$跌破1.0”的新闻图?那个数字背后,不是拍脑袋的判断,而是一套严谨的统计推断框架。今天我要带你亲手用R语言&#…

2026/7/7 22:30:12 阅读更多 →
真实业务场景下的Python EDA实战框架

真实业务场景下的Python EDA实战框架

1. 这不是“教科书式”的EDA教程,而是一份我用三年时间在真实业务场景中反复打磨出来的实战手记你点开这个标题,大概率正面临这样几个现实困境:刚拿到一份销售数据表,字段有87列、23万行,但不知道从哪下手;…

2026/7/7 22:28:11 阅读更多 →
Squirrel-RIFE:3步实现专业级AI视频补帧,让老旧视频秒变流畅大片

Squirrel-RIFE:3步实现专业级AI视频补帧,让老旧视频秒变流畅大片

Squirrel-RIFE:3步实现专业级AI视频补帧,让老旧视频秒变流畅大片 【免费下载链接】Squirrel-RIFE 效果更好的补帧软件,显存占用更小,是DAIN速度的10-25倍,包含抽帧处理,去除动漫卡顿感 项目地址: https:/…

2026/7/7 22:28:11 阅读更多 →
VS Code本地AI编程工作流:用Caddy代理对接Ollama实现OpenAI兼容

VS Code本地AI编程工作流:用Caddy代理对接Ollama实现OpenAI兼容

1. 项目概述:这不是一个“插件更新修复帖”,而是一次对本地AI开发工作流底层逻辑的重新校准在VS Code里点下“Continue”插件的Continue按钮,结果弹出一个干净利落的404页面——路径不存在,服务未响应,模型调用直接卡死…

2026/7/7 22:28:11 阅读更多 →
Python面向对象设计实战:鸭子类型、协议与组合式架构

Python面向对象设计实战:鸭子类型、协议与组合式架构

1. 这不是又一本“类和对象”的入门课——它是一份你写Python时真正会翻的案头手册我带过几十个从零起步的Python学习小组,也给三年以上经验的工程师做过代码评审。每次聊到面向对象,总有人皱着眉头说:“我知道class怎么写,__init…

2026/7/7 22:26:11 阅读更多 →
Python对象序列化实战:Pickle原理、安全与生产级应用

Python对象序列化实战:Pickle原理、安全与生产级应用

1. 这不是“存个变量”那么简单:Pickle到底在解决什么真实问题?你写完一个训练好的机器学习模型,用model.fit(X_train, y_train)跑完,内存里那个model对象活得好好的——但关掉Python解释器,它就彻底消失了。下次想预测…

2026/7/7 22:26:11 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻