本文整理自 B 站视频《AI Agent 底层原理》(BV1cQMJ6UEUA),综合个人对Agent理解。文中所有原理、例子与数据均可在文末"参考来源"处核实。
引言:Agent 没有魔法
AI Agent 火了快一年,市面上讲"能做什么"的演示一大把,真正把底层讲清楚的不多。拆开任何一个 Agent 看,你会发现里面没有魔法,只有一堆小技巧:消息怎么传、提示词怎么控、格式怎么锁、工具怎么调、知识怎么查、决策怎么循环、多个 AI 怎么分工。
下面这 12 个原理,从一次对话的底层数据格式,讲到多个 AI 协作干一件大事。每个原理单独拎出来都不稀奇,串起来才是 Agent。我按"对话基础 → 输出控制 → 外部能力 → 决策与可靠性 → 协作编排"的顺序写,每一节先讲人话,再拆机制。
一、对话的底层:消息数组与"记忆"的真相
1. Message 数组:AI 对话的唯一通道
你和 AI 一来一回的对话,底层是一个 JSON 格式的 message 数组。每次请求都带着一组参数,里面装着你们来回的历史对话;模型读完整组参数,接着写下一句。发一个空数组过去,它一个字都说不出来,因为没有上文可续。
{
"model": "gpt-5",
"messages": [
{ "role": "user", "content": "我养了只猫叫小花" },
{ "role": "assistant", "content": "小花是什么品种?" },
{ "role": "user", "content": "小花是只布偶猫" }
]
}这段 JSON 就是对话最底层的通信格式。各种聊天界面的背后,请求格式大同小异,无非是往 messages 里塞消息。记住一件事:模型能看到的,只有你喂给它的那段文本。后面所有技巧,都建立在这个前提上。
2. "记忆"是假的:AI 像鲸鱼,每次都是重新开始
AI 怎么记住你说过的话?它没有记忆。AI 像鲸鱼,每接一次请求都是重新开始。你第二次问"小花是什么品种",它还记得,是因为你又把第一轮对话原样塞了回去。装这段历史的窗口,就是上下文窗口。
所以严格说,AI 的记忆等于上下文。历史消息被删掉,或者超出窗口,这段信息就没了。工程上有个直接推论:凡是需要"长期记忆"的场景(用户画像、项目背景、跨会话状态),都得靠外部存储兜底,每次请求重新注入,别指望模型自己记得。
3. System Prompt:一句话改变人设
让 AI 演一个角色?在请求最前面加一句"你是一个抠门的老板",同一个问题,画风立刻变。这就是 System Prompt,它放在普通用户消息之外,规定角色、任务边界、语气和行为规则。
一个常见的误解是 System Prompt 能给模型"喂知识"。它改变的是生成时的约束条件,不是模型肚子里的事实。人设写得再漂亮,"知道什么"还是取决于模型参数和喂进去的上下文,关键结论照样要配资料注入和结果校验。
二、让模型好好说话:输出控制的四件套
4. 概率生成:AI 算数总错,加一句"一步一步算"就好
大模型靠概率预测续写:根据前文猜下一个字。让它直接算 12345 × 12345,它大概率蒙一个数,错了也不自知。跟 AI 聊过天的人大概都见过它一本正经地报个错答案,数字越大错得越离谱。想不调用工具就提高准确率?加一句话:请一步一步算。
它会按步骤展开计算,正确率立刻上一个台阶。原因在于自回归生成在长链条推理上会累积误差,把推理过程显式展开后,每一步只做一次短预测,误差被中间步骤兜住。后来流行的 Chain-of-Thought(思维链)提示词,理论源头就是这里。
5. 少样本提示:一个例子,顶十句抽象说明
想让 Agent 稳定输出 JSON,光说"请以 JSON 格式输出"常常不灵。给两三个"输入 → 输出"的例子,它一看就懂,格式就锁死了。
输入:请查询北京的天气
输出:{"action": "get_weather", "city": "北京"}
输入:请查询上海的天气
输出:{"action": "get_weather", "city": "上海"}有两个细节值得注意:示例要覆盖正常情况和边界情况,格式必须完全一致,解析失败率会低很多。调 Agent 的人八成都在格式解析上栽过跟头,我自己的经验是,大部分时候是示例没给够。视频里那句原话是:一个例子,顶你说十句话。
6. 预填充:替 AI 写好开头,把格式定死
AI 爱说废话:"好的,这是你想要的,让我来帮你……"Agent 流程里只需要干净的答案。怎么治?在它要回答的位置,替它把第一个字写好,比如一个大括号 {。模型没法从头写,只能接着大括号往下走,于是一句废话没有,直接吐出一段合法 JSON。
这就是预填充:你帮它开了头,格式也就定死了。今天各大模型 API 的 json_mode、response_format 参数,其实就是把"预填充 + 约束解码"内置化了,原理还是这一条:别让模型自由发挥开头。
7. 停止序列:让 AI 在该停的地方停
Agent 循环里,模型需要输出到指定位置就停,把控制权交回给程序。办法是设一个停止符号,比如"观察",它写到这两个字就停。
不设会怎样?AI 可能顺手把工具的返回结果自己编出来,幻想一个输出,Agent 就带着错误数据继续跑,各种诡异 Bug 就来了。停止序列就是循环的刹车。
三、工具调用:AI 根本不会"调用"工具
8. 模型只会吐字符串,框架负责执行
AI 根本不会调用工具。它永远只做一件事:吐字符串。工具调用的完整链路是这样的:
在模型外部搭一个"壳子"(Agent 框架),预先约定工具名和参数格式;
告诉模型:想要北京的天气?输出这段 JSON 格式的参数即可;
模型输出
{"action": "get_weather", "city": "北京"};外部框架解析这串字符串,校验后真正去调用天气 API;
API 返回"26 度",框架把结果作为新消息喂回给模型;
模型基于真实结果生成最终回答。
AI 输出字符串 → 框架解析 → 调用 API → 返回结果 → AI 生成回答这就是工具调用协议(视频里叫 function calling)。模型负责决定做什么,框架负责真正去做,工具能力来自两者的组合。同一个模型配上不同的工具集,能力可以差出几个档次,原因就在这里。
四、RAG:AI 的"现读现答"
9. 模型不懂你的公司,但它会现查现答
AI 并不天然掌握你公司内部的专业知识。提问之前,程序先去文档库里检索相关段落,把片段塞进提示词,和问题一起发给 AI。它不是"懂",是现读现答。这就是 RAG(Retrieval-Augmented Generation,检索增强生成)。
用户提问 → 检索文档片段 → 片段+问题注入上下文 → 模型基于资料生成回答RAG 把回答拆成"检索"和"生成"两步,检索质量直接决定答案质量。检索到无关片段,再强的模型也只能答非所问。所以 RAG 工程的功夫大多不在模型,而在切分策略、向量索引和相关性排序。企业内部问答、客服机器人、文档助手,背后基本都是这套流程。
视频里还提到一个行业现状:RAG 是 2024 年的主流方案;如今 Claude、GPT 的上下文窗口越来越大,已经能自己一小段一小段地读文档,像人一样。RAG 未来往哪走,行业还在分化,是"检索得更好",还是"上下文大到不用检索",没有定论。
五、自主决策与幻觉:Agent 的"想"与"错"
10. ReAct:一个 while 循环加一个模板
Agent 怎么自主决策?拆开看就一个 while 循环,加一个"思考 → 行动 → 观察"的模板。
while 未得到最终答案:
思考(Thought):我下一步该做什么?
行动(Action):调用哪个工具、传什么参数
观察(Observation):工具返回的结果AI 按这个格式输出,代码识别其中的行动并执行,再把结果反馈给 AI,转几圈得出答案。这就是 ReAct 模式。自主性不是模型单独完成的,是模型决策、程序执行、结果反馈三者循环出来的。今天主流 Agent 框架(LangChain 的 AgentExecutor、Claude Code 的工具循环)跑的都是这个套路。
11. 幻觉是机制,不是 Bug
AI 为什么动不动就瞎编?它的本质是根据前面的字猜下一个最可能的字,没有"知道"和"不知道"的概念,问什么都能编出一段话。这就是自回归生成,幻觉是机制性的固有风险,不是偶发故障。
视频里有个例子:问"李白在 1985 年发表过什么著作",AI 可能煞有介事地编出一本《绿光集》,它压根不知道李白已经死了一千多年。AI 没有"我不确定"这个选项,它只是接着猜下一个字。
对重要决策,我的习惯做法有三条:
要求 AI 给依据,让它基于事实和检索结果回答,别凭记忆发挥;
优先用工具和检索,让 AI"去网上查一下",错误会少很多;
关键结论自己或让规则复核一遍,模型的输出只当待核实的草稿。后来我写文章引用数据,也都让它先查来源再下结论,编的情况确实少很多。
六、多 Agent:一个老板,一群小弟
12. 主 Agent 拆活,子 Agent 干活
多个 AI 怎么配合干一件大事?让一个大模型当老板:接到任务先拆活,机票查询分给一个子 Agent,酒店分给另一个,行程规划再分一个,各自干完,结果汇报给主 Agent,由它汇总成最终方案。Claude Code 的 Agent Teams 就是这种工作方式,一个主 Agent 挂多个子 Agent,再汇总回来。
知识卡片里有一条提醒我挺认同:拆分只有在任务可并行、专业能力不同、或者上下文需要隔离时才有价值,否则只会增加通信和协调成本。单 Agent 能解决的问题,硬拆成多 Agent,反而多了消息传递和结果对齐的麻烦。
结语:Agent 就是这些技巧的组合
回头看这 12 个原理:message 数组是对话的通道;"记忆"是上下文窗口,得靠外部存储兜底;System Prompt 定人设;分步计算提准确率;少样本锁格式;预填充让模型直接吐 JSON;停止序列管刹车;工具调用是模型吐字符串、框架执行;RAG 让模型现查现答;ReAct 循环做决策;幻觉必须事实核验;多 Agent 靠主从分工。
这些原理单独拎出来都不复杂,按正确的顺序组合起来,就是一个能跑的 Agent。做 Agent 需要的是把这些小块拼对,而不是等一个现成的魔法。
思维导图
参考来源
视频:《AI Agent 底层原理 12 个原理一次讲透》(BV1cQMJ6UEUA),B 站:https://www.bilibili.com/video/BV1cQMJ6UEUA
结构化梳理:思维导图
本文为学习笔记整理,非视频逐字稿;第 4 节思维链、第 6 节 json_mode、第 10 节 LangChain 等延伸内容为作者补充,仅作理解参考。
评论