← Thoughts

用餐厅理解 Agent、Skill 与 Harness

2026-07-21

下面从顾客进店点餐开始。方括号中的编号对应一个独立模块。

[01 顾客进店] ──► [02 点餐 / User Prompt] ──► [03 Agent / 主厨接单]
  “宫保鸡丁,不要花生;我对花生过敏”                          │
                                                              ▼
                                                     [04 观察当前状态]
                                                              ▲
[05 Context / 当前操作台] ─────────────────────────────────────┤
  点菜单 · 食材 · 灶台状态 · 工具返回结果                      │
                                                              │
[06 Memory / 顾客与任务记忆] ──────────────────────────────────┤
  过敏史 · 口味偏好 · 桌号 · 已完成工序                        │
                                                              ▼
[07 Skill / 菜谱与出餐规范] ──────────────────────────► [08 规划做法]
  配方 · 顺序 · 火候 · 摆盘 · 过敏原处理


                     ┌────────── Agent Harness / 执行与反馈循环 ──────────┐
                     │                                                   │
[04 观察] ──► [08 规划] ──► [09 动手制作] ──► [10 检查结果] ──► [11 完成?] │
     ▲                                                       │           │
     └───────────────────────── 否:调整后继续 ──────────────┘           │
                                                             │ 是        │
                     └─────────────────────────────────────────┼───────────┘
                                                               ▼
                                                      [12 装盘出餐]


[09 动手制作] ──┬─► [13 本地 Tool / 刀具、炒锅、烤箱]
                │
                └─► [14 MCP / 标准连接协议] ──┬─► [15 Tool / 外部设备与工位]
                                              └─► [16 Resource / 库存与食材信息]
                                                               │
工具与资源的返回结果 ───────────────────────────────────────────┴─► [05 Context]

[17 RAG / 检索流程] ──► 检索 [16 Resource / 菜谱与安全规范] ──► [05 Context]


[18 Guardrail / 食品安全红线] ───────────► 约束 [08 规划做法]
  过敏原必须拦截 · 生熟分开 · 温度达标

[19 Sandbox / 厨房权限隔离] ─────────────► 限制 [09 动手制作]
  限制可使用的设备、区域和数据

[20 Tracing / 后厨工单记录] ◄──────────── [10 检查结果]
  记录判断、工具调用、执行结果和返工原因

[21 Evals / 厨师考核] ───────────────────► 测试 [03 Agent + Harness]
  用盲测、过敏原案例、出餐速度和成本考核


[12 装盘出餐] ──► [22 Human in the loop / 店长或传菜员终检]
                            ├─► 合格 ──► [23 上菜给顾客]
                            └─► 不合格 ──► 返回 [04 观察当前状态]

缺货、换菜或过敏原不确定 ──► [24 向顾客确认] ──► 更新 [02 点餐]

核心概念

“官方定义”并非来自同一个标准组织。下面优先采用 OpenAI 官方文档;MCP、Tool 和 Resource 采用 MCP 官方规范。其余没有唯一标准的术语,使用主流工程定义并明确说明。

