편리해 보이지만, 실제로 의존하면 에이전트가 환각에 빠집니다
DuckDuckGo가 차단되면 끝입니다. 폴오버가 없어서 하나의 장애가 전체 서비스를 마비시킵니다.
검색엔진이 뱉은 순서 그대로 전달합니다. BM25, 권위도, 신선도 기반 재랭킹이 전혀 없습니다.
출처를 지어내거나 아예 무시합니다. `[1]`, `[2]` 네이티브 인용 아키텍처가 없어서 검증이 불가능합니다.
스니펫만 긁어 끝냅니다. API 문서, 버전 표, 코드 예시를 놓치고 얕은 블로그 글에 의존합니다.
임의의 웹 페이지를 필터 없이 가져옵니다. 프롬프트 인젝션, 제로폭 문자, 악성 콘텐츠에 무방비입니다.
"검색할 수 있다"일 뿐, 아무것도 강제하지 않습니다. 에이전트는 여전히 낡은 학습 데이터를 기본으로 사용합니다.
검색 도구가 아닙니다. AI가 낡은 사전지식만 믿고 코딩하지 못하도록 막습니다.
DuckDuckGo · Bing · Google · Yahoo · Ecosia · Baidu · Startpage · Naver. 하나가 망가지면 다음이 즉시 이어받습니다. 장애에 강인합니다.
BM25 관련성 + 밀집 시맨틱 유사도 + 권위도/신선도/코드밀도 점수. 최고의 소스가 정상에 오릅니다.
모든 주장에 `[1]`, `[2]`, `[3]`이 붙습니다. 출처는 실재하며 추적 가능하고 응답에 직접 포함됩니다.
쿼리 자동 확장 → 다각도 검색 → 크로스엔진 랭킹 → 에이전트가 fetch_page로 선택적 읽기.
가져온 콘텐츠를 정제합니다: 제로폭 문자 제거, 채팅 토큰 중화, 의심 패턴 플래깅. 외부 콘텐츠를 신뢰할 수 없는 입력으로 처리합니다.
설정 CLI가 에이전트에 강제 규칙을 주입합니다: "어떤 코드를 작성하기 전에 반드시 deep_research를 호출하라." 예외 없음.
MCP 보안 취약점 연구(Huang et al., 2026)의 권고사항을 직접 구현
| 기능 | 내장 검색 | maru-deep-pro-search |
|---|---|---|
| 검색 엔진 수 | 1 | 9 + 폴오버 |
| 결과 랭킹 | 없음 | BM25 + 시맨틱 |
| 인용 지원 | 없음 | [1], [2], [3] 네이티브 |
| 딥 리서치 | 없음 | 7단계 파이프라인 |
| 안티봇/스텔스 | 없음 | 3단계 에스컬레이션 |
| 프롬프트 인젝션 방어 | 없음 | ✓ Sanitize + Tag |
| 강제 실행 | 수동 | 규칙 주입 강제 |
| 비용 | $0 | $0 (0 API Key) |
Semaphore(3) + 엔진별 쿨다운 + TokenBucket. Google 429 방어
AsyncStealthySession으로 브라우저 재사용. Google/Startpage 안정성 대폭 향상
Naver 난독화 DOM 우회, Baidu 노이즈 필터링, Bing 로케일 고정
8개 엔진의 공통 헬퍼를 base.py로 이동. 유지보수성 향상
레이트 리밋, 엔진 스크래핑, 랭킹 알고리즘 전체 커버리지
Python 3.9+ 필요. 스크립트가 자동으로 처리합니다.
curl -sSL https://raw.githubusercontent.com/claudianus/maru-deep-pro-search/main/scripts/install.sh | bash
irm https://raw.githubusercontent.com/claudianus/maru-deep-pro-search/main/scripts/install.ps1 | iex
uv tool install --python 3.12 git+https://github.com/claudianus/maru-deep-pro-search.git
docker build -t maru-search . docker run --rm -i -v $(pwd)/.maru:/app/.maru maru-search
maru-deep-pro-search stats
maru-deep-pro-search workflow