Agno 소개
최근 LLM 기반 애플리케이션에서 단일 프롬프트만으로는 해결할 수 없는 복잡한 문제들이 늘어나고 있습니다. 이에 따라 여러 역할을 분담한 에이전트들이 협업하며 문제를 해결하는 ’멀티 에이전트 시스템(Multi-Agent Systems)’의 필요성이 커지고 있습니다. 특히, 단순한 지시 수행을 넘어서 장기적인 기억을 바탕으로 상황을 인식하고 판단하는 ‘Agentic AI’가 주목받고 있습니다.
이런 흐름 속에서 등장한 Agno는 에이전트 기반 시스템 개발을 위한 풀스택 프레임워크입니다. 기존의 LangChain, LangGraph 등의 프레임워크가 각각 특화된 기능을 제공하는 반면, Agno는 추론(reasoning), 장기기억(memory), 멀티모달 입력/출력, 에이전트 팀 협업까지 모두 포함한 종합적 시스템 구축을 지원합니다. 무엇보다도 빠른 실행 속도와 적은 메모리 사용량을 강조하면서도 실용적인 예제를 함께 제공해 학습과 적용이 용이하다는 점이 특징입니다.
Agno는 단순한 도구 모음이 아닌, 에이전트 중심의 애플리케이션을 빠르게 구축하고 운영할 수 있도록 설계된 실전형 프레임워크입니다. 실제 금융 데이터 분석, 웹 정보 수집, 팀 기반 보고서 작성까지 다양한 예제를 제공하여, 사용자들이 직접 실무에 적용할 수 있도록 돕고 있습니다. 본 글에서는 Agno가 제공하는 기능, 구조, 예제 코드를 중심으로 이 프레임워크의 활용 방법을 자세히 소개합니다.
Agno의 주요 구성
Agno는 에이전트 기반 시스템을 다섯 가지 레벨로 나누어 구조화하고, 각각을 손쉽게 개발할 수 있도록 지원합니다.
- 레벨 1: 도구와 지침만 갖춘 단순한 에이전트
- 레벨 2: 지식과 저장 기능을 포함한 에이전트
- 레벨 3: 기억력과 추론 능력을 지닌 고급 에이전트
- 레벨 4: 서로 협업 가능한 에이전트 팀
- 레벨 5: 상태와 결정성을 가진 완전한 에이전트 워크플로우
이러한 구조는 단순한 챗봇을 넘어 실제 업무를 수행할 수 있는 시스템으로 발전시키기 위한 토대를 제공합니다.
핵심 기능 및 특징
Agno는 다음과 같은 특징들을 내세우며, 기존 프레임워크 대비 경쟁력을 갖추고 있습니다.
- 모델 독립성(Model Agnostic): OpenAI, Anthropic 등 23개 이상의 모델을 단일 인터페이스로 통합
- 고성능: 평균 실행 속도 3μs, 메모리 사용량 6.5KiB로 매우 가볍고 빠름
- 추론 중심 디자인: ReasoningTools, Chain-of-thought 접근 등 다양한 추론 메커니즘 내장
- 멀티모달 지원: 텍스트, 이미지, 오디오, 비디오를 입력/출력으로 처리
- 팀 기반 아키텍처: 역할 분담과 협업이 가능한 Agent Team 구성
- 에이전트 검색 기능: 20개 이상의 벡터 DB 연동 가능한 Agentic RAG(Search + Reasoning)
- 세션 기억과 장기 기억 지원: Storage, Memory 모듈을 통한 기억 기능 구현
- 구조화된 출력: json_mode 또는 모델의 structured output 기능 활용
- FastAPI 기반 라우팅: 에이전트를 곧바로 API 서버로 배포 가능
- 실시간 모니터링: 대시보드를 통한 세션 추적 및 성능 확인
실전 예제 - 금융 데이터 분석 에이전트
다음은 YFinance API를 활용해 주식 정보를 수집하고 리포트를 작성하는 Reasoning Agent 예제입니다.
from agno.agent import Agent
from agno.models.anthropic import Claude
from agno.tools.reasoning import ReasoningTools
from agno.tools.yfinance import YFinanceTools
agent = Agent(
model=Claude(id="claude-sonnet-4-20250514"),
tools=[
ReasoningTools(add_instructions=True),
YFinanceTools(stock_price=True, analyst_recommendations=True, company_info=True, company_news=True),
],
instructions=[
"Use tables to display data",
"Only output the report, no other text",
],
markdown=True,
)
agent.print_response(
"Write a report on NVDA",
stream=True,
show_full_reasoning=True,
stream_intermediate_steps=True,
)
설치 및 실행은 다음과 같이 의존성을 설치한 뒤 가능합니다:
pip install -U agno anthropic yfinance
export ANTHROPIC_API_KEY=your-key
python reasoning_agent.py
실전 예제 - 멀티 에이전트 팀
다음은 웹 검색 담당 에이전트와 금융 정보 담당 에이전트를 조합해 하나의 팀으로 운영하는 예제입니다.
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools
from agno.tools.yfinance import YFinanceTools
from agno.team import Team
web_agent = Agent(
name="Web Agent",
role="Search the web for information",
model=OpenAIChat(id="gpt-4o"),
tools=[DuckDuckGoTools()],
instructions="Always include sources",
show_tool_calls=True,
markdown=True,
)
finance_agent = Agent(
name="Finance Agent",
role="Get financial data",
model=OpenAIChat(id="gpt-4o"),
tools=[YFinanceTools(stock_price=True, analyst_recommendations=True, company_info=True)],
instructions="Use tables to display data",
show_tool_calls=True,
markdown=True,
)
agent_team = Team(
mode="coordinate",
members=[web_agent, finance_agent],
model=OpenAIChat(id="gpt-4o"),
success_criteria="A comprehensive financial news report with clear sections and data-driven insights.",
instructions=["Always include sources", "Use tables to display data"],
show_tool_calls=True,
markdown=True,
)
설치 및 실행은 다음과 같이 의존성을 설치한 뒤 가능합니다:
pip install duckduckgo-search yfinance
python agent_team.py
성능 측정
에이전트 기반 시스템에서는 수많은 에이전트 인스턴스가 생성되고, 다양한 툴과 모델을 호출하게 됩니다. 이 과정에서 시스템의 응답속도와 리소스 효율성이 서비스 전체의 확장성과 안정성에 큰 영향을 미치게 됩니다. Agno는 이런 점을 고려해 에이전트 인스턴스화 속도와 메모리 사용량을 중심으로 성능 최적화를 지향합니다.
Agno는 퍼포먼스에 매우 민감한 프레임워크로, 실행 시간과 메모리 사용량을 LangGraph 등과 비교 테스트한 결과에서 현격한 차이를 보여줍니다. GitHub 저장소의 README 문서를 통해 에이전트 인스턴스화 속도 (Instantiation Time) 와 메모리 사용량 (Memory Usage) 을 어떻게 측정할 수 있는지 확인할 수 있습니다.
라이선스
Agno 프로젝트는 MPL-2.0 License로 공개 및 배포 되고 있습니다. 상업적 사용에 제약이 없으며 자유롭게 수정 및 재배포가 가능합니다.
Agno 프로젝트 GitHub 저장소
Agno 공식 문서 사이트
Agno를 활용하는 다양한 Agent 구성 예제들
더 읽어보기
-
Agent Squad: AWS가 오픈소스로 공개한, Multi-Agents 간 복잡한 대화 관리를 위한 경량 프레임워크
-
Pocket Flow: RAG, (Multi-)Agents 등을 위한, 100줄로 구성된 오픈소스 경량 LLM 프레임워크
-
Eino: LangChain/LangGraph와 유사한, Golang 기반 LLM/AI 애플리케이션 개발 프레임워크
-
IntellAgent: 대화형 AI 시스템 평가를 위한 다중 에이전트 프레임워크(Multi-Agents Framework)
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~