用纯 Java 手写最小 ReAct Agent
作者:程序员马丁
note
Ragent AI —— 从 0 到 1 纯手工打造企业级 Agentic RAG,拒绝 Demo 玩具!AI 时代,助你拿个offer。
上一篇咱们把 ReAct 范式讲透了:推理和行动交替运转的 Thought-Action-Observation 三元组,用退款和查物流两个场景走了完整轨迹。最后那段 agentRun 骨架代码,你已经能看懂每一行对应三元组的哪个环节。
但那毕竟是骨架——buildReActPrompt、parseAction、toolRegistry 全是方法名,里面一行实现都没有。这一篇,咱们把骨架变成能跑的代码。
目标很明确:用纯 Java + OkHttp,不依赖任何 Agent 框架,实现一个最小可运行的 ReAct Agent。跑起来之后,你在 IDE 里打个断点,能一圈一圈看比特严选智能体怎么想、怎么干、怎么看结果再接着想。代码量不大,但跑通这一趟,ReAct 就不再是概念,而是你手里实实在在的工程能力。
这篇的目标是跑通,不是做到完美。工具定义、提示词打磨、输出解析、终止控制,分别在第 06 到 09 篇逐一深入。这里先用最简版把整个循环串起来。
本项目中具体代码已上传 GitHub TinyAgent,大家 Clone 项目后,将代码分支切换到 1.0.x,默认主分支是最新代码。运行前复制
.env.example为.env,把自己的 API Key 填进去,默认阿里云百炼平台;.env已加入.gitignore,切分支时不会丢。