新闻详情

News Information

自主智能体 · ReAct 架构
2026-08-29

????????????_20260829094410_329_78.png

一、核心思想:ReAct 循环

自主智能体的本质是一个 "思考—行动—观察"的闭环,不是一次性问答:


  • Think(推理):LLM 分析当前状态,决定下一步该干什么

  • Act(行动):调用某个工具执行(搜索、写文件、跑代码、调 API…)

  • Observe(观察):把工具返回的结果喂回 LLM

  • Loop:没完成就回到 Think 继续推理;完成了就输出最终结果

关键点:LLM 不直接产出答案,而是产出一连串"动作",靠工具与环境交互,自己把任务一步步做出来。


二、四个必备组件

组件作用你需要准备什么
LLM 大脑推理 + 规划 + 决策大模型 API+ 一个结构化 prompt
工具库 Tools执行能力(否则 LLM 只会说话)把函数封装成统一签名的 tool,带名字/描述/参数 schema
记忆 Memory存对话历史 + 中间结果一个消息列表(短期),可选向量库(长期)
循环控制 Loop驱动 Think→Act→Observe,判断结束一个 while 循环 + 结束条件检测



三、实现的骨架(伪代码)


Python


messages = [system_prompt, user_task]
while True:
    resp = llm.chat(messages, tools=tool_schemas)   # LLM 推理
    
    if resp.tool_calls:                              # 要行动
        for call in resp.tool_calls:
            result = dispatch_tool(call.name, call.args)  # Act
            messages.append(tool_result(call.id, result)) # Observe,喂回去
    else:                                            # 不再调用工具 = 完成
        return resp.content                          # 输出最终结果


这就是全部骨架。关键是 LLM 自己决定调哪个工具、传什么参数、要不要继续,你的代码只负责"执行 + 喂回去 + 判断结束"。


四、让智能体真正"自主"的三个工程要点

  1. System Prompt 要给角色和约束 — 告诉它"你是任务执行型智能体,先拆解任务再逐步执行,每步只做一件事,遇到不确定就调用工具核实"。这是它"会规划"的来源。

  2. 工具要用 function calling 标准格式 — 每个工具写清楚 name/description/parameters(JSON Schema)。描述写得好,LLM 选工具才准。把你想让它能干的事(读文件、搜索、HTTP 请求、执行代码…)都封装成工具。

  3. 必须设安全护栏 — 自主循环容易"跑飞"或烧 token:

  • 最大循环次数(如 20 次)硬截断

  • 单工具执行超时 + 报错回喂

  • 危险操作(删文件、付款)走人工确认