
100cc: 100줄로 나만의 Claude Code 만들기
요약
단 100줄의 코드로 Claude Code와 유사한 기능을 수행하는 커스텀 코딩 에이전트를 직접 구현하는 과정을 소개합니다. API와 REPL 모드를 활용하여 최소한의 코드로 에이전트를 구축하고, LLM의 능력을 통해 스스로를 재작성하는 놀라운 경험을 다룹니다.
핵심 포인트
- 단 100줄의 코드로 코딩 에이전트 구현 가능
- REPL 모드를 통한 대화형 인터페이스 구축
- 대규모 컨텍스트 윈도우 활용으로 압축 로직 생략 가능
- 에이전트가 스스로 코드를 재작성하는 부트스트래핑 경험
Claude 없이 코딩 에이전트 (Coding agent)를 부트스트래핑(bootstrapping)하며 정말 즐거운 시간을 보냈습니다.
코딩 에이전트는 개념적으로 매우 단순하며, Claude Code는 관찰 가능성 (observability) 측면에서 뛰어나지 않습니다. 그러니 직접 만들어보는 건 어떨까요?
저는 전통적인 방식을 따랐습니다. 문서를 읽고 코드를 천천히 수동으로 작성했습니다. 무언가를 비약적으로 발전시키기 위해 필요한 코드 라인 수는 놀라울 정도로 적었습니다. 단 100줄이면 충분했습니다.
저는 TUI (Text User Interface)에 능숙하지 않고, TUI를 배우고 싶지도 않습니다. 그래서 저의 초기 목표는 단순히 API를 가지고 놀면서 claude -p를 재구현하는 것이었습니다. 작업은 빠르게 진행되었습니다.
물론 다음 단계는 프로그램을 대화형으로 만들기 위해 REPL (Read-Eval-Print Loop) 모드를 갖추는 것이었습니다. 저는 readline을 다루는 데 전혀 소질이 없습니다. 그래서 그냥 bun start -p 'implement repl for this project'를 실행했고... 마침내 작은 > 프롬프트가 작동하게 되었습니다!
그 후에도 계속 진행했습니다... 현재 널리 쓰이는 1M 컨텍스트 윈도우 (context window) 덕분에, 계속 작동시키기 위해 제대로 된 압축 (compaction) 구현조차 필요하지 않았습니다. 제가 만든 작은 커스텀 코딩 에이전트에게 세 번의 프롬프트를 입력하자, 에이전트는 곧 다음과 같이 스스로를 재작성했습니다.
이것은 정말 놀랍습니다. 세상의 모든 소프트웨어를 잃어버린다면 우리 스스로를 부트스트래핑하는 데 큰 어려움을 겪을 것이라는 옛 격언이 기억납니다. 만약 그 시점에 마법처럼 LLM (Large Language Model)을 계속 실행할 수 있다면, 그것은 더 이상 사실이 아닐지도 모릅니다. 코딩 에이전트 자체를 부트스트래핑하는 데 아주 적은 노력만 들었으니까요.
https://github.com/yujqiao/100cc
추신: 모든 참신한 아이디어들이 그렇듯, 이것도 완전히 새로운 아이디어는 아닙니다. 이 작업을 마친 후 검색해 보니 https://www.mihaileric.com/The-Emperor-Has-No-Clothes/를 발견했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기