hermes - 💡(How to fix) Fix [Feature Request] Smart reasoning_effort routing based on task complexity [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#13663Fetched 2026-04-22 08:04:57
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Participants

Root Cause

Real-world example: a user reported that changing one HTML image width (a 2-second task) took nearly 2 hours because reasoning_effort: medium and max_turns: 60 were the defaults.

Fix Action

Fix / Workaround

  • Low complexity (single-file patch, formatting, translation): medium reasoning depth is overkill, wasting time and tokens
  • High complexity (multi-file refactors, architecture design, research): medium is insufficient, causing excessive iteration
smart_reasoning_routing:
  enabled: true
  rules:
    - match: ["patch", "edit", "single file"]
      reasoning_effort: low
    - match: ["search", "research", "analyze"]
      reasoning_effort: high
  default: medium

Current workaround (already exists but underutilized)

Code Example

smart_reasoning_routing:
  enabled: true
  rules:
    - match: ["patch", "edit", "single file"]
      reasoning_effort: low
    - match: ["search", "research", "analyze"]
      reasoning_effort: high
  default: medium

---

/reasoning low   # for simple tasks
/reasoning high  # for complex tasks
hermes chat -t terminal,file   # restrict tools for file editing tasks
RAW_BUFFERClick to expand / collapse

Problem

reasoning_effort is currently a static configuration value applied uniformly to all tasks. However, task complexity varies dramatically:

  • Low complexity (single-file patch, formatting, translation): medium reasoning depth is overkill, wasting time and tokens
  • High complexity (multi-file refactors, architecture design, research): medium is insufficient, causing excessive iteration

Real-world example: a user reported that changing one HTML image width (a 2-second task) took nearly 2 hours because reasoning_effort: medium and max_turns: 60 were the defaults.

See: https://mp.weixin.qq.com/s/JZ0oCCPmeJp27EdEMTid0Q

Proposed Solutions (3 tiers, increasing complexity)

Option A — Zero code: Documentation (lowest cost)

Explicitly document the recommended reasoning_effort settings per task type, and promote the existing /reasoning CLI command for dynamic adjustment.

Option B — Medium cost: Smart Routing extension (recommended)

Extend the existing smart_model_routing mechanism to also handle reasoning_effort:

smart_reasoning_routing:
  enabled: true
  rules:
    - match: ["patch", "edit", "single file"]
      reasoning_effort: low
    - match: ["search", "research", "analyze"]
      reasoning_effort: high
  default: medium

Option C — Full solution: LLM-driven auto-classification

Add a lightweight classification step at task intake (sub-100ms) using a smaller model to determine complexity and inject the appropriate reasoning_effort hint into the system prompt automatically.

Current workaround (already exists but underutilized)

/reasoning low   # for simple tasks
/reasoning high  # for complex tasks
hermes chat -t terminal,file   # restrict tools for file editing tasks

extent analysis

TL;DR

Adjust the reasoning_effort configuration based on task complexity to optimize performance and reduce unnecessary iterations.

Guidance

  • Evaluate the complexity of each task and apply the corresponding reasoning_effort setting: low for simple tasks like single-file patches, and high for complex tasks like multi-file refactors.
  • Consider implementing Option B, the Smart Routing extension, to dynamically adjust reasoning_effort based on task types.
  • Utilize the existing /reasoning CLI command to adjust reasoning_effort on a per-task basis, especially for tasks that don't fit into predefined categories.
  • Review the current workaround and promote its usage for simple tasks to reduce waste and improve efficiency.

Example

smart_reasoning_routing:
  enabled: true
  rules:
    - match: ["patch", "edit", "single file"]
      reasoning_effort: low
    - match: ["search", "research", "analyze"]
      reasoning_effort: high
  default: medium

Notes

The choice of solution depends on the desired level of automation and complexity. Option B provides a balanced approach between ease of implementation and effectiveness.

Recommendation

Apply workaround: Utilize the existing /reasoning CLI command and promote its usage to dynamically adjust reasoning_effort for tasks, as it provides an immediate and low-cost solution to optimize performance.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix [Feature Request] Smart reasoning_effort routing based on task complexity [1 participants]