第 20 课 Agent 概念辨析
一些容易混淆或者难理解的概念解释
预计 8 分钟 · 系列:从 0 到 1 设计一个 Agent
本课要点
1. Agent Loop
概念解释
Agent Loop 是 Agent 在一次任务中反复进行判断、行动和反馈的过程。系统把当前目标与信息交给模型,模型决定回答还是调用工具;行动结果再成为下一轮判断的依据。这个循环会在任务完成、需要人工介入或达到停止条件时结束。
生活中的例子
像厨师炒菜时边做边尝:尝过觉得淡,就补一点盐,再尝一次,满意后才出锅。每一步都根据刚得到的结果决定下一步,而不是只按最初的计划机械执行。
2. Agent Harness
概念解释
Agent Harness 是围绕模型搭建的控制程序,让模型能按规则完成任务。它准备上下文、驱动 Agent Loop、安排工具调用并把结果交还模型,也可以管理状态、权限和停止条件。模型负责提出下一步,Harness 负责把这些步骤组织成可执行、可控制的过程。
生活中的例子
像餐厅的出餐系统:它接收订单,把菜谱和过敏提醒交给厨师,安排可用的厨具,并记录菜做到哪一步。厨师判断怎么做菜,出餐系统让这件事有顺序、有记录,也不会漏掉必要的检查。
3. Agent Runtime
概念解释
Agent Runtime 是 Agent 实际执行时依赖的运行环境与服务能力。它承载任务和会话,提供计算资源与隔离,并在需要时支持长任务的暂停、恢复和扩缩容。不同产品对 Runtime 的划分略有差异;这里用它指支撑 Harness 稳定运行的执行层。
生活中的例子
像餐厅真正营业的厨房:灶台、水电和工位让厨师与出餐系统可以持续工作。订单变多时要增加工位,设备中断后还要能接着处理未完成的订单;这些都是厨房运转条件的问题。
4. KV Cache(KV 缓存)
概念解释
KV Cache(Key-Value Cache)保存模型在当前上下文中已经计算出的注意力 Key、Value 状态。生成下一个 token 时,模型可以复用历史 token 的缓存状态,避免每一步都重新计算整段历史;新生成的 token 会继续加入缓存。它缓存的是中间计算状态,不是已经写出的答案。上下文越长,KV Cache 通常占用的显存也越多。
生活中的例子
像在一场考试里写作文:没有缓存时,每写下一句都从作文开头重新读起,反复梳理已经写过的内容;有 KV 缓存时,已处理过的题目和段落对应的关键信息会留在草稿纸上,继续写时直接接着用,不必重新计算已经处理过的内容,再根据现有上下文生成下一句。它帮助模型在同一段生成中持续往下写。
5. Prompt Cache(提示词缓存)
概念解释
Prompt Cache 通常指把已处理的提示词前缀对应的 KV 状态保留下来,供后续请求复用。可以把它理解为:KV Cache 主要复用当前生成中的历史状态,Prompt Cache 则尝试让后续请求复用相同提示词前缀的处理结果。当请求使用相同模型和兼容设置,且开头的内容完全一致时,系统可以跳过这段共享前缀的重复处理,继续处理后面的新内容并生成回答。它复用的是输入处理的中间结果,不是缓存并返回旧答案;具体命中规则和保留时间会因模型服务而异。
生活中的例子
像参加两场不同的考试,第二场又出现与第一场完全相同的题目。第一次做题时,你已经读懂并整理了题目背景;第二次可以复用这份“读题笔记”,少花时间重新读懂题干,再根据本场要求作答。注意,复用的是已处理的题目内容,不是把上一场的答案复制过来;如果题干、前置说明或规则有改动,对应部分就可能无法复用。
KV Cache 与 Prompt Cache 对比
| 对比项 | KV Cache | Prompt Cache |
|---|---|---|
| 可以理解成 | 当前答题时的草稿本 | 下次答题可以重复用的笔记 |
| 主要发生在哪里 | 一次推理/生成过程中 | 多次请求之间 |
| 解决什么问题 | 不重复计算已经生成过的 Token | 不重复处理相同的 Prompt |
| 最明显的效果 | 让生成速度更快 | 降低重复长 Prompt 的延迟和成本 |
| 特别适合 | 所有文本生成 | 长 System Prompt、长文档、固定知识库、Agent 工具说明 |