术语表 — Agent 与 Harness 核心词汇
术语表 — Agent 与 Harness 核心词汇
这份表解决什么问题
学习路线阶段 0 的目标是"先建立地图,解决熟悉很多产品但概念边界可能混用的问题"。本表是那张地图的词汇层:不追求百科式完整,只收录边界容易被混用的词,每条给出「一句话定义 + 最容易混淆的邻居 + 判别问句」。
用法:每完成一个阶段,回来修订本表——把定义改成自己的话,把判别问句换成自己踩过的坑。定义一直抄别人的,说明这个概念还没进脑子。
关于"标准定义"
Agent 领域没有权威词典,同一个词在 Anthropic、OpenAI、LangChain 的文档里含义可能不同。本表在有分歧处标注出处而不是硬造统一说法。遇到分歧时,正确做法是问"在谁的语境下",而不是争"到底哪个对"。
一、层次词:模型到产品之间有哪些软件层
产品经理最常见的表达事故,是把这五个词当同义词用。
| 词 | 一句话定义 | 边界判别问句 |
|---|
| Model(模型) | 一次输入 → 一次输出的无状态函数,本身不记忆、不行动 | 断网后它还能"做"什么?答案是只能生成文本 |
| Framework / SDK(框架) | 帮你少写胶水代码的库,运行在你的进程里,生命周期由你控制 | 它是不是"你 import 的东西"?是则为框架 |
| Runtime(运行时) | 负责任务怎么被执行的执行引擎:调度、持久化、恢复、重试 | 进程崩了以后任务还能接着跑吗?能则有 Runtime |
| Harness(运行外壳) | 把模型包成一个能干活的系统的那一整层:指令装配、工具面、文件系统、沙箱、会话、压缩、权限、扩展、可观测性 | 换掉底层模型,这套东西还在吗?在则是 Harness |
| Agent Application(Agent 产品) | 面向具体用户与场景的产品:交互形态、边界承诺、定价、运营 | 用户为什么付钱?答案在这一层,不在前四层 |
判别口诀
Framework 是你写的、Runtime 是跑你的、Harness 是包模型的、Application 是卖给人的。
二、形态词:Chatbot / Copilot / Workflow / Agent
这四个词的区别不在"聪明程度",在谁决定下一步做什么。
| 词 | 谁决定下一步 | 有无副作用 | 典型失败 |
|---|
| Chatbot | 用户(每轮都问) | 通常无 | 答错 |
| Copilot | 用户决策、模型建议 | 有,但由用户确认 | 建议被无脑接受 |
| Workflow(工作流) | 代码(预定义路径),模型只在节点内工作 | 有,路径可预测 | 路径覆盖不到的情况 |
| Agent | 模型(动态决定用什么工具、做几步、何时停) | 有,路径不可预测 | 死循环、偏航、越权 |
来源分歧提示:Anthropic 在 Building Effective AI Agents(2024-12-19)里把 workflow 和 agent 并列为 agentic systems 的两种架构;OpenAI 的 A Practical Guide to Building Agents 则把 agent 定义为"有 instructions(该做什么)+ guardrails(不该做什么)+ tools(能做什么)"的系统。两者不冲突,但强调点不同:前者强调控制权归属,后者强调三件套齐备。
这条边界的产品含义
"这个需求要不要上 Agent"的答案几乎总是先问:路径是否可枚举。可枚举就写 Workflow——便宜、可测、可解释;只有当路径本身依赖运行时观察到的信息时,才需要把控制权交给模型。
三、循环词:Agent 内部一次任务是怎么转的
| 词 | 定义 | 常见混用 |
|---|
| Agent Loop | 输入 → 推理 → 工具调用 → 环境反馈 → 再推理 → 停止 的循环 | 与"多轮对话"混用。多轮对话的驱动力是用户,Agent Loop 的驱动力是停止条件未满足 |
| Turn(轮) | 一次用户输入到一次最终回复之间的整段过程,内部可能有很多步 | 与 Step 混用 |
| Step(步) | 一次模型请求 + 其触发的工具调用 | — |
| Tool Call(工具调用) | 模型输出的一个结构化调用意图 | 与"函数执行"混用。模型只产生意图,执行由 Harness 完成 |
| Observation(观察) | 工具执行结果回填进上下文的那段内容 | — |
| Stop Reason(停止原因) | 循环终止的原因:完成 / 达上限 / 需确认 / 报错 / 被取消 | 只记"成功失败"会丢掉最有用的诊断信息 |
| ReAct | Reasoning + Acting 交替的提示模式() |
四、上下文词:往窗口里放什么
| 词 | 定义 | 判别问句 |
|---|
| Context Window(上下文窗口) | 单次请求能容纳的 token 上限 | 它是每次请求的限制,不是"Agent 的记忆总量" |
| Prompt Engineering | 优化这一次请求里怎么写指令 | 改的是措辞 |
| Context Engineering | 优化放什么进窗口:写入、选择、压缩、隔离 | 改的是信息供给(Anthropic 2025-09-29) |
| Harness Engineering | 优化模型之外的整套外壳:工具、权限、会话、可观测性 | 改的是系统结构 |
| RAG(检索增强生成) | 检索外部内容拼进上下文再生成 | RAG 是上下文供给的一种手段,不是知识库本身 |
| Compaction / Compression(压缩) | 上下文接近上限时做摘要并重开窗口 | 与"截断"混用。截断丢尾部,压缩保留结构化摘要 |
五、工具词:Agent 的手脚
| 词 | 定义 | 边界 |
|---|
| Function Calling | 模型按 schema 输出一个"要调哪个函数、参数是什么"的结构 | 模型选择行动时用它 |
| Structured Output | 模型按 JSON Schema 输出一个数据对象 | 形状已知、无需选择行动时用它,一个来回拿结果 |
| Tool(工具) | 一个有名字、描述、参数 schema、返回值语义和错误语义的可调用能力 | 描述写不清楚 = 工具不存在 |
| MCP(Model Context Protocol) | 让 Agent 客户端与外部工具/资源服务端通信的开放协议 | MCP 是接线标准,不是能力本身。接上 20 个 MCP 不等于产品变强 |
| Skill(技能) | 用文件组织的领域知识与流程,靠渐进式披露按需加载 | Skill 提供的是怎么做,Tool 提供的是能做 |
| Progressive Disclosure(渐进式披露) | 元数据常驻、正文按需加载、附件再按需读取的三级结构 | 解决的是"知识很多但上下文很贵" |
六、记忆词:跨请求的连续性
| 词 | 存在哪里 | 生存期 |
|---|
| Working Memory(工作记忆) | 当前上下文窗口 | 一次请求 |
| Session State(会话状态) | 会话存储(消息、事件、任务状态) | 一个会话 |
| Checkpoint(检查点) | 持久化的执行快照 | 跨进程重启 |
| Long-term Memory(长期记忆) | 独立存储,跨会话检索 | 长期 |
| Semantic Memory | 事实类记忆("用户是产品经理") | 长期 |
| Episodic Memory | 事件类记忆("上周三他改过这个 PRD") | 长期 |
| Procedural Memory | 流程类记忆("他要求日期写绝对时间") | 长期 |
|
最常见的一次混用
"记忆"和"知识库"不是一个东西。知识库回答"世界上这件事是怎样的",记忆回答"这个用户/这段历史是怎样的"。 把用户偏好写进知识库,会污染其他用户;把业务事实写进记忆,会在记忆过期时给出错误答案。
七、编排词:多个 Agent 怎么协作
| 词 | 定义 | 使用前提 |
|---|
| Subagent(子 Agent) | 被主 Agent 委派、拥有独立上下文窗口的执行体 | 核心价值是上下文隔离与并行,不是"模拟团队角色" |
| Handoff(移交) | 把控制权和会话状态整体交给另一个 Agent(OpenAI Agents SDK 的一等概念) | 与 Subagent 不同:移交后原 Agent 不再接管 |
| Supervisor / Router | 负责决定"这个任务归谁"的上层 Agent | 路由本身要可评测,否则错误会被放大 |
| Context Firewall(上下文防火墙) | 让子任务的脏上下文不回流到主 Agent 的隔离设计 | — |
| Workflow / DAG | 预定义的执行图 | 路径可枚举时优先用它 |
| A2A(Agent2Agent) | 跨厂商的 Agent 间通信协议,2025-04 由 Google 发布,2026-03 发布 v1.0,2026-08-17 转入 Linux Foundation 旗下 Agentic AI Foundation | 与 MCP 分工:MCP 接工具,A2A 接 Agent |
八、评测与治理词
| 词 | 定义 | 常见误区 |
|---|
| Eval(评测) | 用固定输入集 + 明确判据,重复度量 Agent 表现 | 与"试用几次感觉不错"混用 |
| Trajectory Eval(轨迹评测) | 评的不是最终答案,是中间步骤序列:选了哪些工具、参数对不对 | 只评最终答案会漏掉"蒙对了"的情况 |
| LLM-as-a-Judge | 用模型给输出打分 | 判官本身也要被评测(与人工标注对齐率) |
| pass@k | 采样 k 次至少成功一次的比例 | 用它汇报会高估线上表现,线上通常只有一次机会 |
| Trace / Span | 一次运行的完整记录 / 其中一个操作单元 | OpenTelemetry 的 GenAI 语义约定截至 2026-05 仍处 Development 状态,字段名会变 |
| Prompt Injection | 通过输入内容让模型执行攻击者的指令 | 与"越狱"混用。注入的载体常常是工具返回的内容,不是用户输入 |
| Indirect Prompt Injection(间接注入) |
九、本仓语境专用词
这些词在本知识库里有确定含义,外部文章不一定这么用。
| 词 | 本仓含义 | 详见 |
|---|
| Vault | 本 Obsidian 知识库本体,手工维护的一手资料 | CLAUDE.md |
| wiki/ | 由 LLM 编译出的概念文章层,派生物,不手改 | .claude/references/wiki-knowledge-base.md |
| GBrain | 130 服务器上的跨源语义检索服务,索引 Outline / vault / sessions / 研究摘要 / 需求实现日志 | AI基础设施/GBrain记忆层/ |
| codescope | vfticket codescope ask,对各代码仓最新分支的实时问答,本仓代码事实的唯一权威源 | .claude/references/vfticket-cli.md |
| Skill(本仓) | .claude/skills/ 下的技能包,35+ 个 | SKILLS |
| Harness(本仓拆解对象) | 已完成四份深度拆解:Pi(减法)、DeepSeek Harness(全插件化)、Codex(工程完备)、Claude Code(上下文经济学) |
十、自测:不看表能答出来吗
- Harness 和 Framework 的区别,用一句不含术语的话讲给传统产品经理听。
- 为什么"这个功能上 Agent 还是上 Workflow"这个问题,应该先问"路径是否可枚举"?
- Structured Output 和 Function Calling 在什么情况下不能互换?
- 上下文窗口从 20 万加到 100 万,哪些问题会被解决,哪些不会?
- 记忆和知识库各自写错一条,分别会造成什么后果?
- 子 Agent 的第一价值是什么?如果答案是"分工更清晰",说明还没理解。
- 为什么 pass@k 不适合作为线上准入指标?
- 间接提示词注入的载体通常是什么?为什么它比越狱更难防?
达标标准
八题里能不查资料答出六题,且每题都能举一个自己业务里的例子,阶段 0 通过。
- AI 与 Agent 基础知识学习路线
- 外部权威资料清单
- 阶段 0 讲义:四层分工
- Harness Engineering 研究报告