{"content_id":"yihyxok0ch","slug":"claude-5-context-engineering-rules","locale":"ko","schema_type":"TechArticle","category":"ai_data","category_name":"AI 데이터","title":"Claude 5 모델을 위한 컨텍스트 엔지니어링 규칙","summary":"판단 능력이 향상된 Claude 모델에는 많은 세부 규칙보다 명확한 목적, 잘 설계된 도구, 작업에 맞는 참조 자료가 중요하다. 이 글은 중복 지침을 줄이고 필요한 정보를 적시에 제공하는 컨텍스트 설계 원칙과 적용 절차를 설명한다.","author":{"name":"인조이스 편집팀","url":"https://injoys.com/ko/about"},"key_points":["컨텍스트 엔지니어링은 프롬프트뿐 아니라 시스템 지침, 도구, 메모리, 파일, 대화 기록과 실행 결과를 함께 설계하는 작업이다.","안전·법률·권한·데이터 무결성 규칙은 강하게 유지하되 상황에 따라 달라지는 스타일 지침은 맥락 기반 원칙으로 바꾸는 것이 좋다.","모든 정보를 처음부터 넣기보다 검색, 파일 읽기, Skills와 하위 에이전트를 통해 필요한 시점에 공개해야 한다.","도구 사용 예시를 반복해서 나열하기보다 명확한 이름, 입력 스키마, 상태 정의와 오류 구조를 갖춘 인터페이스를 설계해야 한다.","CLAUDE.md, 자동 메모리, 코드, 테스트와 명세는 서로 다른 역할을 맡아야 하며 같은 지침을 여러 위치에 복제하지 않아야 한다."],"content_markdown":"판단 능력이 향상된 Claude 모델을 효과적으로 사용하려면 프롬프트 한 문장을 다듬는 것만으로는 부족하다. 모델이 한 번의 추론에서 보게 될 시스템 지침, 프로젝트 파일, 도구, 메모리, 대화 기록과 실행 결과를 하나의 정보 환경으로 설계해야 한다.\n\n핵심 원칙은 단순하다.\n\n\u003e 모든 행동을 미리 규정하기보다 명확한 목적, 안전 경계, 표현력 있는 인터페이스와 신뢰할 수 있는 참조 자료를 제공하고 세부 판단은 모델에 맡긴다.\n\n이 글에서 `Claude 5`는 제공된 자료가 지칭하는 차세대 고성능 Claude 모델 환경을 뜻한다. 구체적인 제품 사양이나 출시 상태가 아니라, 판단 능력이 향상된 모델에 적용할 수 있는 컨텍스트 설계 원칙에 초점을 맞춘다.\n\n## 프롬프트 엔지니어링과 컨텍스트 엔지니어링\n\n### 프롬프트 엔지니어링\n\n프롬프트 엔지니어링은 현재 요청을 어떻게 표현할지 설계하는 작업이다. 일반적으로 다음 항목을 다룬다.\n\n- 작업 목표\n- 수행 범위\n- 제약 조건\n- 출력 형식\n- 성공 기준\n- 필요한 예시\n\n예를 들면 다음과 같다.\n\n```text\nNext.js API Route에 결제 취소 기능을 구현한다.\n기존 서비스 계층을 재사용하고 테스트를 추가한다.\n공개 API 계약은 변경하지 말고 변경 이유를 설명한다.\n```\n\n### 컨텍스트 엔지니어링\n\n컨텍스트 엔지니어링은 모델의 추론에 들어가는 전체 정보 집합을 선별하고 유지하는 작업이다. Claude Code와 같은 코딩 에이전트에서는 대략 다음 요소가 컨텍스트를 구성한다.\n\n```text\n사용자의 현재 요청\n+ 시스템 지침\n+ CLAUDE.md와 프로젝트 지침\n+ Skills\n+ 자동 메모리\n+ 코드·명세·테스트·문서\n+ 도구 정의와 MCP 리소스\n+ 대화 기록\n+ 도구 실행 결과와 오류 로그\n```\n\n따라서 좋은 프롬프트도 오래된 메모리, 중복된 프로젝트 규칙 또는 방대한 로그와 함께 제공되면 효과가 약해질 수 있다. 반대로 짧은 요청도 관련 코드와 테스트, 명확한 도구가 함께 주어지면 충분히 정확하게 실행될 수 있다.\n\n| 구분 | 프롬프트 엔지니어링 | 컨텍스트 엔지니어링 |\n|---|---|---|\n| 설계 대상 | 현재 요청의 표현 | 추론에 들어가는 전체 정보 환경 |\n| 주요 질문 | 무엇을 어떻게 요청할 것인가 | 모델이 무엇을 언제 보게 할 것인가 |\n| 대표 요소 | 목표, 형식, 제약, 예시 | 시스템 지침, 파일, 도구, 메모리, 기록 |\n| 주요 실패 | 모호한 요청, 불명확한 성공 기준 | 충돌, 중복, 오래된 정보, 과도한 로그 |\n| 개선 방법 | 요청을 구체화하고 검증 기준 제시 | 고신호 정보 선별, 적시 검색, 수명주기 관리 |\n\n## 컨텍스트가 많을수록 항상 좋지 않은 이유\n\nLLM의 컨텍스트 창이 커져도 작업에 사용할 수 있는 주의력은 무제한이 아니다. 관련성이 낮은 토큰이 늘어나면 다음 문제가 생길 수 있다.\n\n1. 중요한 요구사항이 장황한 설명 속에 묻힌다.\n2. 서로 다른 위치의 유사한 지침이 미묘하게 충돌한다.\n3. 오래된 결정이나 실패한 시도가 현재 작업에 영향을 준다.\n4. 예시가 정답처럼 작용해 다른 해결 경로를 제한한다.\n5. 로그와 도구 출력이 코드, 명세, 테스트에 필요한 공간을 차지한다.\n6. 모델이 실제 작업보다 지침의 우선순위를 해석하는 데 추론을 소비한다.\n\nAnthropic는 긴 컨텍스트에서 정보의 활용 효율이 저하되는 현상을 설명하며, 에이전트가 필요한 정보를 적시에 검색하고 오래된 기록을 압축하도록 설계할 것을 권한다. 중요한 것은 최대 토큰 수를 채우는 것이 아니라 결과에 영향을 주는 고신호 토큰의 비율을 높이는 것이다.\n\n## 시스템 프롬프트 축소 사례가 의미하는 것\n\n제공된 Anthropic 사례에서는 Claude Code의 내부 지침을 검토한 뒤 시스템 프롬프트를 80% 이상 축소했다고 설명한다. 이 수치는 모든 애플리케이션의 프롬프트를 같은 비율로 줄여야 한다는 규칙이 아니다. 특정 시스템에서 중복되고 지나치게 세부적인 행동 지침을 정리한 사례로 이해해야 한다.\n\n예를 들어 다음 지침이 한 요청에 동시에 들어갈 수 있다.\n\n```text\n시스템 지침: 상황에 맞는 문서를 남긴다.\nSkill 지침: 주석을 추가하지 않는다.\n사용자 요청: 기존 버전처럼 작동하게 만든다.\n```\n\n각 문장은 개별적으로는 타당할 수 있지만 함께 놓이면 여러 해석 문제가 발생한다.\n\n- 문서와 코드 주석은 같은 범주인가?\n- 주석 금지는 예외 없는 규칙인가?\n- 기존 버전의 동작에는 주석이나 문서 구조도 포함되는가?\n- 현재 요청과 재사용 가능한 Skill 중 어느 쪽이 우선하는가?\n\n이 경우 실패 원인은 모델의 코딩 능력만이 아니다. 사람이 구성한 정보 환경이 불필요한 모순을 포함하고 있다는 점도 원인이다.\n\n## 여섯 가지 새로운 컨텍스트 설계 규칙\n\n| 과거 방식 | 권장 방식 |\n|---|---|\n| 세부 행동을 금지 목록으로 규정 | 목표와 판단 기준을 제시하고 맥락을 활용 |\n| 도구 호출 예시를 다수 제공 | 스키마 자체가 사용법을 설명하게 설계 |\n| 모든 정보를 작업 시작 시 주입 | 필요한 시점에 점진적으로 공개 |\n| 같은 지침을 여러 위치에 반복 | 지침마다 하나의 권위 있는 저장 위치 지정 |\n| CLAUDE.md에 임시 기억까지 저장 | 영구 정책과 자동 메모리의 역할 분리 |\n| 긴 Markdown 설명에 의존 | 코드, 테스트, HTML, 평가표 등 실행 가능한 자료 제공 |\n\n### 1. 세부 금지 목록을 맥락 기반 원칙으로 바꾼다\n\n과거 모델의 반복적인 실수를 막기 위해 다음과 같은 규칙을 길게 나열하는 경우가 있었다.\n\n- 주석을 작성하지 않는다.\n- 여러 문단의 docstring을 만들지 않는다.\n- 요청하지 않은 계획 문서를 생성하지 않는다.\n- 중간 분석 파일을 저장하지 않는다.\n\n이런 규칙은 특정 실패를 방지하지만 모든 상황에 적용되는 절대 원칙은 아니다. 복잡한 보안 검증이나 동시성 코드에는 설명이 필요할 수 있고, 자명한 CRUD 코드에는 주석이 오히려 소음을 만들 수 있다.\n\n다음처럼 판단 기준을 제시하는 편이 낫다.\n\n```text\n주변 코드와 같은 방식으로 읽히는 코드를 작성한다.\n기존 파일의 이름 규칙, 관용 표현과 주석 밀도를 따른다.\n설명 없이는 안전성이나 의도가 불분명한 로직에만 필요한 문서를 추가한다.\n```\n\n다만 모든 규칙을 약하게 바꾸어서는 안 된다. 다음 항목은 명시적인 제약이나 도구 수준의 통제로 유지해야 한다.\n\n- 운영 환경 배포와 데이터 삭제 승인\n- 개인정보와 기밀정보 처리 제한\n- 인증·인가 검증\n- 금전 거래의 멱등성과 감사 기록\n- 데이터베이스 마이그레이션 정책\n- 법률, 라이선스와 규제 준수\n- 변경할 수 없는 공개 API 계약\n\n| 규칙 종류 | 적절한 처리 방식 |\n|---|---|\n| 보안·법률·권한 | 명시적이고 강한 제약 유지 |\n| 데이터 손실 가능 작업 | 승인 절차와 도구 권한으로 통제 |\n| 공개 계약·호환성 | 테스트와 스키마로 검증 |\n| 코드 스타일·주석 | 주변 코드에 따른 판단 원칙 사용 |\n| 임시 작업 순서 | 현재 계획이나 작업 목록에서 관리 |\n\n### 2. 많은 예시보다 표현력 있는 도구를 설계한다\n\n도구 설명에 정상·비정상 호출 사례를 계속 추가하면 컨텍스트가 커지고 모델이 예시의 표면 형태를 모방할 수 있다. 더 나은 방법은 도구 이름, 입력 필드와 상태 전이가 사용법을 드러내도록 만드는 것이다.\n\n```text\nTodoWrite\n목적: 현재 세션의 작업 목록 생성 및 갱신\n\nstatus:\n- pending\n- in_progress\n- completed\n\n제약:\n- 동시에 하나의 작업만 in_progress일 수 있음\n```\n\n좋은 에이전트 도구는 다음 특성을 갖는다.\n\n- 이름만으로 행동과 대상이 드러난다.\n- 필수 필드와 선택 필드가 구분된다.\n- 열거형으로 허용 값을 제한한다.\n- 읽기와 쓰기, 미리보기와 실행을 분리한다.\n- 오류가 원인과 복구 방법을 구조적으로 반환한다.\n- 위험한 작업은 확인 토큰이나 승인 단계를 요구한다.\n- 결과가 지나치게 길면 요약과 페이지 탐색 기능을 제공한다.\n\n예시는 인터페이스로 표현하기 어려운 예외나 모호한 입력을 설명할 때만 추가하는 것이 좋다.\n\n### 3. 모든 정보를 처음부터 넣지 말고 점진적으로 공개한다\n\n에이전트가 작업에 필요할 가능성이 있다는 이유만으로 저장소 전체, 모든 정책과 긴 로그를 처음부터 주입해서는 안 된다. 먼저 탐색에 필요한 최소 정보를 주고, 작업이 구체화될 때 관련 자료를 읽게 한다.\n\n권장 흐름은 다음과 같다.\n\n1. 목표, 성공 기준과 안전 경계를 제공한다.\n2. 저장소 구조나 검색 도구를 통해 관련 위치를 찾는다.\n3. 필요한 파일과 명세만 읽는다.\n4. 구현 후 관련 테스트와 정적 분석을 실행한다.\n5. 실패한 경우 해당 오류와 주변 코드만 추가로 가져온다.\n6. 완료 후 오래된 로그와 중간 추론을 압축하거나 제거한다.\n\n점진적 공개는 정보를 숨기는 것이 아니다. 필요한 정보를 모델이 발견할 수 있도록 검색 경로와 명확한 파일 구조를 제공하는 방식이다.\n\n### 4. 중복 지침을 제거하고 권위 있는 위치를 정한다\n\n같은 규칙을 시스템 프롬프트, CLAUDE.md, Skill과 도구 설명에 복제하면 시간이 지나면서 문구가 달라질 수 있다. 지침의 종류별로 하나의 권위 있는 저장 위치를 정해야 한다.\n\n| 정보 | 권장 위치 |\n|---|---|\n| 조직 전체의 안전 정책 | 시스템 지침 또는 권한 계층 |\n| 저장소의 빌드·테스트 명령 | 프로젝트 CLAUDE.md |\n| 특정 작업 절차 | 해당 Skill |\n| 도구 입력과 제약 | 도구 스키마와 설명 |\n| 공개 API 동작 | 코드 스키마, 명세와 계약 테스트 |\n| 현재 세션의 진행 상황 | 작업 목록 또는 세션 상태 |\n\n중복이 불가피하다면 내용을 복사하지 말고 권위 있는 위치를 가리키거나 자동 생성하는 편이 안전하다.\n\n### 5. CLAUDE.md와 자동 메모리의 역할을 분리한다\n\nCLAUDE.md는 프로젝트 구성원이 검토하고 버전 관리할 수 있는 지속적인 지침에 적합하다.\n\n- 표준 빌드와 테스트 명령\n- 저장소 구조의 핵심 설명\n- 팀이 합의한 변경 금지 영역\n- 프로젝트 고유의 검증 절차\n- 일반적인 도구로 추론하기 어려운 규칙\n\n반면 다음 정보는 자동 메모리나 세션 상태에 더 적합하다.\n\n- 반복 작업에서 발견한 개인화된 선호\n- 최근 작업에서 유용했던 탐색 경로\n- 일시적인 개발 환경 특성\n- 현재 세션의 진행 상황\n\n자동 메모리는 항상 정확하거나 영구적이라고 가정해서는 안 된다. 오래된 항목을 수정하거나 제거할 수 있어야 하며, 보안 정책과 공개 계약의 유일한 저장소로 사용하면 안 된다.\n\n### 6. 설명 문서보다 실행 가능한 참조 자료를 우선한다\n\n자연어 명세는 의도를 설명하는 데 유용하지만 실제 동작을 완전히 표현하지 못할 수 있다. 가능하면 다음 자료를 함께 제공한다.\n\n- 현재 코드와 유사한 기존 구현\n- 단위 테스트와 통합 테스트\n- API 스키마와 타입 정의\n- 실제 HTML 또는 디자인 산출물\n- 데이터베이스 마이그레이션 파일\n- 입력·출력 예제 데이터\n- 평가표와 자동 채점 기준\n\n참조 자료 사이에도 충돌이 생길 수 있으므로 우선순위를 명시해야 한다. 예를 들어 계약 테스트가 공개 API의 권위 있는 기준이고, README는 설명 자료라고 정할 수 있다.\n\n## 실무용 컨텍스트 구성 템플릿\n\n다음 구조는 코딩 작업에 필요한 정보를 간결하게 정리하는 예시다.\n\n```text\n목표\n- 결제 취소 API를 추가한다.\n\n성공 기준\n- 기존 결제 서비스 계층을 재사용한다.\n- 중복 요청에도 한 번만 취소된다.\n- 관련 계약 테스트가 통과한다.\n\n강한 제약\n- 공개 응답 스키마를 변경하지 않는다.\n- 운영 데이터에 접근하지 않는다.\n\n참조 자료\n- src/payments/capture.ts\n- tests/contracts/payment-cancel.test.ts\n- openapi/payments.yaml\n\n판단 원칙\n- 주변 결제 코드의 오류 처리와 이름 규칙을 따른다.\n- 안전하지 않은 가정이 있으면 구현 전에 질문한다.\n\n검증\n- 대상 단위 테스트\n- 계약 테스트\n- 타입 검사\n```\n\n이 형식은 모든 상황을 미리 나열하지 않는다. 대신 목표, 성공 조건, 변하지 않는 경계, 권위 있는 자료와 검증 방법을 분리한다.\n\n## 기존 컨텍스트를 정리하는 절차\n\n### 1단계: 모든 지침의 출처를 목록화한다\n\n시스템 프롬프트, CLAUDE.md, Skills, 자동 메모리, 도구 설명과 CI 설정을 함께 확인한다. 한 문서만 살펴보면 실제 충돌을 발견하기 어렵다.\n\n### 2단계: 각 지침에 분류표를 붙인다\n\n- 안전 또는 법률상 필수\n- 제품 계약상 필수\n- 팀의 지속적인 관례\n- 특정 도구에만 필요한 설명\n- 과거 모델의 실수를 막기 위한 임시 규칙\n- 현재는 근거가 불분명한 규칙\n\n### 3단계: 중복과 충돌을 찾는다\n\n동일한 행동을 다르게 표현한 문장을 묶는다. 특히 `항상`, `절대`, `반드시`, `하지 마라` 같은 표현을 우선 검토한다.\n\n### 4단계: 규칙을 테스트나 권한으로 옮긴다\n\n자연어 경고보다 자동 검증이 확실한 항목은 다음 계층으로 이동한다.\n\n- 테스트와 린터\n- 타입 시스템과 스키마\n- 최소 권한 도구\n- 승인 절차\n- 샌드박스\n- CI 정책\n\n### 5단계: 실제 작업으로 평가한다\n\n프롬프트 길이만 측정해서는 안 된다. 대표 작업 집합에서 다음 지표를 비교해야 한다.\n\n- 성공률과 테스트 통과율\n- 불필요한 파일 변경 수\n- 사용자 수정 횟수\n- 도구 호출 실패율\n- 완료까지 걸린 시간과 토큰\n- 안전 정책 위반 여부\n\n### 6단계: 실패 원인만 최소한으로 보완한다\n\n실패가 발생했다고 곧바로 새 금지 규칙을 추가하지 않는다. 원인이 모호한 목표인지, 부족한 참조 자료인지, 잘못된 도구 스키마인지 먼저 구분한다.\n\n## 삭제하면 안 되는 지침\n\n간결화는 무조건적인 삭제가 아니다. 다음 질문 중 하나라도 `예`라면 지침을 유지하거나 더 강한 통제로 옮겨야 한다.\n\n- 위반 시 데이터 손실이나 금전 피해가 발생하는가?\n- 법률, 개인정보 또는 라이선스 의무와 관련되는가?\n- 모델이 코드만 보고는 알 수 없는 조직 정책인가?\n- 공개 API나 데이터 형식의 호환성을 결정하는가?\n- 작업 실행 전에 사람의 승인이 필요한가?\n- 자동 테스트만으로 위반을 완전히 탐지하기 어려운가?\n\n## 흔한 실패 패턴\n\n### 모든 실패 뒤에 새 규칙 추가\n\n한 번의 오류를 일반화해 영구 규칙으로 만들면 예외와 충돌이 누적된다. 먼저 평가 사례를 추가하고 반복되는 실패인지 확인해야 한다.\n\n### 긴 예시를 사실상 템플릿으로 사용\n\n예시가 너무 구체적이면 모델이 현재 코드베이스보다 예시를 우선할 수 있다. 예시는 원칙을 설명하는 최소 크기로 제한한다.\n\n### 전체 로그를 그대로 보존\n\n도구 출력과 빌드 로그는 빠르게 컨텍스트를 차지한다. 실패 원인, 관련 스택과 변경된 상태만 구조적으로 남기는 것이 좋다.\n\n### 자동 메모리를 정책 저장소로 사용\n\n자동 메모리는 편리하지만 검토·배포·감사 체계가 약할 수 있다. 조직의 강제 정책은 버전 관리되는 지침이나 권한 계층에 보관해야 한다.\n\n### 컨텍스트 축소를 단순 토큰 절감으로 평가\n\n짧은 컨텍스트가 항상 좋은 것은 아니다. 필요한 테스트, 안전 규칙 또는 명세를 제거하면 결과가 악화된다. 목표는 최소 토큰이 아니라 최소한의 고신호 토큰이다.\n\n## 최종 점검표\n\n- 현재 요청의 목표와 성공 기준이 분리되어 있는가?\n- 안전 규칙과 스타일 선호가 구분되어 있는가?\n- 같은 지침이 여러 위치에 복제되어 있지 않은가?\n- 도구 스키마가 긴 예시 없이도 사용법을 설명하는가?\n- 관련 파일을 필요할 때 검색할 수 있는가?\n- 오래된 메모리와 실행 로그를 제거할 방법이 있는가?\n- 자연어 규칙을 테스트나 권한으로 강제할 수 있는가?\n- 참조 자료 사이의 우선순위가 명확한가?\n- 지침 변경 전후를 비교할 평가 작업이 있는가?\n\n## 결론\n\n고성능 Claude 모델을 위한 컨텍스트 엔지니어링은 지침을 무조건 줄이는 기술이 아니다. 모델이 현재 작업을 판단하는 데 필요한 목적, 안전 경계와 근거를 선명하게 만들고, 관련 없는 정보와 충돌하는 규칙을 제거하는 정보 설계다.\n\n가장 실용적인 원칙은 다음과 같이 요약할 수 있다.\n\n\u003e 보안과 계약은 강하게 강제하고, 스타일은 맥락에 맡기며, 정보는 필요한 시점에 제공하고, 결과는 실행 가능한 테스트로 검증한다.","content_html":"\u003cp\u003e판단 능력이 향상된 Claude 모델을 효과적으로 사용하려면 프롬프트 한 문장을 다듬는 것만으로는 부족하다. 모델이 한 번의 추론에서 보게 될 시스템 지침, 프로젝트 파일, 도구, 메모리, 대화 기록과 실행 결과를 하나의 정보 환경으로 설계해야 한다.\u003c/p\u003e\n\u003cp\u003e핵심 원칙은 단순하다.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e모든 행동을 미리 규정하기보다 명확한 목적, 안전 경계, 표현력 있는 인터페이스와 신뢰할 수 있는 참조 자료를 제공하고 세부 판단은 모델에 맡긴다.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e이 글에서 \u003ccode\u003eClaude 5\u003c/code\u003e는 제공된 자료가 지칭하는 차세대 고성능 Claude 모델 환경을 뜻한다. 구체적인 제품 사양이나 출시 상태가 아니라, 판단 능력이 향상된 모델에 적용할 수 있는 컨텍스트 설계 원칙에 초점을 맞춘다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EA%B3%BC-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81\" class=\"anchor\" id=\"프롬프트-엔지니어링과-컨텍스트-엔지니어링\"\u003e\u003c/a\u003e프롬프트 엔지니어링과 컨텍스트 엔지니어링\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81\" class=\"anchor\" id=\"프롬프트-엔지니어링\"\u003e\u003c/a\u003e프롬프트 엔지니어링\u003c/h3\u003e\n\u003cp\u003e프롬프트 엔지니어링은 현재 요청을 어떻게 표현할지 설계하는 작업이다. 일반적으로 다음 항목을 다룬다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e작업 목표\u003c/li\u003e\n\u003cli\u003e수행 범위\u003c/li\u003e\n\u003cli\u003e제약 조건\u003c/li\u003e\n\u003cli\u003e출력 형식\u003c/li\u003e\n\u003cli\u003e성공 기준\u003c/li\u003e\n\u003cli\u003e필요한 예시\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e예를 들면 다음과 같다.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eNext.js API Route에 결제 취소 기능을 구현한다.\n\u003c/span\u003e\u003cspan\u003e기존 서비스 계층을 재사용하고 테스트를 추가한다.\n\u003c/span\u003e\u003cspan\u003e공개 API 계약은 변경하지 말고 변경 이유를 설명한다.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81\" class=\"anchor\" id=\"컨텍스트-엔지니어링\"\u003e\u003c/a\u003e컨텍스트 엔지니어링\u003c/h3\u003e\n\u003cp\u003e컨텍스트 엔지니어링은 모델의 추론에 들어가는 전체 정보 집합을 선별하고 유지하는 작업이다. Claude Code와 같은 코딩 에이전트에서는 대략 다음 요소가 컨텍스트를 구성한다.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e사용자의 현재 요청\n\u003c/span\u003e\u003cspan\u003e+ 시스템 지침\n\u003c/span\u003e\u003cspan\u003e+ CLAUDE.md와 프로젝트 지침\n\u003c/span\u003e\u003cspan\u003e+ Skills\n\u003c/span\u003e\u003cspan\u003e+ 자동 메모리\n\u003c/span\u003e\u003cspan\u003e+ 코드·명세·테스트·문서\n\u003c/span\u003e\u003cspan\u003e+ 도구 정의와 MCP 리소스\n\u003c/span\u003e\u003cspan\u003e+ 대화 기록\n\u003c/span\u003e\u003cspan\u003e+ 도구 실행 결과와 오류 로그\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e따라서 좋은 프롬프트도 오래된 메모리, 중복된 프로젝트 규칙 또는 방대한 로그와 함께 제공되면 효과가 약해질 수 있다. 반대로 짧은 요청도 관련 코드와 테스트, 명확한 도구가 함께 주어지면 충분히 정확하게 실행될 수 있다.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e구분\u003c/th\u003e\n\u003cth\u003e프롬프트 엔지니어링\u003c/th\u003e\n\u003cth\u003e컨텍스트 엔지니어링\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"구분\"\u003e설계 대상\u003c/td\u003e\n\u003ctd data-label=\"프롬프트 엔지니어링\"\u003e현재 요청의 표현\u003c/td\u003e\n\u003ctd data-label=\"컨텍스트 엔지니어링\"\u003e추론에 들어가는 전체 정보 환경\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"구분\"\u003e주요 질문\u003c/td\u003e\n\u003ctd data-label=\"프롬프트 엔지니어링\"\u003e무엇을 어떻게 요청할 것인가\u003c/td\u003e\n\u003ctd data-label=\"컨텍스트 엔지니어링\"\u003e모델이 무엇을 언제 보게 할 것인가\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"구분\"\u003e대표 요소\u003c/td\u003e\n\u003ctd data-label=\"프롬프트 엔지니어링\"\u003e목표, 형식, 제약, 예시\u003c/td\u003e\n\u003ctd data-label=\"컨텍스트 엔지니어링\"\u003e시스템 지침, 파일, 도구, 메모리, 기록\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"구분\"\u003e주요 실패\u003c/td\u003e\n\u003ctd data-label=\"프롬프트 엔지니어링\"\u003e모호한 요청, 불명확한 성공 기준\u003c/td\u003e\n\u003ctd data-label=\"컨텍스트 엔지니어링\"\u003e충돌, 중복, 오래된 정보, 과도한 로그\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"구분\"\u003e개선 방법\u003c/td\u003e\n\u003ctd data-label=\"프롬프트 엔지니어링\"\u003e요청을 구체화하고 검증 기준 제시\u003c/td\u003e\n\u003ctd data-label=\"컨텍스트 엔지니어링\"\u003e고신호 정보 선별, 적시 검색, 수명주기 관리\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8%EA%B0%80-%EB%A7%8E%EC%9D%84%EC%88%98%EB%A1%9D-%ED%95%AD%EC%83%81-%EC%A2%8B%EC%A7%80-%EC%95%8A%EC%9D%80-%EC%9D%B4%EC%9C%A0\" class=\"anchor\" id=\"컨텍스트가-많을수록-항상-좋지-않은-이유\"\u003e\u003c/a\u003e컨텍스트가 많을수록 항상 좋지 않은 이유\u003c/h2\u003e\n\u003cp\u003eLLM의 컨텍스트 창이 커져도 작업에 사용할 수 있는 주의력은 무제한이 아니다. 관련성이 낮은 토큰이 늘어나면 다음 문제가 생길 수 있다.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e중요한 요구사항이 장황한 설명 속에 묻힌다.\u003c/li\u003e\n\u003cli\u003e서로 다른 위치의 유사한 지침이 미묘하게 충돌한다.\u003c/li\u003e\n\u003cli\u003e오래된 결정이나 실패한 시도가 현재 작업에 영향을 준다.\u003c/li\u003e\n\u003cli\u003e예시가 정답처럼 작용해 다른 해결 경로를 제한한다.\u003c/li\u003e\n\u003cli\u003e로그와 도구 출력이 코드, 명세, 테스트에 필요한 공간을 차지한다.\u003c/li\u003e\n\u003cli\u003e모델이 실제 작업보다 지침의 우선순위를 해석하는 데 추론을 소비한다.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eAnthropic는 긴 컨텍스트에서 정보의 활용 효율이 저하되는 현상을 설명하며, 에이전트가 필요한 정보를 적시에 검색하고 오래된 기록을 압축하도록 설계할 것을 권한다. 중요한 것은 최대 토큰 수를 채우는 것이 아니라 결과에 영향을 주는 고신호 토큰의 비율을 높이는 것이다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%8B%9C%EC%8A%A4%ED%85%9C-%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8-%EC%B6%95%EC%86%8C-%EC%82%AC%EB%A1%80%EA%B0%80-%EC%9D%98%EB%AF%B8%ED%95%98%EB%8A%94-%EA%B2%83\" class=\"anchor\" id=\"시스템-프롬프트-축소-사례가-의미하는-것\"\u003e\u003c/a\u003e시스템 프롬프트 축소 사례가 의미하는 것\u003c/h2\u003e\n\u003cp\u003e제공된 Anthropic 사례에서는 Claude Code의 내부 지침을 검토한 뒤 시스템 프롬프트를 80% 이상 축소했다고 설명한다. 이 수치는 모든 애플리케이션의 프롬프트를 같은 비율로 줄여야 한다는 규칙이 아니다. 특정 시스템에서 중복되고 지나치게 세부적인 행동 지침을 정리한 사례로 이해해야 한다.\u003c/p\u003e\n\u003cp\u003e예를 들어 다음 지침이 한 요청에 동시에 들어갈 수 있다.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e시스템 지침: 상황에 맞는 문서를 남긴다.\n\u003c/span\u003e\u003cspan\u003eSkill 지침: 주석을 추가하지 않는다.\n\u003c/span\u003e\u003cspan\u003e사용자 요청: 기존 버전처럼 작동하게 만든다.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e각 문장은 개별적으로는 타당할 수 있지만 함께 놓이면 여러 해석 문제가 발생한다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e문서와 코드 주석은 같은 범주인가?\u003c/li\u003e\n\u003cli\u003e주석 금지는 예외 없는 규칙인가?\u003c/li\u003e\n\u003cli\u003e기존 버전의 동작에는 주석이나 문서 구조도 포함되는가?\u003c/li\u003e\n\u003cli\u003e현재 요청과 재사용 가능한 Skill 중 어느 쪽이 우선하는가?\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e이 경우 실패 원인은 모델의 코딩 능력만이 아니다. 사람이 구성한 정보 환경이 불필요한 모순을 포함하고 있다는 점도 원인이다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%97%AC%EC%84%AF-%EA%B0%80%EC%A7%80-%EC%83%88%EB%A1%9C%EC%9A%B4-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8-%EC%84%A4%EA%B3%84-%EA%B7%9C%EC%B9%99\" class=\"anchor\" id=\"여섯-가지-새로운-컨텍스트-설계-규칙\"\u003e\u003c/a\u003e여섯 가지 새로운 컨텍스트 설계 규칙\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e과거 방식\u003c/th\u003e\n\u003cth\u003e권장 방식\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"과거 방식\"\u003e세부 행동을 금지 목록으로 규정\u003c/td\u003e\n\u003ctd data-label=\"권장 방식\"\u003e목표와 판단 기준을 제시하고 맥락을 활용\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"과거 방식\"\u003e도구 호출 예시를 다수 제공\u003c/td\u003e\n\u003ctd data-label=\"권장 방식\"\u003e스키마 자체가 사용법을 설명하게 설계\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"과거 방식\"\u003e모든 정보를 작업 시작 시 주입\u003c/td\u003e\n\u003ctd data-label=\"권장 방식\"\u003e필요한 시점에 점진적으로 공개\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"과거 방식\"\u003e같은 지침을 여러 위치에 반복\u003c/td\u003e\n\u003ctd data-label=\"권장 방식\"\u003e지침마다 하나의 권위 있는 저장 위치 지정\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"과거 방식\"\u003eCLAUDE.md에 임시 기억까지 저장\u003c/td\u003e\n\u003ctd data-label=\"권장 방식\"\u003e영구 정책과 자동 메모리의 역할 분리\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"과거 방식\"\u003e긴 Markdown 설명에 의존\u003c/td\u003e\n\u003ctd data-label=\"권장 방식\"\u003e코드, 테스트, HTML, 평가표 등 실행 가능한 자료 제공\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch3\u003e\n\u003ca href=\"#1-%EC%84%B8%EB%B6%80-%EA%B8%88%EC%A7%80-%EB%AA%A9%EB%A1%9D%EC%9D%84-%EB%A7%A5%EB%9D%BD-%EA%B8%B0%EB%B0%98-%EC%9B%90%EC%B9%99%EC%9C%BC%EB%A1%9C-%EB%B0%94%EA%BE%BC%EB%8B%A4\" class=\"anchor\" id=\"1-세부-금지-목록을-맥락-기반-원칙으로-바꾼다\"\u003e\u003c/a\u003e1. 세부 금지 목록을 맥락 기반 원칙으로 바꾼다\u003c/h3\u003e\n\u003cp\u003e과거 모델의 반복적인 실수를 막기 위해 다음과 같은 규칙을 길게 나열하는 경우가 있었다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e주석을 작성하지 않는다.\u003c/li\u003e\n\u003cli\u003e여러 문단의 docstring을 만들지 않는다.\u003c/li\u003e\n\u003cli\u003e요청하지 않은 계획 문서를 생성하지 않는다.\u003c/li\u003e\n\u003cli\u003e중간 분석 파일을 저장하지 않는다.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e이런 규칙은 특정 실패를 방지하지만 모든 상황에 적용되는 절대 원칙은 아니다. 복잡한 보안 검증이나 동시성 코드에는 설명이 필요할 수 있고, 자명한 CRUD 코드에는 주석이 오히려 소음을 만들 수 있다.\u003c/p\u003e\n\u003cp\u003e다음처럼 판단 기준을 제시하는 편이 낫다.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e주변 코드와 같은 방식으로 읽히는 코드를 작성한다.\n\u003c/span\u003e\u003cspan\u003e기존 파일의 이름 규칙, 관용 표현과 주석 밀도를 따른다.\n\u003c/span\u003e\u003cspan\u003e설명 없이는 안전성이나 의도가 불분명한 로직에만 필요한 문서를 추가한다.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e다만 모든 규칙을 약하게 바꾸어서는 안 된다. 다음 항목은 명시적인 제약이나 도구 수준의 통제로 유지해야 한다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e운영 환경 배포와 데이터 삭제 승인\u003c/li\u003e\n\u003cli\u003e개인정보와 기밀정보 처리 제한\u003c/li\u003e\n\u003cli\u003e인증·인가 검증\u003c/li\u003e\n\u003cli\u003e금전 거래의 멱등성과 감사 기록\u003c/li\u003e\n\u003cli\u003e데이터베이스 마이그레이션 정책\u003c/li\u003e\n\u003cli\u003e법률, 라이선스와 규제 준수\u003c/li\u003e\n\u003cli\u003e변경할 수 없는 공개 API 계약\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e규칙 종류\u003c/th\u003e\n\u003cth\u003e적절한 처리 방식\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"규칙 종류\"\u003e보안·법률·권한\u003c/td\u003e\n\u003ctd data-label=\"적절한 처리 방식\"\u003e명시적이고 강한 제약 유지\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"규칙 종류\"\u003e데이터 손실 가능 작업\u003c/td\u003e\n\u003ctd data-label=\"적절한 처리 방식\"\u003e승인 절차와 도구 권한으로 통제\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"규칙 종류\"\u003e공개 계약·호환성\u003c/td\u003e\n\u003ctd data-label=\"적절한 처리 방식\"\u003e테스트와 스키마로 검증\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"규칙 종류\"\u003e코드 스타일·주석\u003c/td\u003e\n\u003ctd data-label=\"적절한 처리 방식\"\u003e주변 코드에 따른 판단 원칙 사용\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"규칙 종류\"\u003e임시 작업 순서\u003c/td\u003e\n\u003ctd data-label=\"적절한 처리 방식\"\u003e현재 계획이나 작업 목록에서 관리\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch3\u003e\n\u003ca href=\"#2-%EB%A7%8E%EC%9D%80-%EC%98%88%EC%8B%9C%EB%B3%B4%EB%8B%A4-%ED%91%9C%ED%98%84%EB%A0%A5-%EC%9E%88%EB%8A%94-%EB%8F%84%EA%B5%AC%EB%A5%BC-%EC%84%A4%EA%B3%84%ED%95%9C%EB%8B%A4\" class=\"anchor\" id=\"2-많은-예시보다-표현력-있는-도구를-설계한다\"\u003e\u003c/a\u003e2. 많은 예시보다 표현력 있는 도구를 설계한다\u003c/h3\u003e\n\u003cp\u003e도구 설명에 정상·비정상 호출 사례를 계속 추가하면 컨텍스트가 커지고 모델이 예시의 표면 형태를 모방할 수 있다. 더 나은 방법은 도구 이름, 입력 필드와 상태 전이가 사용법을 드러내도록 만드는 것이다.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eTodoWrite\n\u003c/span\u003e\u003cspan\u003e목적: 현재 세션의 작업 목록 생성 및 갱신\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003estatus:\n\u003c/span\u003e\u003cspan\u003e- pending\n\u003c/span\u003e\u003cspan\u003e- in_progress\n\u003c/span\u003e\u003cspan\u003e- completed\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e제약:\n\u003c/span\u003e\u003cspan\u003e- 동시에 하나의 작업만 in_progress일 수 있음\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e좋은 에이전트 도구는 다음 특성을 갖는다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e이름만으로 행동과 대상이 드러난다.\u003c/li\u003e\n\u003cli\u003e필수 필드와 선택 필드가 구분된다.\u003c/li\u003e\n\u003cli\u003e열거형으로 허용 값을 제한한다.\u003c/li\u003e\n\u003cli\u003e읽기와 쓰기, 미리보기와 실행을 분리한다.\u003c/li\u003e\n\u003cli\u003e오류가 원인과 복구 방법을 구조적으로 반환한다.\u003c/li\u003e\n\u003cli\u003e위험한 작업은 확인 토큰이나 승인 단계를 요구한다.\u003c/li\u003e\n\u003cli\u003e결과가 지나치게 길면 요약과 페이지 탐색 기능을 제공한다.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e예시는 인터페이스로 표현하기 어려운 예외나 모호한 입력을 설명할 때만 추가하는 것이 좋다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#3-%EB%AA%A8%EB%93%A0-%EC%A0%95%EB%B3%B4%EB%A5%BC-%EC%B2%98%EC%9D%8C%EB%B6%80%ED%84%B0-%EB%84%A3%EC%A7%80-%EB%A7%90%EA%B3%A0-%EC%A0%90%EC%A7%84%EC%A0%81%EC%9C%BC%EB%A1%9C-%EA%B3%B5%EA%B0%9C%ED%95%9C%EB%8B%A4\" class=\"anchor\" id=\"3-모든-정보를-처음부터-넣지-말고-점진적으로-공개한다\"\u003e\u003c/a\u003e3. 모든 정보를 처음부터 넣지 말고 점진적으로 공개한다\u003c/h3\u003e\n\u003cp\u003e에이전트가 작업에 필요할 가능성이 있다는 이유만으로 저장소 전체, 모든 정책과 긴 로그를 처음부터 주입해서는 안 된다. 먼저 탐색에 필요한 최소 정보를 주고, 작업이 구체화될 때 관련 자료를 읽게 한다.\u003c/p\u003e\n\u003cp\u003e권장 흐름은 다음과 같다.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e목표, 성공 기준과 안전 경계를 제공한다.\u003c/li\u003e\n\u003cli\u003e저장소 구조나 검색 도구를 통해 관련 위치를 찾는다.\u003c/li\u003e\n\u003cli\u003e필요한 파일과 명세만 읽는다.\u003c/li\u003e\n\u003cli\u003e구현 후 관련 테스트와 정적 분석을 실행한다.\u003c/li\u003e\n\u003cli\u003e실패한 경우 해당 오류와 주변 코드만 추가로 가져온다.\u003c/li\u003e\n\u003cli\u003e완료 후 오래된 로그와 중간 추론을 압축하거나 제거한다.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e점진적 공개는 정보를 숨기는 것이 아니다. 필요한 정보를 모델이 발견할 수 있도록 검색 경로와 명확한 파일 구조를 제공하는 방식이다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#4-%EC%A4%91%EB%B3%B5-%EC%A7%80%EC%B9%A8%EC%9D%84-%EC%A0%9C%EA%B1%B0%ED%95%98%EA%B3%A0-%EA%B6%8C%EC%9C%84-%EC%9E%88%EB%8A%94-%EC%9C%84%EC%B9%98%EB%A5%BC-%EC%A0%95%ED%95%9C%EB%8B%A4\" class=\"anchor\" id=\"4-중복-지침을-제거하고-권위-있는-위치를-정한다\"\u003e\u003c/a\u003e4. 중복 지침을 제거하고 권위 있는 위치를 정한다\u003c/h3\u003e\n\u003cp\u003e같은 규칙을 시스템 프롬프트, CLAUDE.md, Skill과 도구 설명에 복제하면 시간이 지나면서 문구가 달라질 수 있다. 지침의 종류별로 하나의 권위 있는 저장 위치를 정해야 한다.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e정보\u003c/th\u003e\n\u003cth\u003e권장 위치\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"정보\"\u003e조직 전체의 안전 정책\u003c/td\u003e\n\u003ctd data-label=\"권장 위치\"\u003e시스템 지침 또는 권한 계층\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"정보\"\u003e저장소의 빌드·테스트 명령\u003c/td\u003e\n\u003ctd data-label=\"권장 위치\"\u003e프로젝트 CLAUDE.md\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"정보\"\u003e특정 작업 절차\u003c/td\u003e\n\u003ctd data-label=\"권장 위치\"\u003e해당 Skill\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"정보\"\u003e도구 입력과 제약\u003c/td\u003e\n\u003ctd data-label=\"권장 위치\"\u003e도구 스키마와 설명\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"정보\"\u003e공개 API 동작\u003c/td\u003e\n\u003ctd data-label=\"권장 위치\"\u003e코드 스키마, 명세와 계약 테스트\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"정보\"\u003e현재 세션의 진행 상황\u003c/td\u003e\n\u003ctd data-label=\"권장 위치\"\u003e작업 목록 또는 세션 상태\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003e중복이 불가피하다면 내용을 복사하지 말고 권위 있는 위치를 가리키거나 자동 생성하는 편이 안전하다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#5-claudemd%EC%99%80-%EC%9E%90%EB%8F%99-%EB%A9%94%EB%AA%A8%EB%A6%AC%EC%9D%98-%EC%97%AD%ED%95%A0%EC%9D%84-%EB%B6%84%EB%A6%AC%ED%95%9C%EB%8B%A4\" class=\"anchor\" id=\"5-claudemd와-자동-메모리의-역할을-분리한다\"\u003e\u003c/a\u003e5. CLAUDE.md와 자동 메모리의 역할을 분리한다\u003c/h3\u003e\n\u003cp\u003eCLAUDE.md는 프로젝트 구성원이 검토하고 버전 관리할 수 있는 지속적인 지침에 적합하다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e표준 빌드와 테스트 명령\u003c/li\u003e\n\u003cli\u003e저장소 구조의 핵심 설명\u003c/li\u003e\n\u003cli\u003e팀이 합의한 변경 금지 영역\u003c/li\u003e\n\u003cli\u003e프로젝트 고유의 검증 절차\u003c/li\u003e\n\u003cli\u003e일반적인 도구로 추론하기 어려운 규칙\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e반면 다음 정보는 자동 메모리나 세션 상태에 더 적합하다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e반복 작업에서 발견한 개인화된 선호\u003c/li\u003e\n\u003cli\u003e최근 작업에서 유용했던 탐색 경로\u003c/li\u003e\n\u003cli\u003e일시적인 개발 환경 특성\u003c/li\u003e\n\u003cli\u003e현재 세션의 진행 상황\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e자동 메모리는 항상 정확하거나 영구적이라고 가정해서는 안 된다. 오래된 항목을 수정하거나 제거할 수 있어야 하며, 보안 정책과 공개 계약의 유일한 저장소로 사용하면 안 된다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#6-%EC%84%A4%EB%AA%85-%EB%AC%B8%EC%84%9C%EB%B3%B4%EB%8B%A4-%EC%8B%A4%ED%96%89-%EA%B0%80%EB%8A%A5%ED%95%9C-%EC%B0%B8%EC%A1%B0-%EC%9E%90%EB%A3%8C%EB%A5%BC-%EC%9A%B0%EC%84%A0%ED%95%9C%EB%8B%A4\" class=\"anchor\" id=\"6-설명-문서보다-실행-가능한-참조-자료를-우선한다\"\u003e\u003c/a\u003e6. 설명 문서보다 실행 가능한 참조 자료를 우선한다\u003c/h3\u003e\n\u003cp\u003e자연어 명세는 의도를 설명하는 데 유용하지만 실제 동작을 완전히 표현하지 못할 수 있다. 가능하면 다음 자료를 함께 제공한다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e현재 코드와 유사한 기존 구현\u003c/li\u003e\n\u003cli\u003e단위 테스트와 통합 테스트\u003c/li\u003e\n\u003cli\u003eAPI 스키마와 타입 정의\u003c/li\u003e\n\u003cli\u003e실제 HTML 또는 디자인 산출물\u003c/li\u003e\n\u003cli\u003e데이터베이스 마이그레이션 파일\u003c/li\u003e\n\u003cli\u003e입력·출력 예제 데이터\u003c/li\u003e\n\u003cli\u003e평가표와 자동 채점 기준\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e참조 자료 사이에도 충돌이 생길 수 있으므로 우선순위를 명시해야 한다. 예를 들어 계약 테스트가 공개 API의 권위 있는 기준이고, README는 설명 자료라고 정할 수 있다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%8B%A4%EB%AC%B4%EC%9A%A9-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8-%EA%B5%AC%EC%84%B1-%ED%85%9C%ED%94%8C%EB%A6%BF\" class=\"anchor\" id=\"실무용-컨텍스트-구성-템플릿\"\u003e\u003c/a\u003e실무용 컨텍스트 구성 템플릿\u003c/h2\u003e\n\u003cp\u003e다음 구조는 코딩 작업에 필요한 정보를 간결하게 정리하는 예시다.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e목표\n\u003c/span\u003e\u003cspan\u003e- 결제 취소 API를 추가한다.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e성공 기준\n\u003c/span\u003e\u003cspan\u003e- 기존 결제 서비스 계층을 재사용한다.\n\u003c/span\u003e\u003cspan\u003e- 중복 요청에도 한 번만 취소된다.\n\u003c/span\u003e\u003cspan\u003e- 관련 계약 테스트가 통과한다.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e강한 제약\n\u003c/span\u003e\u003cspan\u003e- 공개 응답 스키마를 변경하지 않는다.\n\u003c/span\u003e\u003cspan\u003e- 운영 데이터에 접근하지 않는다.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e참조 자료\n\u003c/span\u003e\u003cspan\u003e- src/payments/capture.ts\n\u003c/span\u003e\u003cspan\u003e- tests/contracts/payment-cancel.test.ts\n\u003c/span\u003e\u003cspan\u003e- openapi/payments.yaml\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e판단 원칙\n\u003c/span\u003e\u003cspan\u003e- 주변 결제 코드의 오류 처리와 이름 규칙을 따른다.\n\u003c/span\u003e\u003cspan\u003e- 안전하지 않은 가정이 있으면 구현 전에 질문한다.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e검증\n\u003c/span\u003e\u003cspan\u003e- 대상 단위 테스트\n\u003c/span\u003e\u003cspan\u003e- 계약 테스트\n\u003c/span\u003e\u003cspan\u003e- 타입 검사\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e이 형식은 모든 상황을 미리 나열하지 않는다. 대신 목표, 성공 조건, 변하지 않는 경계, 권위 있는 자료와 검증 방법을 분리한다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EA%B8%B0%EC%A1%B4-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8%EB%A5%BC-%EC%A0%95%EB%A6%AC%ED%95%98%EB%8A%94-%EC%A0%88%EC%B0%A8\" class=\"anchor\" id=\"기존-컨텍스트를-정리하는-절차\"\u003e\u003c/a\u003e기존 컨텍스트를 정리하는 절차\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#1%EB%8B%A8%EA%B3%84-%EB%AA%A8%EB%93%A0-%EC%A7%80%EC%B9%A8%EC%9D%98-%EC%B6%9C%EC%B2%98%EB%A5%BC-%EB%AA%A9%EB%A1%9D%ED%99%94%ED%95%9C%EB%8B%A4\" class=\"anchor\" id=\"1단계-모든-지침의-출처를-목록화한다\"\u003e\u003c/a\u003e1단계: 모든 지침의 출처를 목록화한다\u003c/h3\u003e\n\u003cp\u003e시스템 프롬프트, CLAUDE.md, Skills, 자동 메모리, 도구 설명과 CI 설정을 함께 확인한다. 한 문서만 살펴보면 실제 충돌을 발견하기 어렵다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#2%EB%8B%A8%EA%B3%84-%EA%B0%81-%EC%A7%80%EC%B9%A8%EC%97%90-%EB%B6%84%EB%A5%98%ED%91%9C%EB%A5%BC-%EB%B6%99%EC%9D%B8%EB%8B%A4\" class=\"anchor\" id=\"2단계-각-지침에-분류표를-붙인다\"\u003e\u003c/a\u003e2단계: 각 지침에 분류표를 붙인다\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e안전 또는 법률상 필수\u003c/li\u003e\n\u003cli\u003e제품 계약상 필수\u003c/li\u003e\n\u003cli\u003e팀의 지속적인 관례\u003c/li\u003e\n\u003cli\u003e특정 도구에만 필요한 설명\u003c/li\u003e\n\u003cli\u003e과거 모델의 실수를 막기 위한 임시 규칙\u003c/li\u003e\n\u003cli\u003e현재는 근거가 불분명한 규칙\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#3%EB%8B%A8%EA%B3%84-%EC%A4%91%EB%B3%B5%EA%B3%BC-%EC%B6%A9%EB%8F%8C%EC%9D%84-%EC%B0%BE%EB%8A%94%EB%8B%A4\" class=\"anchor\" id=\"3단계-중복과-충돌을-찾는다\"\u003e\u003c/a\u003e3단계: 중복과 충돌을 찾는다\u003c/h3\u003e\n\u003cp\u003e동일한 행동을 다르게 표현한 문장을 묶는다. 특히 \u003ccode\u003e항상\u003c/code\u003e, \u003ccode\u003e절대\u003c/code\u003e, \u003ccode\u003e반드시\u003c/code\u003e, \u003ccode\u003e하지 마라\u003c/code\u003e 같은 표현을 우선 검토한다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#4%EB%8B%A8%EA%B3%84-%EA%B7%9C%EC%B9%99%EC%9D%84-%ED%85%8C%EC%8A%A4%ED%8A%B8%EB%82%98-%EA%B6%8C%ED%95%9C%EC%9C%BC%EB%A1%9C-%EC%98%AE%EA%B8%B4%EB%8B%A4\" class=\"anchor\" id=\"4단계-규칙을-테스트나-권한으로-옮긴다\"\u003e\u003c/a\u003e4단계: 규칙을 테스트나 권한으로 옮긴다\u003c/h3\u003e\n\u003cp\u003e자연어 경고보다 자동 검증이 확실한 항목은 다음 계층으로 이동한다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e테스트와 린터\u003c/li\u003e\n\u003cli\u003e타입 시스템과 스키마\u003c/li\u003e\n\u003cli\u003e최소 권한 도구\u003c/li\u003e\n\u003cli\u003e승인 절차\u003c/li\u003e\n\u003cli\u003e샌드박스\u003c/li\u003e\n\u003cli\u003eCI 정책\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#5%EB%8B%A8%EA%B3%84-%EC%8B%A4%EC%A0%9C-%EC%9E%91%EC%97%85%EC%9C%BC%EB%A1%9C-%ED%8F%89%EA%B0%80%ED%95%9C%EB%8B%A4\" class=\"anchor\" id=\"5단계-실제-작업으로-평가한다\"\u003e\u003c/a\u003e5단계: 실제 작업으로 평가한다\u003c/h3\u003e\n\u003cp\u003e프롬프트 길이만 측정해서는 안 된다. 대표 작업 집합에서 다음 지표를 비교해야 한다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e성공률과 테스트 통과율\u003c/li\u003e\n\u003cli\u003e불필요한 파일 변경 수\u003c/li\u003e\n\u003cli\u003e사용자 수정 횟수\u003c/li\u003e\n\u003cli\u003e도구 호출 실패율\u003c/li\u003e\n\u003cli\u003e완료까지 걸린 시간과 토큰\u003c/li\u003e\n\u003cli\u003e안전 정책 위반 여부\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#6%EB%8B%A8%EA%B3%84-%EC%8B%A4%ED%8C%A8-%EC%9B%90%EC%9D%B8%EB%A7%8C-%EC%B5%9C%EC%86%8C%ED%95%9C%EC%9C%BC%EB%A1%9C-%EB%B3%B4%EC%99%84%ED%95%9C%EB%8B%A4\" class=\"anchor\" id=\"6단계-실패-원인만-최소한으로-보완한다\"\u003e\u003c/a\u003e6단계: 실패 원인만 최소한으로 보완한다\u003c/h3\u003e\n\u003cp\u003e실패가 발생했다고 곧바로 새 금지 규칙을 추가하지 않는다. 원인이 모호한 목표인지, 부족한 참조 자료인지, 잘못된 도구 스키마인지 먼저 구분한다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%82%AD%EC%A0%9C%ED%95%98%EB%A9%B4-%EC%95%88-%EB%90%98%EB%8A%94-%EC%A7%80%EC%B9%A8\" class=\"anchor\" id=\"삭제하면-안-되는-지침\"\u003e\u003c/a\u003e삭제하면 안 되는 지침\u003c/h2\u003e\n\u003cp\u003e간결화는 무조건적인 삭제가 아니다. 다음 질문 중 하나라도 \u003ccode\u003e예\u003c/code\u003e라면 지침을 유지하거나 더 강한 통제로 옮겨야 한다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e위반 시 데이터 손실이나 금전 피해가 발생하는가?\u003c/li\u003e\n\u003cli\u003e법률, 개인정보 또는 라이선스 의무와 관련되는가?\u003c/li\u003e\n\u003cli\u003e모델이 코드만 보고는 알 수 없는 조직 정책인가?\u003c/li\u003e\n\u003cli\u003e공개 API나 데이터 형식의 호환성을 결정하는가?\u003c/li\u003e\n\u003cli\u003e작업 실행 전에 사람의 승인이 필요한가?\u003c/li\u003e\n\u003cli\u003e자동 테스트만으로 위반을 완전히 탐지하기 어려운가?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\n\u003ca href=\"#%ED%9D%94%ED%95%9C-%EC%8B%A4%ED%8C%A8-%ED%8C%A8%ED%84%B4\" class=\"anchor\" id=\"흔한-실패-패턴\"\u003e\u003c/a\u003e흔한 실패 패턴\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EB%AA%A8%EB%93%A0-%EC%8B%A4%ED%8C%A8-%EB%92%A4%EC%97%90-%EC%83%88-%EA%B7%9C%EC%B9%99-%EC%B6%94%EA%B0%80\" class=\"anchor\" id=\"모든-실패-뒤에-새-규칙-추가\"\u003e\u003c/a\u003e모든 실패 뒤에 새 규칙 추가\u003c/h3\u003e\n\u003cp\u003e한 번의 오류를 일반화해 영구 규칙으로 만들면 예외와 충돌이 누적된다. 먼저 평가 사례를 추가하고 반복되는 실패인지 확인해야 한다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EA%B8%B4-%EC%98%88%EC%8B%9C%EB%A5%BC-%EC%82%AC%EC%8B%A4%EC%83%81-%ED%85%9C%ED%94%8C%EB%A6%BF%EC%9C%BC%EB%A1%9C-%EC%82%AC%EC%9A%A9\" class=\"anchor\" id=\"긴-예시를-사실상-템플릿으로-사용\"\u003e\u003c/a\u003e긴 예시를 사실상 템플릿으로 사용\u003c/h3\u003e\n\u003cp\u003e예시가 너무 구체적이면 모델이 현재 코드베이스보다 예시를 우선할 수 있다. 예시는 원칙을 설명하는 최소 크기로 제한한다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%A0%84%EC%B2%B4-%EB%A1%9C%EA%B7%B8%EB%A5%BC-%EA%B7%B8%EB%8C%80%EB%A1%9C-%EB%B3%B4%EC%A1%B4\" class=\"anchor\" id=\"전체-로그를-그대로-보존\"\u003e\u003c/a\u003e전체 로그를 그대로 보존\u003c/h3\u003e\n\u003cp\u003e도구 출력과 빌드 로그는 빠르게 컨텍스트를 차지한다. 실패 원인, 관련 스택과 변경된 상태만 구조적으로 남기는 것이 좋다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%9E%90%EB%8F%99-%EB%A9%94%EB%AA%A8%EB%A6%AC%EB%A5%BC-%EC%A0%95%EC%B1%85-%EC%A0%80%EC%9E%A5%EC%86%8C%EB%A1%9C-%EC%82%AC%EC%9A%A9\" class=\"anchor\" id=\"자동-메모리를-정책-저장소로-사용\"\u003e\u003c/a\u003e자동 메모리를 정책 저장소로 사용\u003c/h3\u003e\n\u003cp\u003e자동 메모리는 편리하지만 검토·배포·감사 체계가 약할 수 있다. 조직의 강제 정책은 버전 관리되는 지침이나 권한 계층에 보관해야 한다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8-%EC%B6%95%EC%86%8C%EB%A5%BC-%EB%8B%A8%EC%88%9C-%ED%86%A0%ED%81%B0-%EC%A0%88%EA%B0%90%EC%9C%BC%EB%A1%9C-%ED%8F%89%EA%B0%80\" class=\"anchor\" id=\"컨텍스트-축소를-단순-토큰-절감으로-평가\"\u003e\u003c/a\u003e컨텍스트 축소를 단순 토큰 절감으로 평가\u003c/h3\u003e\n\u003cp\u003e짧은 컨텍스트가 항상 좋은 것은 아니다. 필요한 테스트, 안전 규칙 또는 명세를 제거하면 결과가 악화된다. 목표는 최소 토큰이 아니라 최소한의 고신호 토큰이다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%B5%9C%EC%A2%85-%EC%A0%90%EA%B2%80%ED%91%9C\" class=\"anchor\" id=\"최종-점검표\"\u003e\u003c/a\u003e최종 점검표\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e현재 요청의 목표와 성공 기준이 분리되어 있는가?\u003c/li\u003e\n\u003cli\u003e안전 규칙과 스타일 선호가 구분되어 있는가?\u003c/li\u003e\n\u003cli\u003e같은 지침이 여러 위치에 복제되어 있지 않은가?\u003c/li\u003e\n\u003cli\u003e도구 스키마가 긴 예시 없이도 사용법을 설명하는가?\u003c/li\u003e\n\u003cli\u003e관련 파일을 필요할 때 검색할 수 있는가?\u003c/li\u003e\n\u003cli\u003e오래된 메모리와 실행 로그를 제거할 방법이 있는가?\u003c/li\u003e\n\u003cli\u003e자연어 규칙을 테스트나 권한으로 강제할 수 있는가?\u003c/li\u003e\n\u003cli\u003e참조 자료 사이의 우선순위가 명확한가?\u003c/li\u003e\n\u003cli\u003e지침 변경 전후를 비교할 평가 작업이 있는가?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EA%B2%B0%EB%A1%A0\" class=\"anchor\" id=\"결론\"\u003e\u003c/a\u003e결론\u003c/h2\u003e\n\u003cp\u003e고성능 Claude 모델을 위한 컨텍스트 엔지니어링은 지침을 무조건 줄이는 기술이 아니다. 모델이 현재 작업을 판단하는 데 필요한 목적, 안전 경계와 근거를 선명하게 만들고, 관련 없는 정보와 충돌하는 규칙을 제거하는 정보 설계다.\u003c/p\u003e\n\u003cp\u003e가장 실용적인 원칙은 다음과 같이 요약할 수 있다.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e보안과 계약은 강하게 강제하고, 스타일은 맥락에 맡기며, 정보는 필요한 시점에 제공하고, 결과는 실행 가능한 테스트로 검증한다.\u003c/p\u003e\n\u003c/blockquote\u003e\n","tags":["프롬프트 엔지니어링","컨텍스트 엔지니어링","AI 에이전트","Claude Code","Claude"],"faqs":[{"question":"프롬프트 엔지니어링과 컨텍스트 엔지니어링은 어떻게 다른가요?","answer":"프롬프트 엔지니어링은 현재 요청의 목표, 형식과 제약을 표현하는 방법을 다룬다. 컨텍스트 엔지니어링은 그 프롬프트를 포함해 시스템 지침, 파일, 도구, 메모리, 대화 기록과 실행 결과 중 무엇을 모델에게 언제 보여줄지 설계한다."},{"question":"컨텍스트가 길면 모델의 성능도 항상 좋아지나요?","answer":"그렇지 않다. 긴 컨텍스트에는 관련 없는 정보, 오래된 기록과 충돌하는 지침이 섞일 수 있다. 중요한 것은 전체 토큰 수가 아니라 현재 작업에 직접 기여하는 고신호 정보의 비율이다."},{"question":"Claude 5용으로 기존 규칙을 모두 삭제해야 하나요?","answer":"아니다. 코드 스타일이나 주석처럼 상황에 따라 달라지는 미세 규칙은 판단 원칙으로 바꿀 수 있지만, 보안, 개인정보, 권한, 금전 거래, 데이터 삭제와 공개 API 계약에 관한 제약은 유지하거나 도구와 테스트로 더 강하게 통제해야 한다."},{"question":"CLAUDE.md에는 어떤 내용을 넣는 것이 적절한가요?","answer":"프로젝트의 빌드·테스트 명령, 저장소 구조, 변경 금지 영역과 팀이 합의한 검증 절차처럼 지속적이고 검토 가능한 지침이 적합하다. 일시적인 진행 상황이나 개인화된 발견을 모두 저장하면 문서가 빠르게 오래될 수 있다."},{"question":"자동 메모리가 CLAUDE.md를 대체할 수 있나요?","answer":"완전히 대체할 수 없다. 자동 메모리는 반복 작업에서 발견한 선호나 탐색 정보를 유지하는 데 유용하지만, 보안 정책과 공개 계약처럼 감사와 버전 관리가 필요한 지침은 CLAUDE.md나 별도의 정책 계층에 두어야 한다."},{"question":"좋은 에이전트 도구 인터페이스는 어떤 특징을 갖나요?","answer":"도구의 이름과 입력 스키마만으로 목적이 드러나고, 필수 값과 허용 상태가 명확해야 한다. 위험한 쓰기 작업은 미리보기나 승인을 요구하고, 오류는 원인과 복구 방법을 구조적으로 반환하는 것이 좋다."},{"question":"점진적 공개는 모델에게 정보를 숨긴다는 뜻인가요?","answer":"아니다. 처음에는 목표와 탐색 경로를 제공하고, 모델이 작업을 구체화하면서 필요한 파일, 명세와 로그를 검색하게 하는 방식이다. 정보 접근 가능성은 유지하면서 불필요한 선행 주입을 줄이는 것이 목적이다."},{"question":"컨텍스트를 줄인 뒤 효과를 어떻게 평가하나요?","answer":"대표 작업 집합에서 테스트 통과율, 사용자 수정 횟수, 불필요한 변경, 도구 오류, 토큰 사용량과 안전 정책 위반 여부를 변경 전후로 비교해야 한다. 프롬프트 길이 감소만으로 성공을 판단해서는 안 된다."},{"question":"도구 사용 예시는 전혀 제공하지 않아도 되나요?","answer":"예시가 항상 불필요한 것은 아니다. 스키마만으로 표현하기 어려운 경계 사례나 모호한 입력이 있을 때는 최소한의 예시가 유용하다. 다만 정상 호출을 반복해서 나열하기보다 인터페이스 자체를 명확하게 만드는 것이 우선이다."}],"sources":[{"url":"https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents","title":"Effective context engineering for AI agents","type":"source"},{"url":"https://www.anthropic.com/engineering/building-effective-agents","title":"Building effective agents","type":"source"},{"url":"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview","title":"Prompt engineering overview","type":"source"},{"url":"https://docs.anthropic.com/en/docs/claude-code/memory","title":"Claude Code memory documentation","type":"source"}],"images":[{"id":303,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzMzMywicHVyIjoiYmxvYl9pZCJ9fQ==--b6a9225f1d5837dd6ca93532a1e1a3388a1cc4fc/ai-e5c0c894.webp","is_representative":true,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"문서와 데이터 아이콘이 깔때기를 거쳐 중앙 AI 네트워크로 모이는 일러스트","caption":"다양한 컨텍스트가 선별·구조화되어 AI 모델에 연결되는 과정을 표현한다.","description":null},"en":{"alt":"Documents and data icons flowing through a funnel into a central AI network","caption":"The illustration shows varied context being filtered and structured for an AI model.","description":null},"ja":{"alt":"文書やデータのアイコンが漏斗を通って中央のAIネットワークに集まる図","caption":"多様なコンテキストを選別・構造化してAIモデルにつなぐ流れを表している。","description":null},"es":{"alt":"Iconos de documentos y datos pasan por un embudo hacia una red de IA central","caption":"La ilustración representa cómo se filtra y estructura el contexto para un modelo de IA.","description":null},"id":{"alt":"Ikon dokumen dan data mengalir melalui corong menuju jaringan AI pusat","caption":"Ilustrasi ini menunjukkan konteks yang disaring dan disusun untuk model AI.","description":null},"pt":{"alt":"Ícones de documentos e dados passam por um funil até uma rede central de IA","caption":"A ilustração mostra diferentes contextos sendo filtrados e estruturados para um modelo de IA.","description":null},"zh-hant":{"alt":"文件與資料圖示經漏斗匯入中央AI網路","caption":"插圖呈現多種脈絡經篩選與結構化後連接至AI模型的流程。","description":null}}},{"id":304,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzMzOSwicHVyIjoiYmxvYl9pZCJ9fQ==--c5e1421a425951ca760407e2d7b6c78654f545e5/ai-8b2296c2.webp","is_representative":false,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"로봇이 검색, 파일, 도구, 코드, 검증, 보고서 단계를 거쳐 목표로 향하는 AI 워크플로","caption":"보안 경계 안에서 컨텍스트와 도구를 단계별로 처리하는 AI 워크플로를 보여준다.","description":null},"en":{"alt":"AI workflow with a robot moving through search, files, tools, code, validation, and reporting toward a target","caption":"The diagram shows an AI processing context and tools step by step within a secure boundary.","description":null},"ja":{"alt":"ロボットが検索、ファイル、ツール、コード、検証、レポートを経て目標へ進むAIワークフロー","caption":"安全な境界内でコンテキストとツールを段階的に処理するAIワークフローを示している。","description":null},"es":{"alt":"Flujo de IA con un robot que pasa por búsqueda, archivos, herramientas, código, validación e informes","caption":"El diagrama muestra una IA que procesa contexto y herramientas por etapas dentro de un entorno seguro.","description":null},"id":{"alt":"Alur kerja AI dengan robot melalui pencarian, berkas, alat, kode, validasi, dan laporan menuju sasaran","caption":"Diagram ini menunjukkan AI yang memproses konteks dan alat secara bertahap dalam batas aman.","description":null},"pt":{"alt":"Fluxo de IA com robô passando por busca, arquivos, ferramentas, código, validação e relatório até o alvo","caption":"O diagrama mostra uma IA processando contexto e ferramentas em etapas dentro de um limite seguro.","description":null},"zh-hant":{"alt":"機器人依序經過搜尋、檔案、工具、程式碼、驗證與報告並朝目標前進的 AI 工作流程","caption":"圖中呈現 AI 在安全邊界內分階段處理情境資訊與工具的工作流程。","description":null}}},{"id":305,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzM0NSwicHVyIjoiYmxvYl9pZCJ9fQ==--34aa0904b3bb1d0910d78bb5dd6b4b35acb101f2/ai-7a8faea5.webp","is_representative":false,"generation_method":"ai_infographic","license":"ai_generated","mime_type":"image/webp","visible_locales":["ko"],"translations":{"ko":{"alt":"정보 선별 퍼널과 네 가지 규칙을 설명하는 Claude 5 컨텍스트 엔지니어링 인포그래픽","caption":"시스템 지시, 도구, 메모리 등의 정보를 선별해 정확한 결과를 만드는 컨텍스트 설계 원칙을 보여준다.","description":null},"en":{"alt":"Claude 5 context engineering infographic with an information funnel and four design rules","caption":"The diagram shows how selected information and four context design rules support accurate, reliable results.","description":null},"ja":{"alt":"情報選別ファネルと4つの設計ルールを示すClaude 5コンテキストエンジニアリング図","caption":"システム指示やツール、メモリなどを選別し、正確で信頼できる結果へ導く設計原則を示している。","description":null},"es":{"alt":"Infografía de ingeniería de contexto para Claude 5 con un embudo de información y cuatro reglas","caption":"El diagrama muestra cómo seleccionar información y aplicar cuatro reglas de contexto para obtener resultados fiables.","description":null},"id":{"alt":"Infografik rekayasa konteks Claude 5 dengan corong informasi dan empat aturan desain","caption":"Diagram ini menunjukkan pemilihan informasi dan empat aturan konteks untuk menghasilkan keluaran yang akurat.","description":null},"pt":{"alt":"Infográfico de engenharia de contexto do Claude 5 com funil de informações e quatro regras","caption":"O diagrama mostra como selecionar informações e aplicar quatro regras de contexto para gerar resultados confiáveis.","description":null},"zh-hant":{"alt":"Claude 5 情境工程資訊圖，呈現資訊篩選漏斗與四項設計規則","caption":"此圖說明如何篩選系統指示、工具與記憶等資訊，並以四項情境規則產生可靠結果。","description":null}}}],"published_at":"2026-07-27T05:12:07+09:00","updated_at":"2026-07-27T05:12:07+09:00","license":"cc_by","translation_status":"original","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant"],"url":"https://injoys.com/ko/articles/claude-5-context-engineering-rules"}