恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
【三个月 AI Agent 实战学习】 Day 35:阶段总结 —— 写一篇 ReAct 技术博客
首页
资讯中心
/
【三个月 AI Agent 实战学习】 Day 35:阶段总结 —— 写一篇 ReAct 技术博客
【三个月 AI Agent 实战学习】 Day 35:阶段总结 —— 写一篇 ReAct 技术博客
发布时间:2026/10/13 14:56:47
Day 35阶段总结 —— 写一篇 ReAct 技术博客欢迎来到第三十五天今天是第二阶段Agent 核心范式的收官之日。在过去两周里我们从理论到实践深入学习了 ReAct 范式、LangChain 的 Tool 定义、AgentExecutor、错误处理、工具设计原则、网络爬虫 Agent、RAG 优化、记忆管理、LangSmith 调试和 Routing 路由。今天我们不做新知识的学习而是通过撰写一篇技术博客来系统梳理和输出你对 ReAct 的理解。写作是最好的学习方式——当你能够用清晰的语言向他人解释一个概念时你才算真正掌握了它。一、今日学习目标系统回顾 ReAct 范式的核心概念、原理和实现方式。学会用通俗易懂的语言解释技术概念锻炼技术写作能力。完成一篇结构完整、内容扎实的 ReAct 技术博客可作为个人作品集的一部分。通过写作发现知识盲区并针对性地查漏补缺。为进入第三阶段记忆与真实世界工具做好知识和心态上的准备。二、详细实现步骤步骤 1回顾 ReAct 知识体系在动笔之前先梳理你已经掌握的 ReAct 相关知识理论基础ReAct 论文的核心思想推理Reasoning与行动Acting的协同。与 CoT仅推理和 Act-only仅行动的对比。Thought → Action → Observation 循环的工作机制。为什么 ReAct 能减少幻觉、提高可解释性。工程实现手动模拟 ReAct 循环Day 19自己解析 Action、执行工具、追加 Observation。LangChain 的 Tool 定义Day 23tool装饰器、docstring 的重要性、参数描述。第一个 AgentDay 24create_react_agent和AgentExecutor。调试与解析Day 25-26verboseTrue、return_intermediate_steps、自定义回调、handle_parsing_errors。工具设计原则Day 27如何写好工具描述。实战项目网络爬虫 AgentDay 28。RoutingDay 34根据意图分发请求。关键代码片段一个最小的 ReAct Agent 实现。工具定义示例。AgentExecutor 的配置。步骤 2确定博客的目标读者和结构目标读者有一定 Python 基础、对 LLM 应用开发感兴趣的开发者可能听说过 Agent 但不太清楚 ReAct 具体是什么。博客结构建议标题吸引人且准确例如《从零理解 ReAct让大模型学会“思考”与“行动”》。引言用一个实际问题引出为什么需要 ReAct例如模型不知道实时天气却硬要回答导致幻觉。什么是 ReAct用通俗的语言解释 ReAct 的核心思想配一张简单的流程图文字描述即可。ReAct vs CoT vs Act-only用对比表格说明三种范式的区别和适用场景。ReAct 的工作流程详细解释 Thought → Action → Observation 循环用一个具体例子贯穿如“查询北京天气并计算温度转换”。手动实现一个 ReAct 循环展示核心代码可以简化解释每一步的作用。使用 LangChain 简化开发介绍tool、create_react_agent、AgentExecutor展示如何用框架快速搭建。实战案例简要介绍你的网络爬虫 Agent 或数学专家 Agent。常见问题与调试技巧分享你在开发中遇到的坑和解决方法如格式错误、死循环。总结与展望ReAct 的局限性以及后续学习方向多智能体、记忆等。步骤 3撰写博客正文以下是每个部分的写作要点和示例内容你可以根据自己的理解进行扩充。3.1 引言当你问 ChatGPT“今天北京天气怎么样”时它可能会编造一个看似合理的答案。这不是因为它笨而是因为它无法获取实时信息。如果能让模型在回答前先“查一下”呢这就是 ReAct 要解决的问题。3.2 什么是 ReActReAct Reasoning Acting。它让模型在生成最终答案之前先输出一段“思考”Thought说明自己下一步要做什么然后输出一个“行动”Action调用外部工具工具返回“观察”Observation结果后模型继续思考如此循环直到得出最终答案。配一个简单的流程图用户提问 → Thought → Action → Observation → Thought → ... → Final Answer3.3 ReAct vs CoT vs Act-only范式是否推理是否行动适用场景CoT✅❌纯数学、逻辑推理Act-only❌✅简单工具调用ReAct✅✅需要外部知识的复杂任务3.4 ReAct 的工作流程举例用户问“北京今天天气怎么样华氏度是多少”Thought: 我需要先查询北京天气然后将摄氏度转换为华氏度。 Action: get_weather[北京] Observation: 晴26°C Thought: 现在需要将 26°C 转换为华氏度。公式是 F C × 9/5 32。 Action: calculator[26 * 9/5 32] Observation: 78.8 Thought: 我已经得到了所有信息。 Final Answer: 北京今天晴26°C相当于 78.8°F。3.5 手动实现核心代码展示简化的 ReAct 循环可参考 Day 19 的代码重点解释如何解析模型输出中的 Action。如何执行工具并将结果反馈给模型。循环终止条件。3.6 使用 LangChain 简化展示tool装饰器和create_react_agent的用法对比手动实现的代码量差异。3.7 实战案例简要介绍你的网络爬虫 Agent用户输入网址Agent 自动抓取并摘要。附上关键代码和运行截图可选。3.8 常见问题与调试模型输出格式不对怎么办→handle_parsing_errorsTrue。Agent 陷入死循环怎么办→ 设置max_iterations。工具描述怎么写→ 清晰说明功能、参数、限制。如何查看 Agent 的思考过程→verboseTrue或 LangSmith。3.9 总结与展望ReAct 是 Agent 的基石但它也有局限单 Agent 能力有限复杂任务需要多 Agent 协作短期记忆容易溢出需要长期记忆管理。这些问题将在后续学习中一一解决。步骤 4代码示例的整理博客中如果需要嵌入代码确保代码简洁、可运行、有注释。建议将完整代码放在 GitHub Gist 或你的仓库中博客中只展示核心片段。例如最小 ReAct Agent 的代码fromlangchain.agentsimportcreate_react_agent,AgentExecutorfromlangchain_core.toolsimporttoolfromlangchain_openaiimportChatOpenAIfromlangchain_core.promptsimportPromptTemplatetooldefcalculator(expression:str)-str:计算数学表达式。returnstr(eval(expression))llmChatOpenAI(modeldeepseek-chat,...)promptPromptTemplate.from_template(...)# ReAct 模板agentcreate_react_agent(llm,[calculator],prompt)executorAgentExecutor(agentagent,tools[calculator],verboseTrue)resultexecutor.invoke({input:计算 25 * 4})print(result[output])步骤 5撰写与修改第一遍快速写出初稿不要纠结措辞先把想法倒出来。第二遍检查逻辑是否清晰代码是否正确例子是否易懂。第三遍润色语言调整段落确保读者能跟上思路。推荐工具可以用 Markdown 写然后发布到知乎、掘金、CSDN 或个人博客。也可以用 Notion 先整理。步骤 6发布与分享将博客发布到至少一个平台并分享给你的朋友或学习社区。获取反馈是提升的重要途径。如果暂时不想公开也可以保存在本地作为个人笔记。三、常见问题与调试Q1我觉得自己写得不够好不敢发布。→ 技术博客的首要目的是整理自己的思路而不是追求完美。先完成再完美。哪怕只有你自己看写作的过程已经让你受益匪浅。Q2代码太多博客太长怎么办→ 将完整代码放到 GitHub博客中只展示关键片段和思路。重点解释“为什么”而不是“怎么做”。Q3如何让博客更吸引人→ 用一个有趣的问题开头使用类比如“ReAct 就像给模型装上了手和脚”配图流程图、对比图分享你踩过的坑。Q4写完后发现有些概念自己也没完全搞懂。→ 这是好事说明你发现了知识盲区。针对这些点回头查阅资料或重新运行代码直到彻底理解。这才是写作的最大价值。Q5博客需要多长→ 1500-3000 字为宜重点是把核心概念讲清楚。不必面面俱到但要有深度。四、今日总结与作业今天你完成了✅ 系统回顾了 ReAct 范式的全部知识点。✅ 撰写了一篇结构完整的技术博客。✅ 通过写作发现了潜在的知识盲区并进行了针对性复习。✅ 为第二阶段画上了一个圆满的句号。今日作业必做完成博客的撰写和修改确保至少包含ReAct 核心思想、与 CoT 的对比、工作流程示例、代码实现、常见问题。将博客发布到至少一个平台或保存到本地笔记并记录链接。回顾第二阶段的全部代码整理到一个 GitHub 仓库中并更新 README添加第二阶段的项目说明。思考题在写作过程中你觉得哪个概念最难向别人解释清楚为什么你打算如何进一步加深理解明日预告我们将进入第三阶段——记忆机制与真实世界工具。明天我们将学习短期记忆与长期记忆的区别并开始构建一个能记住用户信息的智能客服。请准备好迎接新的挑战有任何问题欢迎随时提问