상위: Agno
요약
Agno Reasoning Tools(도구 기반 추론)와 별개로, 모델 자체의 추론 능력을 활용하는 방식. reasoning_model 파라미터로 추론 전용 모델을 분리 지정할 수 있다.
기본 사용
from agno.agent import Agent
from agno.models.anthropic import Claude
agent = Agent(
reasoning_model=Claude(
id="claude-sonnet-4-5",
thinking={"type": "enabled", "budget_tokens": 1024},
),
reasoning=True,
instructions="Think step by step about the problem.",
)
agent.print_response(
"What is 25 * 37?",
stream=True,
show_full_reasoning=True, # 추론 과정 출력
)
추론 모델 + 응답 모델 분리
추론 능력이 강한 모델로 사고하고, 응답 품질이 좋은 모델로 최종 답변을 생성하는 패턴:
from agno.models.anthropic import Claude
from agno.models.groq import Groq
agent = Agent(
model=Claude(id="claude-sonnet-4-5"), # 응답 모델
reasoning_model=Groq( # 추론 모델
id="deepseek-r1-distill-llama-70b",
temperature=0.6, max_tokens=1024, top_p=0.95,
),
)
추론 단계 제한
agent = Agent(
model=OpenAIResponses(id="gpt-5.2"),
reasoning_model=OpenAIResponses(id="gpt-5-mini"),
reasoning=True,
reasoning_min_steps=2, # 최소 추론 단계
reasoning_max_steps=5, # 최대 추론 단계
)
모델별 추론 설정
| 모델 | 설정 방식 |
|---|---|
| Claude | thinking={"type": "enabled", "budget_tokens": 1024} |
| Gemini | thinking_budget=1024 |
| OpenAI | 자동 (reasoning tokens 지원 모델) |
| DeepSeek R1 | Groq/Ollama 경유, temperature=0.6 권장 |
Reasoning Tools vs Reasoning Model
| Reasoning Tools | Reasoning Model | |
|---|---|---|
| 방식 | 도구 호출 (think/analyze) | 모델 내부 사고 과정 |
| 선택성 | 에이전트가 필요 시 호출 | 매 요청마다 추론 |
| 모델 의존 | 모든 모델에서 작동 | 추론 지원 모델 필요 |
| 비용 | 도구 호출 토큰만 | 추론 토큰 추가 소비 |
| 조합 | 함께 사용 가능 | 함께 사용 가능 |
관련 노트
- Agno Reasoning Tools — 도구 기반 추론
- Agno