Skip to main content

웹 검색 및 가져오기

Myrm에는 web_searchweb_fetch가 내장 도구로 포함되어 있습니다. 그들은 함께 작동합니다. 검색은 소스를 찾고, 읽은 페이지를 가져옵니다. 둘 다 콘텐츠가 LLM에 도달하기 전에 필터링합니다.

중요한 이유

대부분의 에이전트는 원시 검색 조각이나 전체 HTML을 모델에 전달합니다. 이는 토큰을 낭비하고 답변 품질을 저하시킵니다. Myrm은 로컬 필터 파이프라인을 실행합니다.
결과: 웹 사용량이 많은 작업의 경우 토큰이 4050% 적고, 로컬 작업은 월 $0입니다. :::note Honest comparison Hermes, OpenClaw, OpenCode 및 Claude Code에는 모두 기본 웹 검색/가져오기 도구가 있습니다. Myrm의 장점은 완전한 로컬 필터 파이프라인입니다. 단순히 도구를 갖춘 것이 아니라 콘텐츠가 LLM에 도달하기 전에 정리합니다. Hermes + wigolo MCP 사용자: 커뮤니티에서는 종종 다중 엔진 검색, 가져오기 및 연구를 위해 npx wigolo을 추가합니다. Myrm 이 내장 기능을 제공 — 추가 노드 사이드카가 없습니다. 방문 페이지는 무료 재쿼리를 위해 corpus=web에 있습니다. Cron PollTrigger를 통해 페이지를 살펴보세요. 경쟁사 비교를 참조하세요. :::

웹 검색

엔진

7개 공급자 지원(설정 → 검색에서 구성):

엑스(트위터) 실시간 검색

Myrm은 xAI의 응답을 통해 전용 X/Twitter 실시간 검색을 제공합니다. API — 인라인 인용을 통해 게시물, 스레드 및 인기 토론을 검색합니다. 두 가지 인증 경로: 기능: 날짜 범위 필터, 포함/제외 처리(최대 10개), 일치하는 게시물의 이미지/동영상 이해, 소스 URL이 있는 인라인 인용, 저하된 결과 감지(필터가 소스 데이터를 생성하지 않을 때 경고). OAuth 토큰은 저장 시 AES-256-GCM으로 암호화되고 만료 전에 자동으로 새로 고쳐지며 5개의 xAI 서비스(X Search, Image Gen, Video Gen, TTS, STT)에서 재사용됩니다. 한 번의 로그인으로 전체 xAI 멀티모달 스택이 잠금 해제됩니다.

의도 감지(0 LLM 비용)

Myrm은 7가지 인텐트 유형을 자동 감지하고 엔진 매개변수를 조정합니다.
  • 코드, 뉴스, 학술, 금융, 보안, 사회, 일반
*“최신 AI 보안 CVE”*라고 말하세요. 모드 선택기가 필요하지 않습니다.

5계층 지능형 라우팅

단일 검색 경로를 사용하는 경쟁업체와 달리 Myrm은(는) 별도의 Planner LLM 호출 없이 5개 계층의 라우팅 인텔리전스를 사용합니다.

웹 가져오기 및 브라우저(스마트 라우팅)

web_fetchbrowser 도구가 모두 활성화된 경우 Myrm은(는) 시스템 프롬프트에 연결하지 않고 에이전트를 안내합니다. 작동 방식: 도구 설명 + 동적 힌트(페어링된 도구를 사용할 수 있는 경우에만 삽입됨) + 대칭 루프 가드 제안 + 별도의 브라우저 풀 격리(CRAWL 대 AGENT). Hermes은 브라우저→web_extract만 힌트합니다. OpenClaw에는 교차 도구 힌트가 없습니다. 이는 추가 대기 시간이 없고, 즉각적인 캐시 중단이 없으며, 정적 사전 계획보다 더 유연하다는 것을 의미합니다.

검색 모드

정밀 모드는 의미론적 재순위 지정(점수 임계값 0.6)을 사용합니다. 관련성이 낮은 청크는 삭제됩니다.

도메인 다양성 정렬

다중 쿼리 결과는 단일 도메인이 지배하는 것을 방지하기 위해 자동으로 재정렬됩니다. 동일한 도메인의 각 후속 결과는 지수 감쇠 인자(기본값 0.8)에 의해 페널티를 받습니다.
  • example.com의 첫 번째 결과 — 전체 점수
  • example.com의 두 번째 결과 — 점수 × 0.8
  • example.com의 세 번째 결과 — 점수 × 0.64
