이 글에서는 다음을 살펴보게 됩니다:
- Agno가 무엇이며 AI 에이전트 프레임워크로서 특별한 점은 무엇인지.
- 데이터 검색 도구와의 연동이 AI 에이전트의 성능을 크게 향상시키는 이유.
- Agno를 Bright Data 도구와 결합하여 실시간 데이터 검색이 가능한 에이전트를 구축하는 방법.
자, 시작해 보겠습니다!
Agno란 무엇인가?
Agno는 경량 AI 에이전트 및 다중 에이전트 시스템 구축을 위한 오픈소스 Python 프레임워크입니다. 메모리, 지식 통합, 고급 추론 등에 대한 내장 지원 기능을 제공합니다.
Agno의 독특한 특징은 다음과 같습니다:
- 모델 독립적: 23개 이상의 LLM 공급자에 대한 통합 인터페이스를 제공합니다.
- 고성능: 에이전트 인스턴스화 시간 약 3마이크로초, 평균 메모리 사용량 약 6.5KiB.
- 추론을 핵심 요소로 강조: 에이전트 신뢰성 향상과 어려운 작업 처리를 위해 추론을 중시합니다. 추론 모델, 추론 도구, 사용자 정의 사고 과정 파이프라인 등 세 가지 추론 방식을 지원합니다.
- 내재적 다중 모달리티: 에이전트가 텍스트, 이미지, 오디오, 비디오를 기본적으로 처리하고 생성할 수 있습니다.
- 다중 에이전트 시나리오 지원: 공유 메모리, 컨텍스트 및 조정된 추론을 통해 에이전트 협업 팀을 구축합니다.
- 내장형 에이전트 검색: 에이전트는 최첨단 에이전트 RAG 워크플로를 위해 런타임에 20개 이상의 벡터 데이터베이스를 검색할 수 있습니다.
- 통합 메모리 및 세션 저장: 에이전트에는 내장 저장소 및 메모리 드라이버가 포함되어 있어 장기 메모리 및 지속적인 세션 추적을 제공합니다.
- 구조화된 출력: 완전히 유형화된 응답을 반환합니다.
이 외에도 Agno는 50개 이상의 타사 AI 도구 공급자를 기본적으로 지원합니다. 즉, Agno로 구축된 AI 에이전트는 시중 최고의 AI 솔루션과 손쉽게 통합될 수 있습니다.
AI 에이전트의 정확성과 효율성을 위해 웹 데이터 접근이 필수적입니다
모든 AI 에이전트 프레임워크는 기반이 되는 대규모 언어 모델(LLM)의 핵심적 한계를 상속받습니다. 대부분의 LLM은 정적 데이터셋으로 사전 훈련되어 실시간 인식 능력이 부족하며, 라이브 웹 콘텐츠에 안정적으로 접근할 수 없습니다.
이로 인해 답변이 오래되었거나 심지어 허위 정보를 제공하기도 합니다. 이러한 한계를 극복하려면 에이전트(확장 기능의 경우, 에이전트가 의존하는 LLM도 포함)가 신뢰할 수 있는 웹 데이터에 접근할 수 있어야 합니다. 왜 웹 데이터일까요? 웹이 가장 포괄적인 정보 원천이기 때문입니다 .
따라서 이를 달성하는 효과적인 방법은 Agno 에이전트에게 실시간 검색 쿼리 수행 및 모든 웹 페이지에서 콘텐츠 스크래핑 기능을 부여하는 것입니다. 이는 Agno의 Bright Data 도구를 통해 가능합니다!
이 도구들은 Agno에 기본적으로 통합되어 있으며, 에이전트에게 AI 활용이 가능한 다양한 웹 데이터 도구 모음을 제공합니다. 주요 기능으로는 웹 스크래핑, 검색 결과 페이지(SERP) 데이터 추출, 스크린샷 기능, 그리고 40개 이상의 유명 사이트에서 JSON 형식의 데이터 피드에 대한 접근이 포함됩니다.
Agno 에이전트에 Bright Data 스크래핑 도구 통합 방법
이 섹션에서는 Agno를 사용하여 Bright Data 도구에 연결할 수 있는 Python AI 에이전트를 구축하는 방법을 배웁니다. 이를 통해 에이전트는 모든 페이지에서 데이터를 스크래핑하고 최신 검색 엔진 결과를 검색할 수 있는 능력을 갖추게 됩니다.
Agno에서 Bright Data 기반 AI 에이전트를 구축하려면 아래 단계를 따르세요!
필수 조건
이 튜토리얼을 따라하려면 다음이 준비되어 있어야 합니다:
- 로컬에 설치된 Python 3.7 이상 (최신 버전 권장).
- Bright Data API 키.
- 지원되는 LLM 공급자의 API 키 (여기서는 OpenAI를 사용하지만, 지원되는 공급자라면 어떤 것이든 가능합니다).
아직 Bright Data API 키가 없더라도 걱정하지 마세요. 다음 단계에서 생성하는 방법을 안내해 드리겠습니다.
단계 #1: 프로젝트 설정
터미널을 열고 Bright Data 기반 데이터 검색 기능을 갖춘 Agno AI 에이전트용 새 폴더를 생성하세요:
mkdir agno-bright-data-agent
agno-bright-data-agent 폴더에는 AI 에이전트를 위한 모든 Python 코드가 포함됩니다.
다음으로 프로젝트 폴더로 이동하여 가상 환경을 생성합니다:
cd agno-bright-data-agent
python -m venv venv
이제 선호하는 Python IDE에서 프로젝트 폴더를 엽니다. Visual Studio Code(Python 확장 기능 포함) 또는 PyCharm Community Edition을 권장합니다.
프로젝트 폴더 내에 agent.py라는 새 파일을 생성하세요. 프로젝트 구조는 다음과 같아야 합니다:
agno-bright-data-agent/
├── venv/
└── agent.py
터미널에서 가상 환경을 활성화하세요. Linux 또는 macOS에서는 다음 명령어를 실행합니다:
source venv/bin/activate
Windows에서는 다음과 같이 실행하세요:
venv/Scripts/activate
다음 단계에서는 필요한 종속성 설치 과정을 안내합니다. 지금 바로 모든 것을 설치하려면 활성화된 가상 환경에서 다음 명령어를 실행하세요:
pip install agno python-dotenv openai requests
참고: 본 튜토리얼은 LLM 제공자로 OpenAI를 사용하므로 openai를 설치합니다. 다른 LLM을 사용할 계획이라면 해당 제공자에 맞는 라이브러리를 설치하세요.
이제 준비가 완료되었습니다! Agno와 Bright Data 도구를 사용하여 AI 에이전트를 구축할 수 있는 Python 개발 환경이 마련되었습니다.
2단계: 환경 변수 설정
Agno 에이전트는 OpenAI 및 Bright Data와 같은 타사 서비스와 API 통합을 통해 상호작용합니다. 이를 안전하게 수행하려면 Python 코드에 API 키를 직접 하드코딩하지 마십시오. 대신 환경 변수로 저장하세요.
환경 변수 로딩을 간소화하려면 python-dotenv 라이브러리를 활용하세요. 가상 환경을 활성화한 상태에서 다음 명령어로 설치합니다:
pip install python-dotenv
그런 다음 agent.py 파일에서 라이브러리를 임포트하고 load_dotenv()를 사용하여 환경 변수를 로드하세요:
from dotenv import load_dotenv
load_dotenv()
이 함수는 로컬 .env 파일에서 변수를 읽을 수 있게 합니다. 프로젝트 폴더 루트에 .env 파일을 생성하세요:
agno-bright-data-agent/
├── venv/
├── .env # <-------------
└── agent.py
잘하셨습니다! 이제 환경 변수를 사용하여 타사 통합 시크릿을 안전하게 관리할 준비가 완료되었습니다.
3단계: Bright Data 시작하기
본 문서 작성 시점 기준으로, Agno와 통합된 Bright Data 도구는 다음과 같은 솔루션을 제공합니다:
- SERP API: 모든 주요 검색 엔진의 실시간 검색 결과를 제공하는 API입니다.
- 웹 언락커 API: 정교한 봇 방어 기능을 우회하는 고급 스크래핑 API로, 모든 웹 페이지에 접근할 수 있게 해줍니다( AI 사용에 최적화된 마크다운 형식으로 제공).
- 웹 스크레이퍼 API: 여러 인기 도메인에서 신선하고 구조화된 웹 데이터를 윤리적으로 추출하기 위한 전용 스크래핑 엔드포인트입니다.
상기 도구 통합을 위해 다음을 수행해야 합니다:
- Bright Data 계정에서 SERP API 및 Web Unlocker 솔루션을 구성하세요.
- 이 서비스에 접근하기 위해 Bright Data API 토큰을 가져옵니다.
아래 지침을 따라 두 작업을 모두 수행하세요!
먼저, Bright Data 계정이 아직 없다면 계정 생성을 시작하세요. 이미 계정이 있다면 로그인 후 대시보드를 엽니다:

