hyperresearch 소개
심층 조사(deep research) 기능을 한 번 써 보면 두 가지가 남습니다. 그럴듯하게 정리된 보고서 하나와, 그 보고서가 정말 근거를 읽고 쓴 것인지 확인할 방법이 없다는 찜찜함입니다. 인용 표기는 있지만 그 문장을 실제로 뒷받침하는지는 알 수 없고, 유료 논문은 초록 1,500자만 읽은 채로 마치 본문을 읽은 것처럼 인용되기도 합니다. 게다가 조사가 끝나면 읽은 자료는 전부 버려지므로, 같은 주제를 다시 조사할 때 처음부터 다시 긁어모아야 합니다.
hyperresearch는 이 두 가지를 구조로 막으려는 프로젝트입니다. Claude Code를 심층 조사 에이전트로 바꾸는 파이프라인이고, 하나의 질문을 16단계로 나눠 처리한 뒤 출처 이력이 붙은 보고서를 내놓습니다. 특징은 검증을 사람의 성실성에 맡기지 않고 파이프라인의 게이트로 만들어 둔 점입니다. 인용된 문장과 근거의 결합을 회의적으로 감사하는 단계가 따로 있고, 인용문이 보관된 자료에 그대로 존재하지 않으면 발행이 막힙니다.
프로젝트는 Python으로 작성되어 PyPI에 올라와 있으며, Python 3.11에서 3.13까지를 지원합니다(3.14는 아직 지원하지 않습니다). 실행 자체는 Claude Code의 Skill 도구를 통해 단계별 스킬을 불러들이는 방식이고, 하위 에이전트들은 Anthropic 모델 위에서 돌아갑니다. 저자는 Codex로 옮기고 싶은 사람이 있으면 풀 리퀘스트를 보내 달라고 README에 적어 두었습니다.
hyperresearch의 16단계 파이프라인
입구가 되는 스킬은 얇은 라우터입니다. 조사 질의를 확정한 뒤 각 단계를 별도 스킬로 호출하는데, 단계별 절차는 그 단계가 실제로 실행될 때만 컨텍스트에 올라옵니다. 프로젝트는 이것이 긴 파이프라인이 진행 중에 컨텍스트가 상해 단계를 조용히 빠뜨리는 것을 막는 장치라고 설명합니다. 단계와 적용 등급은 다음과 같습니다:
| # | 단계 | 하는 일 | 등급 |
|---|---|---|---|
| 1 | Decompose | 질의를 원자 항목과 커버리지 행렬로 분해하고 등급을 분류 | 전체 |
| 1.5 | Chapter partition | 원자 항목을 4~10개 장으로 묶고 2~10단계를 장마다 반복 | dissertation |
| 2 | Width sweep | 다관점 검색 계획을 세우고 수집기를 병렬로 투입 | 전체 |
| 3 | Contradiction graph | 자료 사이의 모순을 짝지어 순위가 붙은 묶음으로 정리 | full |
| 4 | Loci analysis | 두 분석기를 병렬로 돌려 점수와 자료 예산이 붙은 초점을 추출 | full |
| 5 | Depth investigation | K개 조사기를 병렬로 돌려 입장이 확정된 중간 노트를 작성 | full |
| 6 | Cross-locus reconcile | 확정된 입장들을 조정해 비교 문서로 정리 | full |
| 7 | Source tensions | 전문가들의 의견 불일치를 추출 | full |
| 8 | Corpus critic | "무엇이 나오면 이 방향이 뒤집히는가"를 묻고 빈틈을 메우는 수집 | full |
| 9 | Evidence digest | 핵심 주장과 직접 인용문을 증거 요약으로 | full |
| 10 | Triple draft | 각 각도별로 자료를 선별해 초안 3개를 병렬 작성 | 전체 |
| 11 | Synthesize | 계획과 개요를 세우고 종합 에이전트가 최종 보고서 작성 | full |
| 12 | Critics | 4개의 적대적 비평가가 병렬로 초안을 공격 | full |
| 13 | Gap-fetch | 비평가가 지목한 빈틈을 겨냥해 자료를 추가 수집 | full |
| 14 | Patcher | 초안에 외과적 수정만 적용(Read와 Edit 도구로 제한) | full |
| 14.5 | Cite-check | 인용과 문장의 결합을 검증하고 두 번째 수정 적용 | full |
| 15 | Polish | 위생 점검과 군더더기 제거 | 전체 |
| 16 | Readability audit | 가독성 제안을 JSON으로 받아 선별 적용 | 전체 |
이 구조를 떠받치는 원칙은 두 가지입니다. 첫째는 다시 쓰지 않고 고쳐 쓴다는 것입니다. 종합 단계가 보고서를 만든 뒤로는 외과적 수정만 허용되며, 수정과 다듬기를 맡은 에이전트는 Claude Code의 도구 허용 목록 수준에서 Read와 Edit만 쓰도록 묶여 있어 새 초안을 쓰는 것이 물리적으로 불가능합니다. 작은 수정으로 담기지 않는 비평은 구조적 문제로 승격됩니다. 둘째는 사용자가 적은 질의 원문을 파일에 한 번 저장해 두고 이후 모든 단계와 하위 에이전트가 그것을 다시 읽는다는 것입니다.
hyperresearch의 규모를 조절하는 방법
hyperresearch는 조사의 규모를 등급(tier)과 기어(gear)로 나눠 조절합니다. 등급은 질의마다 자동으로 갈리고, 기어는 자료 목표와 깊이 예산, 분량 목표를 정합니다. 등급별로 실행되는 단계와 걸리는 시간은 다음과 같습니다:
| 등급 | 실행되는 것 | 대략적인 소요 시간 |
|---|---|---|
light |
범위가 정해진 사실 질의, 서베이, 비교: 1 → 2 → 10 → 15 → 16 | 약 30~40분 |
full(기본값) |
적대적 검토가 포함된 심층 논증 분석: 16단계 전체 + 인용 검증 | full 기어에서 약 1.5~2.5시간 |
dissertation |
4~10개 장에 걸친 대규모 실행, 자료 300~450개, 2.5만~8만 단어 | 약 4~8시간 |
dissertation은 자동으로 선택되지 않고 프롬프트에서 직접 요청해야 합니다. 기어는 hyperresearch profile use premier처럼 명령으로 바꾸며, premier는 자료 100~130개를 목표로 깊이 예산을 두 배로 잡습니다. 기어 설정은 프로젝트별로 유지되고 재설치를 넘어 살아남습니다.
여기에 보고서의 어조를 정하는 레버(lever)가 따로 있습니다. register는 teach, survey, analyze, advocate 중 하나가 되는데, "X를 가르쳐 줘" 라고 쓰면 설명형 글이 나오고 "이 분야의 지형이 어떤가" 라고 쓰면 판정을 내리지 않는 지도가 나옵니다. 흥미로운 점은 이 레버가 비평가들에게도 함께 전달된다는 것입니다. survey 어조에서는 변증 비평가가 입장 부재를 지적하는 대신 불공정한 서술을 지적하고, 다듬기 담당자는 유보적 표현을 걷어내지 않습니다. 다만 인용 검증기와 발행 게이트에는 이 레버가 전달되지 않습니다 — 검증은 어조에 따라 느슨해지지 않는다는 것이 프로젝트의 설명입니다.
hyperresearch가 보고서를 막아 세우는 지점
이 프로젝트에서 가장 눈여겨볼 부분은 무엇이 발행을 막는지입니다. 인용문으로 적힌 구절이 보관된 자료에 글자 그대로 존재하지 않으면 검사가 막아서므로, 지어낸 인용문은 통과하지 못합니다. 철회된(retracted) 논문을 철회 사실을 밝히지 않고 인용하는 것도 최종 게이트에서 오류로 처리되며, 발행 직전에 인용된 모든 DOI를 다시 조회해 어제 올라온 철회까지 잡습니다. 근거로 되짚을 수 없는 숫자에는 따로 표시가 남습니다.
같은 보도자료를 다섯 곳이 옮겨 실은 것을 다섯 개의 근거로 세지 않는 장치도 있습니다. 독립성 감사가 파생된 복사본을 묶어 하나의 표로 취급하는 방식입니다. 자료마다 유형 등급과 인용 권위, 보관소 안에서의 PageRank 중심성을 합쳐 품질 점수를 매기고, 철회된 자료는 점수를 0에 가깝게 내려 버립니다.
유료 논문을 다루는 방식도 분명하게 적혀 있습니다. 초록만 얻었을 때는 Unpaywall과 Europe PMC에 합법적인 공개 접근본을 물어 그 전문을 노트 본문에 대신 저장하는데, 중요한 것은 이 대체를 숨기지 않는다는 점입니다. 노트 본문 상단의 배너와 머리말, note show의 출력, fetch 명령의 출력 네 곳에 어디서 온 본문인지가 표시됩니다. 원문을 아예 읽지 못해 공개본만으로 노트를 만든 경우는 더 강하게 구분해서, 제목과 저자와 본문 전부가 대체본의 것이라고 분명히 밝혀 둡니다. 버전이 서로 바꿔 쓸 수 있는 것이 아니라는 경고도 함께 있어서, 받은 것이 저자 최종본이나 투고본이면 직접 인용을 출판본과 대조하라고 안내합니다.
웹에서 가져온 본문을 다루는 방침도 있습니다. 조사 에이전트는 자기가 고르지 않은 수백 개의 페이지를 읽고 그 중 어느 하나에는 사용자가 아니라 에이전트에게 하는 말이 적혀 있을 수 있으므로, 가져온 본문은 모두 <untrusted-source url="..."> 구분자로 감싸 데이터로 취급하라는 서두와 함께 전달됩니다. 본문 안에 위조된 구분자 태그가 들어 있으면 무력화하면서 흔적은 눈에 보이게 남겨 둡니다.
hyperresearch의 자료 보관소
대부분의 심층 조사 도구가 한 번 쓰고 버리는 구조인 것과 달리, hyperresearch는 읽은 것을 남깁니다. 가져온 자료는 모두 SQLite로 색인된 보관소에 들어가고, 다음 세션은 새로 가져오기 전에 이곳을 먼저 검색합니다:
저장 방식에서 프로젝트가 강조하는 것은 마크다운이 진본이고 SQLite는 캐시라는 점입니다. 노트는 YAML 머리말이 붙은 평범한 마크다운 파일로 research/notes/에 놓이고, 색인은 지운 뒤 hyperresearch sync로 마크다운에서 다시 만들 수 있습니다. 그래서 보관소를 아무 편집기로 열어 보고 git으로 버전 관리할 수 있으며, 도구를 설치하지 않은 사람도 자기 조사 결과를 읽을 수 있습니다. 내보내기와 가져오기 명령도 함께 제공하므로 특정 도구에 갇히지 않는다는 것이 프로젝트의 설명입니다.
노트에는 수명 주기가 있습니다. 세션이 끝날 때마다 정리 과정이 돌면서 노트가 draft에서 review, evergreen으로 올라가거나 자료가 낡으면 stale, deprecated, archive로 내려갑니다. 프로젝트는 이것이 보관소가 반쯤 읽은 페이지들의 쓰레기장이 되지 않게 하는 장치라고 설명합니다.
보관소를 Claude Code 밖에서 쓰는 길도 열려 있습니다. pip install hyperresearch[mcp] 후 hyperresearch mcp를 실행하면 표준 입출력으로 MCP(Model Context Protocol) 서버가 되어 Claude Desktop이나 Cursor 같은 도구가 같은 보관소를 다룰 수 있고, hyperresearch serve --open은 8080 포트에 노트 탐색과 검색, 링크 그래프를 갖춘 로컬 웹 UI를 띄웁니다. 이 웹 UI는 별도의 빌드 단계나 JavaScript 의존성 없이 표준 라이브러리 HTTP 서버로 동작합니다.
hyperresearch가 공개한 벤치마크와 그 한계
저자는 hyperresearch가 DeepResearch-Bench의 RACE 리더보드에서 1위라고 밝히면서 다음 차트를 함께 제시합니다:
차트에 적힌 값은 hyperresearch 57.8, xiaoyi 57.0, Grep Deep Research 56.2, Cellcog Max 56.1, nvidia-aiq 56.0, Gemini 2.5 Pro Deep Research 49.7, OpenAI Deep Research 46.5이고, 리더보드 기준 시점은 2026년 4월입니다.
이 수치는 그대로 받아들이기보다 저자가 붙여 둔 조건과 함께 읽어야 합니다. README는 이 측정이 내부에서 수행된 것이며 차트 아래에 "계층화된 파일럿에 근거한 전망치이고 제3자 검증은 아직 진행되지 않았다" 고 명시해 두었습니다. 즉 리더보드에 등재된 결과가 아니라 저자 측이 예상한 값입니다. 상위 다섯 항목이 57.8부터 56.0까지 2점 이내에 몰려 있어서, 1위라는 표현이 가리키는 차이는 이 조건들을 감안하면 크지 않습니다. 반면 자료 규모에 관한 서술은 설정값으로 확인할 수 있는 편입니다. premier 기어는 폭 탐색 단계만으로 100~130개를 목표로 하고, 인용 추적과 빈틈 메우기가 더해져 한 번의 실행에서 250개 이상이 보관소에 들어간다고 적혀 있습니다.
hyperresearch 설치 및 사용법
설치는 프로젝트 디렉토리에서 두 명령으로 끝납니다:
cd your-project
pip install hyperresearch && hyperresearch install
이후 Claude Code에서 /hyperresearch <조사할 내용>으로 실행합니다. hyperresearch install --global을 쓰면 어느 세션에서나 이 명령을 쓸 수 있지만 모든 세션의 시스템 안내에 약 15줄이 추가되므로, 저장소는 관련 없는 세션을 깔끔하게 두려면 프로젝트별 설치를 권합니다.
실행 중인 조사는 각자 격리된 작업 공간과 명세를 가집니다. 동시에 돌려도 서로 충돌하지 않고, 중단된 실행은 hyperresearch run resume으로 죽은 지점부터 정확히 이어집니다. run init --budget 50으로 예상 비용 상한을 걸면 상한을 넘는 순간 조용히 불어나는 대신 실행이 막힙니다. 보관소 검색은 hyperresearch search "질의" 형태이고, --semantic을 붙이면 임베딩 유사도와 전문 검색 순위를 섞어 씁니다.
로그인이 필요한 사이트는 hyperresearch setup으로 브라우저를 열어 직접 로그인해 두면 됩니다. 헤드리스(headless) 수집이 로그인 벽이나 봇 차단에 막히면 그 주소는 에스컬레이션 대기열에 쌓이고, Claude in Chrome 확장이 있으면 전용 에이전트가 실제 브라우저를 조작해 대기열을 처리합니다. 여기에는 분명한 경계가 그어져 있습니다 — CAPTCHA와 2단계 인증, 로그인은 자동으로 처리하지 않고 한 번에 모아 사용자에게 넘깁니다.
hyperresearch는 누구에게 유용한가
같은 분야를 반복해서 조사하는 사람에게 값어치가 가장 큽니다. 보관소가 세션을 넘어 쌓이는 구조라 조사가 누적될수록 새로 가져올 것이 줄고, 인용 검증과 철회 확인이 게이트로 들어가 있어 결과를 다른 사람에게 보여야 하는 경우에 특히 맞습니다. 마크다운이 진본이라 도구를 걷어내도 결과물이 남는다는 점도 오래 쓸 때 유리합니다.
반대로 빠른 사실 확인이 목적이라면 과합니다. 가장 가벼운 등급도 30분대이고 기본값은 시간 단위입니다. Claude Code와 Anthropic 모델을 전제로 하므로 다른 환경을 쓴다면 지금은 대상이 아니며, 등급과 기어, 자료 규모에 비례해 사용량이 늘어나므로 비용 감각이 필요합니다. 저자도 이 도구가 어떤 자료가 중요한지에 대한 사용자의 판단을 대신하지 않고, 검사 게이트는 구조적 실패를 잡을 뿐 사실의 정확성을 보장하지는 않는다고 적어 두었습니다.
hyperresearch의 라이선스
hyperresearch는 MIT 라이선스로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.
hyperresearch 프로젝트 GitHub 저장소
hyperresearch 조사 결과 예시
더 읽어보기
-
ScientistOne: Chain-of-Evidence로 모든 주장을 증거에 잇는 자율 연구 시스템에 대한 Google의 연구
-
Academic Research Skills: Claude Code 환경에서 학술 연구와 논문 작성을 돕는 스킬 모음
-
DeerFlow v2: 리서치, 코딩, 창작 등의 작업을 위한 오픈소스 SuperAgent Harness (feat. ByteDance)
-
DeepTutor: LLM 기반의 심층 학습 및 연구를 위한 멀티 에이전트 프레임워크 (feat. HKUDS)
이 글은 GPT 모델로 정리한 초안을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 댓글로 알려주시기를 부탁드립니다. ![]()
이 도구를 직접 설치해 사용해보셨다면, 파이토치 한국 사용자 모임
회원들을 위해 경험이나 팁을 댓글로 남겨주세요! ![]()



