🤖
1279 in / 2812 out / 4091 total tokens
🔥 핫 토픽
Claude Code를 밑바닥부터 만들어보자
Reddit r/LocalLLaMA에서 Claude Code를 처음부터 구현해보는 프로젝트가 화제다. nanoclaude라는 이름으로 GitHub에 공개된 이 프로젝트는 Anthropic의 공식 CLI 도구인 Claude Code가 어떻게 동작하는지 그 핵심 메커니즘을 최소한의 코드로 재현한다. 유튜브 영상으로 전 과정이 설명되어 있어, AI 코딩 어시스턴트의 내부 구조를 이해하고 싶은 개발자에게 금광 같은 자료다.
이게 왜 중요하냐. Claude Code는 현재 가장 강력한 AI 코딩 도구 중 하나인데, 사용법만 알지 내부가 어떻게 굴러가는지는 불투명했다. 물론 Anthropic이 모든 아키텍처를 공개한 건 아니지만, 이 프로젝트는 핵심 파이프라인을 추론해서 구현해놨다. 파일 시스템 접근, 코드 읽기/쓰기, 터미널 명령 실행, 그리고 이 모든 걸 LLM 응답 루프 안에서 어떻게 조합하는지가 잘 드러난다.
개발자 입장에서 이런 프로젝트를 뜯어보면 얻는 게 많다. 단순히 API 호출해서 답 받는 거랑, 에이전트 루프를 직접 짜보는 건 차원이 다른 경험이다. 게임 개발할 때도 게임엔진 소스를 한 번 뜯어보면 렌더링 파이프라인 이해가 완전히 달라지는 것과 같다. 특히 도구 호출(tool calling) 패턴, 컨텍스트 윈도우 관리, 스트리밍 응답 처리 같은 부분은 어떤 AI 프로젝트를 하든 재사용 가능한 지식이다.
경쟁 구도에서 보면 재밌는 지점이 있다. OpenAI의 Codex, Cursor, GitHub Copilot 같은 도구들은 이미 폭넓게 쓰이고 있지만, 대부분 클로즈드 소스다. 반면 이런 커뮤니티 주도 프로젝트는 투명성을 보여준다. "AI 코딩 도구가 사실 이렇게 돌아간다"를 코드로 보여주니까. 물론 프로덕션급 보안, 에러 핸들링, 멀티턴 대화 관리 같은 건 빠져있겠지만, 핵심 아이디어는 충분히 전달된다.
실무 관점에서, nanoclaude 같은 미니멀 구현은 자체 AI 코딩 도구를 만들고 싶은 팀에게 좋은 시작점이다. 게임 스튜디오에서 사내 툴에 AI를 붙이고 싶다면, 이 코드베이스를 참고해서 자체 에이전트를 구축할 수 있다. 언리얼 엔진 프로젝트 컨텍스트를 읽어들이는 커스텀 도구를 만든다면, 파일 트리 순회나 특정 확장자 필터링 같은 걸 nanoclaude의 구조 위에 얹으면 된다.
기술적 배경을 조금 덧붙이면, 이런 에이전트 시스템의 핵심은 플래닝-실행-관찰 루프다. LLM이 뭘 해야 할지 계획하고, 도구를 실행하고, 결과를 관찰해서 다음 행동을 결정하는 순환 구조. 이건 사실 게임 NPC의 행동 트리(Behavior Tree)와 생각보다 비슷하다. selector 노드에서 어떤 행동을 선택할지 평가하고, 실행하고, 결과에 따라 다음 행동을 결정하는 패턴. AI 에이전트 아키텍처가 게임 AI 패턴과 만나는 지점이 흥미롭다.
출처: Reddit r/LocalLLaMA | GitHub - nanoclaude | YouTube 영상
💭 개발자 코멘트
솔직히 나도 Claude Code 처음 썼을 때 "이게 어떻게 내 코드베이스를 이해하지?" 궁금했다. 그냥 파일 내용을 다 컨텍스트에 때려 넣는 건가, 아니면 뭔가 더 똑똑한 걸 하나. 이 프로젝트를 보니 답은 "둘 다"에 가깝다. 기본적으로 컨텍스트 윈도우 안에서 최대한 많은 정보를 끌어오되, 도구 호출로 필요한 파일을 그때그때 읽어오는 식이다.
게임 서버 아키텍처 하던 감각으로 보면, 이건 결국 메시지 큐 기반 이벤트 루프다. 사용자 요청이 들어오면 LLM이 응답을 스트리밍하고, 그 응답에 도구 호출이 포함되면 실행하고, 결과를 다시 LLM에 피드백하는 구조. 서버에서 클라이언트 요청 처리하고 DB 쿼리 날리고 결과 돌려주는 것과 패턴이 같다.
이런 오픈소스 구현이 생겼다는 건, AI 코딩 도구 생태계가 "마법" 단계를 넘어서 "이해하고 변형할 수 있는" 단계로 들어갔다는 신호다. 2년 전만 해도 GPT-3 API 호출하는 게 전부였는데, 이제는 에이전트 아키텍처를 직접 짜고 튜닝하는 시대가 됐다.
"완벽한 코드는 없다. 하지만 돌아가는 원리를 이해하면, 내 것으로 만들 수 있다."