Skip to content

Feat/log reasoning effort#947

Open
Immersion-Dreaming wants to merge 9 commits into
GCWing:evals-on-releasefrom
Immersion-Dreaming:feat/log-reasoning-effort
Open

Feat/log reasoning effort#947
Immersion-Dreaming wants to merge 9 commits into
GCWing:evals-on-releasefrom
Immersion-Dreaming:feat/log-reasoning-effort

Conversation

@Immersion-Dreaming
Copy link
Copy Markdown

Add wire_reasoning.rs — a format-agnostic extractor that reads thinking/effort from the final request body across all adapters (OpenAI Chat, Responses, Anthropic, Gemini).

Values flow through StreamResponse and are logged at ai::model_response as wire_thinking and wire_effort.

Where to see the log
ai.log

as: [DEBUG][ai::model_response] ... wire_thinking=Some("enabled"), wire_effort=Some("max")

初升的太阳 and others added 8 commits May 29, 2026 10:54
Add an info-level log in apply_openai_compatible_reasoning_fields that
prints the raw configured value, the normalized value, model name, and
reasoning mode. This makes it easy to observe what reasoning_effort
actually takes effect, solving the problem of users being unable to
tell which value was sent to the API after normalization.
The Anthropic adapter path already normalizes reasoning_effort for DeepSeek
models but had no observability. Add the same info-level log that was added
to the OpenAI quirks path, covering all ReasoningMode variants.
Add a format-agnostic extractor (wire_reasoning.rs) that reads thinking
and effort values from the final provider request body, regardless of
which adapter built it (OpenAI Chat, OpenAI Responses, Anthropic, Gemini).

The extracted fields are carried through StreamResponse and logged in
round_executor at ai::model_response target alongside other model metrics.

This replaces the previous per-adapter logging approach with a single
extraction point in sse.rs that covers all adapters uniformly.
Move remote workspace, session, initial-sync, poll, and interaction command orchestration into services-integrations while keeping concrete runtime adapters in core. Update decomposition docs and boundary checks to match the new owner split.
@wgqqqqq
Copy link
Copy Markdown
Collaborator

wgqqqqq commented May 29, 2026

reasoning_effort 的正确来源已经在现有链路里了:AIModelConfig.reasoning_effort -> AIConfig.reasoning_effort,core 里直接从 ai_client.config.reasoning_effort.as_deref() 拿即可。反解析没什么必要。

@Immersion-Dreaming Immersion-Dreaming force-pushed the feat/log-reasoning-effort branch from e5ca68d to 19b53b1 Compare May 29, 2026 09:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants