상위: Agno
요약
Agno의 Reasoning Tools는 에이전트에 구조화된 추론 능력을 부여한다. 모든 요청에 추론을 강제하는 Reasoning Agent나 특수 모델이 필요한 Reasoning Model과 달리, Reasoning Tools는 에이전트가 필요할 때만 선택적으로 추론한다. Think → Act → Analyze 패턴을 따른다.
3가지 추론 접근 비교
| 접근 | 설명 | 단점 |
|---|---|---|
| Reasoning Agent | 모든 요청에 체계적 추론 강제 | 간단한 요청에도 오버헤드 |
| Reasoning Model | o1, DeepSeek R1 등 특수 모델 | 모델 종속, 비용 |
| Reasoning Tools | 에이전트가 필요 시 선택적 사용 | Agno의 접근. 가장 유연 |
4가지 Reasoning Toolkit
1. ReasoningTools — 범용 추론
from agno.tools.reasoning import ReasoningTools
agent = Agent(
model=OpenAIChat(id="gpt-4o"),
tools=[ReasoningTools(add_instructions=True)],
)
- 도구:
think(),analyze() - 용도: 수학 문제, 전략 계획, 논리 분석
2. KnowledgeTools — 지식 기반 추론
from agno.tools.knowledge import KnowledgeTools
agent = Agent(
tools=[KnowledgeTools(knowledge=my_kb, add_instructions=True)],
)
- 도구:
think(),search_knowledge(),analyze() - 용도: 문서 검색, RAG 워크플로우, 다중 반복 리서치
3. MemoryTools — 메모리 기반 추론
from agno.tools.memory import MemoryTools
agent = Agent(
tools=[MemoryTools(db=my_db, add_instructions=True)],
)
- 도구:
think(),get/add/update/delete_memory(),analyze() - 용도: 개인화 상호작용, 선호도 관리, 세션 간 컨텍스트
4. WorkflowTools — 워크플로우 추론
from agno.tools.workflow import WorkflowTools
agent = Agent(
tools=[WorkflowTools(workflows=[my_workflow], add_instructions=True)],
)
- 도구:
think(),run_workflow(),analyze() - 용도: 다단계 자동화, 복잡한 오케스트레이션, A/B 테스트
Think → Act → Analyze 패턴
모든 Reasoning Toolkit이 동일한 패턴을 따른다:
1. THINK — 접근 방식을 계획하고 전략을 정제
2. ACT — 도메인별 행동 실행 (검색, 메모리 조작, 워크플로우)
3. ANALYZE — 결과를 평가하고 다음 단계 결정
4. REPEAT — 추가 추론이 필요하면 반복
인간의 문제 해결 방식을 모방한다: 숙고 → 행동 → 평가 → 조정.
다중 Toolkit 조합
여러 Toolkit을 함께 사용할 수 있다. think()과 analyze()가 중복되므로, 하나의 Toolkit만 이 함수를 활성화한다:
agent = Agent(
tools=[
ReasoningTools(add_instructions=True), # think + analyze 담당
KnowledgeTools(
knowledge=my_kb,
enable_think=False, enable_analyze=False, # 중복 비활성화
),
MemoryTools(
db=my_db,
enable_think=False, enable_analyze=False,
),
],
)
ReasoningTools가 공유 추론 스크래치패드를 제공하고, 나머지 Toolkit은 도메인 특화 기능만 기여한다.
Reasoning Model
모델 자체의 추론 능력(reasoning_model)을 쓰는 방식은 Agno Reasoning Model로 분리. 도구 기반 추론과 함께 사용 가능.
관련 개념
- Agno: Agno 프레임워크 MOC
- Agno Agent: 단일 에이전트 구성
- Agno Team: 멀티 에이전트 협업