이렇게 하면 에이전트가 한 웹사이트의 여러 페이지가 아닌 다양한 소스를 볼 수 있습니다. 구성이 필요하지 않습니다. combine_search_results_unified에서 기본적으로 활성화됩니다.

구조화된 히트 필드

풍부한 메타데이터(예: Volcengine Doubao)를 노출하는 제공업체의 검색 결과는 전체 파이프라인을 통해 구조화된 필드를 전달합니다. 이러한 필드는 combine_search_results_unified 메타데이터 보존 파이프라인에 의해 보장되는 중복 제거, 도메인 다양성 정렬 및 다중 쿼리 융합을 유지합니다. 경쟁사(Hermes, OpenClaw, DeerFlow)는 공급자 메타데이터를 삭제하거나 이를 조각 문자열로 평면화합니다.

인용 호버 UI

채팅 내 인용 표시(예: 【1】)는 풍부한 소스 세부정보가 포함된 호버 카드를 표시합니다. 터치 친화적입니다(iPad/모바일에서는 탭하세요). 5개 언어(zh/en/ja/ko/de)를 지원합니다. 경쟁사인 DeerFlow는 URL + 스니펫만 표시합니다. 나머지 6명의 경쟁업체에는 인용 호버 UI가 전혀 없습니다.

에이전트 명시적 검색 매개변수

에이전트는 web_search_tooltime_range을 통해 시간별로 검색 결과를 명시적으로 제한할 수 있습니다. 공식 소스 또는 신뢰할 수 있는 소스의 경우 별도의 도구 매개변수 대신 쿼리에 site: 연산자(예: site:gov.cn, site:github.com)를 추가하세요. 3계층 매개변수 우선순위 융합:
  1. 에이전트 명시적(가장 높음) — 에이전트가 직접 전달하는 매개변수
  2. 의도 자동 감지 — 비용이 들지 않는 키워드 기반 추론(뉴스 → 1일, 금융 → 1주)
  3. 구성 기본값(최저) — 공급자 수준 extra_params
매개변수 정규화(_normalize_explicit_params)는 의미 매개변수를 공급자별 형식으로 변환합니다. 전략 D(매개변수 에스컬레이션): 검색 충분성 가드가 불충분한 결과를 보고하면 에이전트는 조정된 쿼리 또는 더 좁은 time_range을 사용하여 자동으로 재시도합니다. RSG 코드를 변경할 필요가 없습니다. 턴별 검색 예산: ToolTurnBudgetGuardweb_search_tool을 사용자 메시지당 20개 호출로 제한합니다(하네스 SECURITY_SYSTEM.md §6.3). 이는 FrequencyGuard의 60년대 슬라이딩 윈도우 제한을 보완합니다.

시각적 참조(전용 이미지 검색 도구 없음)

참조 이미지가 필요한 경우 에이전트는 web_search → web_fetch / browser를 사용하여 페이지에서 이미지 URL을 얻은 다음 생성을 위해 image_tool을 사용합니다. OpenClaw / Hermes과 동일한 패턴입니다. 별도의 DuckDuckGo 이미지 검색 종속성이 없습니다.

회복력

  • 엔진 대체 — 1차 실패 → 자동 전환
  • 15분 결과 캐시 — 반복 쿼리에는 비용이 들지 않습니다.
  • 30초 상태 프로브 — 사용할 수 없는 엔진을 조기에 감지합니다.

웹 가져오기

3계층 아키텍처

AdaptiveRouter는 도메인당 비용을 학습하고 최적의 계층을 자동으로 선택합니다.

L4 원격 폴백 옵션(기본값은 꺼짐)

L1~L3이 모두 실패하면 원격 리더 대체를 선택할 수 있습니다(설정 → 검색 → 웹 가져오기 원격 에스컬레이션). Firecrawl v2 주요 특징:
  • 제로 구성 시작 — API 키 없이 작동합니다. Firecrawl의 무료 등급은 매월 1,000개의 요청을 제공합니다.
  • 사용자 정의 API 기본 — 기업 개인 정보 보호 또는 더 높은 처리량을 위해 자체 호스팅 Firecrawl 인스턴스를 지정합니다.
  • 원클릭 확인 — 설정 UI는 구성된 엔드포인트(자체 호스팅 포함)에 대한 연결을 테스트합니다.
디자인 보장(항상 클라우드에 APIs를 발생시키는 경쟁업체와 비교):
  • 기본값은 꺼짐 — 추가 Turn1 도구 없음, 프롬프트 캐시는 변경되지 않음
  • 세션당 한도(1–50) — 원격 청구 폭주 방지
  • 원격 통화 전 SSRF 가드
  • 대량 크롤링이 내장되어 있지 않음 — 로컬에서 검색+가져오기+브라우저를 사용하거나 사이트 전체 색인 생성을 위해 Firecrawl MCP을 사용합니다.
  • 플레인 거부 스위치 — 엔터프라이즈 하드 블록용 MYRM_WEB_FETCH_ESCALATION=denied
