2. 智能体基础概念

好,我们正式开始聊智能体的架构基础。

很多人一上来就跟我聊大模型、聊强化学习,觉得智能体就是“一个会调用 API 的机器人”。其实不是。智能体的核心,是一个闭环。它得先“看”到世界,然后“想”清楚,最后“动”起来。这个循环,就是感知-思考-行动(Perception-Thinking-Action,简称 PTA 循环)。

2.1 感知-思考-行动循环:智能体的心跳

我习惯把这个循环比作人的本能反应。你伸手去拿水杯,眼睛先看到杯子的位置(感知),大脑判断距离和力度(思考),然后手伸出去(行动)。智能体也一样,只不过它的“眼睛”是传感器或数据接口,“大脑”是推理引擎,“手”是执行器。

核心公式:

智能体行为 = f( 感知(环境) , 思考(内部状态) , 行动(决策) )

这个 f 就是你的架构设计。

我在项目中遇到过一种情况:团队把感知和行动做得特别快,但思考环节用了很重的推理模型,结果整个循环卡在“想”这一步。你想想看,环境都变了,它还在那儿算最优解。这就是典型的循环失衡。

一个健康的 PTA 循环,应该满足以下三点:

  • 感知要快:尽量用轻量级特征提取,别把原始数据直接丢给推理引擎。
  • 思考要准:根据任务复杂度动态选择推理深度,不是所有场景都需要大模型。
  • 行动要稳:执行动作前做一次校验,防止“想对了但做错了”。

我的习惯:在循环的每个环节都加一个超时熔断。感知超时就用缓存数据,思考超时就降级为规则引擎,行动超时就回滚到上一个安全状态。这套机制帮我挡过好几次线上事故。

2.2 环境交互模型:智能体怎么“看”世界?

智能体不是活在真空里的。它必须跟环境打交道。这个“环境”可以是物理世界(比如机器人),也可以是数字世界(比如 API 接口、数据库、网页)。

我习惯把环境交互模型分成三种:

模型类型 交互方式 典型场景 我踩过的坑
完全可观测 智能体能获取环境的全部状态 棋类游戏、模拟器 状态空间太大时,感知会变成瓶颈
部分可观测 智能体只能获取局部或带噪声的信息 自动驾驶、股票交易 我曾经忽略了传感器噪声,导致决策震荡
对抗性环境 环境中有其他智能体在主动干扰 多智能体博弈、网络安全 对手会故意给你假数据,感知层必须做校验

说白了,你设计交互模型时,第一件事就是搞清楚:你的智能体能“看”到什么? 看不全怎么办?看错了怎么办?

我曾经做过一个物流调度智能体,环境接口返回的库存数据有 5 秒延迟。一开始我没在意,结果智能体老是重复下单。后来我在感知层加了一个时间戳校验和去重逻辑,才把问题解决。嗯,这里要注意:环境交互的延迟和噪声,是架构设计里最容易忽略的坑。

避坑指南:我曾经因为环境接口返回的数据格式不统一,导致感知层解析崩溃。后来我强制要求所有环境交互都走一个统一的适配器层(Adapter),把原始数据转成内部标准格式。这个习惯一直保留到现在。

2.3 智能体的内部状态管理:记忆与上下文

智能体不能每次都“从零开始”思考。它需要记住之前发生了什么,当前处于什么状态,下一步该往哪走。这就是内部状态管理。

我把它分成三个层次:

  1. 工作记忆(Working Memory):当前循环的临时数据,用完就丢。比如这次感知到的环境快照。
  2. 短期记忆(Short-term Memory):最近几次循环的上下文。比如对话历史、最近 10 步的行动轨迹。
  3. 长期记忆(Long-term Memory):持久化的知识或经验。比如训练好的模型参数、规则库、知识图谱。

你想想看,如果一个客服智能体连用户刚才说了什么都记不住,那体验得多糟糕?这就是短期记忆没管好。

我的设计原则:

  • 工作记忆用内存数据结构(比如字典或队列),读写要 O(1)。
  • 短期记忆用滑动窗口,窗口大小根据任务动态调整。我一般设 10-20 步。
  • 长期记忆用外部存储(数据库或向量库),只在需要时加载。

下面这张图,是我常用的智能体内部状态流转结构:

智能体内部状态管理结构图 智能体内部状态管理结构 环境 (Environment) 感知 (Perception) 工作记忆 短期记忆 长期记忆 思考 (Thinking) 行动 (Action) 说明:感知数据先写入工作记忆,同时更新短期记忆;思考时从三层记忆中读取上下文;行动后结果反馈回环境。

你看这个结构,感知层拿到数据后,不是直接丢给思考层,而是先写入工作记忆和短期记忆。思考层在做决策时,会同时读取三层记忆。这样做的好处是:决策有上下文,行动有依据。

我的经验:短期记忆的窗口大小很关键。太小了记不住上下文,太大了噪声太多。我一般先设 10,然后根据任务复杂度调。如果是对话场景,20 步左右比较合适;如果是控制类任务,5 步就够了。

2.4 三者如何协同?

感知-思考-行动循环、环境交互模型、内部状态管理,这三者不是孤立的。它们协同工作的方式,决定了智能体的整体表现。

我总结了一个协同检查清单:

  • 感知层:从环境获取数据,更新工作记忆和短期记忆。同时把原始数据归档到长期记忆(用于后续分析)。
  • 思考层:从三层记忆中读取上下文,结合当前目标做决策。决策结果写入短期记忆(作为历史记录)。
  • 行动层:执行决策,把执行结果反馈给环境。同时把结果写入长期记忆(用于经验积累)。

注意:我曾经犯过一个错误——让思考层直接修改长期记忆。结果智能体学了一堆错误经验,越跑越偏。后来我规定:只有行动层确认执行成功后,才能把经验写入长期记忆。 这个规则帮我避免了很多次“自我污染”。

好了,这一章的内容就这些。记住三个关键词:闭环、交互、记忆。把这三件事想清楚,智能体的骨架就搭起来了。