클로드의 잠재력을 끌어올리는 2가지 방법#
CoT#
- Chain of Through
- CoT 기법 적용해야 하는 이유
- 정확성: 각 단계를 검증하며 진행하므로 최종 결론의 신뢰도가 높아진다.
- 일관성: 최종 결과물을 더욱 긴밀하고 체계적인 구성을 갖추도록 돕는다.
- 디버깅 용이성: 논리적 흐름으로 특정 결과에 도달했는지 투명하게 보여준다.
- CoT 유도방법
- 프롬프트에 ‘생각해라’라는 문구만 들어가 있으면 된다.
- ex)
단순히 REST API 어떻게 설계 할 수 있는지 단계별로 생각하고 답변해줘.
확장된 사고#
- 확장된 사고 유도 방법
- ‘고민해라’라고 말하면 된다.
- ‘고민해라’보다 ‘깊게 고민해라’가 더 오랜 사고를 유도하고, ‘더 깊게 고민해라’는 더욱 더 오랜 사고를 유도한다.
- ex)
다루지 않은 엣지 케이스에 대해 더욱 깊게 고민해줘
커스텀 슬래시 커맨드 사용하기#
/<prefix>:<command-name> [arguments]<prefix>: 커스텀 커맨드의 스코프를 명시한다. (예: 프로젝트 단위는 project, 사용자 단위는 user),<command-name>: 커맨드가 정의된 마크다운 파일의 이름[arguments]: 커맨드에 제공할 선택적 매개변수.
- 스코프
- 프로젝트 커스텀 슬래시 커맨드
- 위치:
.claude/commands/ - 프로젝트에 밀접하게 관련 있는 CI 실행, PRD 작성, 테스트 실행 및 구현 등
- 사용자 커스텀 슬래시 커맨드
- 위치:
~/.claude/comannds - 여러 프로젝트에 걸쳐서 사용하게 되는 커맨드
- 네임스페이싱
- 프로젝트 네임스페이스 위치:
.claude/commands/<namespace>/<command>.md - 프로젝트 네임스페이스 위치:
~/.claude/commands/<namespace>/<command>.md - prefix:
/<namespace>:<command>
- 커스텀 슬래시 커맨드 마크다운 파일 정의하기
!를 사용해서 bash command를 명시하거나 @를 사용해서 파일을 참조할 수 있다.
MCP 사용하기#
- MCP: LLM이 데이터베이스, API, 파일 시스템과 같은 외부 도구 및 데이터 소스에 접근할 수 있도록 설계된 클라이언트-서버 구조의 개방형 프로토콜
- stdio는 로컬에서 실행되므로 지연 시간이 매우낮지만, 직접 서버를 업데이트해야 하기 때문에 항상 최신 버전을 사용하고 있다고 장담할 수 없다.
- stdio가 가장 많이 사용되는 방식
| 구분 | stdio 서버 | SSE 서버 | HTTP 서버 |
|---|
| 실행 위치 | 로컬 컴퓨터 | 원격 서버 | 원격 서버 |
| 통신 방향 | 양방향 (프로세스 통신) | 단방향 (서버 -> 클라이언트) | 양방향 (요청/응답) |
| 연결 방식 | 프로세스 실행 | 지속적 연결 | 요청 기반 연결 |
| 핵심 용도 | 로컬 도구 및 스크립트 연동 | 실시간 데이터 스트리밍 | 일반적인 원격 API 연동 |
PRD와 실행 계획하기#
PRD#
- Product Requrements Document
- 무엇을, 왜 만들어야 하는지 정의하는 문서
- PRD의 질문
- 어떤 사용자를 위해 만드는가?
- 어떤 문제를 해결해주는가?
- 비즈니스 측면에서 어떤 이득이 있는가?
- 어떤 기능과 경험을 제공해야 하는가?
- 사용자는 어떤 경험을 하게 되는가?
- 우리는 무엇을(What), 왜(Why) 만드는가?
실행 계획#
- PRD를 구현하기 위해 계획을 작성한 문서
- 실행 계획의 질문
- 어떤 기술 스택을 사용할 것인가?
- 아키텍처를 어떻게 구성할 것인가?
- 데이터를 어떤모델로 저장할 것인가?
- 어떤 함수와 클래스를 작성할 것인가?
- 어떤 작업을 먼저 수행할 것인가?
PRD 작성법#
- 문제 정의: 해결하려는 사용자나 비즈니스의 문제가 무엇인지 명확하고 간결하게 설명한다.
- 타깃 사용자 및 사용 사례: 제작할 서비스/기능을 사용할 핵심 사용자가 누구이고 어떻게 어떤 상황에서 사용하게 될지 정의한다.
- 제안 해결책: 문제를 해결하기 위해 어떤 해결책을 제시할지 짧게 설명한다.
- 목표 및 성공 지표: 서비스/기능을 제작했을 때 어떻게 하면 좋을지 정확히 정의한다. ‘로그인 기능 추가’같은 모호한 목표가 아니라 ‘재방문률 15% 상승’ 등 실패 여부를 수치화하고 전과 후를 비교할 수 있는 명확한 목표와 지표를 정의하는 게 유용하다.
- 경쟁자 분석, MVP 요구사항에 대해서 작성하는것도 좋다.
실행 계획 작성법#
- PRD 하나당 꼭 실행 계획이 하나만 있어야 하는 건 아니다.
- 작업 분해: PRD의 사용자 스토리 하나를 가져와, 이걸 구현하기 위해 필요한 모든 기술적 작업을 나열한다.
- 예: ‘프론트엔드 UI 버튼 제작’, ‘백엔드 OAuth 콜백 API 개발’
- 기술 명세: 각 Task에 대한 구체적인 결정을 내린다.
- 예: API의 Request/Response 형태는 어떻게 할지 ,어떤 라이브러리를 사용할지, 에러 처리는 어떻게 할지 등을 명시한다.
- 의존성 파악: Task 간의 선후관계를 정의한다.
- 산출물 및 일정: 각 Task가 얼마나 걸릴지 예측하고, 언제까지 완료할지 현실적인 일정을 세운다.
에이전트 병렬로 실행하기#
서브에이전트#
- 코드 에이전트가 작업을 위해 또 다른 에이전트를 생성해서 업무를 진행한다.
- 병렬 실행
- 서브에이전트를 활용해서 병렬 실행을 처리할 떄는 서로 독립적인 작업을 시키는 게 유리하다. 한 작업이 다른 작업에 영향을 주지 않아 충돌 없이 작업 가능하다.
- 병렬로 작업을 처리하고 싶으면 클로드 코드에게 어떤 작업을 어떻게 병렬로 어떤 프롬프트와 함께 병렬로 처리할지 명시해주면 된다.
- 직렬 실행
- 직렬 실행을 사용하는 이유: 콘텍스트 사이즈 때문
- 서브 에이전트가 독립적인 작업을 하고 결괄만 되돌려주도록하여 메인 에이전트의 콘텍스트 사이즈를 아낄 수 있다.
- 클로드 코드는 시키지 않아도 내부적으로 직렬 에이전트 기능을 사용하고 있다.
- Task가 보이면 서브 에이전트가 실행되고 있는 것이다.
- 프롬프트로 직업 어떤 작업에 서브 에이전트를 생성할지 명시할 수 있다.
- 예: XXX 작업을 할 때 subagent를 생성해서 작업해줘
커스텀 서브에이전트#
- 클로드 코드가 작업 중에 서브에이전트를 생성하면 아무런 세팅 없이 기본 서브에이전트가 생성된다.
- 커스텀 서브에이전트를 미리 정의해두면 어떠한 작업을 하기 위해 서브에이전트를 생성할 때마다 각 작업에 최적화된 서브에이전트가 실행되도록 할 수 있다.
- 생성 방법
/agent 커맨드 (추천)- 직접 마크다운 파일 생성
/agent 커맨드를 이용해서 커스텀 서브에이전트 생성하기- 프로젝트 스코프나 사용자 스코프로 저장할 수 있다.
- 서브 에이전트가 사용할 도구를 지정할 수 있다.
- 서브 에이전트가 사용할 색상을 선택할 수 있다.
- 커스텀 서브에이전트 마크다운 프런트매터
name: 서브에이전트의 이름description: 클로드 코드가 어떤 서브에이전트를 사용해야 할지 판단할 때 이 필드를 확인하고 판단한다.color: 커스텀 서브에이전트가 실행될 떄 쉽게 확인할 수 있도록 색상을 지정할 수 있다.
- 클로드 코드가 커스텀 서브에이전트를 사용하는 방법 2가지
- 클로드 코드가 자동으로 프롬프트를 분석하고 어떤 서브에이전트를 트리거할지 정할 수 있도록 한다.
- 커스텀 에이전트의 이름을 프롬프트에 명확히 명시해서 해당 서브에이전트를 무조건 사용할 수 있도록 한다.
- 커스텀 서브에이전트 사용 사례: 테스트 에이전트, 아키텍처 레이어별 에이전트, 하면 안 되는 작업 명시하기
독립 에이전트#
- 방법1: 여러 프로젝트에 병렬로 에이전트 실행하기
- 방법2: Git Worktree로 병렬 에이전트 실행하기
깃허브 워크플로 사용하기#
- github 이슈를 통해서 해야될 작업들을 생성해서 관리하고, 이슈마다 클로드 코드가 병렬적으로 구현을 하도록 구성할 수 있다.
- 작업들을 분석하고 이슈를 생성하는 것도 클로드 코드를 통해서 할 수 있다.
- 클로드 코드롸 깃허브를 연동할 때 MCP와 깃허브 CLI 두 가지 방법이 있는데, 엔트로픽에서는 깃허브 CLI를 사용하는 것을 추천하고 있다.
- 효율적으로 깃허브 워크플로를 자동화하려면 이슈에 레이블을 작성해두는 것이 에이전트가 효율적으로 활용할 수 있게 도움이 된다.
- 이슈를 작업하도록 할 때도 커스텀 슬래시 커맨드로 프롬프트를 작성해두면 좋다.
- 워크트리를 활용해 병렬로 작업을 하면 더 효율적이다.
comments powered by