Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions devagent/core/llm.py
Original file line number Diff line number Diff line change
Expand Up @@ -971,5 +971,8 @@ def get_llm_for_task(config: DevAgentConfig, task: str) -> LLMClient:
base_url=config.llm.base_url,
temperature=config.llm.temperature,
api_key=config.llm.api_key,
effort=config.llm.effort,
extended_thinking=config.llm.extended_thinking,
thinking_budget_tokens=config.llm.thinking_budget_tokens,
)
return LLMClient(routed_cfg)
13 changes: 13 additions & 0 deletions tests/test_phase5.py
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,19 @@ def test_router_config_inherits_api_key():
assert client.cfg.api_key == "sk-test-key"


def test_router_config_inherits_effort_and_thinking():
"""get_llm_for_task keeps effort / extended-thinking settings from the main llm config."""
from devagent.core.llm import get_llm_for_task
cfg = _make_config(provider="anthropic", model="claude-3-haiku", api_key="sk-test-key")
cfg.llm.effort = "max"
cfg.llm.extended_thinking = True
cfg.llm.thinking_budget_tokens = 4_000
client = get_llm_for_task(cfg, "coding")
assert client.cfg.effort == "max"
assert client.cfg.extended_thinking is True
assert client.cfg.thinking_budget_tokens == 4_000


def test_router_config_fallback_on_unknown_task():
"""Unknown task falls back to RouterConfig.fallback."""
from devagent.core.router import MultiModelRouter
Expand Down
Loading