概念 餐厅类比 在点餐案例中的作用 技术定义(正式表述)
Model 厨师的大脑 理解订单、判断做法和处理异常 接收输入并生成输出的机器学习模型。在 Agent 系统中,模型通常负责推理、决策以及生成工具调用请求;它本身不等于完整的 Agent。
Agent 从接单到出餐的主厨 主动观察、规划、制作、检查并返工 以模型为核心、代表用户完成目标的系统。它能够管理任务执行过程,基于当前状态决定下一步,并通过工具采取行动,直到完成、失败或转交人工。
Agent Loop 反复查看订单、制作和试味 让主厨在菜品不合格时调整并继续制作 Harness 在用户、模型与工具之间反复协调的执行循环,典型过程为:准备上下文 → 调用模型 → 执行工具 → 返回结果 → 判断是否继续。OpenAI:Codex agent loop
Skill 菜谱与出餐规范 告诉主厨配方、工序、火候和摆盘标准 面向可重复工作流的可复用能力包,通常由 SKILL.md 加可选的脚本、参考资料和资源组成;系统先加载元数据,选中后再读取完整内容,实现渐进式披露。OpenAI Codex:Skills
Tool 刀、锅、烤箱 执行切配、翻炒和烘烤等具体动作 具有明确名称、说明和输入结构的可调用操作,使模型能够查询数据、调用 API、修改文件或执行计算;模型请求调用,宿主程序负责真正执行。MCP:Tools
MCP 厨房统一调度接口 让主厨用一致方式调用不同设备和工位 Model Context Protocol:连接 AI 应用与外部系统的开放标准,采用 Host–Client–Server 架构,服务器可暴露 Tools、Resources 和 Prompts。MCP 官方简介
Resource 冰箱和食材仓库 为主厨提供食材、库存等可读取信息 MCP 中向 AI 应用提供上下文信息的数据源,可来自文件、API 或数据库;通常由应用读取并决定如何放入模型上下文。MCP:Resources
Harness 整套餐厅运营系统 管理订单、循环、设备、权限、返工和交付 围绕 Agent Loop 的运行与编排基础设施,负责上下文组装、工具执行、状态持久化、内存、权限、沙箱、重试和终止条件等。该词是工程概念,不是单一协议标准。OpenAI:Agents SDK Harness
Context 当前操作台 放着这次订单、食材状态和工位返回结果 某次模型调用实际可见的信息集合,例如系统指令、用户输入、对话历史、检索内容、Skill 指令和工具返回值。它受上下文窗口容量限制。
Memory 顾客档案与工单记忆 记住过敏史、口味、桌号和制作进度 在当前步骤之外保存并在需要时恢复的信息,用来把先前工作中的有用上下文带到后续步骤或会话。实现可以是线程状态、摘要、文件或数据库记录。
RAG 临时查菜谱库 按需检索具体做法和食品安全要求 Retrieval-Augmented Generation:生成前从外部知识源检索相关内容,并将检索结果加入模型输入,使回答基于可更新、可追溯的外部信息。它是一种架构模式,不是独立 Agent。
Guardrail 食品安全红线 阻止过敏原污染和其他危险操作 对 Agent 的输入、输出或工具调用执行的验证与约束,用于检测或阻止不安全、越权、不合规或不满足业务规则的行为。Guardrail 可以由规则、代码或模型实现。
Sandbox 厨房权限隔离 限制不同角色能接触的设备与操作 受控的隔离执行环境,通过操作系统或运行平台限制 Agent 能访问的文件、网络、命令和资源;它控制“技术上能做什么”,而审批策略控制“何时必须先问人”。OpenAI Codex:Sandbox 与审批
Tracing 后厨工单记录 记录接单、用料、工序、检查和返工过程 对一次 Agent 运行中的模型调用、工具调用、交接、Guardrail 和其他事件进行结构化记录,用于调试、监控、性能分析和审计。
Evals 厨师考试与抽检 测试味道、安全、速度和异常处理能力 使用明确的数据集、任务、评分标准和指标,对模型或 Agent 的正确性、可靠性、安全性、成本与延迟进行可重复测量。Evals 是测试方法,不是运行时模块。
Human in the loop 店长、传菜员或顾客确认 在换菜、过敏原和最终出餐等关键节点把关 在自动执行流程中保留人工监督、判断或授权节点;当操作高风险、不可逆、信息不足或需要责任确认时,Agent 暂停并请求人类决定。

最小记忆版本

Model   = 厨师的大脑
Agent   = 从接单一直做到出餐的主厨
Skill   = 菜谱和出餐规范
Tool    = 刀、锅、烤箱等厨房工具
MCP     = 主厨连接设备和工位的统一接口
Harness = 包含订单、厨房、权限、反馈和质检的整套餐厅系统

Agent 的核心工作循环:

看订单和厨房状态 → 规划做法 → 动手制作 → 检查味道 → 不合格则调整