시간 필터링된 웹 검색: 오래된 결과에 토큰을 낭비하지 않는 방법
요약
AI 에이전트가 웹 검색 시 오래된 정보를 읽어 토큰을 낭비하는 '토큰 가치 문제'를 해결하기 위한 시간 필터링 기법을 소개합니다. Hermes Agent를 위한 전용 플러그인을 통해 에이전트가 직접 시간 범위를 지정하여 검색할 수 있는 방법을 제시합니다.
핵심 포인트
- 검색 결과의 시간 필터링 부재로 인한 불필요한 토큰 비용 발생
- 기존 검색 API들의 일관되지 않은 시간 필터링 지원 문제
- Hermes Agent용 'web_search_timed' 플러그인을 통한 해결책
- 시간 필터링을 통한 토큰 경제성(Token Economics) 최적화
아무도 말하지 않는 문제: 당신의 AI 에이전트는 작년 뉴스를 읽고 있습니다
AI 에이전트가 조사를 수행할 때마다, 오래된 결과에 토큰을 낭비합니다.
이는 가설이 아닙니다. 표준 웹 검색을 사용하여 오전 7시에 일일 브리핑을 실행하는 크론 잡(cron job)은 실제 최신 콘텐츠와 섞여 몇 시간, 며칠, 또는 몇 주 전의 오래된 결과를 반환합니다. 에이전트는 이 모든 것을 읽습니다. 그리고 당신은 그 모든 비용을 지불합니다.
계산 결과는 잔혹합니다.
일반적인 컨텍스트 윈도우 (context window)는 토큰당 비용이 발생합니다. 10개의 결과를 반환하는 조사 쿼리는 제목, 설명, URL을 읽는 데만 2,000~5,000개의 컨텍스트 토큰을 소비할 수 있습니다. 만약 그 결과 중 절반이 구식이라면, 당신은 에이전트의 작업에 아무런 가치가 없는 콘텐츠에 토큰을 태우고 있는 것입니다.
이것이 바로 **토큰 가치 문제 (token value problem)**이며, 시간 필터링 (time filtering)이 그 해결책입니다.
아무도 만들지 않았던 도구 (지금까지는)
AI 에이전트를 구동하는 검색 API들 — Tavily, Firecrawl, Exa, Brave — 는 강력합니다. 하지만 그 중 어떤 것도 에이전트가 실제로 사용할 수 있는 도구 스키마 (tool schema) 수준에서 단순하고 신뢰할 수 있는 시간 필터를 제공하지 않습니다.
우회 방법들이 있긴 합니다:
- Google의
after:연산자 — 가끔 작동하지만 자주 깨지며, 에이전트가 해당 구문을 알고 기억해야 합니다. - DDG의
timelimit=파라미터 — URL에서 직접 사용할 수 있지만, 일급 도구 파라미터 (first-class tool parameter)로 제공되지는 않습니다. - 백엔드별 날짜 필터링 — 어떤 백엔드가 무엇을 지원하는지 알아야 하며, 인터페이스가 일관되지 않습니다.
결과적으로: 대부분의 에이전트는 기본적으로 시간 필터 없이 검색합니다. 오래된 결과는 예외가 아니라 일반적인 현상입니다.
플러그인: hermes-web-search-time-limit
Hermes Agent를 위해 구축된 이 플러그인은 web_search_timed를 일급 도구 (first-class tool)로 추가합니다. 백엔드 설정도, API 키도, 벤더 종속 (vendor lock-in)도 필요 없습니다.
web_search_timed(query: string, time_range: "d"|"w"|"m"|"y", limit?: int)
time_range | 반환 내용 |
|---|---|
d | 지난 24시간 |
| ... | |
| 이제 에이전트가 직접 따를 수 있는 프롬프트 예시: |
- "web_search_timed을 사용하여 지난 일주일간의 AI 에이전트 펀딩 뉴스를 검색해줘"
- "지난 한 달간의 기후 기술 (climate tech) 발전을 조사해줘 — 시간 필터링된 검색을 사용해"
- "오픈 소스 LLM의 최신 동향을 찾아줘 — 지난 하루 동안의 결과만"
에이전트는 스키마 (schema)를 확인합니다. 에이전트는 적절한 도구를 선택합니다. 별도의 우회 방법 (workarounds)이 필요 없습니다.
수학적 계산: 이것이 토큰 경제학 (Token Economics)에 중요한 이유
구체적인 사례를 들어보겠습니다.
매일 실행되는 브리핑 크론 (cron) 작업이 일 년에 365번 실행된다고 가정합니다. 각 실행 시 시간 필터 없이 10개의 결과를 검색합니다. 결과의 절반은 30일보다 더 오래된 것입니다. 에이전트는 실행당 약 500개의 토큰을 오래된 콘텐츠를 읽는 데 소비합니다.
365회 실행 × 500개의 오래된 토큰 × 1K 토큰당 약 $0.001 (근사치)
= 중요하지 않은 콘텐츠에 연간 $182.50 낭비
이를 매일 여러 개의 조사 작업을 수행하는 10명의 에이전트 팀 규모로 확장하면, 이는 실제 비용 문제로 이어집니다. 에이전트가 잘못된 행동을 해서가 아니라, 검색 도구가 에이전트에게 시간 인지 능력 (time awareness)을 제공하지 못하기 때문입니다.
이제 모든 실행에 time_range='w'를 적용했을 때의 계산을 해보겠습니다.
동일한 사용량, 오래된 콘텐츠 0개
= 낭비되는 비용 $0
이 플러그인을 실행하는 데는 비용이 들지 않습니다 (ddgs Python 패키지를 통해 DuckDuckGo를 사용하며, API 키가 필요하지 않습니다). 토큰 절약은 완전히 무료입니다.
개인정보 보호와 비용: DuckDuckGo를 선호해야 하는 두 가지 이유
이것은 DuckDuckGo의 유료 광고가 아닙니다. 이 스택 (stack)이 작동하는 방식에 대한 사실일 뿐입니다.
1. 비용 제로 (Zero cost)
DDG는 유료 API 계층이 없습니다. 신용카드가 필요한 속도 제한 (rate limits)도 없습니다. 단계별 요금제도 없습니다. ddgs Python 패키지는 무료이며 오픈 소스 (open source)입니다. 플러그인 또한 무료이며 오픈 소스입니다. 여러분의 자체 인프라 (infrastructure)에서 실행하면 됩니다.
2. 기본 설정된 개인정보 보호 (Privacy by default)
DuckDuckGo는 사용자의 검색을 추적하지 않습니다. 사용자 프로필을 구축하지 않습니다. 데이터를 판매하지 않습니다. 에이전트가 경쟁사, 의료 주제 또는 민감한 비즈니스 질문에 대해 조사할 때, 검색 제공업체가 해당 쿼리 (query)를 기록하는 것을 원치 않을 것입니다. DDG는 이를 기록하지 않습니다.
API 키를 요구하고, 사용량을 추적하며, 행동 프로필 (behavioral profiles)을 구축하는 검색 백엔드 (search backends)와 비교해 보십시오. 에이전트 워크로드 (agent workloads)의 경우, DDG는 별도의 자격 증명 (credential) 설정 없이도 작동하면서 프라이버시를 존중하는 선택지입니다.
ddgs 소개: 이를 가능하게 하는 라이브러리
GitHub에서 deedy5가 관리하는 ddgs Python 패키지는 DuckDuckGo를 포함한 여러 검색 백엔드로부터 결과를 수집하는 메타 검색 (metasearch) 라이브러리로, API 키를 요구하지 않습니다.
이 라이브러리는 DuckDuckGo와 제휴 관계가 아닙니다. 브라우저가 하는 방식과 동일하게 DuckDuckGo의 HTML 인터페이스를 직접 사용하는 커뮤니티 구축 도구입니다. 이것이 키 없이 작동하고 쿼리 (query)를 기록하지 않는 이유입니다.
주요 특징:
- API 키 불필요 — 즉시 사용 가능
- 쿼리 기록 없음 — DDG의 HTML 인터페이스를 사용하여 DDG 검색창과 동일한 수준의 프라이버시 제공
- MIT 라이선스 — 오픈 소스, 커뮤니티 유지 관리
- 활발한 개발 — 정기적인 릴리스, 활발한 GitHub 이슈
이 플러그인은 ddgs를 Hermes 호환 제공자 인터페이스 (WebSearchProvider ABC)로 래핑 (wrap)하여, Hermes의 플러그인 시스템에 깔끔하게 끼워 넣을 수 있습니다. 동일한 ABC를 구현하는 다른 검색 백엔드들도 도구 스키마 (schema)를 변경하지 않고 교체할 수 있습니다.
더 넓은 원칙: 토큰 가치 극대화 (Token Value Maximizing)
web_search_timed라는 이름은 설명적입니다. 하지만 그 기저에 깔린 원칙은 더 큽니다.
**토큰 가치 극대화 (Token value maximizing)**는 AI 에이전트 도구를 위한 설계 철학입니다. 즉, 모든 도구는 소비된 토큰당 유용한 출력의 비율을 극대화해야 합니다.
이는 다음을 의미합니다:
- 검색 도구는 작업이 시간에 민감한 경우 최신성 (recency)을 기준으로 필터링해야 합니다.
- 요약 (Summarization) 도구는 오래된 소스보다 최신 소스를 우선시해야 합니다.
- 모니터링 (Monitoring) 도구는 변하지 않은 기준선 (baselines)이 아니라 이상 징후 (anomalies)에 대해 경고해야 합니다.
- 라우팅 (Routing) 도구는 요청을 가장 저렴하면서도 역량을 갖춘 모델로 보내야 합니다.
시간 필터링 (Time filtering)은 이 원칙을 가장 단순하면서도 영향력이 큰 방식으로 구현한 것입니다. 모델 변경도, 인프라 변경도, 비용 협상도 필요하지 않습니다. 그저 검색 호출 시 파라미터(parameter) 하나만 추가하면 됩니다.
만약 당신이 에이전트 도구 (agent tools)를 구축하면서 토큰 가치 (token value)를 고려하지 않고 있다면, 당신은 돈을 낭비하고 있는 것이며, 당신의 사용자들은 필요하지 않은 콘텐츠에 비용을 지불하고 있는 것입니다.
시작하기
플러그인은 다음 위치에 게시되어 있습니다:
GitHub: Dr-Agentic/hermes-web-search-time-limit
# 옵션 1: pip install (entry point를 통해 자동 검색)
pip install git+https://github.com/Dr-Agentic/hermes-web-search-time-limit.git
...
Hermes를 재시작하세요. 에이전트는 web_search와 함께 web_search_timed를 인식하게 됩니다.
요구 사항 (Requirements):
- Python ≥ 3.10
ddgs(pip 설치 시 자동으로 설치됨)- Hermes Agent
요청 사항
만약 당신이 AI 에이전트를 구축하면서 오래된 검색 결과에 토큰을 낭비해 왔다면, 이제 해결책을 찾았습니다. 이것은 무료이며, 프라이빗 (private)하고, 오픈 소스 (open source)입니다.
그리고 만약 당신이 에이전트 스택 (agent stack)의 토큰 경제학 (token economics)에 대해 고민해 왔다면, 지금이 에이전트가 사용하는 모든 도구를 살펴보고 다음과 같이 질문할 좋은 시점입니다: 이 도구는 모든 토큰의 가치를 극대화하고 있는가, 아니면 내가 지불할 필요가 없는 낭비에 비용을 지불하고 있는가?
ddgs 기반의 hermes-web-search-time-limit 플러그인은 그 질문에 대한 하나의 구체적인 해답입니다. 당신의 해답은 무엇입니까?
태그: ai, agents, hermes-agent, python, open-source
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기