Windy3f3f3f3f/claude-code-from-scratch

Build your own Claude Code from scratch. 🔍 Claude Code 开源了 50 万行代码,读不动?用 ~5000 行 TypeScript / Python 从零复现核心架构,11 章分步教程带你理解 coding agent 精髓

해결하는 문제

이 프로젝트는 Claude Code와 같은 복잡한 AI 코드 보조 도구의 내부 동작 방식을 이해할 수 있도록, 최소한의 교육용 코드 에이전트를 구현합니다. 수십만 줄의 생산 코드를 탐색할 필요 없이, 단순한 LLM 채팅과 파일 관리, 쉘 명령 실행, 장기 기억을 유지할 수 있는 완전히 자율적인 에이전트 사이의 격차를 메웁니다.

작동 방식

이 프로젝트는 대규모 언어 모델(LLM)과 도구 집합 간의 상호작용을 관리하는 핵심 '에이전트 루프'를 구현합니다. TypeScript와 Python 모두 지원합니다. 시스템은 LLM(Anthropic 및 OpenAI 호환 백엔드 지원)에 프롬프트를 전송하고, 도구 호출을 수신한 후 로컬에서 도구를 실행하고, 결과를 다시 루프에 피드백하여 작업이 완료될 때까지 반복합니다.

주요 아키텍처 구성 요소는 다음과 같습니다:

  • 도구 시스템: 파일 편집, 검색, 쉘 실행을 위한 13개의 내장 도구. 변경 사항을 덮어쓰는 것을 방지하기 위한 mtime 보호 기능 포함.
  • 컨텍스트 관리: 토큰 사용량을 효율적으로 유지하기 위한 4단계 압축 파이프라인(예산 절단, 오래된 스니펫 제거, 마이크로 압축, 자동 압축).
  • 메모리 시스템: 사이드 쿼리를 사용하여 관련 메모리를 검색하는 세미틱 리콜 시스템.
  • 스킬 및 에이전트: 디렉터리에서 사용자 정의 스킬을 로드하고, 복잡한 작업을 위해 하위 에이전트를 생성하는 시스템.
  • MCP 통합: JSON-RPC를 stdio를 통해 사용하여 외부 도구 서버에 Model Context Protocol(MCP)를 연결하는 지원.

대상 사용자

기본 루프에서 시작하여 다중 에이전트 오케스트레이션과 세미틱 메모리와 같은 고급 기능까지 단계별 튜토리얼을 따라가며, 자율적인 AI 에이전트, 특히 코드 에이전트를 구축하는 방법을 배우고 싶은 개발자.

주요 특징

  • 단계별 튜토리얼: 실행 가능한 코드 스냅샷이 포함된 13개의 장별 가이드된 개발.
  • 키 없이 실행: 각 장의 코드를 로컬 모크로 실행 가능하여 API 키 없이 학습 가능.
  • 이중 언어 지원: TypeScript와 Python 모두 완전한 구현.
  • 고급 에이전트 기능: 병렬 도구 실행, 스트리밍 출력, 안전성을 위한 선언적 권한 시스템 포함.
  • 예산 제어: USD 비용과 턴 수에 대한 내장 제한으로 API 비용 폭주를 방지.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트