Set-shifting Behavioral Test for Harnessed Agents
Set-shifting Behavioral Test for Harnessed Agents
这篇论文把认知心理学里的 set-shifting / perseveration 引入 agent 工具使用评测:当一组冗余工具中“可靠工具”在会话中悄悄变化时,agent 能不能放弃已形成的工具习惯,转向新的可靠工具?作者构造了带冗余 tool-skill library 的 agentic harness,在 hidden boundary 后切换可靠工具组,并用 set-shifting accuracy 衡量 agent 在 shift 后窗口是否路由到目标工具组。
为什么对用户重要
Hermes / llm-wiki 的能力越来越多:read_file、search_files、terminal、patch、wiki-vquery、各种 skills、外部 CLI、无头浏览器、GitHub/arXiv/RSS 抓取等。能力增加后,风险不只是“工具太多导致选择困难”,还包括 agent 在某个任务阶段形成惯性:一旦某个工具过去几次有效,即使环境、可靠性或任务边界变了,仍继续调用旧路径。
| 这对无人 cron 尤其重要。每日雷达中,某天 arXiv PDF 可用、某天只有 HTML;某些来源今天 403、明天恢复;某些 CLI 输出过期或 vector index 未重建。如果 agent 不能 set-shift,就会把“昨天有效的采集/验证路径”误当成稳定规则。论文因此补上了 [[ratel-context-engineering-tool-selection | Ratel]] 没完全覆盖的问题:不仅要选少量工具,还要在证据变化时能重新选择。 |
机制 / 一阶原理
论文的基本设计是:构造多个能完成类似任务的工具/技能,但它们的 hidden reliability 会随阶段变化。评测不是只看最终任务是否完成,而是看工具路由轨迹是否在 shift 后及时迁移到新的目标工具组。摘要中的关键发现包括:agent 默认会在边界后几轮内固定到少数 recurring routine;post-shift call share 会集中到若干离散值;不同模型在相同 routine set 上表现出不同 failure modes;policy prompt 和 set framing(把工具呈现为竞争关系还是互补关系)会改变路由动态。
一阶原理是:agent 的工具选择不是无记忆的理性选择,而会受路径依赖、近期成功、工具描述 framing、系统提示和会话深度影响。对 harness 来说,这意味着工具可靠性变化必须被显式检测和反馈;否则 agent 会把历史成功压缩成习惯,而不是持续用当前证据更新策略。
和既有 wiki 概念的关系
- 对 Harness-Engineering:harness 不只要定义可用工具和权限,还要监控 tool routing drift、可靠性变化和 post-shift adaptation。
- 对 Context-Engineering:工具 schema 的呈现方式本身就是上下文;把工具写成互补或竞争、默认推荐或备选,会影响 agent 的习惯形成。
- 对 Agent-Benchmarks:它提供了一个过程级指标:set-shifting accuracy,而不是只看任务最终成功率。
- 对 Agentic-Coding:coding agent 在仓库探索中也可能 perseverate,例如反复 grep 同一关键词、反复运行低信号测试、坚持错误假设;这类失败需要轨迹诊断。
对 Hermes / llm-wiki 的可执行启发
- 雷达采集要有 fallback 与 shift 记录:当 arXiv PDF 404、OpenAI 403、RSS 失败时,应记录为什么从 PDF shift 到 HTML/API/GitHub,而不是默默沿用失败路径。
- 工具使用报告可增加“route change”维度:重大任务中记录工具选择是否因新证据而改变,避免一直使用最熟悉的工具。
- skill/工具说明要避免单一路径锚定:例如 llm-wiki skill 应明确 web search、arXiv、GitHub、raw cache、read_file/search_files 各自适用边界,而不是把某个入口写成默认唯一解。
- 把 set-shifting 变成长期 loop 健康指标:如果某个 cron 连续多天只发现同类来源、只更新同类页面或重复同一失败,应触发 query/topic/source rotation。
边界与失败模式
该论文的 benchmark 是受控工具可靠性切换,真实 Hermes 环境里的可靠性变化更噪:网络、代理、权限、页面格式、CLI 版本、用户目标都会变化。Set-shifting 也不能被误解为“频繁换工具”:过度切换会增加成本和不确定性。正确实践是:当证据显示当前路径失败、陈旧或低信号时才 shift,并把 shift 原因写入 log/报告。
深度判断
| 晋升为正式 source page,因为它给 Hermes 工具纪律提供了新的评测维度:不是只限制工具面或做 capability retrieval,而是评估 agent 能否在可靠性变化时摆脱路径依赖。它和 [[ratel-context-engineering-tool-selection | Ratel]]、[[execute-code-tool-surface-ablation | execute_code 工具面限制实验]]、Agent-Benchmarks 形成互补。当前 confidence: medium:已读取 arXiv HTML 与摘要/结果结构,但尚未复现实验或审查 benchmark 代码。 |
写入记录
- 2026-07-16 09:00 CST:新增 set-shifting harnessed agents 来源页,提炼工具可靠性变化、路径依赖、route-change 指标与 Hermes 多工具雷达的关系。