Claude Code에 인터넷이라는 눈을 달아주었습니다 (직접 도구를 만들 필요도 없이)
요약
Claude Code가 외부 인터넷 정보에 접근하지 못해 발생하는 환각(hallucination) 문제를 분석하고, 이를 해결하기 위해 Agent-Reach 프로젝트를 활용하는 방법을 소개합니다.
핵심 포인트
- Claude Code는 기본적으로 외부 브라우징 기능이 없어 정보 부재 시 환각을 일으킴
- 세션이 길어질수록 외부 정보 없이 내부 컨텍스트에만 의존하는 경향이 심화됨
- WebFetch나 Playwright MCP보다 가볍고 효율적인 외부 정보 접근 도구가 필요함
- Agent-Reach 프로젝트를 통해 에이전트에게 실제 웹 플랫폼 접근 권한을 부여할 수 있음
지난주 저는 Claude Code에게 아주 사소해 보이는 질문을 하나 던졌습니다. "LangChain의 디버깅 이슈에 대해 불만을 제기하는 최근 Hacker News 스레드 3개를 찾아준 다음, 공통적인 페인 포인트 (pain points)를 요약해줘." Claude Code는 자신감 있고 구조가 잘 잡힌 답변을 작성했습니다. 세 개의 스레드, 직접 인용구, 깔끔한 요약까지 말이죠. 하지만 모든 URL은 지어낸 것이었습니다. "사용자" 중 두 명은 존재하지 않았습니다. "인용구"는 의역된 팬픽션에 불과했습니다. 이것은 모델의 실패가 아닙니다. 환경의 실패입니다. Claude Code는 사용자의 레포지토리 (repo)나 세션 시작 시 입력한 문서에 없는 것에 대해서는 눈이 멀어 있습니다. 브라우징을 하지 않습니다. 검색을 하지 않습니다. Twitter나 Reddit, YouTube를 읽지 않습니다. 그럼에도 불구하고 그런 일을 해달라고 요청하면, 모델은 할 수 있는 유일한 일을 수행합니다. 즉, 그러한 답변이 아마 어떻게 보일지에 대해 패턴 매칭 (pattern-matching)을 하여 내놓는 것입니다.
지난 몇 달 동안 저는 에이전트가 실제 증거가 없음에도 작업이 완료되었다고 주장하는 이러한 순간들을 가로채는 저만의 Stop-hook (verify-before-stop)을 작성해 왔습니다. 이는 증상을 포착할 뿐, 질병을 치료하지는 못합니다. 질병은 바로 눈이 멀어 있다는 점입니다. 저는 치료법을 찾아 나섰습니다. 패턴은 다음과 같습니다: 2026년 5월 이후의 Claude Code는 밀폐된 방과 같습니다. Anthropic은 2026년 초에 더 긴 Claude Code 세션을 출시했습니다. 이제 모델은 수 시간에 걸친 작업 동안 컨텍스트 (context)를 유지할 수 있습니다. 부작용은 다음과 같습니다: 세션이 길어질수록 눈먼 상태가 증폭됩니다. 에이전트는 외부 세계로 통하는 창을 단 한 번도 열지 않은 채 프로젝트의 더 깊은 곳으로 들어갑니다. 마침내 당신이 "이 라이브러리에 알려진 이슈가 있나요?"라고 물었을 때, 에이전트는 세션 내내 자신감 있게 행동하도록 훈련되어 있습니다. 그리고 자신감 넘치는 환각 (hallucination)은 혼란스러워하는 환각보다 더 나쁩니다.
만약 지난 한 달 동안 Claude Code를 진지하게 사용해 왔다면, 아마도 다음 중 적어도 하나는 목격했을 것입니다:
- 에이전트가 존재하지 않는 Stack Overflow 답변을 자신 있게 인용함.
- 에이전트가 "Twitter를 확인했다"며 제품에 대한 여론을 보고하지만, 모두 지어낸 내용임.
- 에이전트가 학습 데이터가 6개월이나 지난 상태임에도 불구하고, 수정 사항이 "최신 문서와 일치한다"고 주장함.
WebFetch가 약간의 도움은 됩니다. 에이전트에게 URL 하나를 건네줄 수 있게 해주니까요. 하지만 에이전트 스스로 URL을 찾아낼 수는 없습니다. 무엇을 입력해야 할지 직접 알아야 합니다. Playwright MCP는 더 무겁습니다. 엔드 투 엔드 테스트 (end-to-end tests)에는 유용하지만, "이 트윗을 요약해줘" 같은 작업에는 과합니다 (overkill). 두 도구 모두 실제 정보(signal)가 존재하는 다양한 플랫폼의 혼합 상태를 커버하지 못합니다: Reddit, YouTube 스크립트 (transcripts), Twitter 토론, GitHub 이슈 (issues) 등 말이죠. 저는 제가 문제를 생각하는 방식대로 작동하는 무언가를 원했습니다. "에이전트야, 실제 플랫폼에 있는 실제 내용을 가서 보고 다시 돌아와."
발견 (Discovery)
저는 gh search repos --topic claude-code를 브라우징하다가 Panniantong이라는 이름의 중국인 인디 개발자가 만든 Agent-Reach라는 프로젝트를 발견했습니다.
- 20,025 stars
- MIT 라이선스
- 마지막 커밋: 이틀 전
README는 제가 올해 읽은 것 중 가장 솔직한 홍보 문구로 시작합니다: "AI 에이전트는 이미 코드를 작성하고, 문서를 편집하며, 프로젝트를 관리할 수 있습니다. 하지만 에이전트에게 '온라인에서 무언가를 찾아봐'라고 요청하는 순간, 에이전트는 눈이 멀게 됩니다."
README는 중국어로 되어 있습니다. 영어권 개발자 세계 전체가 r/ClaudeAI에서 정확히 이 문제에 대해 6개월 동안 불평해 왔지만, 이를 해결할 도구를 찾지 못했습니다. 왜냐하면 그 도구가 그들이 읽지 못하는 언어로 검색창 하나 차이로 바로 옆에 있었기 때문입니다.
저는 이를 클론(clone)하고, 한 줄 설치 명령어를 실행했습니다. 그리고 한 시간 뒤, Claude Code는 스스로 Twitter를 읽고, Reddit을 검색하며, YouTube 자막을 추출하고, GitHub 이슈 스레드를 가져올 수 있게 되었습니다.
직접 따라 해보고 싶으시다면, 설치 명령어는 다음과 같습니다:
Agent-Reach 설치: https://raw.githubusercontent.com/Panniantong/Agent-Reach/main/docs/install.md
이것을 Claude Code에 붙여넣으세요. 그러면 에이전트가 나머지 과정을 스스로 진행합니다.
제가 실제로 사용한 세 가지 사례
- "누구 이 React 19 하이드레이션 (hydration) 버그를 겪은 사람 있나요?"
지난 한 달 동안 "React 19 hydration mismatch SSR error"에 관한 게시물을 Reddit에서 검색해줘.
상위 3개를 읽고 공통적인 근본 원인 (root causes)을 요약해줘.
Claude Code는 rdt search를 호출했습니다 (기저 도구는 rdt-cli로, 쿠키 인증 (cookie auth) 기능이 있는 오픈 소스 Reddit CLI입니다. Reddit이 2024년부터 인증을 요구하기 시작했기 때문에 쿠키 흐름 (cookie flow)이 필수적입니다). Claude Code는 실제 스레드를 가져오고, 댓글을 읽은 뒤, 실제 엔지니어들이 제시한 세 가지 실제 근본 원인 (root causes)을 가지고 돌아왔습니다. 그중 두 가지는 제가 고려하지 못했던 것이었고, 하나는 제 실제 버그였습니다. 일주일 만에 처음으로 Claude Code가 제가 직접 검증할 필요가 없는 답변을 준 순간이었습니다.
-
"내가 보지 않고도 이 40분짜리 YouTube 튜토리얼을 요약해줘." > yt-dlp https://youtube.com/watch?v=... 의 자막을 가져온 다음 200단어 요약을 제공해줘. 자막은 yt-dlp를 통해 흐릅니다. 사람들이 수년간 사용해 온 것과 동일한 도구이며, 단지 에이전트 (agent)가 직접 호출할 수 있도록 연결되었을 뿐입니다. YouTube, Bilibili, 그리고 yt-dlp가 지원하는 다른 1,800개 사이트에서 작동합니다. API 키도 필요 없습니다. 요약은 깔끔했으며, 에이전트는 영상의 실제 대사를 인용했습니다.
-
"Twitter에서 사람들이 Claude 4.6 대 GPT-5.4에 대해 뭐라고 말하고 있어?" > twitter search "claude 4.6 vs gpt 5.4" — 최근 상위 20개 — 합의된 의견을 요약해줘. 이 기능은 쿠키 인증을 사용하는 twitter-cli를 사용합니다 (공식 Twitter API는 적당한 사용량 기준으로 월 215달러가 들지만, 쿠키 인증은 무료입니다. 다만 쿠키는 전체 세션 접근 권한을 가지므로 버너 계정 (burner account)을 사용해야 합니다). 20개의 실제 트윗이 돌아왔습니다. 요약은 "Claude의 거부 (refusals)에 대해 불평하는 개발자들"과 "GPT의 속도에 열광하는 마케터들"을 구분하여 설명했습니다. 만약 모델이 환각 (hallucinating)을 일으켰다면 이 구분을 하나의 모호한 의견으로 뭉뚱그렸을 것입니다. 세 번째 사례에서 모든 것이 명확해졌습니다. Agent-Reach의 가치는 단순히 Twitter를 읽는 데 있는 것이 아닙니다. 에이전트가 더 이상 추측할 필요가 없어진다는 데 있습니다.
이것이 지금 왜 중요한지, 구체적으로 세 가지 요소가 지난 90일 동안 수렴했습니다:
- Claude Code 세션이 길어졌습니다. 에이전트와 중단 없이 보내는 시간이 늘어났습니다. 정보가 차단된(blindness) 상태로 보내는 매 시간은 손실이 누적됩니다.
- 웹의 안티 스크래핑 (anti-scraping)이 강화되었습니다. Reddit, X, Bilibili 모두 보안을 강화했습니다. 단순한 WebFetch 방식은 점점 더 적은 정보를 반환합니다.
- 오픈 소스 CLI 래퍼 (wrappers)들이 성숙해졌습니다.
yt-dlp, rdt-cli, twitter-cli, gh CLI, xhs-cli, mcporter — 이들은 각각 독립적으로 유지 관리되며, 무료이고, 실전에서 검증되었습니다 (battle-tested). Agent-Reach는 이 모든 것을 단 한 번의 설치 명령으로 연결하는 스캐폴딩 (scaffolding)입니다. 이 프로젝트의 도박은 대담하고도 정확합니다. 래퍼 (wrapper)를 만들지 마십시오. 설치 스크립트 (install script)가 되십시오. 에이전트 (agent)가 업스트림 CLI (upstream CLIs)와 어떤 명령어를 호출해야 할지 알려주는 SKILL.md를 갖추게 되면, 에이전트는 도구들을 직접 조작합니다. 런타임 경로 (runtime path)에는 Agent-Reach가 존재하지 않습니다. 단지 올바른 것들을 디스크에 배치했을 뿐입니다. 이는 다음을 의미합니다: 유지 관리자에 대한 지속적인 의존성이 제로 (zero)라는 것입니다. 만약 twitter-cli가 업데이트된다면, 당신은 twitter-cli를 업데이트하면 됩니다. 만약 내일 Agent-Reach가 사라지더라도, 당신의 에이전트는 계속 작동할 것입니다.
| 방식 | 강점 | 한계 |
| :--- | :--- | :|
| WebFetch | Claude Code에 내장됨, 설치 불필요 | URL을 알아야 함. 에이전트가 발견하거나 검색할 수 없음. |
| Playwright MCP | 전체 브라우저 제어, 스크립트 가능한 흐름 | 무거움. "트윗 읽기"에는 과함. 구동 속도가 느림. |
| 유료 SaaS (Mention, Brand24, Apify) | 세련됨, 지원 제공 | 월 $50–$200, 제3자 데이터 흐름, 에이전트 네이티브 명령 인터페이스 부재. |
| Agent-Reach | 단일 설치, 플랫폼별 네이티브 CLI, 에이전트가 업스트림 도구를 직접 호출 | 쿠키 기반 플랫폼은 부계정 (burner account)이 필요함; 일부 플랫폼 (미국 서버에서의 Bilibili 등)은 프록시 (proxy)가 필요함. |
저의 워크플로우 — 터미널에서의 Claude Code, 데일리 드라이버(daily-driver) — 관점에서 Agent-Reach는 중요한 모든 축에서 승리했습니다.
더 넓은 패턴에 대한 짧은 노트
저는 몇 달 동안 다른 종류의 Claude Code 애드온 (add-on)을 작성해 왔습니다. 에이전트가 증거 없이 "완료 (done)"라고 말할 때 실행되는 verify-before-stop라는 스톱 훅 (Stop-hook)입니다. 이는 Agent-Reach와 동일한 계열의 개입 (intervention) 방식이며, 단지 파이프라인 (pipeline)의 반대편에 있을 뿐입니다. Agent-Reach는 에이전트가 생각하기 전에 눈을 제공하고, 스톱 훅은 에이전트가 완료했다고 주장하기 전에 실제로 그 눈을 사용했는지 확인합니다.
동일한 믿음의 서로 다른 측면: Claude Code가
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기