
Claude Code와 프롬프트 엔지니어링 (Prompt Engineering)
요약
Claude Code가 프롬프트 엔지니어링을 대체하는 것이 아니라, '컨텍스트 엔지니어링'을 통해 사용자 모르게 수행하는 메커니즘을 설명합니다. CLAUDE.md, 메모리, 작업 디렉토리 파일을 활용하여 짧은 지시만으로도 정교한 작업이 가능하도록 설계되었습니다.
핵심 포인트
- 프롬프트 엔지니어링이 컨텍스트 엔지니어링으로 진화함
- CLAUDE.md를 통해 프로젝트 규칙과 코딩 규약을 자동 전달
- 메모리 기능을 통해 이전 세션의 사용자 취향과 주의점 유지
- 사용자의 짧은 지시를 내부 정보와 조합하여 모델에 전달
ChatGPT와 함께 퍼진 「프롬프트 엔지니어링 (Prompt Engineering)」은, Claude Code를 사용하고 있으면 의식하는 장면이 적다. 하지만, 없어진 것은 아니다. CLAUDE.md · 메모리 · 작업 디렉토리의 파일이라는 형태로, Claude Code가 자동으로 프롬프트를 구성하고 있다. 그 메커니즘을 정리한다.
ChatGPT와 같은 채팅형 AI는, 사용자가 입력한 문장(프롬프트)에 AI가 응답하는 형식이다. 이 형식에서는, 원하는 답을 얻을 수 있는지가 프롬프트 작성 방식에 좌우된다.
그래서, 다음과 같은 고안이 사용되게 되었다. 이것을 프롬프트 엔지니어링 (Prompt Engineering)이라고 부른다.
- 모호한 의뢰가 아니라, 구체적으로 지시한다
- 기대하는 출력의 예를 보여준다
- 「당신은 ○○의 전문가입니다」와 같이 역할을 부여한다
- 태그나 불렛 포인트로 지시를 구조화한다
- 복잡한 작업을 여러 개의 프롬프트로 나누어, 순차적으로 지시한다 (프롬프트 체이닝 (Prompt Chaining))
모두, 사용자가 대화할 때마다 스스로 프롬프트를 작성하는 것을 전제로 하고 있다. Anthropic의 공식 문서에도, 이러한 종류의 기법이 정리되어 있다 (Prompt engineering overview).
Claude Code를 사용하고 있으면, 프롬프트를 고안하는 장면이 별로 없다. 이유는 다음 3가지이다.
- 짧은 지시로 작업이 끝난다
「이 버그를 고쳐줘」, 「테스트를 작성해줘」라는 한마디로, 파일 탐색부터 수정, 확인까지 수행한다. - 서두를 매번 쓸 필요가 없다
프로젝트의 규칙이나 코딩 규약을, 대화할 때마다 다시 설명할 필요가 없다. - 이전까지의 내용을 바탕으로 움직인다
이전에 전달했던 취향이나 주의점이, 다음 세션에서도 반영된다.
이 때문에, Claude Code는 프롬프트 엔지니어링과는 별개의 메커니즘으로 움직이는 것처럼 보인다. 실제로는, 프롬프트를 쓰는 장소가 바뀌어 있다.
Anthropic은, Claude Code와 같은 에이전트형 도구의 설계를 「컨텍스트 엔지니어링 (Context Engineering)」이라고 부르고 있다 (Effective context engineering for AI agents). 프롬프트 엔지니어링과의 차이는 다음과 같다.
| 프롬프트 엔지니어링 | 컨텍스트 엔지니어링 |
|---|---|
| 대상 | 1회의 대화에서의 지시문 작성 방식 |
| ... |
Claude Code는, 프롬프트 엔지니어링을 없앤 것이 아니라, 사용자의 눈에 보이지 않는 곳에서 수행하고 있다. 사용자가 쓰는 짧은 지시는, 내부에서 다른 정보와 조합된 후에 AI 모델로 전달된다.
정보를 모으는 방법에는 두 가지가 병용되고 있다. CLAUDE.md와 같이 변하지 않는 정보는 처음부터 컨텍스트에 읽어 들여 두고, 그 외의 파일은 grep이나 glob으로 필요할 때 필요한 만큼만 읽는다 (동일 기사).
사용자가 한 줄의 지시를 입력했을 때, 내부에서는 다음 정보가 조합되고 있다.
역할 · 행동 양식 · 도구 사용법을 정한 것이, Claude Code 자체에 내장되어 있다. 사용자의 설정으로 추가 · 덮어쓰기도 가능하다 (Modifying system prompts).
대화 시작 시 매번 자동으로 읽어 들여지는 파일. 빌드 명령, 코드 스타일, 작업 규칙 등, 코드를 읽는 것만으로는 알 수 없는 정보를 전달한다 (Best practices for Claude Code). Anthropic 사내에서는, CLAUDE.md의 문구를 프롬프트 개선 도구에 돌리거나, 「IMPORTANT」, 「YOU MUST」와 같은 강조를 더해 지시가 잘 지켜지도록 조정하고 있다고 소개되어 있다. 이것은 프롬프트 엔지니어링 그 자체이다.
과거 세션에서 얻은 사용자의 취향이나 주의점을 저장하고, 다음 이후의 세션에서 참조하는 메커니즘. 같은 지시를 반복하지 않아도 되는 것은, 이 정보가 매번 포함되기 때문이다.
소스 코드, 설정 파일, 문서는, 필요에 따라 그때마다 읽어 들여진다. 장시간 동작하는 에이전트에서는, 진행 상황을 기록한 claude-progress.txt나 git의 이력을 상태 관리에 사용하는 방법도 소개되어 있다 (Effective harnesses for long-running agents). 이것도, 파일이라는 형태로 만든 프롬프트의 일부라고 할 수 있다.
이상의 정보 위에, 지금 입력한 한 줄이 더해진다.
이것들을 정리한 것이, 실제로 AI 모델에게 전달되는 내용이다. 사용자는 그 대부분을 의식하지 않아도 된다.
어떤 프로젝트의 루트(root)에 다음과 같은 내용의 CLAUDE.md가 있다고 가정하자.
- 프로젝트 개요 (무엇을 만드는 시스템인가)
- 디렉토리 구성과 각각의 역할
- 테스트 실행 방법 및 코딩 규약 (Coding Convention)
- "
git commit·git push는 명시적인 요청이 있을 경우에만 실행한다"라는 규칙 - 운영 환경(Production)으로의 배포 절차와 그際の 주의사항 (대상 파일을 좁히는 것 등)
여기서 사용자가 "배포해줘"라고 입력하는 경우를 생각해보자. CLAUDE.md가 없다면, 사용자는 매번 다음과 같은 내용을 작성해야 한다.
"이 프로젝트에서는 사이트 전체를 교체하지 말고, 변경된 파일만 운영 서버로 업로드해 주세요. 〇〇 디렉토리는 업로드 대상에서 제외해 주세요. 배포 절차는 △△와 같습니다."
CLAUDE.md가 있다면, 이 내용은 대화가 시작된 시점에 이미 컨텍스트 (Context)에 포함되어 있다. "배포해줘"라는 한 마디는 위와 같은 지시사항과 결합된 상태로 AI 모델에게 전달된다.
즉, CLAUDE.md는 대화할 때마다 작성하던 지시사항을 미리 파일로 만들어 두고, 매번 자동으로 삽입하는 메커니즘이다. 사용자의 입력이 짧아진 것은 프롬프트 (Prompt)가 불필요해졌기 때문이 아니라, 그 대부분을 사전에 준비해 두었기 때문이다.
- 프롬프트 엔지니어링 (Prompt Engineering)은 Claude Code에서도 사라지지 않았다. 작성하는 장소가 대화창에서 도구의 내부(시스템 프롬프트 (System Prompt) ·
CLAUDE.md· 메모리 (Memory) · 작업 시의 파일 읽기)로 옮겨갔을 뿐이다. - 짧은 지시로 끝낼 수 있는 이유는 서론이나 문맥 (Context)이 미리 준비되어 있기 때문이다.
CLAUDE.md는 프로젝트마다 준비해 두는 프롬프트에 해당한다. Anthropic 사내에서도 그 문구를 조정하는 작업이 이루어지고 있다.- Anthropic은 이러한 사고방식을 컨텍스트 엔지니어링 (Context Engineering)이라고 부른다. 이는 기존의 프롬프트 엔지니어링을 대체하는 것이 아니라, 대상을 "1회의 지시문"에서 "AI에게 전달하는 정보 전체"로 확장한 것으로 정의된다.
Claude Code는 프롬프트를 작성하는 작업을 미리 파일로 끝내둘 수 있는 메커니즘이다. 그렇게 이해하면 CLAUDE.md나 메모리를 어떻게 정리할지도 판단하기 쉬워진다.
- Effective context engineering for AI agents — 프롬프트 엔지니어링과 컨텍스트 엔지니어링의 차이
- Best practices for Claude Code —
CLAUDE.md의 역할과 사내 조정 사례 - Effective harnesses for long-running agents — 파일(진행 로그 · git 히스토리)을 사용한 상태 관리
- Building agents with the Claude Agent SDK — 시스템 프롬프트 · 도구 · 메모리의 SDK 레벨 구성
- Modifying system prompts (Claude Code SDK) — 기본 시스템 프롬프트를 추가하거나 덮어쓰는 메커니즘
- Prompt engineering overview — 기존 방식의 프롬프트 엔지니어링 기초
- Claude의 계약과 Claude Code 설치 절차 — Claude Code 셋업에 대하여
원문(Bitz Notebook): Claude Code와 프롬프트 엔지니어링
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기