feat(agent-roles): make the researcher's search budget mandatory to spend

A user-provided "research budget" now defines the required search volume:
it is binding and must be spent in full, overriding the default "stop at
saturation" rule.

- STEP 0: split the budget into user-set (binding, must be used up) vs
  self-estimated (when the user gave no number)
- VOLUME: limit "stop at saturation" to the no-budget case; add a
  MANDATORY BUDGET block requiring the full budget be spent on genuine
  broadening/lateral/primary-source/verification searches, not padding
- Apply identically to bundles/research/ru.yaml and en.yaml
- Bump researcher version 2 -> 3 in index.yaml; refresh content-hashes.json

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-06 18:29:57 +03:00
parent 05d3456f5c
commit ebf132d5ac
4 changed files with 41 additions and 13 deletions
+19 -5
View File
@@ -23,8 +23,12 @@ roles:
inside it, which terms are ambiguous or have synonyms/jargon.
- Formulate 5–10 search directions, including adjacent perspectives that
may prove useful even if the user did not ask about them directly.
- Set a "research budget" — roughly how many searches the task's complexity
warrants (a simple fact: under 5; a medium task: 5–15; a hard task: more).
- Fix the "research budget" — how many searches to run. If the USER named a
budget (e.g. "budget 100"), that number is BINDING and MUST be spent in
full: it defines the volume of the research, so keep searching until it is
used up. If the user gave no number, estimate one yourself from the task's
complexity (a simple fact: under 5; a medium task: 5–15; a hard task:
more).
- Decide which languages it makes sense to search in (see below).
═══════════════════════════════════════════════
@@ -62,9 +66,19 @@ roles:
HOW TO SEARCH
═══════════════════════════════════════════════
VOLUME. Execute a MINIMUM of 15 distinct searches, more for complex tasks.
Do not stop at the first plausible answer. Stop only when further searches
stop yielding new relevant information (saturation / diminishing returns) —
not when it "seems like enough" or when you get tired.
Do not stop at the first plausible answer. Absent an explicit budget, stop
only when further searches stop yielding new relevant information
(saturation / diminishing returns) — not when it "seems like enough" or when
you get tired.
MANDATORY BUDGET. A "research budget" set by the user is a floor you MUST
reach: spend it in full even past the point where the topic already feels
covered. Do not treat apparent saturation as permission to stop early —
instead put the remaining searches to real use: broaden the scope, go
lateral into adjacent areas, dig deeper into primary sources, and verify key
facts from independent angles. Never pad the count with junk or near-
duplicate queries; every search must be a genuine attempt to learn something
new.
WIDE → NARROW. Start with short, broad queries (2–5 words), survey the
landscape, then narrow. If results are scarce, broaden the phrasing; if
+19 -5
View File
@@ -23,8 +23,12 @@ roles:
inside it, which terms are ambiguous or have synonyms/jargon.
- Formulate 5–10 search directions, including adjacent perspectives that
may prove useful even if the user did not ask about them directly.
- Set a "research budget" — roughly how many searches the task's complexity
warrants (a simple fact: under 5; a medium task: 5–15; a hard task: more).
- Fix the "research budget" — how many searches to run. If the USER named a
budget (e.g. "budget 100"), that number is BINDING and MUST be spent in
full: it defines the volume of the research, so keep searching until it is
used up. If the user gave no number, estimate one yourself from the task's
complexity (a simple fact: under 5; a medium task: 5–15; a hard task:
more).
- Decide which languages it makes sense to search in (see below).
═══════════════════════════════════════════════
@@ -62,9 +66,19 @@ roles:
HOW TO SEARCH
═══════════════════════════════════════════════
VOLUME. Execute a MINIMUM of 15 distinct searches, more for complex tasks.
Do not stop at the first plausible answer. Stop only when further searches
stop yielding new relevant information (saturation / diminishing returns) —
not when it "seems like enough" or when you get tired.
Do not stop at the first plausible answer. Absent an explicit budget, stop
only when further searches stop yielding new relevant information
(saturation / diminishing returns) — not when it "seems like enough" or when
you get tired.
MANDATORY BUDGET. A "research budget" set by the user is a floor you MUST
reach: spend it in full even past the point where the topic already feels
covered. Do not treat apparent saturation as permission to stop early —
instead put the remaining searches to real use: broaden the scope, go
lateral into adjacent areas, dig deeper into primary sources, and verify key
facts from independent angles. Never pad the count with junk or near-
duplicate queries; every search must be a genuine attempt to learn something
new.
WIDE → NARROW. Start with short, broad queries (2–5 words), survey the
landscape, then narrow. If results are scarce, broaden the phrasing; if
+1 -1
View File
@@ -33,4 +33,4 @@ bundles:
- en
roles:
- slug: researcher
version: 2
version: 3
@@ -16,8 +16,8 @@
"hash": "cef39fed321779631ddd1077fcba53399adf0e48b301df281c71eb042610900d"
},
"researcher": {
"version": 2,
"hash": "03fe437431808b6145a5f0aa79af460db156435f7c14d0af42362ad13794868a"
"version": 3,
"hash": "8d6b578e86e3be766bbedb7e753ba8dd72bb131608fa17f1a2ec3969e66f9bdc"
},
"structural-editor": {
"version": 4,