智能体
Google Advent of Agents 第三季来了![1]
Advent of Agents 第三季是 Google Cloud 推出的一个免费、为期 31 天的系列,主题是为生产环境构建安全且受治理的 AI 智能体。
整个十月,每天发布一篇动手教程,内容涵盖:智能体身份、护栏(guardrails)、沙箱化、可观测性、评测、MCP 安全、成本控制,以及集群管理(fleet management)。
来这里看看:https://adventofagents.com[2]
每篇教程都从一个客户和安全团队真的会问的问题出发,然后用可运行的代码来回答它。
感谢 Google 今天的赞助合作!
智能体工程
用 LangGraph 和 Jev 搭建生产级智能体框架[3]
我们动手实践课《Agent Engineering》的第 3 部分和第 4 部分现已上线:
第 3 部分:用 LangChain Middleware 和 Jev 构建智能体框架 →[4]
第 4 部分:用 LangGraph 和 Jev 实现规划与验证循环 →[5]
Jev 是一个System One 模型——它不为开放式文本做生成,而是为带类型的决策返回经过校准的概率。
在这两部分里,我们用它来做这些事:路由模型调用、对请求分类、评估工具风险、核验证据,以及在智能体循环中检测「反复用同一招」。
完整实现涵盖了:
重试、回退、模型路由和硬性调用上限
PII 脱敏、注入过滤和权限强制
写操作需人工批准
基于 Jev 的请求分类与工具风险检查
带完成判据的结构化规划
证据检查、Jev 概率区间(probability bands),以及独立的大模型验证
修复、重规划、卡死检测和执行预算
只允许把已验证的结论写入记忆
第 3 部分构建的是围绕单次模型和工具调用的控制;第 4 部分则把这个智能体放进一个显式的 LangGraph 循环里:
这个参考项目为上述各项控制加了46 个测试,并包含完整实现。
在第 3 部分里搭出这个框架 →[6]
在第 4 部分里加上规划与验证 →[7]
为什么值得关心?
智能体内部的很多决策需要语义判断,但并不需要另一个模型去生成文本。
一个路由器要从固定的一组模型里挑一个。
一个护栏要判断这个请求该不该继续。
一个验证器要判断现有证据是否满足某条完成判据。
传统大模型当然能做这些决策,但它的输出仍然需要写 prompt、解析和校验。确定性规则更便宜、更可预测,但它只能抓住事先编码进去的那些情况。
**Jev 处理的正是中间地带。**它接收当前状态和一个带类型的问题,然后在一个固定 schema 内返回一个概率。
第 3 部分把这些概率用于路由、请求筛查和工具风险检查;第 4 部分则把它们用在一个三层验证器里:
确定性证据检查:无需调用模型,先处理掉明显的失败。
Jev:接受或拒绝高置信度的情况。
独立的大模型检查器:处理不确定的中间区间。
Jev 不会取代权限、确定性检查或人工批准。它的概率只是更大控制系统里的一个信号。
这种设计适用于那些「需要语义、但答案空间有界」的智能体决策。它也展示了确定性代码、概率分类器和通用大模型如何协同工作——而不必把每一个决策都推给主智能体。
到第 4 部分结束时,这个客服智能体已经能够:从供应商故障中恢复、阻止未授权的写操作、把动作暂停等待批准、验证每一步调查、在进展停滞时换思路,以及在任务无法完成时返回明确的状态。
在第 3 部分学习如何路由、守卫和批准智能体动作 →[8]
在第 4 部分学习如何正确规划、验证并停止智能体循环 →[9]
👉 交给你了:你会把哪些有边界的智能体决策,从通用大模型手里挪走?
LLMOps
大模型调度循环,一次讲清楚:[10]
当用户向大模型发出一条 prompt 时,由此产生的推理请求并不会直接从 API 端点走到 GPU 上。
它会先进入服务引擎(serving engine),由其中的**调度器(scheduler)**决定它的 token 在何时、以何种方式被处理。
下面是完整的生命周期:
想深入完整的 LLMOps 生命周期,我们在 LLMOps 课程里从基础到生产环境全都讲了一遍。从这里开始 →[11]
1)请求进入等待队列
每个请求都带着 prompt、采样设置和最大输出长度到达。
prompt 长度各不相同,而调度器无法预知最终的生成长度。因此它一次迭代、一次迭代地管理这些请求。
2)调度器组装下一批
在每一个模型步之前,调度器会检查两个主要约束:
这一轮迭代最多能处理多少 token
还剩多少 KV 缓存空间
然后它应用调度策略,通常是优先已在运行的 decode 请求,再接纳新工作。
3)新请求进入 prefill(预填充)
在 prefill 阶段,模型处理 prompt 的各个 token,并创建注意力机制所需的 K 和 V 张量。
这个阶段可以并行处理大量 prompt token。很长的 prompt 可能会被切成多个块(chunk),以免长时间阻塞正在进行的生成。
4)运行中的请求进入 decode(解码)
prefill 完成后,请求转入 decode。模型此时利用前面所有 token 已建立的 KV 缓存,生成下一个 token。
标准的自回归解码,通常在一个模型步里为每个活跃请求只新增一个 token。
5)GPU 执行被选中的工作
现代服务引擎可以把 prefill 和 decode 的工作放进同一个 GPU 批次。例如:请求 A 可能正在处理它的 prompt,而请求 B 和 C 正在生成各自的下一个 token。
因此,批次并不是一个「跑到底才结束」的固定分组——它的构成在每一个模型步之后都可能改变。
6)引擎更新请求状态
执行结束后,生成的 token 被采样并追加到各自的请求上。
一个已完成的请求会释放它的 KV 缓存块,并离开批次。
一个未完成的请求保留状态,并成为下一轮调度的候选。
调度器随后就能用释放出来的 token 预算和缓存空间,去接纳另一个等待中的请求。
在下图中,C 在第 1 轮迭代后完成,于是 D 在第 2 轮进入;到第 3 轮时,活跃批次里只剩 A 和 D。
这种迭代级替换就是连续批处理(continuous batching)。它让 GPU 持续保持忙碌,同时让 prompt 长度和输出长度各不相同的请求各自独立推进。
想深入完整的 LLMOps 生命周期,我们在 LLMOps 课程里从基础到生产环境全都讲了一遍:
第 1 部分:LLMOps 基础 →[12]
第 2 部分:理解大模型的核心构件 →[13]
第 3 部分:大模型的关键组件,聚焦注意力机制、Transformer 与 MoE 等架构,以及预训练与微调的基础 →[14]
第 4 部分:解码策略、生成参数、最佳实践,以及大模型应用的完整生命周期 →[15]
第 5 部分:从系统视角看上下文与 prompt 工程、上下文学习、prompt 类型与各类提示技巧 →[16]
第 6 部分:prompt 版本管理、防御式提示,以及 verbalized sampling、角色提示等技巧 →[17]
第 7 部分:上下文工程,涵盖上下文类型、上下文构建原则,以及用于构建高信噪比输入的检索类技巧 →[18]
第 8 部分:大模型系统中的记忆、动态与时序上下文,涵盖短期与长期记忆、动态上下文注入,以及智能体应用中的常见失效模式 →[19]
第 9 部分:大模型应用的评测方法,主要聚焦建立对基础概念的扎实理解 →[20]
第 10 部分:大模型应用中的评测基准、面向具体任务的方法论,以及评测核心工具链 →[21]
第 11 部分:多轮系统评测、工具使用评测、追踪(tracing)与红队测试 →[22]
第 12 部分:大模型微调、LoRA 与 QLoRA 等参数高效方法,以及 RLHF、DPO、GRPO 等对齐技术 →[23]
第 13 部分:大模型推理优化、KV 缓存、PagedAttention、FlashAttention、投机解码与模型并行 →[24]
第 14 部分:大模型服务基础,包括基于 API 的访问、用 vLLM 做推理,以及实践中的决策 →[25]
引用链接
[1]Google Advent of Agents 第三季来了!:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/z2hghnhem0noqdsph0/aHR0cHM6Ly9hZHZlbnRvZmFnZW50cy5jb20v
[2]https://adventofagents.com:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/z2hghnhem0noqdsph0/aHR0cHM6Ly9hZHZlbnRvZmFnZW50cy5jb20v
[3]用 LangGraph 和 Jev 搭建生产级智能体框架:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/p8heh9h4p8m9n9cqh3/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vYWktYWdlbnRzLXdpdGgtbGFuZ2dyYXBoLWNvdXJzZS1wYXJ0LTMtd2l0aC1pbXBsZW1lbnRhdGlvbg==
[4]第 3 部分:用 LangChain Middleware 和 Jev 构建智能体框架 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/p8heh9h4p8m9n9cqh3/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vYWktYWdlbnRzLXdpdGgtbGFuZ2dyYXBoLWNvdXJzZS1wYXJ0LTMtd2l0aC1pbXBsZW1lbnRhdGlvbg==
[5]第 4 部分:用 LangGraph 和 Jev 实现规划与验证循环 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/x0hph6he4xon5wb5hl/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vYWktYWdlbnRzLXdpdGgtbGFuZ2dyYXBoLWNvdXJzZS1wYXJ0LTQtd2l0aC1pbXBsZW1lbnRhdGlvbi8=
[6]在第 3 部分里搭出这个框架 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/p8heh9h4p8m9n9cqh3/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vYWktYWdlbnRzLXdpdGgtbGFuZ2dyYXBoLWNvdXJzZS1wYXJ0LTMtd2l0aC1pbXBsZW1lbnRhdGlvbg==
[7]在第 4 部分里加上规划与验证 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/x0hph6he4xon5wb5hl/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vYWktYWdlbnRzLXdpdGgtbGFuZ2dyYXBoLWNvdXJzZS1wYXJ0LTQtd2l0aC1pbXBsZW1lbnRhdGlvbi8=
[8]在第 3 部分学习如何路由、守卫和批准智能体动作 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/p8heh9h4p8m9n9cqh3/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vYWktYWdlbnRzLXdpdGgtbGFuZ2dyYXBoLWNvdXJzZS1wYXJ0LTMtd2l0aC1pbXBsZW1lbnRhdGlvbg==
[9]在第 4 部分学习如何正确规划、验证并停止智能体循环 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/kkhmh6hno4r8k6slh7/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vYWktYWdlbnRzLXdpdGgtbGFuZ2dyYXBoLWNvdXJzZS1wYXJ0LTQtd2l0aC1pbXBsZW1lbnRhdGlvbg==
[10]大模型调度循环,一次讲清楚::https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/58hvh7hg4lq5r7b6h4/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTEv
[11]从这里开始 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/58hvh7hg4lq5r7b6h4/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTEv
[12]第 1 部分:LLMOps 基础 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/58hvh7hg4lq5r7b6h4/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTEv
[13]第 2 部分:理解大模型的核心构件 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/25h2hoh3qn67knh3h4/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTI=
[14]第 3 部分:大模型的关键组件,聚焦注意力机制、Transformer 与 MoE 等架构,以及预训练与微调的基础 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/qvh8h7hdlqz89eilhk/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTM=
[15]第 4 部分:解码策略、生成参数、最佳实践,以及大模型应用的完整生命周期 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/g3hnh5hm0xre4rcrh9/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTQ=
[16]第 5 部分:从系统视角看上下文与 prompt 工程、上下文学习、prompt 类型与各类提示技巧 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/9qhzhnhden0gowt9h3/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTU=
[17]第 6 部分:prompt 版本管理、防御式提示,以及 verbalized sampling、角色提示等技巧 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/3ohphkh3kv0qegtrhn/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTY=
[18]第 7 部分:上下文工程,涵盖上下文类型、上下文构建原则,以及用于构建高信噪比输入的检索类技巧 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/n2hohvhvlemnzpa6hg/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTc=
[19]第 8 部分:大模型系统中的记忆、动态与时序上下文,涵盖短期与长期记忆、动态上下文注入,以及智能体应用中的常见失效模式 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/48hvhehm7kv04dhxh7/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTg=
[20]第 9 部分:大模型应用的评测方法,主要聚焦建立对基础概念的扎实理解 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/wnh2hghql8nreeu7hx/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTk=
[21]第 10 部分:大模型应用中的评测基准、面向具体任务的方法论,以及评测核心工具链 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/08hwh9h2pqvm3phlh5/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTEw
[22]第 11 部分:多轮系统评测、工具使用评测、追踪(tracing)与红队测试 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/8ghqhoho7kzgm8ukh9/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTEx
[23]第 12 部分:大模型微调、LoRA 与 QLoRA 等参数高效方法,以及 RLHF、DPO、GRPO 等对齐技术 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/vqh3hrhoq8lnz5ighl/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTEyLw==
[24]第 13 部分:大模型推理优化、KV 缓存、PagedAttention、FlashAttention、投机解码与模型并行 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/l2hehmhldweox5h6h0/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTEzLw==
[25]第 14 部分:大模型服务基础,包括基于 API 的访问、用 vLLM 做推理,以及实践中的决策 →:https://fff97757.click.kit-mail3.com/xmu0kkl66gh6hpmg0kka5h20wwx96bnhpl8xx/m2h7h5h3lwvo4gtmhq/aHR0cHM6Ly93d3cuZGFpbHlkb3Nlb2Zkcy5jb20vbGxtb3BzLWNyYXNoLWNvdXJzZS1wYXJ0LTE0