들어가며
요즘 클로드 코드(Claude Code)가 정말 빠른 속도로 발전하고 있다고 생각한다. 얼마전에 1000개 이상의 쿼리를 단기간에 마이그레이션 하기위해서 Copilot Agent Mode 를 활용했던거 처럼, 단순 AI 발전 말고도 개발자의 더 명확한 판단 능력, 검증을 설계하는 능력, 작업을 자동화하는 능력 등등이 더 중요해지고 있다고 판단했다.
https://huncozyboy.tistory.com/66
AI Copilot Agent Mode로 SQL 쿼리 마이그레이션 (Copilot)
들어가며CUBRID 데이터베이스 환경에서 돌아가던 SQL 쿼리들을 MySQL 8.x로 마이그레이션하는 작업을 한 내용으로 포스팅을 해보려고 한다.AI Copilot(Agent Mode)을 활용해 1000개가 넘는 쿼리 변환을 성공
huncozyboy.tistory.com
이번 글은 클로드 코드를 만든 사람, 보리스(Boris Cherny)가 직접 공유한 사용법을 인용해서 정리해보았다.

본론
1) Claude 프로세스 5개를 동시에 실행
먼저 터미널에서 Claude 프로세스 5개를 동시에 실행한다.
탭에 1~5번까지 번호를 매기고, 시스템 알림을 사용하여 Claude 프로세스가 입력을 필요로 할 때를 알 수 있다.
https://code.claude.com/docs/en/terminal-config#iterm-2-system-notifications

2) 로컬 Claude 세션 병렬 실행
그 다음 로컬 Claude 세션과 병렬로 https://claude.ai/code 서버에서 5~10개의 Claude 세션을 실행한다.
터미널에서 코딩할 때, 종종 로컬 세션을 웹 서버로 전환(& 사용)하거나 Chrome에서 수동으로 세션을 시작하기도 한다.
Boris는 --teleport 명령어를 사용하여 터미널과 웹 서버를 오가기도 하면서, 매일 아침과 하루 동안 휴대폰(Claude iOS 앱)에서 몇 개의 세션을 시작하고 나중에 확인한다고 말했다.

3) Opus 4.5 모델 사용
모델은 모든 것에 사고 기능을 갖춘 Opus 4.5를 사용한다.
제가 사용해 본 코딩 모델 중 최고이며, Sonnet보다 크고 느리긴 하지만,
직접 조작할 필요가 적고 도구 활용 능력이 뛰어나기 때문에 결과적으로는 더 작은 모델을 사용하는 것보다 거의 항상 더 빠르다고 한다.
4) Claude Code md 파일 설정
Boris의 팀은 Claude Code 저장소에 대해 하나의 CLAUDE.md 공유한다. 변경사항을 git에 커밋하고, 팀 전체가 일주일에 여러 번 기여합니다. Claude가 잘못된 작업을 수행하는 것을 발견할 때마다 CLAUDE.md 에 추가하여 Claude가 다음번에 같은 실수를 하기 위함이기 때문에, 다른 팀들은 자체적인 CLAUDE.md '를 유지한다. 각 팀은 자신의 '를 최신 상태로 유지해야 할 책임이 있다.
5) PR에 @.claude를 태그
코드 리뷰 중에 Boris는 종종 동료들의 PR에 @.claude를 태그하여 PR의 일부로 CLAUDE.md 에 무언가를 추가한다고 한다. 이를 위해 Claude Code GitHub 액션 (/install-github-action)을 사용한다. 해당 내용은 @danshipper 의 Compounding Engineering과 유사한 기능을 의미한다.
6) 계획 모드 -> 승인 모드 전환
대부분의 세션은 계획 모드(Shift+Tab 두 번 누르기)에서 시작한다. 만약에 풀 리퀘스트를 작성하는 것이 목표라면 계획 모드를 사용하고, 마음에 드는 계획이 나올 때까지 Claude와 의견을 주고받고, 계획이 완성되면 편집 자동 승인 모드로 전환하고, Claude는 보통 한 번에 풀 리퀘스트를 승인하는 과정을 가진다고 한다.