“프록시 제품 받기” 버튼을 클릭하면 “프록시 및 스크래핑 인프라” 페이지로 이동합니다:

이 경우 SERP API와 Web Unlocker API가 모두 활성화되어 사용 준비가 완료된 것을 확인할 수 있습니다. 해당 존 이름은 각각 serp와 unblocker입니다.
해당되지 않는 경우 설정이 필요합니다. 웹 언락커 API 존 생성 방법을 시연하겠지만, SERP API 존 생성 과정도 유사합니다.
아래로 스크롤하여 “Web Unlocker API” 카드에서 “영역 생성”을 클릭하세요:

존에 이름을 지정하고(예: unlocker), 최대 효과를 위해 고급 기능을 활성화한 후 “추가”를 누르세요:

그러면 다음과 같은 영역 페이지로 이동합니다:

활성화 토글이 “활성화됨”으로 설정되어 있는지 확인하세요. 이는 영역이 올바르게 설정되어 사용 준비가 되었음을 의미합니다.
다음으로 공식 Bright Data 가이드를 따라 API 키를 생성하세요. 생성된 키를 .env 파일에 다음과 같이 추가합니다:
BRIGHT_DATA_API_KEY="<YOUR_BRIGHT_DATA_API_KEY>"
<YOUR_BRIGHT_DATA_API_KEY> 자리 표시자를 실제 API 키 값으로 교체하세요.
훌륭합니다! 이제 Bright Data 도구를 Agno 에이전트 스크립트에 통합할 차례입니다.
4단계: Agno Bright Data 도구 설치 및 구성
프로젝트 폴더에서 가상 환경을 활성화한 상태로 다음 명령어를 실행하여 Agno를 설치하세요:
pip install agno
참고: agno 패키지에는 Bright Data 도구에 대한 내장 지원이 이미 포함되어 있으므로, 이 설정에는 별도의 통합 전용 패키지가 필요하지 않습니다.
이제 Bright Data 도구는 Python requests 라이브러리에 의존하므로, 이 라이브러리도 함께 설치하세요:
pip install requests
agent.py 파일에서 Agno를 통해 Bright Data 도구를 임포트하세요:
from agno.tools.brightdata import BrightDataTools
그런 다음 다음과 같이 도구를 초기화하세요:
bright_data_tools = BrightDataTools(
serp_zone="YOUR_SERP_ZONE_NAME",
web_unlocker_zone="YOUR_UNLOCKER_ZONE_NAME"
)
"YOUR_SERP_ZONE_NAME" 과 "YOUR_UNLOCKER_ZONE_NAME"을 앞서 구성한 Bright Data 영역의 이름으로 대체하세요. 예를 들어, 영역 이름이 serp와 unlocker인 경우 코드는 다음과 같습니다:
bright_data_tools = BrightDataTools(
serp_zone="serp",
web_unlocker_zone="unlocker"
)
참고: 코드에서 직접 존 이름을 전달하는 대신, .env 파일에 다음 환경 변수를 사용할 수도 있습니다:
BRIGHT_DATA_WEB_UNLOCKER_ZONE="<YOUR_BRIGHT_DATA_WEB_UNLOCKER_ZONE>"
BRIGHT_DATA_SERP_ZONE="<YOUR_BRIGHT_DATA_SERP_ZONE>"
자리 표시자를 실제 Bright Data 영역 이름으로 대체하세요. 그런 다음 BrightDataTools에서 serp_zone 및 web_unlocker_zone 인수를 제거하세요.
참고: Bright Data 솔루션에 연결하기 위해 BrightDataTools는 BRIGHT_DATA_API_KEY 환경 변수에 의존합니다. 구체적으로, BRIGHT_DATA_API_KEY 환경 변수에 귀하의 Bright Data API 키가 포함되어 있어야 합니다. 그래서 이전 단계에서 .env 파일에 이를 추가한 것입니다.
대단하네요! 다음 통합은 LLM과의 연동입니다.
단계 #5: LLM 모델 설정
이 튜토리얼에서 사용되는 LLM 제공업체인 OpenAI에 연결하려면 먼저 필요한 openai 종속성을 설치하세요:
pip install openai
그런 다음 Agno에서 OpenAI 통합 클래스를 임포트합니다:
from agno.models.openai import OpenAIChat
이제 아래와 같이 LLM 모델을 초기화하세요:
llm_model = OpenAIChat(id="gpt-4o-mini")
위에서 "gpt-4o-mini" 는 본 가이드에서 사용된 OpenAI 모델의 이름입니다. 필요 시 다른 지원되는 OpenAI 모델로 변경할 수 있습니다.
배경에서 OpenAIChat은 OPENAI_API_KEY라는 환경 변수에 OpenAI API 키가 정의되어 있을 것을 기대합니다. 이를 설정하려면 .env 파일에 다음 줄을 추가하세요:
OPENAI_API_KEY="<YOUR_OPENAI_API_KEY>"
<YOUR_OPENAI_API_KEY> 자리 표시자를 실제 OpenAI API 키로 대체하세요.
참고: Agno가 지원하는 다른 LLM에 연결하려면 공식 문서의 지침을 참조하세요.
잘하셨습니다! 이제 웹 데이터 검색 기능을 갖춘 Agno 에이전트를 구축할 모든 기반이 마련되었습니다.
6단계: 에이전트 생성
agent.py 파일에서 에이전트를 정의하세요:
agent = Agent(
tools=[bright_data_tools],
show_tool_calls=True,
model=llm_model,
)
이렇게 하면 구성된 LLM 모델을 사용하여 사용자 입력을 처리하고 데이터 검색을 위해 Bright Data 도구에 접근할 수 있는 Agno 에이전트가 생성됩니다. show_tool_calls=True 옵션은 에이전트가 요청을 처리하기 위해 어떤 도구를 사용하는지 표시하므로 진행 상황을 이해하는 데 도움이 됩니다.
Agno에서 Agent 클래스를 반드시 임포트하세요:
from agno.agent import Agent
훌륭합니다! Agno와 Bright Data의 통합이 완료되었습니다. 이제 에이전트에 쿼리를 보내 작동하는 모습을 확인하기만 하면 됩니다.
7단계: Bright Data 도구로 구동되는 에이전트에 쿼리하기
이제 다음 두 줄의 코드로 Agno AI 에이전트와 상호작용할 수 있습니다:
prompt = "AAPL 뉴스 검색"
agent.print_response(prompt, markdown=True)
첫 번째 줄은 에이전트가 처리할 작업이나 질문을 설명하는 프롬프트를 정의합니다. 두 번째 줄은 이를 실행하고 출력을 표시합니다.
markdown=True 옵션은 응답이 마크다운 형식으로 포맷되도록 하여 가독성이 높고 AI 친화적인 출력에 이상적입니다.
참고: 원하는 프롬프트를 자유롭게 시도해 볼 수 있지만, SERP 데이터 검색 기능을 테스트하기에는 “AAPL 뉴스 검색”이 훌륭한 시작점입니다.
8단계: 모든 것을 통합하기
agent.py 파일의 최종 코드는 다음과 같아야 합니다:
from dotenv import load_dotenv
from agno.tools.brightdata import BrightDataTools
from agno.models.openai import OpenAIChat
from agno.agent import Agent
# .env 파일에서 환경 변수 로드
load_dotenv()
# Agno 통합을 위한 Bright Data 도구 구성
bright_data_tools = BrightDataTools(
serp_zone="serp", # SERP API 영역 이름으로 대체
web_unlocker_zone="unlocker" # Web Unlocker API 영역 이름으로 대체)
# AI 에이전트가 사용할 LLM
llm_model = OpenAIChat(id="gpt-4o-mini")
# Bright Data 도구를 포함한 Agno 에이전트 정의
agent = Agent(
tools=[bright_data_tools],
show_tool_calls=True, # 백엔드 동작 이해에 유용함
model=llm_model,
)
# AI 에이전트에서 작업 실행
prompt = "AAPL 뉴스 검색"
agent.print_response(prompt, markdown=True)
30줄 미만의 코드로, 어떤 웹 페이지에서든 데이터를 스크래핑하고 주요 검색 엔진에서 실시간 검색을 수행할 수 있는 AI 에이전트를 구축했습니다. 이것이 바로 AI 에이전트 구축을 위한 풀스택 프레임워크인 Agno의 힘입니다!
9단계: Agno 에이전트 실행하기
이제 Agno AI 에이전트를 실행해 볼 시간입니다. 터미널에서 다음 명령어로 실행하세요:
python agent.py
터미널에 에이전트가 “AAPL 뉴스 검색” 프롬프트를 처리 중임을 보여주는 애니메이션 출력이 표시됩니다. 완료되면 에이전트는 다음과 같은 결과를 생성합니다:

출력 내용:
- 사용자가 제출한 프롬프트.
- 에이전트가 작업을 완료하기 위해 사용한 도구. 이 경우 Bright Data 도구의
search_engine()함수를 사용하여 SERP API를 통해 Google에 접근하고 AAPL 주식에 대한 실시간 뉴스를 검색했습니다. - 검색된 데이터를 기반으로 OpenAI 모델이 생성한 마크다운 형식의 응답.
참고: 마크다운 형식 덕분에 결과에는 클릭 가능한 링크가 포함된 실시간 뉴스 콘텐츠가 포함됩니다. 또한 일부 뉴스는 매우 최신 정보로, 프롬프트 실행 몇 시간 전에 게시된 것입니다.
이제 한 단계 더 나아가 보겠습니다. 검색된 뉴스 기사 중 하나의 요약본을 원한다고 가정해 보세요. 프롬프트를 간단히 업데이트하면 됩니다:
prompt = """
다음 뉴스 기사의 약 150단어 분량 요약문을 제공해 주세요.
뉴스 URL:
https://www.msn.com/en-us/money/other/apple-inc-aapl-to-introduce-new-parental-controls-to-protect-kids-and-teens-online/ar-AA1HdVd6
"""
agent.print_response(prompt, markdown=True)
이번에는 출력 결과가 다음과 비슷하게 보일 것입니다:

이 경우 에이전트는 다른 도구인 scrape_as_markdown()을 사용했습니다. 이 도구는 Web Unlocker API에 연결하여 웹 페이지 콘텐츠를 마크다운 형식으로 가져온 후 LLM에 전달해 요약합니다.
자, 이제 Bright Data 도구와 Agno로 구동되는 AI 에이전트에서 원활한 데이터 검색 및 처리 과정을 경험해 보셨습니다.
다음 단계
이 튜토리얼에서 Agno로 구축한 AI 에이전트는 시작점일 뿐입니다. 사실 우리는 가능성의 표면만을 살짝 훑었을 뿐입니다. 프로젝트를 더 발전시키려면 다음 단계를 고려해 보세요:
- 지식 저장소 추가: Bright Data 도구를 활용해 웹 데이터를 수집하고 Agno의 내장 벡터 데이터베이스에 저장하여 에이전트를 개선하세요. 이를 통해 장기 기억이 가능해지며 에이전트형 RAG(검색-추론-추론) 를 지원합니다.
- 에이전트 기억 및 추론 활성화: 에이전트에 기억력과 다단계 추론 능력을 부여하여 학습, 반성, 정보 기반 의사결정이 가능하도록 합니다. 이를 통해 인기 있는 ReAct(추론 + 행동) 에이전트 아키텍처와 같은 고급 패턴을 구현할 수 있습니다.
- 간편한 상호작용을 위한 UI 구축: ChatGPT와 유사한 사용자 인터페이스를 추가하여 AI 에이전트와의 보다 자연스러운 대화 환경을 조성하세요.
더 많은 아이디어와 고급 통합 방법은 공식 Agno 문서를 참고하세요.
결론
이 글에서는 Bright Data 도구를 활용해 실시간 데이터 검색 기능을 갖춘 AI 에이전트를 Agno로 구축하는 방법을 알아보았습니다. 이 통합을 통해 에이전트는 웹사이트와 검색 엔진 모두에서 공개 웹 콘텐츠에 접근할 수 있습니다.
여기서 본 내용은 단순한 예시에 불과하다는 점을 잊지 마십시오. 더 고급 에이전트를 구축하려면 실시간 웹 데이터 검색, 검증 및 변환 솔루션이 필요합니다. 바로 Bright Data의 AI 인프라에서 이를 찾을 수 있습니다.
무료 Bright Data 계정을 생성하고 AI 활용이 가능한 데이터 도구로 실험을 시작해 보세요!