最近,国内AI领域创新速度不断刷新记录,卷出了新高度。近两周诞生了n款颠覆性的开源大模型,在智能体(Agent)和深度研究(DeepResearch)方向也同样,几乎每隔一段时间就有新产品或新功能上线,可谓是百花齐放!
今天我们聚焦实践,和大家探讨一下React Agent的核心原理和实现思路。
一、什么是React Agent
React(Reasoning and Acting)Agent是一种基于推理-行动循环的智能代理模式。与传统的单次问答不同,React Agent能够:
- 思考(Think):分析当前问题,制定解决策略。
- 行动(Act):调用外部工具或API获取信息。
- 观察(Observe):分析工具返回的结果。
- 循环迭代:基于观察结果继续思考和行动,直到得出最终答案。
这种模式让AI能够像人类一样进行多步骤推理,处理复杂的实际业务场景问题。
二、底层原理
React Agent的核心工作流程,简单拆解一下,大致如下:
用户问题 → 思考 → 选择工具 → 执行工具 → 观察结果 → 继续思考或给出最终答案关键组件
- 提示词模版:提示词是Agent中的核心和灵魂,它能够精细化地制定执行计划、思考和行动策略。
- 工具库(Tools):定义可用的本地/外部工具、MCP Server等。
- 执行引擎:管理思考-行动循环。
- 结果解析器:解析AI输出,提取工具调用信息。
架构图
以下是React Agent的整体架构图,展示了各个组件之间的关系:
流程图
以下是React Agent的执行流程图,展示了从用户提问到得出最终答案的完整过程:
三、实现细节
1. Prompt模板设计
Prompt模板是React Agent的灵魂,它指导AI的思考和行动模式。一个精心设计的Prompt模板应包括以下内容:
- 问题描述:明确用户的问题。
- 工具列表:列出所有可用的工具及其描述。
- 思考格式:定义“思考-行动-观察”的循环结构。
- 终止条件:明确何时得出最终答案。
2. 工具定义与注册
工具是React Agent的核心组件之一,包括本地/外部工具和MCP Server等。列举几个在Agent比较常见的工具:联网搜索工具、报告生成工具、本地自定义工具、各种MCP Server(如高德地图、12306等)。
3. 核心执行循环
执行引擎负责管理React Agent的思考-行动循环,其主要逻辑如下:
- 接收用户问题:从用户获取问题。
- 生成Prompt:根据Prompt模板生成初始Prompt。
- AI响应:将Prompt发送给AI模型,获取响应。
- 解析响应:通过结果解析器解析AI的输出,判断是否需要调用工具。
- 工具调用:如果需要调用工具,则执行工具并获取结果。
- 更新Prompt:将工具的返回结果添加到Prompt中,继续思考。
- 循环迭代:重复上述过程,直到得出最终答案或达到最大迭代次数。
四、优质开源推荐
这里给大家分享一款由京东开源的多智能体产品:JoyAgent-JDGenie,它基于MIT开源协议,目前在github上有3.7K Star。
github:https://github.com/jd-opensource/joyagent-jdgenie
核心服务解析
1、ui(前端模块):独立的系统前端模块;基于React框架构建,结合Vite构建系统和Node.js,使用Ant Design(antd)作为UI组件库。
2、genie-Backend(核心后端模块):作为系统的核心服务,负责接收前端传来的请求,调用多智能体引擎以及整合后端的各类工具,并协调处理工具与各智能体的响应。它是一个多智能体的执行引擎与任务的核心调度模块,支持任务与工具的并发执行,以提高响应性能;基于Spring Boot3.x框架构建,未使用SpringAi等AI框架,核心功能纯手撸。
3、genie-client(后端模块):作为MCP(模型上下文协议)客户端,用于与MCP Server进行通信,调用外部工具和服务;使用Python 3.11开发,结合UV包管理。
4、genie-tool(后端模块):提供了多种工具和服务,如代码解释、报告生成、搜索操作等,用于支持多智能体系统的任务执行;使用Python 3.11开发,结合UV包管理。
关于私有化部署:
支持docker部署、源码部署,项目源码的说明文档中有详细的操作步骤!这里,我极力推荐大家尝试源码启动,本地Debug一圈可以学到不少东西,中间会遇到一些坑,过程中会让你收获满满!
为什么推荐JoyAgent-JDGenie?
一个原因:Agent核心服务高度可拓展,代码逻辑清晰,针对Agent框架学习这件事极度友好!
genie-backend 是JoyAgent-JDGenie的核心后端服务,基于SpringBoot3.x。它负责处理页面请求,完成Agent核心能力调度:计划制定、思考决策、工具调度、结果整合。
在配置文件application.yml中,我们可以看到各个核心流程的大模型配置、提示词模版。上面我们讲到了,Prompt是React Agent的灵魂。感兴趣的小伙伴,非常建议阅读仔细研究一下这块的提示词,另外,在本地部署Debug过程中也可以尝试修改微调提示词来验证效果。
最让我感到意外的是,它没有集成SpringAI等成熟的AI框架,各个功能模块完全是纯手撸,代码逻辑也清晰明了,我们可以看到各个节点的处理细节!
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。