简介:本文系统讲解AI Agent智能体的定义与内部工作原理,拆解参数记忆、对话上下文、工具检索三类知识来源,分析上下文窗口、压缩策略与记忆机制的运行方式,说明Agent如何兼顾效率与效果,并给出典型应用场景与使用注意事项,帮助技术读者建立完整、可落地的Agent认知框架。
AI Agent(智能体)是指以大语言模型为推理核心,能够自主感知环境、规划决策、调用工具并执行任务,以达成特定目标的软件系统。要准确定义它,可以从三个视角切入:
一个AI Agent“知道”的东西,本质上只有两个出处:训练时写入模型参数的知识,以及这一次调用时放进上下文窗口的信息。落到工程实现上,可以细分为三类:
| 来源 | 是什么 | 典型例子 |
|---|---|---|
| 参数记忆 | 训练时压缩进模型权重的知识 | 历史事实、科学常识、常见代码写法 |
| 对话上下文 | 用户和框架放进当前窗口的内容 | 系统提示词、粘贴的日志、上传的文档、历史对话 |
| 工具检索 | Agent主动调用工具取回的内容 | 搜索结果、数据库查询结果、日历事件、知识库文档 |
理解这三类来源,价值在于三点:一是能判断Agent回答的可靠性;二是知道token开销花在了哪里;三是能提前预判它会在哪类问题上出错。Agent给出错误信息,多数情况并不是模型“想骗你”,而是上下文缺失、过时或质量差造成的。
参数记忆(parametric memory)是模型在训练阶段学习“预测下一个词”时顺带压缩进权重的知识。没有人专门为模型编写一部百科全书,它能复述的事实,本质上是训练数据中的统计规律。这带来一个关键特征:参数记忆给出的是“最可能的续写”,而不是“查证过的事实”。
它的可靠性遵循一条规律:某类信息在训练数据中出现得越多、越稳定、越一致,参数记忆就越可靠;越新、越冷门、越容易变化的信息,越容易出现“编造”。
因此工程上的共识是:凡是可以被外部检索核实的信息,尽量不让模型只依赖参数记忆作答,而是引导它查询工具或阅读上下文中的资料。
上下文窗口是模型单次推理时能“看到”的全部内容,可以理解为一张有物理上限的工作台。系统提示、对话历史、检索到的文档、工具返回的结果,都要摆在这张台上。窗口约束带来两个工程问题:
当历史信息逼近上限时,框架通常采用压缩策略,常见做法包括:
单次会话结束后,窗口中的内容默认不会保留。为了让Agent具备长期记忆,工程上通常引入三类机制:
Agent的典型运行流程可以概括为一个闭环:
接收目标 → 感知/检索信息 → 拆解规划 → 逐步执行↑ ↓调整计划 ← 反思校验 ← 观察结果(工具返回/环境反馈)
用示意性伪代码表达:
while not task_done:observation = observe(context, tool_results)decision = llm(goal, thoughts, observation)if decision.need_tool:result = call_tool(decision.tool, decision.args)else:return decision.answer
每一步都可能是模型推理、工具调用或对外部系统的真实操作;每一步的结果又作为新的观察进入下一轮思考,直到目标达成。
效率与效果的矛盾集中在一点:信息越全,效果通常越好,但token消耗、延迟和成本越高。成熟的Agent系统通过以下方式权衡:
在实际落地时,主流的模型服务平台(例如百度智能云提供的大模型服务)通常将模型推理、知识库检索、工具编排等能力作为通用基础设施对外提供,开发者可以在此基础上组合上下文管理、记忆存储与工具集成,搭建符合自身业务的Agent应用。
回到定义本身:AI Agent是以大模型为推理核心、以上下文窗口为工作台、以工具为手脚、以记忆系统为长期积累的自主任务执行系统。它的知识来自参数记忆、对话上下文与工具检索三个来源;它对效率与效果的平衡,本质上是对“什么时候用哪类知识、放多少信息进窗口、调多少次工具”的精细管理。理解这套原理,就能判断一个Agent的回答是否可信、成本花在哪里,以及在自己的业务系统中应该如何设计、接入与使用它。