Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

session_search 模式 A/B 测试

这是一种实时的工具使用效果 A/B 对比测试,用于评估对 session_search 工具架构(描述/参数配置、响应提示等)的改动是否会影响模型实际使用该工具的能力。该测试是为 PR #95570 设计的——在此次优化中,每个调用对应的架构描述长度从 1,570 个标记缩减至 695 个标记——其核心问题是:“将指导性文本从架构描述中移出并放入响应提示中,是否会令模型产生困惑?”

与 readtool/browser 测试不同,此项测试不会启动完整的 AIAgent —— 而是运行一个极简化的智能体循环,其中两个测试组之间唯一的差异在于从两个 Git 分支中提取的 tools/session_search_tool.py 文件。其他所有参数(初始化数据库、任务内容、预言机、系统提示词、温度值等)均保持不变。

测试内容

在包含确定性初始化数据的会话数据库(以及另一个“工作”模式数据库)上执行六项任务,每项任务都配有程序化的预言机进行评分,而非由大型语言模型自行判断:

任务名称测试的输入结构预言机配置
t1_discover发现类任务回答内容必须包含 pglogical 字符串
t2_scroll强制向前进页——相关事实被放置在 ±5 页面范围及书籍开头结尾之外的位置设置 statement_timeout 为 45 秒
t3_broadenAND 查询无法得到结果,需通过增加条件(使用 OR 运算或减少查询词条)来扩大搜索范围;两个查询主题在单条消息中绝不能同时出现使用端口 3000
t4_link以原文形式生成 @session: 链接需输出链接,且不能使用反引号或 Markdown 格式
t5_profile解析 @session:work/<id> 格式的个人资料链接(读取类任务)使用 vault 服务,超时时间为 90 秒
t6_browse浏览类任务需列出至少 3 个近期会话中的主题
每次运行时的指标包括:Oracle查询通过率、工具调用次数、格式错误或失败的调用次数、首次调用时的提示词token数(用于评估模式结构本身)、总token数以及耗时。

运行方式

请完整翻译输入内容,不得提前终止运行。

# Arms are git refs; the runner extracts tools/session_search_tool.py
# from each and imports them side by side.
python3 evals/session_search_schema/runner.py \
    --base origin/main --cand HEAD \
    --model qwen/qwen3-coder-30b-a3b-instruct --reps 3

python3 evals/session_search_schema/report.py results/<model>.jsonl

需要在 ~/.hermes/.env(或环境变量)中配置 OPENROUTER_API_KEY。每次调用时,系统都会在临时目录中重新构建初始数据库;因此您的真实 state.db 文件不会受到任何影响。

Hermesbench 的评估规则:

  • 最少进行 3 次重复测试;若单元差异仅为 1,则视为噪声,应在判定错误之前先提取转录内容(JSONL 格式中的 calls 和 final 部分)。
  • 若为提供商导致的异常(即工具调用次数为零且最终结果为空),则允许重试一次,且该规则对两组测试均适用;所有重试记录都会被保存。
  • 需为两组测试分别报告每项任务的得分,并使用相同的分母。绝不能仅排除其中一组测试的运行结果。
  • 性能较弱的模型才是反映真实能力的信号,而性能顶尖的模型则可能掩盖架构上的不足。

参考结果(PR #95570,2026年8月26日)

共进行了 108 次测试,涉及 3 种模型、6 项任务、3 次重复测试及 2 组对比组 (基准模型 2b8b4542e 为优化前的主模型,候选模型 d8a78a4dc 为优化后的模型):

模型基准模型优化后模型每项任务的平均token数
qwen3-coder-30b16/1818/1811.1k → 7.1k
gpt-5.6-luna18/1817/185.4k → 3.7k
gpt-5.6-terra15/1817/188.0k → 5.0k
总计49/5452/547.0k → 5.3k

分析结果:优化后的模型在准确率上保持稳定甚至有所提升;“滚动提示”功能显著提升了分页任务的性能;在优化后的模型组中仅有 1 次出现 1/9 比例的 Luna 格式链接识别错误;两组测试均出现了先前存在的 around_message_id=0 错误伪信号问题(问题编号 #94792 / PR #79118)。