본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 09. 18:46

80줄의 Python 코드로 실시간 AI 리서치 에이전트 구축하기

요약

80줄의 Python 코드와 LangChain을 활용하여 실시간 웹 검색이 가능한 AI 리서치 에이전트를 구축하는 방법을 소개합니다. SERP API와 휴리스틱 결정 레이어를 결합하여 인프라 관리 없이 최신 정보를 반영하는 효율적인 에이전트 구조를 제안합니다.

핵심 포인트

  • Talordata API를 사용하여 HTML 파싱 없이 구조화된 검색 결과 획득
  • 키워드 기반 휴리스틱을 통해 불필요한 검색을 방지하고 비용 최적화
  • LangChain의 ReAct 에이전트를 활용한 검색 도구 통합
  • 최신 정보가 필요한 쿼리에 대해서만 실시간 검색 수행

문제점: 저는 LLM (Large Language Model)이 단순히 학습 데이터의 컷오프(cutoff) 시점에 머물지 않고, 최신 사건에 대한 질문에 답하기를 원했습니다.
제약 사항: 프록시 풀(proxy pools), CAPTCHA(캡차), 또는 HTML 파서(parsers)를 직접 관리하고 싶지 않았습니다.
결과: 실시간으로 웹을 검색하고 답변을 합성하는 간단한 리서치 에이전트를 만들었습니다. 80줄의 코드, 2개의 API 키, 인프라 구축 제로.
작동 방식은 다음과 같습니다.

아키텍처 (The Architecture)

사용자 질문 → [검색 필요?] → 아니오 → LLM이 직접 답변
                                 → 예 → SERP API → 구조화된 결과 → LLM 합성

세 가지 요소: 검색 API, 결정 레이어(decision layer), 그리고 LLM.

SERP API 부분
저는 구조화된 Google 검색 결과가 필요했습니다. 몇 가지 SERP API를 평가한 끝에 Talordata를 선택했습니다. 결정적인 요인은 이 서비스가 SerpApi와 동일한 인터페이스 사양을 사용한다는 점이었습니다. 이전 프로젝트에서 사용하던 기존 코드가 있었기에, 전환 시 URL 하나와 API 키 하나만 바꾸면 되었습니다. 코드 변경은 필요 없었습니다.
통합 방식은 단일 함수로 이루어집니다:

def search_web(query, api_key):
    params = {"q": query, "engine": "google", "api_key": api_key}
    resp = requests.get("https://serpapi.talordata.net/serp/v1/request", params=params)
...

깨끗한 JSON을 반환합니다. HTML 파싱, 프록시 관리, CAPTCHA가 필요 없습니다.

결정 레이어 (The Decision Layer)
모든 질문에 실시간 검색이 필요한 것은 아닙니다. "Python 데코레이터(decorator)가 뭐야?"라는 질문은 검색을 완전히 건너뛰어야 합니다.
저는 간단한 휴리스틱(heuristic)을 추가했습니다: 쿼리에 2026, latest, compare, best, price와 같은 키워드가 포함되어 있으면 검색을 트리거합니다. 그렇지 않으면 LLM이 직접 답변합니다.
이 방식은 사실 관계 질문에 대한 오탐(false positives)을 거의 제로에 가깝게 유지하면서, 검색 가치가 있는 쿼리의 약 85%를 잡아냅니다.

에이전트 배선 (The Agent Wiring)
LangChain의 ReAct 에이전트를 사용하여 검색 함수를 도구(tool)로 래핑(wrap)하고 이를 LLM에 연결했습니다. 시스템 프롬프트에는 한 가지 중요한 지침이 포함되어 있습니다: 휴리스틱이 필요하다고 판단할 때만 검색을 호출할 것.

search_tool = Tool(name="web_search", func=lambda q: json.dumps(search_web(q, API_KEY)))
agent = create_react_agent(llm, [search_tool], prompt)
executor = AgentExecutor(agent=agent, tools=[search_tool])

이것이 전부입니다. 에이전트는 언제 검색할지를 결정하고, 결과를 통합하며, 종합된 답변을 생성합니다.

동작을 통해 배운 점

쿼리 유형동작결과
"Python 데코레이터 설명해줘"LLM만 사용즉각적이고 정확함
"2026년 최고의 AI 코딩 도구"검색 + 종합실제 2026년 리뷰를 인용함
"GPT-4o vs Claude 4"검색최신 벤치마크 비교 데이터
"React 19 새로운 기능"검색최신 변경 로그(changelog) 정보

시간에 민감한 질문에서는 차이가 극명합니다. 검색이 없다면 LLM은 추측을 하게 됩니다. 검색이 있다면 올해 발표된 실제 기사들을 참조합니다.

비용
SERP API: Talordata 기준 30,000회 요청당 $27. 하루 약 500회 검색 시 ≈ 월 $13.50.
LLM: 이 정도 사용량 기준으로 GPT-4o는 월 약 $60.
SERP API 부분의 비용은 미미합니다. 한 달에 13달러 정도면 모든 프록시 관리, CAPTCHA 처리, HTML 파싱(parsing) 문제를 해결할 수 있습니다. 이는 고장 난 스크래퍼(scraper)를 디버깅하는 데 드는 단 한 시간의 비용보다 적습니다.

다음 단계
이 v1 버전은 작동하지만, 개선할 여지가 분명히 있습니다:
더 똑똑한 검색/비검색 분류. 정규 표현식(regex) 방식이 작동은 하지만, 가벼운 분류기(classifier)를 사용하는 것이 더 깔끔할 것입니다.
병렬 검색. 복잡한 질문의 경우, 여러 쿼리를 병렬로 실행하면 더 풍부한 결과를 얻을 수 있습니다.
더 풍부한 데이터. 현재는 유기적 검색 결과(organic results)만 사용하고 있습니다. 지식 그래프(knowledge graph)와 관련 질문들이 API 응답에 포함되어 있으니, 이를 활용하기만 하면 됩니다.

핵심 요약 (The Takeaway)
이 프로젝트에서 가장 흥미로운 점은 코드 그 자체가 아닙니다. 적절한 서비스(services)를 선택했을 때 얼마나 많은 복잡성이 사라지는가 하는 점입니다.
5년 전만 해도 이를 구축하려면 크롤링 인프라(crawling infrastructure), 프록시 로테이션(proxy rotation), CAPTCHA 해결(CAPTCHA solving) 및 지속적인 유지보수가 필요했습니다. 오늘날에는 짧은 스크립트와 두 번의 API 호출만으로 가능합니다.
이제 진정한 기술은 인프라를 구축하는 것이 아닙니다. 어떤 요소들을 조합할지, 그리고 무엇을 전문가에게 맡길지를 아는 것입니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0