OpenClaw/Hermes은 하드 페이지를 위해 Firecrawl에 의존하는 경우가 많으며 항상 API 키가 필요합니다. Myrm은 로컬 우선을 유지하고, 기본적으로 키가 없는 무료 계층을 지원하며, 클라우드를 명시적이고 제한적인 최후의 수단으로 취급합니다.

개인정보 보호

명시적 옵트인 디자인: 설정에서 공급자를 수동으로 구성하고 활성화하는 경우에만 검색이 활성화됩니다. 뒤에서 무료 엔진(예: DuckDuckGo)에 쿼리를 자동으로 보내는 일부 대안과 달리 Myrm은(는) 명시적인 구성 없이는 네트워크 호출을 절대 수행하지 않습니다. API 키가 구성되지 않음 = 전혀 검색되지 않습니다. 투명한 폴백: 기본 제공업체에 장애가 발생하여 구성된 백업으로 폴백하는 경우 채팅을 통해 실시간 알림을 받게 되며 자동으로 전환되지는 않습니다. 프록시가 구성되면 L2/L3는 자동으로 **DoH(HTTPS를 통한 DNS)**를 활성화합니다. DNS 쿼리는 암호화되므로 ISP와 네트워크 관리자는 귀하가 방문하는 사이트를 볼 수 없습니다. 구성이 없고 성능 오버헤드가 없습니다.

광고/추적기 도메인 차단

L2 및 L3은 네트워크 수준에서 3,500개 이상의 알려진 광고 및 추적 도메인을 자동으로 차단합니다(Peter Lowe가 선별한 목록). 광고 스크립트가 로드되지 않습니다. 페이지가 더 빠르게 렌더링되고 DOM이 깔끔하게 유지되며 토큰 소비가 줄어듭니다. 제로 구성, 표준 모드에서 기본적으로 활성화됩니다.

fetch_and_extract(스마트 추출)

reranker + embedding이 구성되면 web_fetchfetch_and_extract를 지원합니다.
  1. 3계층 크롤링(HTTP → 브라우저 → 스텔스)
  2. 청크 페이지 콘텐츠
  3. BM25 + 벡터 하이브리드 검색(Qdrant 임베딩)
  4. 순위 재지정 → 상위 관련 구절만
이는 클라우드 LLM 요약(예: Hermes web_extract + Gemini)을 zero-LLM 로컬 필터링으로 대체합니다.

콘텐츠 정리

텍스트가 에이전트 컨텍스트에 들어가기 전:
  1. DOM 정리 — 탐색, 광고, 바닥글, 사이드바 제거
  2. HTML → 마크다운 — 구조화, LLM 친화적
  3. 스마트 잘림was_truncated 플래그가 있는 max_chars
  4. 바이너리 라우팅 — PDF가 별도로 구문 분석됩니다(깨진 HTML 없음).
  5. YouTube 빠른 경로 — YouTube URL을 자동 감지하고 API을 통해 직접 타임스탬프가 있는 자막을 추출합니다. 스크립트를 사용할 수 없는 경우 HTML 가져오기 프로그램으로 대체됩니다.
  6. Bilibili 빠른 경로 — Bilibili 비디오 URL을 자동 감지하고 공개 API(보기 + 플레이어)을 통해 타임스탬프가 있는 자막을 추출합니다. SessionVault 쿠키로 AI 생성 자막을 지원합니다. 사용할 수 없는 경우 브라우저 크롤링으로 돌아갑니다.

캐싱

  • 요청 통합(동시 동일 URL = 1회 가져오기)
  • 재검증하는 동안 오래된 것
  • ETag / 마지막 수정 조건부 요청
  • URL에서 제거된 35개 이상의 추적 매개변수

심층 연구: 5단계 수명 주기

Myrm의 Deep Research는 단발성 “검색 및 요약”이 아닌 구조화된 CLARIFY → PLAN → EXPLORE → RESEARCH → REPORT 파이프라인을 실행합니다.

연구 스튜디오(3열 작업대)

