Agno의 내부 작동 원리와 핵심 구성 요소
Agno의 전체 시스템은 크게 4가지 핵심 구성 요소로 이뤄져 있습니다. 각각의 아키텍처 역할과 상호작용 방식을 하나씩 살펴볼게요.
1. Agent (단일 에이전트)
에이전트는 독립적인 과업을 수행하는 최소 단위입니다. LLM 모델(OpenAI, Anthropic, Gemini, Ollama 등)에 기억(Memory), 지식(Knowledge), 도구(Tools), 추론(Reasoning), 가드레일(Guardrails)을 결합하여 생성됩니다.
2. Team (에이전트 협력체)
여러 전문 에이전트들을 하나로 묶어 복잡한 과업을 분업화하는 구조입니다. 리더 에이전트가 하위 에이전트에 작업을 위임하고 결과를 합성할 수 있어요.
3. Workflow (결정론적 자동화 파이프라인)
에이전트, 팀, 일반 파이썬 함수를 순차적 혹은 조건부로 연결하는 실행 파이프라인입니다. 스텝별 결과 전달과 에러 처리가 순수 파이썬 코드로 이뤄집니다.
4. AgentOS (프로덕션 런타임)
FastAPI 기반의 스테이트리스(Stateless) API 서버로, 에이전트 시스템을 50개 이상의 REST API 엔드포인트와 Server-Sent Events(SSE) 스트리밍 기능으로 노출해 줍니다.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#F0EEE9","primaryBorderColor":"#2a78d6","primaryTextColor":"#2b2926","secondaryColor":"#e8f0fb","secondaryBorderColor":"#4a3aa7","secondaryTextColor":"#2b2926","tertiaryColor":"#eafaf3","tertiaryBorderColor":"#1baf7a","tertiaryTextColor":"#2b2926","lineColor":"#8a8578","textColor":"#2b2926","edgeLabelBackground":"#F0EEE9","noteBkgColor":"#F0EEE9","noteTextColor":"#2b2926","noteBorderColor":"#8a8578","clusterBkg":"#faf9f6","clusterBorder":"#d8d4c8","fontFamily":"Pretendard, sans-serif"}}}%%
flowchart TD
A["사용자 및 API 클라이언트"] --> B["AgentOS REST API"]
B --> C["워크플로우 엔진"]
C --> D["팀 조율자"]
D --> E1["전문 에이전트 A"]
D --> E2["전문 에이전트 B"]
E1 --> F["외부 도구 및 데이터베이스"]
E2 --> F
요청 처리 및 시퀀스 흐름
클라이언트가 Agno 시스템에 질의를 보낼 때 내부에서 이루어지는 상호작용 흐름은 아래와 같습니다.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#F0EEE9","primaryBorderColor":"#2a78d6","primaryTextColor":"#2b2926","secondaryColor":"#e8f0fb","secondaryBorderColor":"#4a3aa7","secondaryTextColor":"#2b2926","tertiaryColor":"#eafaf3","tertiaryBorderColor":"#1baf7a","tertiaryTextColor":"#2b2926","lineColor":"#8a8578","textColor":"#2b2926","edgeLabelBackground":"#F0EEE9","noteBkgColor":"#F0EEE9","noteTextColor":"#2b2926","noteBorderColor":"#8a8578","clusterBkg":"#faf9f6","clusterBorder":"#d8d4c8","fontFamily":"Pretendard, sans-serif"}}}%%
sequenceDiagram
autonumber
participant Client as 클라이언트
participant AgentOS as AgentOS 서비스
participant Team as 분석 팀 리더
participant Agent as 시장 분석 에이전트
participant Tool as YFinance API
Client->>AgentOS: 주가 분석 요청
AgentOS->>Team: 분석 작업 할당
Team->>Agent: 데이터 수집 명령
Agent->>Tool: YFinance API 호출
Tool-->>Agent: 주가 데이터 응답
Agent-->>Team: 데이터 분석 결과 전달
Team-->>AgentOS: 최종 보고서 생성
AgentOS-->>Client: 스트리밍 응답 전송
AgentOS 세션 데이터베이스 스키마
AgentOS는 스테이트리스 환경에서도 지속성을 유지하기 위해 데이터베이스에 세션, 메모리, 트레이스 정보를 영구 저장합니다.
erDiagram
AGENT_ENTITY ||--o{ AGENT_SESSION :
위 ER 다이어그램은 파일 끝에서 관계 설명이 잘린 상태이므로 완성된 데이터베이스 스키마로 해석하면 안 됩니다. 실제 테이블과 마이그레이션은 현재 저장소 문서를 기준으로 확인해야 합니다.