
【AI×인간 팀 개발 도전기】 Claude Code를 '파트너'로 삼아, 휴일 시간을 활용해 16개의 기사와 1개의 AI 에이전트를 만든 이야기
요약
Claude Code를 단순한 대행 도구가 아닌 인간의 사고를 확장하는 '파트너'로 활용하여, 한정된 시간 내에 AI 에이전트 개발과 기술 기사 작성을 병행한 경험담입니다. AI에게 모든 것을 맡기는 대신 의사결정과 리뷰의 주도권을 유지하며 효율적인 개발 시스템을 구축하는 방법을 다룹니다.
핵심 포인트
- AI를 외주 업체가 아닌 사고와 시간을 확장하는 파트너로 정의
- 의사결정과 최종 리뷰는 인간이 담당하여 설계 품질 유지
- 지시의 입도(Granularity)를 높여 AI의 답변 품질 개선
- Claude Code를 활용한 개발 및 집필 프로세스의 시스템화
이 기사는 Claude(설계·구상·리뷰)와 Claude Code(구현·기사 생성)를 파트너로 삼아 작성되었습니다. AI에게 작업을 '통째로 맡기는(대행)' 것이 아니라, 자신의 이해와 시간을 넓히는 '자기 확장(Self-expansion)'의 파트너로 사용하는 스탠스로 진행하고 있습니다.
일을 하면서 새로운 기술을 캐치업(Catch-up)한다는 것은 정말 시간과의 싸움이죠.
평일에는 업무로 정신이 없습니다. 'AI 에이전트를 직접 만들고 싶다', '배운 내용을 Zenn에 정리하고 싶다'고 생각해도, 제대로 된 시간을 낼 수 있는 것은 결국 휴일뿐입니다. 게다가 그 귀중한 휴일조차 구현하다가 기운이 다 빠져서 기사는 초안 상태로 방치되는 것……은 업무와 학습을 병립하려는 엔지니어의 '흔한 사례'라고 생각합니다.
저도 줄곧 이 '시간의 벽'에 부딪혀 왔습니다.
이 시리즈(전 8회)에서 도전한 것은, 그 벽을 기합과 근성이 아닌 '시스템(仕組み)'으로 넘는 것입니다. 구체적으로는 AI 에이전트 제작 프로젝트 agent01을 소재로, Claude Code를 개발과 집필의 '파트너'로서 시스템화하여, Series A·B를 합쳐 16개의 기사와 1개의 동작하는 에이전트를 한정된 휴일 시간 동안 만들어냈습니다.
이 기사는 그 전 8회(Series B)를 'AI×인간의 팀 개발 도전기'로서 되돌아보는 총집편입니다. 개별 도구의 사용법이 아니라, 어떻게 역할을 분담하고, 어떻게 시스템화했으며, 결과적으로 얼마나 마음의 여유가 생겼는지에 초점을 맞추어 전달해 드립니다.
참고로, 여기서 사용하는 것은 Claude Pro 계정과 로컬에 설치한 Claude Code뿐입니다. 특별한 인프라나 추가 유료 서비스는 사용하지 않았으므로, '내 환경에서도 재현할 수 있을까'라는 관점에서 읽어주시면 감사하겠습니다.
처음에 솔직히 고백하자면, 저도 처음에는 'AI에게 전부 시키면 편해지겠지'라고 생각했습니다.
하지만 대충 '에이전트 만들어줘', '기사 써줘'라고 던지면 돌아오는 것은:
- 기존 코드의 설계를 무시한, 누더기 같은 구현
- 그럴듯해 보이지만 내용이 얕은, 어디선가 본 듯한 기사
결국 직접 처음부터 수정해야 하는 본말전도 상황이 발생합니다.
즉 '통째로 맡기기(proxy)'로는 리뷰와 수정 시간만 늘어날 뿐, 정작 중요한 자신의 이해는 전혀 깊어지지 않습니다. 이래서는 시간의 벽을 넘을 수 없습니다.
실제로 처음 몇 편은 고생을 좀 했습니다. AI가 내놓은 구성안을 '그럴듯하네'라며 그대로 채택했지만, 다시 읽어보니 내용이 부실해서 스스로도 납득이 가지 않아 결국 폐기했습니다. 모처럼의 휴일을 허비하고 '역시 그냥 내가 다 쓸까……'라며 마음이 꺾일 뻔한 적도 있었습니다. 하지만 거기서 멈추고, 무엇이 부족했는지를 스스로 언어화하여 다시 정리했습니다. 원인은 명확했습니다. '통째로 맡기는 지시'에 대해 '통째로 맡기는 답변'이 돌아왔을 뿐이었습니다. 지시의 입도(Granularity)를 높이고, 구성의 의도는 스스로 파악한다——이 한 단계를 추가한 순간부터 맞물림이 완전히 달라졌습니다.
여기서 발상을 전환한 것이 모든 출발점이었습니다.
제가 도달한 스탠스는 심플합니다.
AI는 내 작업을 대신해 주는 '외주 업체'가 아니다. 나의 사고·시간·가능성을 확장하는 '파트너'다.
이 차이는 팀을 구성하는 방식에 그대로 나타났습니다. agent01의 개발에서는 인간과 AI가 명확하게 역할을 분담하고 있습니다.
인간(나) ← '무엇을 만들 것인가'의 의사결정·최종 리뷰·공개 판단
Claude(claude.ai) ← 설계·사양 책정·구현 지시서 작성·기사 구성
Claude Code ← 코드 구현·테스트 실행·기사 생성
...
포인트는, 인간이 '생각하는 역할'에서 내려오지 않았다는 점입니다. 의사결정과 리뷰는 자신이 쥐고, 그 전 단계의 '손을 움직이는' 부분을 AI를 통해 확장합니다. 그렇기에 만들면서 이해가 깊어집니다. 이것이 '자기 확장'의 실감이었습니다.
'실험'도 '검증'도 아닌, 이것은 명백한 **팀으로서의 도전(challenge)**이었던 셈입니다.
이 팀을 원활하게 운영하기 위해 준비한 것이 3가지 장치입니다. Series B의 8편은 바로 이 시스템의 해설서가 됩니다.
Claude Code는 기동 시 프로젝트 직하의 CLAUDE.md를 자동으로 읽어들입니다. 여기에 코딩 규약·Git 운영 규칙·'먼저 읽어야 할 파일'의 3가지 포인트를 적어두는 것만으로도, 세션이 바뀌어도 일관된 동작을 수행해 줍니다.
작업 방식
PROGRESS.md← 현재 위치·인수인계 사항 확인AGENT_SPEC.md← 사양·설계 확인
...
매번 구두로 "규약은 이렇고..."라고 설명하는 수고가 제로가 됩니다. 신입 멤버에게 취업 규칙을 전달해 두는 것과 같은 감각입니다.
Claude.ai 측에서 설계한 사양을 구현 지시서로 구체화하여 Claude Code에 전달합니다. 8개의 프로젝트를 진행하며 뼈저리게 느낀 점은 "지시서의 입도(Granularity)가 품질을 결정한다"는 것이었습니다.
- ❌ "
read_file을 구현해줘" → 망설임이 생겨 흔들림 - ⭕ "인자(Argument)·반환값(Return value)·에러 발생 시 동작"까지 작성 → 단번에 의도대로 수행
특히 여러 파일을 가로지르는 변경(도구 추가로 4개 파일 동시 업데이트 등)의 경우, 서두에 "작성·업데이트 파일 목록"을 표로 명시하는 것만으로도 변경 누락이 제로가 되었습니다.
| 파일 | 작업 |
|---|---|
src/tools/exec_tools.py | 신규 작성 |
src/tools/__init__.py | Export 추가 |
src/tool_definitions.py | 도구 정의 추가 |
src/dispatcher.py | Import 및 등록 추가 |
Claude Code는 세션이 바뀌면 기억을 잃습니다. 그래서 고안한 것이 PROGRESS.md 구동 개발입니다. "현재 위치·전체 단계 목록·인수인계 사항"을 하나의 텍스트에 집약하여, 세션 시작 시 읽고·종료 시 업데이트하는 사이클을 돌렸습니다.
### Step 01: Ollama 설정 + LLM 클라이언트 추상화
- 완료일: 2026-05-30
- 어려웠던 점: Windows의 cp932로 인한 글자 깨짐.
...
이 파일이 효과를 발휘한 것은 개발 인수인계뿐만이 아닙니다. 여기에 쌓인 "어려웠던 점·깨달음"이 그대로 기사의 1차 정보(소재)가 되었습니다. 개발 로그와 콘텐츠가 동시에 쌓여가는 것. 이것이 16개의 기사를 양산할 수 있었던 가장 큰 비결이었습니다.
이 메커니즘을 돌린 결과, 무엇이 변했을까요? 도전의 총괄입니다.
🕒 시간적 여유: 개발과 문서화가 "동시 병행"이 되었다
코드를 작성한 Claude Code가 그 코드를 직접 읽고 기사를 씁니다. 그래서 "코드 붙여넣기 누락"이나 "설명과 코드의 불일치"가 거의 발생하지 않습니다. 구현과 집필을 따로 하던 시절의 번거로움이 사라져, Series A(코드 해설 8편)와 Series B(활용 8편)를 동일한 흐름으로 만들어낼 수 있었습니다.
🧠 정신적 여유: 리뷰에 집중할 수 있게 되었다
손을 움직이는 작업을 파트너로 확장함으로써, 자신은 "이 설계로 정말 괜찮은가", "이 설명이 독자에게 전달될 것인가"와 같이 인간만이 할 수 있는 판단에 집중할 수 있게 되었습니다. published: false로 초안을 생성 → 리뷰 → 공개라는 안전장치도, 이러한 여유가 있기에 가능했습니다.
📈 학습적 여유: 만들면서 이해가 깊어졌다
그리고 무엇보다, 전부 떠넘기지 않았기에 cp932 인코딩 문제도, tool_use의 모델 선정도, 차분 적용(diff application)의 안전 설계도, 전부 "자신의 지식"으로 완전히 체득했습니다. 손을 움직이는 부분을 맡기더라도 판단을 자신이 쥐고 있다면 이해는 오히려 깊어집니다. 이것이 "자기 확장"의 실감이었습니다.
돌이켜보면, 시간의 벽을 넘게 해준 것은 특별한 재능도 잔업도 아닌, 역할 분담과 시스템화였습니다.
- AI를 대행이 아닌 자기 확장의 파트너로 간주한다
- CLAUDE.md·구현 지시서·PROGRESS.md로 팀의 움직임을 시스템화한다
- 인간은 의사 결정과 리뷰라는 "핵심적인 부분"에 집중한다
이러한 스탠스라면 휴일의 한정된 시간이라도 착실하게 쌓아 올릴 수 있습니다. 마찬가지로 일과 학습을 병행하려 분투하는 여러분의 내일, 그 첫걸음에 힌트가 된다면 기쁘겠습니다. 함께 마음의 여유가 있는 도전을 계속해 나갑시다.
각 회차의 구체적인 테크닉은 아래 시리즈에서 자세히 해설하고 있습니다. 관심 있는 장치부터 살펴보세요.
| 기사 | 테마 |
|---|---|
| B1 | Claude Code란 무엇인가·도입과 초기 설정 |
| ... |
이 시리즈에서 만든 에이전트의 구현 상세는 Series A: AI 에이전트를 만들며 이해하기에서 해설하고 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기