perf(tools): restore benchmark-sensitive phrasing in compacted description

Round-2 A/B (gpt-4o-mini, 6 reps) showed two passages could not survive
paraphrase: the DO-NOT-USE list needs the arrow-list shape with the
'no reasoning needed' qualifier (prose form regressed mechanical-work
routing 6/6->1/6), and the self-report rule needs the concrete
'claiming uploaded successfully may be wrong' framing (without it,
side-effect verification regressed 6/6->2/6). With both restored:
30/42 vs 30/42 on gpt-4o-mini and intent-parity on claude-haiku-4.5.
Final size: 1,900 chars (from 3,963).
This commit is contained in:
Teknium 2026-08-02 22:31:52 -07:00
parent 4be0d56023
commit a01f979b6e
1 changed files with 13 additions and 10 deletions

View File

@ -3670,20 +3670,23 @@ def _build_top_level_description() -> str:
"poll; continue other work.\n\n"
"USE FOR: reasoning-heavy subtasks, work that would flood your context "
"with intermediate data, or independent parallel workstreams.\n"
"DO NOT USE FOR: a single tool call; mechanical multi-step work (use "
"execute_code); tasks needing user interaction; or durable work that "
"must survive this session (use cronjob or terminal(background=True, "
"notify_on_complete=True) — /stop, /new, or process exit discards "
"running subagents).\n\n"
"DO NOT USE FOR (use these instead):\n"
"- Mechanical multi-step work with no reasoning needed -> execute_code\n"
"- A single tool call -> call the tool directly\n"
"- Tasks needing user interaction -> subagents cannot ask questions\n"
"- Durable work that must survive this session -> cronjob or "
"terminal(background=True, notify_on_complete=True); /stop, /new, or "
"process exit discards running subagents.\n\n"
"RULES:\n"
"- Children know nothing of this conversation: pass everything needed "
"via 'context', including any required output language, tone, or "
"style (e.g. \"respond in Chinese\").\n"
"- Child summaries are SELF-REPORTS, not verified facts. For external "
"side effects (uploads, remote writes, publishing), require a "
"verifiable handle (URL, ID, absolute path) and verify it yourself — "
"fetch the URL, stat the file, read back the content — before "
"reporting success.\n"
"- Child summaries are SELF-REPORTS, not verified facts: a child "
"claiming \"uploaded successfully\" or \"file written\" may be wrong. "
"For external side effects (uploads, remote writes, publishing), "
"require a verifiable handle (URL, ID, absolute path) and verify it "
"yourself — fetch the URL, stat the file, read back the content — "
"before telling the user the operation succeeded.\n"
"- Leaf children (the default) cannot call delegate_task, clarify, "
"memory, send_message, or cronjob; orchestrators regain only "
"delegate_task.\n"