deep-research + deep-web-research: v2.0.0 — six-move flow, domain-aware tool selection, re-strategize checkpoints, tag-based saturation, 600-turn ceiling
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: deep-research
|
||||
description: Dispatch exhaustive deep web research to the research profile. Triggered by "deep research", "ask web", or "research this". The research profile runs with the deep-web-research skill loaded — five-move flow, external ledger, mechanical saturation, disconfirmation, condensation from disk.
|
||||
version: 1.0.1
|
||||
description: Dispatch exhaustive deep web research to the research profile. Triggered by "deep research", "ask web", or "research this". The research profile runs with the deep-web-research skill loaded — six-move flow, external ledger, mechanical saturation, disconfirmation, condensation from disk.
|
||||
version: 2.0.0
|
||||
author: Hermes Agent
|
||||
license: MIT
|
||||
platforms: [linux]
|
||||
@@ -17,12 +17,14 @@ metadata:
|
||||
|
||||
Dispatches a research question to the research profile, which runs with the `deep-web-research` skill loaded. The research agent does exhaustive, trail-following research — any tool, any trail, no rush — then condenses everything into a tight, concrete, evidence-backed answer. This agent just relays the result.
|
||||
|
||||
See `references/design-rationale.md` for the v2.0 architecture decisions and Claude validation findings.
|
||||
|
||||
**Trigger phrases:** "deep research", "ask web", "research this", "deep dive on", "exhaustive research on"
|
||||
|
||||
## Command
|
||||
|
||||
```
|
||||
hermes -p research -s deep-web-research chat -q "<question>" -Q --max-turns 200 --yolo
|
||||
hermes -p research -s deep-web-research chat -q "<question>" -Q --max-turns 600 --yolo
|
||||
```
|
||||
|
||||
- Output line 1: `session_id: <id>` — capture this
|
||||
@@ -31,20 +33,21 @@ hermes -p research -s deep-web-research chat -q "<question>" -Q --max-turns 200
|
||||
|
||||
**Subsequent asks (resume the session):**
|
||||
```
|
||||
hermes -p research -s deep-web-research chat --resume <session_id> -q "<follow-up>" -Q --max-turns 200 --yolo
|
||||
hermes -p research -s deep-web-research chat --resume <session_id> -q "<follow-up>" -Q --max-turns 600 --yolo
|
||||
```
|
||||
|
||||
## What the Research Agent Does
|
||||
|
||||
The `deep-web-research` skill on the research profile enforces:
|
||||
|
||||
0. **Analyze & Strategize** — analyze the question, select tools from the arsenal, write strategy to ledger
|
||||
1. **Decompose** — break the question into sub-questions with time classifications
|
||||
2. **Landscape Pass** — shallow sweep, identify key sources and terms
|
||||
3. **Deep-Dive** — 3+ search angles per sub-question, full-page reads, citation trails, depth-first
|
||||
4. **Disconfirmation** — actively hunt for contradiction and outdated claims
|
||||
5. **Condensation** — read the external findings ledger from disk, synthesize into a concrete answer
|
||||
|
||||
The research agent writes all findings to `/tmp/research-<sid>.md` (external ledger) and uses a phase gate file to enforce completion before condensing. Mechanical saturation checks (`grep -c`) prevent endless searching.
|
||||
The research agent writes all findings to `/tmp/research-<sid>.md` (external ledger) and uses a phase gate file to enforce completion before condensing. Mechanical saturation checks (`grep -c`) prevent endless searching. Re-strategize checkpoints after Move 2 and every ~10 findings during Move 3 enable mid-research pivots.
|
||||
|
||||
## When to Use
|
||||
|
||||
@@ -80,33 +83,20 @@ The research agent self-reports are not verified fact. If it claims a file write
|
||||
1. **Profile flag required.** Always use `-p research`. The sticky default may be general.
|
||||
2. **Skill flag required.** Always use `-s deep-web-research`. Without it, the research agent runs in normal mode without the methodology.
|
||||
3. **--yolo is required.** The research agent runs headless. Without it, approval prompts fail closed.
|
||||
4. **200 turns is the ceiling, not the target.** The research agent should condense well before 200. Hitting the ceiling means it failed to condense.
|
||||
4. **600 turns is the ceiling, not the target.** The research agent should condense well before 600. Hitting the ceiling means it failed to condense.
|
||||
5. **Don't re-condense.** The research agent already produced a condensed answer. Relay it, don't summarize it further.
|
||||
6. **Don't do the research yourself.** If the user triggers deep research, dispatch it. Don't run a few searches and call it done. This is the #1 failure mode: the agent runs 2-3 `mcp_searxng_searxng_web_search` calls, gets empty results, and gives up. That's not deep research — that's a casual lookup. If you catch yourself typing `mcp_searxng_searxng_web_search` for a deep research request, STOP. You're doing it wrong. Dispatch to the research profile.
|
||||
7. **The methodology skill lives on the research profile.** `deep-web-research` is at `~/.hermes/profiles/research/skills/research/deep-web-research/SKILL.md`. It does NOT exist on the general profile. Don't search for it here — it won't be found. The general profile only has this delegation skill.
|
||||
8. **`reasoning_effort: xhigh` breaks `glm-5.2:cloud`.** The research profile's default model (`glm-5.2:cloud` via `custom:ollama`) rejects `xhigh` — it only accepts `high`, `medium`, `low`, `max`, or `none`. If the dispatch fails with "HTTP 400: invalid reasoning value: 'xhigh'", check `~/.hermes/profiles/research/config.yaml` → `agent.reasoning_effort`. Set it to `max` (the highest level the model actually supports). Do NOT downgrade to `high` without asking the user — they explicitly want maximum reasoning effort. If the model changes to one that supports `xhigh`, revert to `xhigh`.
|
||||
|
||||
## Pre-Dispatch Reasoning Check (MANDATORY)
|
||||
|
||||
Before EVERY deep research dispatch, verify the research profile's reasoning_effort is set to the maximum the model supports. This is a hard gate — do not dispatch without checking.
|
||||
Before EVERY deep research dispatch, set the research profile's reasoning_effort to `max`. This is a hard gate — do not dispatch without it.
|
||||
|
||||
```
|
||||
# 1. Read the research profile's current model and reasoning_effort
|
||||
grep -E "default:|reasoning_effort:" ~/.hermes/profiles/research/config.yaml
|
||||
|
||||
# 2. If reasoning_effort is NOT 'max' (or 'xhigh' for models that support it):
|
||||
# - If model is glm-5.2:cloud → set to 'max' (xhigh rejected)
|
||||
# - If model is deepseek-v4-pro:cloud → set to 'max' (xhigh rejected)
|
||||
# - If model is minimax-m3:cloud → set to 'xhigh' (supports it)
|
||||
# - If unsure what the model supports → set to 'max' (safe default)
|
||||
|
||||
# 3. Apply the fix if needed:
|
||||
hermes -p research config set agent.reasoning_effort max
|
||||
# OR for models that support xhigh:
|
||||
hermes -p research config set agent.reasoning_effort xhigh
|
||||
```
|
||||
|
||||
**Rule:** Always dispatch with the highest reasoning effort the model actually supports. Never silently downgrade. If the model changed and you don't know what it supports, test with `max` first (universally safer than `xhigh`).
|
||||
`max` is the highest effort setting universally supported by all models. No model-specific table needed. If the model changes to one that supports `xhigh`, the user will set it in config — the pre-dispatch check just ensures it's at `max` minimum.
|
||||
|
||||
## Research → Validate → Fix Pipeline
|
||||
|
||||
|
||||
Reference in New Issue
Block a user