Launch HN: Webhound (YC S23) – 웹에서 데이터셋을 구축하는 리서치 에이전트 (Research agent)
요약
Webhound은 자연어 프롬프트를 통해 웹에서 구조화된 데이터셋을 자동으로 구축하는 AI 리서치 에이전트입니다. 초기 Claude 모델 기반의 단일 에이전트 방식에서 발생하던 높은 비용과 무한 루프 문제를 해결하기 위해, Gemini 2.5 Flash를 활용한 멀티 에이전트 시스템과 계층적 구조로 전환하여 비용을 30배 절감하고 성능을 개선했습니다.
핵심 포인트
- 자연어 프롬프트로 검색, 추출, CSV 출력을 수행하는 데이터셋 구축 자동화 도구
- 메인, 검색, 비평가, 검증기 에이전트로 구성된 멀티 에이전트 시스템 도입
- Gemini 2.5 Flash 전환을 통해 비용 30배 절감 및 속도와 품질 향상
- 자체 제작한 마크다운 기반 텍스트 브라우저를 사용하여 추출 효율성 극대화
- 계획(Planning)과 추출(Extraction)의 2단계 실행 프로세스 및 API 지원
저희는 자연어 프롬프트 (Natural language prompts)를 기반으로 웹에서 데이터셋을 구축하는 AI 에이전트인 Webhound (https://webhound.ai)를 만드는 팀입니다. 여러분이 찾고자 하는 것을 설명하기만 하면 됩니다. 에이전트가 데이터를 어떻게 구조화할지, 어디를 찾아봐야 할지를 파악한 다음, 검색 및 결과 추출을 수행하고 모든 내용을 내보낼 수 있는 CSV 형식으로 출력합니다.
HN 커뮤니티를 위해 https://hn.webhound.ai 에서 별도의 가입이 필요 없는 특별 버전을 준비했습니다. 가입 없이 체험해 보려면
리서치 수집 (Research collection): "NLP에서의 약지도 학습 (weak supervision)에 관한 최신 arXiv 논문 목록을 가져와줘. 각 논문에 대해 초록 (abstract), 인용 횟수 (citation count), 발행일, 그리고 가능하다면 GitHub 리포지토리 (GitHub repo)를 포함해줘." (https://www.webhound.ai/dataset/e274ca26-0513-4296-85a5-2b7b...)
가설 검증 (Hypothesis testing): "지난 3개월 동안 대용량 파일 작업 시 Figma의 성능에 대한 사용자 불만이 증가했는지 확인해줘. Hacker News, Reddit, Figma 커뮤니티 사이트와 같은 포럼을 검색하고, 타임스탬프 (timestamps) 및 참여 지표 (engagement metrics)와 함께 가장 관련성이 높은 게시물들을 보여줘." (https://www.webhound.ai/dataset/42b2de49-acbf-4851-bbb7-080b...)
Webhound의 첫 번째 버전은 Claude 4 Sonnet에서 실행되는 단일 에이전트 (single agent)였습니다. 작동은 했지만, 세션당 비용이 정기적으로 1,100달러를 초과했고 종종 무한 루프 (infinite loops)에 빠지곤 했습니다. 우리는 이것이 지속 가능하지 않다는 것을 알았기에, 더 작은 모델들을 중심으로 구축하기 시작했습니다.
이는 더 많은 구조를 추가해야 함을 의미했습니다. 우리는 신뢰성과 정확성을 유지하기 위해 멀티 에이전트 시스템 (multi-agent system)을 도입했습니다. 메인 에이전트 (main agent), 병렬로 하위 작업 (subtasks)을 수행하는 검색 에이전트 (search agents) 세트, 진행 상황을 추적하는 비평가 에이전트 (critic agent), 그리고 데이터를 저장하기 전에 추출된 데이터를 재확인하는 검증기 (validator)가 있습니다. 또한 장기 기억 (long-term memory)을 위한 메모장 (notepad)을 제공하여 중복을 방지하고 이미 확인한 내용을 추적할 수 있도록 했습니다.
Gemini 2.5 Flash로 전환하고 에이전트 시스템을 계층화한 결과, 속도와 출력 품질을 개선하는 동시에 비용을 30배 이상 절감할 수 있었습니다.
시스템은 두 단계로 실행됩니다. 첫 번째는 계획 (planning) 단계로, 여기서 스키마 (schema), 검색 방법, 사용할 소스, 그리고 작업 완료를 판단하는 기준을 결정합니다. 그다음은 추출 (extraction) 단계로, 계획을 실행하고 데이터를 수집합니다.
우리는 페이지를 마크다운 (markdown)으로 렌더링하고 콘텐츠를 직접 추출하는, 자체 제작한 텍스트 기반 브라우저를 사용합니다. 전체 브라우저 사용 방식도 시도해 보았으나 더 느리고 신뢰도가 낮았습니다. 이러한 종류의 작업에는 여전히 일반 텍스트 (plain text)가 더 효과적입니다.
또한 데이터셋을 최신 상태로 유지하기 위한 예약된 새로고침 (scheduled refreshes) 기능과 데이터를 워크플로 (workflows)에 직접 통합할 수 있는 API도 구축했습니다.
현재는 실행되는 동안 모든 데이터가 에이전트의 컨텍스트 (context) 내에 머물러 있습니다. 속성 (attributes)의 수에 따라 다르지만, 약 1,000~5,000행 정도가 되면 성능이 저하되기 시작합니다. 저희는 이를 넘어 확장 (scaling)할 수 있는 더 나은 아키텍처 (architecture)를 작업 중입니다.
특히 이 문제를 해결하려고 시도했거나 유사한 도구를 구축해 본 분들의 피드백을 간절히 기다리고 있습니다. 스레드 (thread)를 통해 무엇이든 기쁘게 답변해 드리겠습니다.
감사합니다!
Moe
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기