/research 경로는 심층 연구 워크플로에 최적화된 전용 3열 레이아웃을 제공합니다.
  • PC: 드래그 가능한 구분선이 있는 3개의 열이 나란히 있음(왼쪽 240480px, 오른쪽 280600px)
  • 모바일: 탭 전환으로 자동 저하됩니다(768px 중단점).
  • 컨텍스트 동기화: 풀의 리소스를 확인하면 mentionReferences을 통해 자동으로 채팅 컨텍스트에 삽입됩니다. 선택을 취소하면 다른 @ 참조에 영향을 주지 않고 제거됩니다.
  • 출력 작업: 한 번의 클릭으로 아티팩트를 다운로드하거나 Wiki에 저장합니다(활성 에이전트로 범위 지정).

중간 연구 통제

  • 계획 확인 게이트 — 실행이 시작되기 전에 연구 계획을 검토, 편집 또는 승인합니다.
  • HITL 콜백 — 방향을 조정하기 위해 모든 주기 후에 일시 중지
  • 예산 가드max_budget_usd + 임계값 경고
  • 취소 + 유지 — 언제든지 중지, 부분 결과 보존
  • ReplanMiddleware — 드리프트를 자동 감지하고 자체 수정

대 MiroFlow(GAIA/BrowseComp 벤치마크 리더)

경쟁사 대비

Hermes이 다른 점(강하지 않음)

  • 플러그인 백엔드(Exa/Tavily/Firecrawl) — 더 많은 클라우드 공급업체가 있지만 모두 API 키가 필요합니다.
  • web_extract은 대신 LLM 요약을 사용하여 로컬 임베딩 설정을 건너뜁니다 — 더 쉬운 설정, 페이지당 토큰 비용
  • SSRF + URL 비밀 차단 — 성숙하고 Myrm과 동일한 클래스(구별 요소 아님)

자동 스트립 광고 및 중복

평범한 언어: 우리는 전체 페이지를 AI에 덤프하지 않습니다. 본문 텍스트를 추출하고, 광고와 탐색 기능을 제거하고, 중복을 제거하고, 질문과 일치하는 문구만 유지합니다.

제로 구성 비교(수정됨)

Myrm은(는) 가져오기 시 구성이 더 필요하지 않습니다 — 정리는 클라우드 API 없이 로컬에서 작동합니다.

검색 충분성 가드(RSG)

심층 검색 모드에서 Myrm은 기본 LLM이 응답 작성을 시작하기 전에 검색된 콘텐츠가 사용자의 질문에 답변하기에 충분한지 자동으로 확인합니다.

작동 방식

web_search 또는 web_fetch 호출 후(search_depth == "deep"인 경우):
  1. 경량 LLM(구성된 lite_model)은 원래 쿼리에 대해 검색된 스니펫을 평가합니다.
  2. 구조화된 결과를 반환합니다: 충분/불충분 + 누락된 측면 + 제안된 후속 쿼리
  3. 부정적 제약 조건 위반을 감지합니다(예: “React 제외”이지만 결과에 React 콘텐츠가 포함됨).
  4. 결과는 기본 에이전트가 조치를 취할 수 있도록 도구 출력에 추가됩니다.

주요 디자인 선택

부정적인 제약 조건(고유 기능)

벡터 검색 및 BM25는 *“React를 제외한 프레임워크 권장”*과 같은 제외 기준을 처리할 수 없습니다. RSG는 이러한 제약 조건을 명시적으로 추출하고 그에 대한 결과를 확인합니다.
에이전트는 이 위반 사항을 확인하고 더 나은 필터링을 통해 다시 검색하는 방법을 알고 있습니다.

대 경쟁사

경쟁사(Hermes, OpenClaw, Claude Code, Perplexity)에는 동등한 검색 후 충분성 검사 기능이 없습니다. 그들은 충분한 정보가 있는지 판단하기 위해 기본 LLM에 전적으로 의존합니다. 이는 다음과 같은 이유로 신뢰할 수 없습니다.
  1. LLMs는 데이터가 충분하지 않아도 자신 있게 대답하는 경향이 있습니다(환각).
  2. 전용 평가자 없이는 명시적인 음수 제약 조건 검사가 불가능합니다.
  3. 다음에 검색할 항목에 대한 체계적인 지침이 없습니다.

PTC 통합

프로그래밍 방식 도구 호출 스크립트에서:
추가 API 왕복이 필요하지 않습니다. 검색 및 가져오기가 샌드박스 내에서 실행됩니다.

구성

  1. 설정 → 검색 열기 — 엔진 선택, API 키, SearxNG URL
  2. 긴 문서의 정밀 모드에 대한 검색기 설정에서 Reranker를 활성화합니다.
  3. Web Fetch는 즉시 작동합니다(브라우저 계층은 설치된 경우 Patchright를 사용함).

마이그레이션 팁

전체 마이그레이션 혜택을 보려면 경쟁사 비교를 참조하세요.