docs: add thinking/reasoning guide and expand provider thinking docs#3004
Conversation
- Add docs/guides/thinking/index.md: comprehensive cross-provider guide covering OpenAI (effort levels, adaptive, token floor), Anthropic (token budget, adaptive/effort-based, interleaved thinking, thinking display, task budget), Gemini 2.5 (token), Gemini 3 (level-based), Bedrock Claude (token + effort mapping, interleaved thinking), and xAI/Mistral. - Expand AWS Bedrock docs: add Thinking Budget and Interleaved Thinking sections with effort-to-token mapping table and beta header behaviour. - Expand OpenAI docs: replace one-liner with effort-level table, hidden reasoning token warning, and adaptive thinking example. - Register thinking guide in nav.yml under Guides.
docker-agent
left a comment
There was a problem hiding this comment.
Assessment: 🟡 NEEDS ATTENTION
2 documentation inconsistency findings in added lines. Both relate to the OpenAI max effort level being omitted from standalone tables while adaptive/max is referenced in YAML comments — creating a potential user-facing ambiguity.
| gpt-adaptive: | ||
| provider: openai | ||
| model: gpt-5-mini | ||
| thinking_budget: adaptive/medium # adaptive/low | adaptive/medium | adaptive/high | adaptive/xhigh | adaptive/max |
There was a problem hiding this comment.
[MEDIUM] max effort level missing from standalone table but referenced in adaptive comment
The effort-level table (lines 64–71) lists none, minimal, low, medium, high, xhigh — but the Adaptive Thinking YAML comment on this line includes adaptive/max, implying max is a recognised level. This creates an internal inconsistency: if max is a valid OpenAI effort level, it should appear in the standalone table (and in the inline comment on line 59). If it is only valid inside adaptive/, this asymmetry may silently mislead users who try thinking_budget: max without the adaptive/ prefix.
Suggested fix: Either add max as a row in the effort table (between xhigh and a note that it is rarely needed), or explicitly note in the adaptive section that adaptive/max is a special-case form not available as a bare level.
|
|
||
| | Provider | Format | Values | Default | | ||
| | -------------- | ---------- | ------------------------------------------------------------ | ------------ | | ||
| | OpenAI | string | `minimal`, `low`, `medium`, `high`, `xhigh`, `none`, `adaptive/<level>` | `medium` | |
There was a problem hiding this comment.
[MEDIUM] Quick Reference table omits max for OpenAI while adaptive comment references adaptive/max
The Quick Reference table on this line lists OpenAI's valid values as minimal, low, medium, high, xhigh, none, adaptive/<level> — with no mention of a bare max level. Yet the adaptive YAML comment on line 72 explicitly enumerates adaptive/max as a valid choice. Compare with the Anthropic row (line 28) and AWS Bedrock row (line 31), both of which list max explicitly.
If max is a valid standalone OpenAI level (as it was in the old inline comment and as it maps to a token budget for Bedrock), it should appear in this table. If it is intentionally excluded from the non-adaptive path, a brief note would prevent users from copying the Anthropic pattern and wondering why thinking_budget: max is rejected.
Suggested fix: Either add max to the OpenAI values cell, or add a footnote clarifying that max is only valid as adaptive/max for OpenAI.
Add a note in both the thinking guide and OpenAI provider page that bare 'thinking_budget: max' is not accepted by OpenAI — max is only valid inside the adaptive/ prefix (adaptive/max). ForOpenAI() in pkg/effort/effort.go confirms: only minimal/low/medium/high/xhigh are accepted as standalone levels.
|
Addressed both reviewer comments (comments #3360724109 and #3360724113):
|
New
docs/guides/thinking/index.mdcovering thinking/reasoning across all providers, plus expanded sections on OpenAI and AWS Bedrock.docs/guides/thinking/): cross-provider reference — effort levels, token budgets, adaptive thinking, interleaved thinking, thinking display, task budget, and a complexity-based chooser tableSee
examples/thinking_budget.yamlfor a runnable demo.