'Claude Code' open source 구현 참고자료와 핵심 기능 정리 🛠️
Jason Zhou는 몇 시간 동안의 리서치 끝에 'Claude Code'와 유사한 coding agent를 만들기 위한 최고의 open source 참고자료들을 정리해서 공유. In this article, 그가 소개한 자료들과, 기본적인 coding agent의 구성 요소, 그리고 각 시스템의 독특한 기능들을 시간 순서대로 자세히 설명.
1. open source 참고자료 소개
Jason은 먼저 'Claude Code'를 만들 때 참고할 수 있는 open source 프로젝트들을 소개.
그가 직접 조사한 결과, 다음 세 가지가 가장 유용하다고 .
- Open Code
github.com/opencode-ai/op - Gemini CLI
github.com/google-gemini/ - Claude Code system prompt
github.com/asgeirtj/syste
이 자료들은 각각 coding agent를 만드는 데 필요한 다양한 기능과 구조를 참고할 수 있는 소스.
"몇 시간 동안 조사한 결과, 'Claude Code'를 만드는 데 참고할 수 있는 최고의 open source 자료들을 정리."
2. 기본 coding agent의 구성 요소
Jason은 이어서, 기본적인 coding agent가 어떤 요소들로 구성되는지 구체적으로 설명.
여기서 말하는 'agent'란, 사용자의 명령을 받아 다양한 도구를 활용해 코드를 생성·수정하는 artificial intelligence 시스템을 의미.
-
agent(Agent):
- 시스템 prompt와 함께 동작하는 기본적인 툴 호출 agent
-
도구(Tools):
- Bash: 명령어 실행
- Grep: 파일 내에서 텍스트 검색
- Glob: 파일 찾기
- Read: 코드, PDF, 이미지 등 읽기
- Write: 새 파일 생성
- Edit: 기존 파일에서 특정 문자열(old_string)을 새로운 문자열(new_string)로 교체
"agent가 교체할 문자열을 정확히 출력해서 바꾸는 방식이더라구요. 이게 의외였지만, 생각해보니 합리적이었어요!"
- MultiEdit: 파일 내 여러 곳을 한 번에 수정 (old_string & new_string의 배열로 처리)
이렇게만 구성해도 반쯤 완성된 Claude Code agent가 만들어진다고 .
3. 더 나은 agent를 위한 독특한 기능들
Jason은 기본적인 구조 외에도, 각 시스템이 가진 특별한 기능들을 추가로 소개.
-
Sub agent (서브 agent):
- Claude Code에는
dispatch_agent라는 기능이 있어, 더 깊은 코드베이스 검색 작업을 별도의 agent가 처리. - 이렇게 하면 메인 대화 흐름이 복잡해지지 않고, 효율적으로 작업을 분리할 수 .
- Claude Code에는
-
Thinking tool (사고 도구):
- agent가 더 깊이 있는 분석을 할 수 있도록 돕는 도구.
-
Todo (할 일 관리):
- Claude Code는 계획 단계에서 할 일(ToDo) 생성/업데이트 도구를 사용.
-
Context management (문맥 관리):
- 장시간 작업 시, 이전 대화 기록을 압축해서 관리.
- Gemini, Claude Code, Open Code 모두 이 기능을 지원However, 사용자가 선택적으로 켤 수 .
-
Codebase indexing (코드베이스 인덱싱):
- Claude Code는 코드베이스를 별도로 인덱싱하지 않아도 잘 작동.
-
Versioning (버전 관리):
- Gemini CLI에는 체크포인트 기능이 내장되어 있어, Edit 도구가 호출될 때마다 자동으로 스냅샷을 저장.
"Claude Code는 코드베이스를 인덱싱하지 않아도 완벽하게 작동."
4. 핵심 교훈과 Conclusion
Jason은 Finally,, 기본적인 도구만으로도 이미 훌륭한 성능을 낼 수 있다는 점을 강조.
"여기서 얻은 중요한 교훈 중 하나는, 기본적인 세팅(기본 도구, 코드베이스 인덱스 없음)만으로도 agent가 이미 훌륭하게 작동한다는 점.
그러니 가능한 한 단순하게 세팅하고, 모델이 스스로 일을 하게 두세요!"
In particular, Edit 도구가 단순히 교체할 문자열을 출력하게 하는 방식이 매우 효과적이었다는 점에 놀랐다고 덧붙.
5. Additional References and Request for Feedback
Finally,, Jason은 비슷한 의견을 공유한 다른 사용자의 글도 함께 소개하며,
혹시 빠진 내용이 있다면 댓글로 알려달라고 독자들에게 요청.
"혹시 제가 빠뜨린 게 있다면 댓글로 알려주세요!"
Key Concepts Summary
- Claude Code
- open source 참고자료
- coding agent
- 기본 도구(Bash, Grep, Read, Write, Edit, MultiEdit)
- 서브 agent, 사고 도구, 할 일 관리, 문맥 관리, 버전 관리
- 단순한 구조의 중요성
이렇게 Jason Zhou의 글은 Claude Code와 유사한 coding agent를 만들고자 하는 사람들에게
실질적이고 구체적인 참고자료와, 꼭 필요한 기능들, 그리고 단순함의 미덕까지 친절하게 안내해주고 .
👨💻✨