SCOPE本章边界
本章只讲 Harness / Runtime 作为长任务工作台的职责边界:session、工具链、权限、artifact、事件和恢复。具体 ToolDefinition、MCP、安全威胁模型和 memory 治理在后续章节展开。
30 SEC面试开口版
我理解的 harness 是 Agent 的运行时工作台,不是单个 loop。它要提供任务入口、计划状态、文件系统、工具注册、沙箱、权限、artifact、session、replay、eval 和 human-in-the-loop。核心范式是:把模型从一次问答放进一个可观察、可恢复、可验证的任务环境里。所以 harness 不是帮模型多调几个工具,而是让 Agent 的每次行动都有环境、边界和反馈。
理解与记忆 · 术语、解析、关联知识点
| 专业术语 | Harness:Agent 的运行时工作台和控制系统。 SessionRuntime:绑定任务、cwd、工具、模型、权限和存储的运行时。 Tool Pipeline:工具从意图到执行再到 observation 的受控管线。 Sandbox:隔离文件、网络、进程和密钥的执行环境。 Artifact Store:保存日志、diff、文件、大输出和回放证据。 Replay / Eval:用轨迹复盘和评测 Agent 质量。 |
| 为什么这样回答 | 30 秒版先区分 harness 和 loop:loop 只是模型循环,harness 是让循环接触真实环境时仍可控、可恢复、可审计的外部系统。 |
| 小白解析 | 模型像会判断的司机,harness 像车、仪表盘、刹车、导航、保险和行车记录仪。没有这些,司机再聪明也不能安全上路。 |
| 关联知识点 | learn-agent 把 Harness 拆成 Execution、Tools、Context、Lifecycle、Observability、Verification、Governance;Deep Agents 把 planning、filesystem、subagents、memory、permissions、sandbox、HITL 放进 harness 能力;Guga core 提供 ExecutionPipeline、PermissionKernel、EventStore、ArtifactStore、ReplayCapability 等 contract。 |
1 MIN一分钟口语版
普通 framework 更多是在帮你定义 Agent、工具和调用链路;harness 关注的是 Agent 怎么长期完成真实任务。我会从最小闭环开始:任务进入 session,runtime 绑定 cwd、工具、provider、权限模式和资源;模型每轮只提出意图;工具执行经过统一 pipeline,包括 schema、permission、sandbox、timeout、result policy;所有请求、工具调用、权限、错误、artifact 和 compact 都落事件账本。完成任务后,harness 还要支持测试、replay、eval、用户确认,以及把稳定经验沉淀为 memory 或 skill。没有 harness,Agent 只是聪明的函数调用;有 harness,它才有工作环境和工程边界。
理解与记忆 · 术语、解析、关联知识点
| 专业术语 | Agent Framework:定义 Agent、工具和调用模式的开发框架。 ToolIntent:模型提出的动作申请,不等于真实执行。 PermissionKernel:执行前做权限和风险判断的内核。 ResultPolicy:治理工具输出、截断、脱敏和 artifact 化的策略。 Event Ledger:记录模型、工具、权限、错误、压缩和验证的事实账本。 HITL:human-in-the-loop,人类在关键动作前确认或接管。 |
| 为什么这样回答 | 1 分钟版按真实数据流回答:任务进入 session,模型给 intent,runtime 控制副作用,事件账本支撑恢复和评测。这比“加沙箱、加日志”更完整。 |
| 小白解析 | 普通框架像教你怎么写一段自动化脚本;harness 像给这个脚本配上工作目录、权限审批、文件柜、日志、测试和恢复按钮。前者能跑 demo,后者才能给团队长期用。 |
| 关联知识点 | OpenAI Agents SDK 的 Agent + Runner + Sessions + Guardrails + Tracing 展示了运行器边界;LangGraph persistence 提供 durable execution;SWE-agent 证明 Agent-Computer Interface 对软件工程任务表现很关键。 |
FLOWHarness 的运行闭环
Harness 是模型外部控制系统
COMPARE别人怎么设计
OpenAI 的 Agent guide
OpenAI 强调 Agent 适合开放式、多步骤、需要工具和判断的流程,并建议从小范围、可验证的任务开始。这和 harness 思路一致:不要先造一个全能系统,先把任务环境做可控。
Deep Agents
Deep Agents 明确列出 deep agent 四件套:planning tool、subagents、filesystem、detailed instructions。它把 harness 做成“长任务能力集合”,特别强调 context management 和 virtual filesystem。
DeerFlow
DeerFlow 自称 Super Agent Harness,提供 lead agent、subagents、memory、sandbox、skills、middleware。它更像一个完整的任务运行平台,而不是单纯 SDK。
Pi / Guga
Pi 的 session runtime 支持 new/resume/fork/switch,resource loader 发现 extensions、skills、prompt templates。Guga 则把 harness 的承重点放到 runtime boundary:event ledger、permission、context projection、plugin host。
learn-agent 的口径
learn-agent 把 Harness 讲成控制回路:前馈约束、模型判断、执行反馈、状态更新、下一轮再投影。这个说法很适合面试,因为它把 Harness 从“框架封装”提升成“模型外部的工程控制系统”。
GUGA我是怎么设计的
- SessionRuntime绑定 cwd、workspace、model registry、provider、tools、skills、context resources、session store。new/resume/fork/switch 不是换 messages,而是重建运行时绑定。
- Tool and Sandbox Layer工具声明 effect、permission、timeout、concurrencySafe、result budget。shell、filesystem、git、browser、MCP 都走统一 ExecutionPipeline。
- State and Artifact Layer计划、todo、active files、large tool result、生成文件和 replay artifact 都有引用和生命周期,不直接塞进 prompt。
- Control Plane权限模式、human approval、interrupt、retry、fallback、budget、compact、subagent limit 都是 harness 的控制面。
- Evaluation Loop真实任务完成后,harness 要能记录轨迹、重放输入、跑回归、比较策略,不然 Agent 质量无法持续提升。
PARADIGMHarness 和普通框架的区别
| 维度 | 普通 Agent Framework | Agent Harness |
|---|---|---|
| 关注点 | 怎么定义 Agent、工具和链路 | Agent 在什么环境里长期完成任务 |
| 状态 | 多是内存态 messages/state | session、artifact、事件、文件、计划都可恢复 |
| 安全 | 工具调用前后做校验 | 权限、沙箱、路径边界、审批和审计贯穿全程 |
| 反馈 | 拿到最终回答 | 测试、eval、用户确认、轨迹分析都进入闭环 |
| 演进 | 改 prompt 或换模型 | 沉淀 memory、skill、policy、tooling 和数据飞轮 |
PROBLEM我遇到的问题和优化
问题
- 如果没有 harness,Agent 一遇到长任务就缺计划、缺状态、缺恢复。
- 工具很多但没有 registry 和权限边界,能力越强越危险。
- artifact 没有统一管理,大输出塞 prompt,小输出散落文件系统。
- 没有 eval 和 replay,修 prompt 靠感觉,很难知道有没有变好。
优化
- Harness 的最小闭环先覆盖 session、tool pipeline、permission、artifact、event ledger。
- 计划和 todo 不只是 UI,compact 后要能重注入,让 Agent 接着干。
- 每个工具输出分三份:原始 execution record、模型可见 preview、用户可见 artifact。
- 轨迹和 replay 直接作为后续评测、调优和训练数据的基础。
REVISIONHarness 第一周到第一月路线
| 阶段 | 先做什么 | 验收标准 |
|---|---|---|
| M0 | 单 loop + read/search/edit/shell/git diff | 能完成一个小型代码修复,并留下结构化 tool events。 |
| M1 | EventLedger + Artifact refs + bounded observation | 大日志不塞 prompt,重启后能解释上一轮看到了什么。 |
| M2 | Permission/Sandbox + diff preview + secret broker | 写文件、联网、secret、高风险命令都走统一审批和审计。 |
| M3 | ResumeGate + diagnostic replay + pending effect scan | worker 重启后不会重复危险副作用,能从安全边界继续。 |
| M4 | Eval regression + failure taxonomy | 改 context、tool 或模型策略时能比较成功率、成本和失败类型。 |
我会把“Tool pipeline 最小链路”留在 Harness 视角:为什么所有工具必须进入统一执行链。ToolDefinition 字段和 MCP 细节放到第 3 章。
REVISIONHosted Agent Runtime / SRE
| 问题 | Hosted service 的设计 | 要盯的 SLO |
|---|---|---|
| 10k 长任务调度 | API Gateway 创建 run,Run Scheduler 按 tenant quota、priority、budget、risk 分配;Queue + Worker Lease 控制执行权。 | run start latency、queue wait、tenant fairness。 |
| Worker crash | worker 心跳续租,lease 超时回收;从 durable event、artifact refs、workspace snapshot 和 pending effect scan 恢复。 | resume success rate、duplicate effect rate。 |
| 资源耗尽 | Sandbox Pool 按租户隔离,CPU/内存/并发/磁盘配额;provider 429、工具队列堵塞、sandbox 满时 backpressure。 | p95 tool latency、sandbox saturation、429 recovery time。 |
| 取消传播 | cancel token 传到 model stream、tool process、subagent、queue item 和 pending effect checker;状态写 cancel_requested / cancel_ack。 | cancel acknowledgement latency、orphan process count。 |
| 密钥和产物 | Secret Broker 注入短期 token;Artifact Store 保存日志、diff、截图和 model input snapshot,不把大输出塞进 prompt。 | artifact write error rate、secret exposure incident。 |
本地 CLI 可以依赖当前进程和文件系统;Hosted Harness 必须把执行权、状态、租户、资源、取消和恢复都做成控制面。
INTERVIEW两个 subagent 高强度追问整合版
面试官:Harness 和 Agent Framework 的区别是什么?第二层追问:为什么不直接用一个 SDK 的 Runner?
我:Framework 更像帮你定义 Agent、工具和调用链;Harness 是 Agent 长时间工作的运行环境。Runner 管 turn,Harness 还要管 session、cwd、文件、工具、权限、沙箱、artifact、事件、replay、eval 和 HITL。SDK Runner 可以作为 harness 的一层,但生产任务还需要工作区、权限、恢复和产品控制面。
理解与记忆 · 背后工程点
背后工程点:Harness 把模型循环放进真实任务环境。
专业术语:
Runner 是运行 turn 和工具调用的执行器;
Harness 是完整任务工作台;
Session 是可恢复任务状态;
Control Plane 是权限、预算、暂停、恢复等控制面;
HITL 是人工介入。
为什么这样回答:先区分 SDK 能力和产品运行环境,能避免把 harness 说成普通框架封装。
小白解析:Runner 像发动机,Harness 是整辆车加行车记录仪、刹车和维修系统。
关联知识点:OpenAI Agents SDK 提供 Runner、Sessions、Guardrails、Tracing;Deep Agents 进一步把 filesystem、planning、subagents、permissions 做成 harness 能力。
面试官:SessionRuntime 需要绑定什么?第二层追问:resume、fork、switch 只是换 messages 吗?
SessionRuntime 至少绑定 task id、cwd/workspace、provider、model registry、tool registry、permission mode、sandbox profile、artifact store、event store、context policy、resource loader。resume/fork/switch 不是换 messages,而是从事件账本重建状态,再重新绑定 cwd、tools、permissions 和资源。环境变了要过 ResumeGate,避免旧权限和旧文件状态被直接沿用。
理解与记忆 · 背后工程点
背后工程点:会话恢复是运行环境重建,不是聊天历史加载。
专业术语:
SessionRuntime 是会话运行时;
Resource Loader 是资源加载器;
Sandbox Profile 是沙箱配置;
ResumeGate 是恢复闸门;
Fork 是从某个状态分支出新会话。
为什么这样回答:长任务最容易在恢复时出事故。讲 runtime binding 能体现你真的考虑过跨天任务。
小白解析:第二天继续工程,不是只看昨天聊天,还要确认工地、钥匙、工具和材料都还对。
关联知识点:Guga core 定义 durable session、event、artifact、resume、fork、replay contracts;Pi/Guga 文档强调 session replacement API 属于 runtime。
面试官:如果 Harness 是 hosted service,任务跑到一半机器重启怎么办?第二层追问:哪些状态必须 durable,哪些可以重新计算?
必须 durable 的是 session metadata、event ledger、artifact refs、permission decisions、pending effects、workspace snapshot、plan/todo、verification results 和 usage。可以重新计算的是 context projection、UI view、部分摘要和缓存。恢复时先读事件账本和 artifact,重建 runtime binding,再扫描 pending effects,最后从最近安全边界继续。不要把内存里的 Runner 状态当事实源,事实源应该在 durable store。
理解与记忆 · 背后工程点
背后工程点:Hosted harness 的可靠性来自 durable facts 和可重建 runtime。
专业术语:
Durable Execution 是可持久化执行;
Runtime Binding 是运行时绑定;
Safe Boundary 是可恢复安全边界;
Ephemeral Cache 是可丢弃缓存;
Pending Effect Scan 是未闭合副作用扫描。
为什么这样回答:真实服务一定会重启、迁移和扩缩容。把哪些状态是事实源讲清楚,比泛泛说“支持恢复”更有工程含量。
小白解析:电脑关机没关系,只要订单、付款记录、仓库单都在;页面和临时草稿可以重新生成。
关联知识点:learn-agent hosted harness 章节强调 durable execution;LangGraph persistence 也把状态持久化作为长任务和恢复的基础。
面试官:Tool pipeline 的最小链路是什么?第二层追问:模型为什么不能直接调用 shell?
最小链路是 tool intent -> schema validation -> permission -> scheduling/lock -> sandbox execution -> raw result -> result policy -> observation -> audit event。模型只提出意图,不能直接站在 shell 上执行,因为它不知道权限、路径边界、超时、副作用、secret 和审计要求。Shell 只是一个工具后端,必须穿过统一 pipeline。
理解与记忆 · 背后工程点
背后工程点:真实副作用必须由 harness 管,不由模型直接执行。
专业术语:
ToolIntent 是模型动作申请;
Schema Validation 是参数校验;
Scheduler 是调度和加锁;
Raw Result 是原始执行结果;
Observation 是模型可见结果投影。
为什么这样回答:这把 harness 的安全和审计价值讲清楚。工具不是函数列表,而是副作用入口。
小白解析:员工可以申请用公司卡付款,但不能直接拿卡乱刷。
关联知识点:Guga core README 明确 provider tool intent -> core pipeline -> hooks -> permission -> tool -> result policy -> model observation。
面试官:沙箱怎么设计?第二层追问:文件、网络、进程、密钥边界怎么分层?
我会按工具 effect 定义 sandbox profile。只读文件工具限制 workspace 和 allowlist;写文件工具使用临时文件、diff preview 或 worktree;shell 默认有限 cwd、timeout、env allowlist、network deny-by-default;浏览器或远端工具限制 origin 和下载;secret 通过 broker 按需注入,不进模型上下文。高风险工具必须 human approval,所有副作用写 effect log。
理解与记忆 · 背后工程点
背后工程点:沙箱不是一个开关,而是按工具风险分层的执行 profile。
专业术语:
Effect Type 是工具副作用类型;
Env Allowlist 是环境变量白名单;
Network Deny-by-default 是默认禁止网络;
Secret Broker 是密钥代理;
Effect Log 是副作用日志。
为什么这样回答:红队会追问沙箱细节。文件、网络、进程、密钥分开讲才像生产设计。
小白解析:不同工种进不同区域:参观者只能看,施工队能改,但要戴安全帽、登记工具。
关联知识点:learn-agent Harness 的 Execution/Governance 层强调范围、权限和执行边界;Deep Agents 有 sandbox 和 permissions。
面试官:工具写文件写一半崩了怎么办?第二层追问:副作用怎么恢复或补偿?
写操作不能裸写。文件修改用临时文件、atomic rename、patch preview 或 worktree;数据库/API 写操作要有 idempotency key、事务或补偿动作。每个副作用记录 effect log:准备做什么、实际做了什么、是否可回滚、回滚路径是什么。崩溃恢复时先扫描 pending effects,再决定 commit、rollback、ask human 或 mark inconsistent。
理解与记忆 · 背后工程点
背后工程点:Harness 要治理半执行副作用,而不只是捕获异常。
专业术语:
Atomic Rename 是原子替换;
Idempotency Key 是幂等键;
Compensation 是补偿动作;
Pending Effect 是未闭合副作用;
Inconsistent State 是不一致状态。
为什么这样回答:真实工具会半失败。能讲 commit/rollback/compensation,说明 harness 不是玩具。
小白解析:装修做到一半停电,要知道哪些墙已经拆了、能不能恢复、要不要请人确认。
关联知识点:Guga tool management 关注 execution pipeline、locks、history 和 result normalization;分布式系统里写操作要考虑事务和补偿。
面试官:Artifact store 保存什么?第二层追问:它会不会泄漏密钥或无限增长?
Artifact 保存完整日志、diff、生成文件、截图、大工具输出、模型输入快照、验证报告等。模型只看 bounded preview 和 artifact refs。Artifact store 要有访问控制、密钥扫描、加密、生命周期清理、引用计数和保留策略。敏感 artifact 不进普通 trace 展示;删除或合规清理要同步索引和引用。
理解与记忆 · 背后工程点
背后工程点:Artifact 是证据库,也是一块数据安全责任。
专业术语:
Artifact 是产物或完整证据;
Bounded Preview 是有限预览;
Artifact Ref 是产物引用;
Reference Count 是引用计数;
Retention Policy 是保留策略。
为什么这样回答:大输出不塞 prompt 只是第一步,长期保存还要处理安全和成本。
小白解析:档案室能帮你保存完整证据,但也要上锁、定期清理、敏感文件单独管。
关联知识点:Guga plugin-artifact-filesystem 把大工具输出存到文件系统,事件里只保留 bounded preview 和可验证引用。
面试官:事件账本应该记录什么?第二层追问:事件也可能缺失或错误,怎么保证完整性?
事件至少记录 user input、model request/response refs、tool intent、permission decision、execution result、artifact refs、context projection、compact boundary、verification、interrupt、error、usage。完整性上用 append-only、revision、idempotency、hash chain、schema version、corruption diagnostics 和快照对账。事件不是随手 log,而是恢复、审计和 eval 的事实底座。
理解与记忆 · 背后工程点
背后工程点:Event ledger 是事实源,要有存储级完整性设计。
专业术语:
Append-only 是只追加写入;
Revision 是版本号;
Idempotency 是幂等;
Hash Chain 是哈希链;
Snapshot Reconciliation 是快照对账。
为什么这样回答:生产系统不能只说“记日志”。事件账本必须能抗损坏、重复写、版本迁移。
小白解析:账本不能随便涂改,页码、签名、对账都要有,不然出了事查不清。
关联知识点:Guga JSONL Session Store 支持 append-only event/session storage、revision、idempotency、hash-chain continuity 和 corruption diagnostics。
面试官:Replay 到底是什么?第二层追问:诊断回放、模拟回放、真实重试怎么区分?
诊断回放是从事件和 artifact 重建 conversation、model input 和 audit timeline,不重跑 provider、tool 或 mutating hook。模拟回放可以用 mock tool 或 frozen provider 测策略变化。真实重试则会重新执行副作用,必须重新走权限、沙箱和幂等检查。面试里要讲清楚:replay 默认是解释和诊断,不是自动再跑一遍真实世界。
理解与记忆 · 背后工程点
背后工程点:回放模式不同,安全语义完全不同。
专业术语:
Diagnostic Replay 是诊断回放;
Simulation Replay 是模拟回放;
Live Retry 是真实重试;
Frozen Provider 是冻结模型响应;
Mutating Hook 是会改变行为的 hook。
为什么这样回答:很多人把 replay 误解为重跑。真实副作用不能被自动重复执行。
小白解析:看行车记录仪不等于让车重新开一遍那条路。
关联知识点:Guga replay audit 从 durable facts 派生视图,不重跑 provider、tool 或 mutating hook;learn-agent Session Replay 也强调只重建状态。
面试官:Context compact 后 plan、todo、active files 丢了怎么办?第二层追问:这些属于 UI 还是 harness 状态?
Plan、todo、active files、blocked issues 不是纯 UI,它们是 task state。compact 后要从 event/state/artifact 重新投影,必要时作为 protected working context 重注入。UI 只是这些状态的投影。否则长任务压缩后,模型会忘记正在改哪些文件、下一步验证什么,导致重复或偏航。
理解与记忆 · 背后工程点
背后工程点:产品状态要进入 harness state,而不是只存在页面里。
专业术语:
Task State 是任务状态;
Active Files 是当前关注文件;
Protected Working Context 是受保护工作上下文;
Projection 是状态投影;
Compact 是上下文压缩。
为什么这样回答:长任务能持续,靠的是状态管理,不是靠模型记忆力。
小白解析:白板上的待办不能只拍照给 UI 看,还要记进项目管理系统。
关联知识点:Guga context policy 包括 active resources、plans、tool result previews、artifact references;learn-agent Context 层强调模型每轮看到的是 harness 装配的现场。
面试官:完成是不是模型说 done 就算?第二层追问:Verification 应该放在哪里?
不算。模型可以提出 final,但 Harness 要看 done criteria 和 verification evidence。比如 coding agent 至少要有 diff、测试或 lint 输出、未解决问题列表、风险说明;如果模型没跑验证,状态应是 need_verification。Verification 是 harness 的闭环节点,结果要进 event ledger,并强制投影到下一轮 context,避免模型忽略失败。
理解与记忆 · 背后工程点
背后工程点:完成状态由 harness 验证,不由模型自证。
专业术语:
Done Criteria 是完成标准;
Verification Evidence 是验证证据;
Need Verification 是待验证状态;
Risk Note 是风险说明;
Context Reinjection 是把验证结果重新注入。
为什么这样回答:Agent 最常见幻觉是“看起来完成”。Harness 要用外部证据关环。
小白解析:工程师说修好了,还要看测试报告。没有报告就不能验收。
关联知识点:learn-agent Verification 章节强调完成不是模型说了算;OpenAI/Anthropic 都建议用 eval 和验证证明 Agent 增益。
面试官:HITL 怎么放?第二层追问:怎么避免审批疲劳?
HITL 放在 action-level gate。只读低风险自动,高风险写、删、外发、生产变更、secret 访问、支付、发邮件才问人。审批内容要具体:命令、diff、路径、影响范围、风险、授权期限、回滚路径。审批结果进 event ledger,并可在会话内形成有限授权,避免同一低风险动作反复问。审批不是最后一个大按钮,而是围绕具体副作用。
理解与记忆 · 背后工程点
背后工程点:人工介入要按动作风险分层,避免全自动和全打断两个极端。
专业术语:
Action-level Gate 是动作级闸门;
Approval Scope 是授权范围;
Session Grant 是会话内授权;
Rollback Path 是回滚路径;
Approval Event 是审批事件。
为什么这样回答:HITL 是安全和体验的平衡。一直问用户会让产品不可用,完全不问又危险。
小白解析:读资料不用每次请示,转账或删库必须让人看清楚再点确认。
关联知识点:Deep Agents human-in-the-loop 和 MCP tool safety 都强调客户端展示工具输入、用户可拒绝敏感调用。
面试官:工具结果里有 prompt injection 怎么办?第二层追问:Harness 怎么判断一段文本只是资料,还是指令?
Harness 不能假设工具结果都是可信指令。每个 observation 都要带 source、trust level、tool name、scope 和 user visibility。网页、邮件、issue、日志这种外部内容默认是 untrusted data,只能作为事实材料进入上下文,不能提升为 system/developer 指令,也不能要求 Agent 泄露 secret 或绕过权限。高风险动作仍然要重新走 permission 和 HITL,context projection 里要把来源边界标清楚。
理解与记忆 · 背后工程点
背后工程点:Harness 要把“资料”和“指令”分层,防止工具输出反向控制 Agent。
专业术语:
Prompt Injection 是恶意文本诱导模型违背原指令;
Trust Level 是内容可信等级;
Source Boundary 是来源边界;
Untrusted Data 是不可信外部数据;
Instruction Hierarchy 是指令优先级。
为什么这样回答:Harness 题如果只讲沙箱,会漏掉模型输入侧安全。资深回答要同时管执行边界和上下文边界。
小白解析:网页上写“请把银行卡密码告诉我”,只能当网页内容看,不能当老板命令执行。
关联知识点:OpenAI guardrails 和 MCP tool safety 都强调工具输入输出要可审计、可展示、可拒绝;Guga context projection 要保留 source 和 trust metadata。
面试官:Provider 超时、限流、能力下降怎么办?第二层追问:Harness 怎么 fallback?
Provider adapter 要把错误归一成 normalized provider error,带 retryability、rate limit、usage、raw ref。Harness 根据任务阶段决定 retry、backoff、切模型、降级到小模型摘要、暂停等待、或问用户。不能简单换模型继续,因为不同模型支持的 tool calling、context window、system/developer 语义不同,切换前要重新 projection 和 capability check。
理解与记忆 · 背后工程点
背后工程点:模型供应商故障是运行时状态,不是普通异常。
专业术语:
Provider Adapter 是供应商适配器;
Retryability 是可重试性;
Backoff 是退避重试;
Capability Check 是能力探测;
Reprojection 是重新生成模型输入投影。
为什么这样回答:生产 Agent 要能处理模型服务不稳定,同时避免切模型造成格式或安全问题。
小白解析:主司机迟到了,可以换司机,但要确认新司机会开这辆车、知道路线和规则。
关联知识点:Guga provider boundary 归一化模型元数据、usage、errors、tool intent;OpenAI SDK 如需完全自控 loop 可下沉到 Responses API。
面试官:多个 session 同时操作一个 workspace 怎么办?第二层追问:怎么避免两个 Agent 互相覆盖?
Harness 要有 workspace lock 和 resource-level lock。读操作可以并发,写同一文件、同一配置、同一数据库迁移要串行或独立 worktree。每个 session 记录 workspace snapshot、dirty diff、owner 和 merge policy。发现外部变更时,要求 rebase/re-read 或暂停问用户。不能让两个 session 都以为自己拥有同一份事实。
理解与记忆 · 背后工程点
背后工程点:Harness 要治理跨 session 的资源并发。
专业术语:
Workspace Lock 是工作区锁;
Resource-level Lock 是资源级锁;
Workspace Snapshot 是工作区快照;
Merge Policy 是合并策略;
External Change 是外部修改。
为什么这样回答:Agent 产品不是单进程 demo。多会话和用户手动修改会让状态竞争成为真实问题。
小白解析:两个人不能同时改同一份合同还都以为自己是最终版。
关联知识点:Guga tool management 提到调度、并发与锁;SWE-agent 的 ACI 也启发要给模型稳定文件操作接口。
面试官:Trace/Eval 在 Harness 里怎么做?第二层追问:为什么不只看最终答案?
Agent 要评过程。Trace 连接 goal、context projection、model decision、tool intent、permission、execution、observation、verification、cost、latency。Eval 看任务成功率、验证通过率、工具错误率、越权率、恢复率、人工接管率、成本和失败归因。只看 final answer 会漏掉危险工具、无效循环、未验证成功和不可恢复状态。
理解与记忆 · 背后工程点
背后工程点:Harness 让 Agent 从玄学调 prompt 回到过程诊断。
专业术语:
Trace 是运行轨迹;
Failure Attribution 是失败归因;
Verification Pass Rate 是验证通过率;
Takeover Rate 是人工接管率;
Cost Trace 是成本轨迹。
为什么这样回答:Harness 的长期价值在可改进。没有 trace/eval,系统失败只能看聊天记录猜。
小白解析:不只看学生最后答案,还要看有没有作弊、用了多久、步骤错在哪里。
关联知识点:learn-agent Trace Analysis 强调失败分类必须指向修复路线;OpenAI tracing 记录端到端 workflow。
面试官:Harness 很重,会不会拖慢体验?第二层追问:哪些路径可以轻量化?
会有开销,所以要按风险分层。只读工具可以轻量 path:快速 schema、短超时、bounded preview、异步 telemetry。高风险写操作走完整 permission、sandbox、artifact、audit、HITL。事件写入本地 append-only,远端同步异步。大日志不进 prompt,artifact 反而减少重复模型调用。Harness 不是所有动作都重,而是让风险越高,控制越完整。
理解与记忆 · 背后工程点
背后工程点:可靠性和体验用风险分层平衡。
专业术语:
Fast Path 是轻量路径;
Async Telemetry 是异步遥测;
Remote Sync 是远端同步;
Risk Tier 是风险等级;
Bounded Preview 是有限预览。
为什么这样回答:承认成本,再给分层策略,能显示实际产品意识。
小白解析:进办公室刷门禁很快;进金库要多重审批。不是所有门都按金库流程。
关联知识点:Anthropic 提醒 agentic system 会用成本和延迟换表现;Guga strategy 用恢复率、审计覆盖率、边界回归率衡量价值。
面试官:Harness 会不会变成巨石?第二层追问:怎么拆接口?
会有这个风险,所以 Harness 应该是稳定 contract 的组合:SessionStore、EventStore、ArtifactStore、ToolRuntime、PermissionKernel、SandboxRunner、ContextPolicy、ReplayCapability、EvalRunner。Core 只定义 contract 和关键流程,具体存储、工具、UI、远端执行、企业策略走插件。每个接口有 conformance tests,避免所有逻辑塞进一个巨型 Runtime 类。
理解与记忆 · 背后工程点
背后工程点:Harness 应该是 contract 平台,不是巨型对象。
专业术语:
Contract 是接口契约;
Conformance Test 是契约测试;
Plugin Boundary 是插件边界;
Core Runtime 是核心运行时;
EvalRunner 是评测执行器。
为什么这样回答:红队会担心 harness 责任过宽。拆 contract 和插件能保留架构弹性。
小白解析:不要把水电、消防、仓库、前台都塞进一个部门;要有清楚职责和交接单。
关联知识点:Guga 小内核大外围:core 管 contract,session/artifact/replay/context policy 等由插件实现。
面试官:企业环境要加什么?第二层追问:租户隔离、审计、secret 和合规删除怎么放进 Harness?
企业层要加 tenant id、org policy、role-based access、secret manager、audit export、retention policy、data residency、admin console 和 deletion workflow。Harness 的每个事件、artifact、memory、tool call 都带 tenant/scope。Secret 通过 broker 注入,不进模型;合规删除要清理 artifact、索引、缓存和 memory,并保留允许保留的审计 tombstone。
理解与记忆 · 背后工程点
背后工程点:企业化不是 UI 后台,而是 runtime facts 带租户和策略边界。
专业术语:
Tenant 是租户;
RBAC 是基于角色的访问控制;
Data Residency 是数据驻留要求;
Audit Export 是审计导出;
Deletion Workflow 是删除流程。
为什么这样回答:生产 Agent 一旦进入团队,安全和合规必须贯穿 session/tool/artifact/memory。
小白解析:公司级助手不能把 A 团队资料给 B 团队看,也要能按规定删资料、查记录。
关联知识点:Guga strategy 说在 runtime 能可靠产出 event、permission、usage 和 artifact 前,不做企业后台。
面试官:如果让你做 MVP,最小 Harness 包含什么?第二层追问:哪些先不做?
我会先做五件事:SessionRuntime、统一 ToolPipeline、Permission/Sandbox、ArtifactStore、EventLedger。加上最小 ContextProjection 和 VerificationGate。先不急做复杂 memory、多 Agent、marketplace、企业后台、RL 数据飞轮。只要这几件稳,任务能恢复,工具能审计,大输出能引用,权限能解释,后面 eval、replay、skill 才有地基。
理解与记忆 · 背后工程点
背后工程点:Harness MVP 先建承重结构,再长高级能力。
专业术语:
ToolPipeline 是工具管线;
VerificationGate 是验证门禁;
Marketplace 是插件市场;
RL Data Flywheel 是训练数据飞轮;
Foundation Layer 是地基层。
为什么这样回答:这能收束整章:MVP 不是功能越多越好,而是先让行动、记录、恢复和验证成立。
小白解析:先修地基、水电和消防,再装修豪华会议室。
关联知识点:Guga strategy 明确先 loop/tool/provider/context/session/replay,再 memory、多 Agent、ops;learn-agent 教学 Harness 也先拆 execution、tools、context、event-log、verification、policy。
PRINCIPLE我总结的核心范式
Harness 的核心原则是“环境优先”。模型只是决策器,真正让 Agent 变可靠的是工作台:状态、工具、权限、沙箱、文件、事件、验证和恢复。没有 harness,Agent 只是聪明的函数调用;有 harness,Agent 才能持续做事。