7) 내부 루프 워크플로에 슬래시 명령어를 사용
저는 하루에도 여러 번 반복해서 수행하는 모든 내부 루프 워크플로에 슬래시 명령어를 사용한다고 한다. 이렇게 하면 반복적인 프롬프트 표시를 피할 수 있고, Claude도 이러한 워크플로를 사용할 수 있으며, 명령어는 Git에 커밋되어 .claude/commands/ 디렉토리에 저장되어 관리된다. 예를 들어, Claude와 저는 매일 수십 번씩 /commit-push-pr 슬래시 명령어를 사용하는데, 해당 명령어는 인라인 bash를 사용하여 git 상태와 몇 가지 다른 정보를 미리 계산하여 명령어가 빠르게 실행되고 모델과의 반복적인 상호 작용을 방지할 수 있는 효과가 있다.(https://code.claude.com/docs/en/slash-commands#bash-command-execution).

8) 몇 가지 서브에이전트의 정기적으로 사용
code-simplifier는 Claude가 작업을 완료한 후 코드를 간소화하고, verify-app은 Claude 코드의 엔드 투 엔드 테스트에 대한 자세한 지침을 제공하는 등의 기능을 해준다. Boris는 슬래시 명령어와 마찬가지로 서브에이전트는 대부분의 PR에서 수행하는 가장 일반적인 워크플로를 자동화하는 도구라고 생각한다.
https://code.claude.com/docs/en/sub-agents

9) PostToolUse 훅을 사용하여 Claude의 코드 형식을 지정
Claude는 일반적으로 기본적으로 형식이 잘 지정된 코드를 생성하며, 이 훅은 나중에 CI에서 형식 오류가 발생하지 않도록 나머지 10%를 처리한다.

10) --dangerously-skip-permissions 옵션 미사용
--dangerously-skip-permissions 옵션을 사용하는대신 /permissions 명령어를 사용하여 제 환경에서 안전하다고 판단되는 일반적인 bash 명령어를 미리 허용함으로써 불필요한 권한 요청 메시지를 방지한다. 해당 설정 대부분은 .claude/settings.json 파일에 저장되어 팀과 공유된다.

11) Claude Code에서도 사용하는 모든 도구를 활용
Boris는 MCP 서버를 통해 Slack에 검색 및 게시물을 올리고, bq CLI를 사용하여 BigQuery 쿼리를 실행하여 분석 관련 질문에 답변하고, Sentry에서 오류 로그를 가져오는 등의 작업을 수행한다고 한다. 또한 Slack MCP 구성은 .mcp.json 파일에 커밋되어 팀과 공유된다.

매우 오래 걸리는 작업의 경우,
(a) 작업이 완료되면 백그라운드 에이전트를 사용하여 Claude가 작업을 확인하도록 메시지를 표시하거나,
(b) 에이전트 Stop 후크를 사용하여 보다 확정적으로 확인하거나,
(c) ralph-wiggum 플러그인(원래 @GeoffreyHuntley 이 구상함)을 사용한다. 또한 샌드박스 환경에서 --permission-mode=dontAsk 또는 --dangerously-skip-permissions 옵션을 사용하여 세션에 대한 권한 프롬프트를 방지함으로써 Claude가 제 작업으로 인해 차단되지 않고 작업을 수행할 수 있도록 한다.
https://github.com/anthropics/claude-plugins-official/tree/main/plugins/ralph-wiggum
https://code.claude.com/docs/en/hooks-guide

13) Claude에게 작업 검증 방법을 제공
Claude Code -- 에서 훌륭한 결과를 얻기 위한 가장 중요한 것은 Claude에게 작업 검증 방법을 제공하는 것
Claude가 이러한 피드백 루프를 갖추면 최종 결과의 품질이 2~3배 향상될 것이라고 Boris는 말한다.
좀 더 구체적으로는 Claude는 Claude Chrome 확장 프로그램을 사용하여 https://claude.ai/code 에 적용하는 모든 변경 사항을 테스트한 다음, 브라우저를 열고 UI를 테스트한 다음 코드가 작동하고 UX가 만족스러울 때까지 반복한다.
각 도메인마다 검증 방식이 다르고, 간단한 bash 명령어 실행부터 테스트 스위트 실행, 브라우저나 모바일 시뮬레이터에서의 앱 테스트까지 다양한 방법이 있을 수 있다. 무엇보다 중요한 것은 이러한 검증 과정을 철저하게 구축하는 것이라고 한다.
느낀점
최근에 클로드를 동시에 여러개 돌리면서, 확실히 발전이 체감이 되는거같다. 예전 같으면 몇 주 걸렸을 일들이 며칠 안에 정리되는 적도 있었다. 동시에 드는 생각은 구현 속도가 빨라진 만큼 잘못된 방향으로 가는 속도도 같이 빨라진다. 그래서 이제는 타이핑을 누가 더 빨리 하냐보다, 그 폭발적인 속도의 AI를 올바른 방향으로 가도록 결정하는 개발자의 판단이 더 중요해지는 것 같다.
참고한 자료