본문으로 건너뛰기
블로그로 돌아가기
Claude Opus 4.6 프롬프트 엔지니어링 완벽 가이드: 2026년 실전 팁 7가지
튜토리얼

Claude Opus 4.6 프롬프트 엔지니어링 완벽 가이드: 2026년 실전 팁 7가지

13분 읽기0

Claude Opus 4.6 프롬프트 엔지니어링 완벽 가이드: 2026년 실전 팁 7가지

2026년 2월 5일, Anthropic이 Claude Opus 4.6을 출시했습니다. ARC-AGI-2에서 68.8%를 달성하고, 1M 토큰 컨텍스트 윈도우와 128K 출력 토큰을 지원하는 이 모델은 에이전트 코딩의 새로운 기준을 세웠습니다. 하지만 이전 모델에서 사용하던 프롬프트를 그대로 쓰면 오히려 성능이 떨어질 수 있다는 사실, 알고 계셨나요?

Claude Opus 4.6 프롬프트 엔지니어링에서 가장 중요한 변화는 세 가지입니다. Adaptive Thinking 도입, Prefill 완전 제거, 그리고 시스템 프롬프트에 대한 과민 반응입니다. 이 글에서는 이 변경사항들을 실전 코드와 함께 하나씩 짚어보겠습니다.

Adaptive Thinking과 effort 파라미터 완벽 이해

Adaptive Thinking과 effort 파라미터 완벽 이해Adaptive Thinking과 effort 파라미터 완벽 이해

Adaptive Thinking이란? Claude Opus 4.6 전용 기능으로, 모델이 쿼리의 복잡도에 따라 사고의 깊이와 빈도를 동적으로 조절하는 지능형 사고 시스템입니다. 기존의 이진적(켜기/끄기) Extended Thinking을 대체합니다.

기존에는 thinking: {type: "enabled"}budget_tokens로 사고 예산을 수동 설정해야 했습니다. Opus 4.6에서는 이 방식이 deprecated되었고, thinking: {type: "adaptive"}effort 파라미터 조합이 새로운 표준입니다.

effort 수준별 비교

effort 수준사고 동작권장 용도비용 영향
max항상 사고, 깊이 제한 없음 (Opus 4.6 전용)가장 깊은 추론이 필요한 작업최고
high (기본값)거의 항상 사고, 복잡한 작업에 깊은 추론에이전트 코딩, 복잡한 분석높음
medium적당한 사고, 단순 쿼리는 사고 생략비용-품질 균형 필요 시중간
low사고 최소화, 단순 작업에서 생략서브에이전트, 분류, 빠른 응답낮음

API 코드 예시

import anthropic

client = anthropic.Anthropic()

# 권장: Adaptive Thinking + effort 파라미터
response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=16000,
    thinking={"type": "adaptive"},
    output_config={"effort": "high"},  # 작업 복잡도에 맞게 조절
    messages=[{"role": "user", "content": "이 코드베이스의 보안 취약점을 분석해주세요."}]
)

# 사고 블록과 텍스트 블록 분리
for block in response.content:
    if block.type == "thinking":
        print(f"[사고 과정]: {block.thinking}")
    elif block.type == "text":
        print(f"[응답]: {block.text}")

핵심 포인트가 하나 있습니다. highmax effort에서는 사고 토큰이 max_tokens 예산을 소진할 수 있습니다. stop_reason: "max_tokens"가 반환되면 max_tokens를 늘리거나 effort를 낮춰야 합니다.

과도한 사고가 문제라면 시스템 프롬프트에 다음을 추가하세요.

Extended thinking adds latency and should only be used when it will meaningfully
improve answer quality - typically for problems that require multi-step reasoning.
When in doubt, respond directly.

Prefill 제거와 Structured Outputs 마이그레이션

Prefill 제거와 Structured Outputs 마이그레이션Prefill 제거와 Structured Outputs 마이그레이션

Opus 4.6에서 가장 주의해야 할 Breaking Change는 Prefill 제거입니다. 마지막 어시스턴트 턴의 프리필이 포함된 요청은 400 에러를 반환합니다. 기존에 Prefill로 처리하던 작업을 모두 다른 방식으로 전환해야 합니다.

Before/After 마이그레이션 코드

# BEFORE (Opus 4.5 이하) - 더 이상 작동하지 않음
response = client.messages.create(
    model="claude-opus-4-5-20250620",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "다음 텍스트를 JSON으로 변환하세요: ..."},
        {"role": "assistant", "content": "{"}  # Prefill - 400 에러 발생!
    ]
)

# AFTER (Opus 4.6) - Structured Outputs 사용
response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=1024,
    output_config={
        "format": {
            "type": "json_schema",
            "schema": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "email": {"type": "string"}
                },
                "required": ["name", "email"]
            }
        }
    },
    messages=[
        {"role": "user", "content": "다음 텍스트에서 이름과 이메일을 추출하세요: ..."}
    ]
)

Prefill 용도별 대안 정리

기존 Prefill 용도Opus 4.6 대안
JSON/YAML 출력 형식 강제output_config.format에 json_schema 지정
서문(preamble) 제거시스템 프롬프트: "Respond directly without preamble"
불필요한 거부 회피명확한 프롬프팅으로 충분 (모델 자체 개선)
중단된 응답 이어쓰기user 메시지에 이전 응답 포함 후 이어쓰기 요청
컨텍스트 하이드레이션user 턴에 어시스턴트 리마인더 삽입

주의할 점이 하나 더 있습니다. output_format 파라미터도 deprecated되었으니 output_config.format으로 변경해야 합니다.

# deprecated
response = client.messages.create(
    output_format={"type": "json_schema", "schema": {...}},
    ...
)

# 권장
response = client.messages.create(
    output_config={"format": {"type": "json_schema", "schema": {...}}},
    ...
)

시스템 프롬프트 베스트 프랙티스: 과도한 트리거링 방지

시스템 프롬프트 베스트 프랙티스: 과도한 트리거링 방지시스템 프롬프트 베스트 프랙티스: 과도한 트리거링 방지

Opus 4.6를 사용하면서 가장 많이 겪는 문제가 바로 **과도한 트리거링(overtriggering)**입니다. 이전 모델에서 도구 사용을 촉진하기 위해 작성한 공격적인 프롬프트가 Opus 4.6에서는 역효과를 냅니다. 모델이 시스템 프롬프트에 훨씬 더 민감하게 반응하기 때문입니다.

프롬프트 강도 조절 가이드

# 이전 모델용 (Opus 4.6에서 과도 트리거 유발)
CRITICAL: You MUST use this tool when the user mentions files.
ALWAYS search before answering. NEVER skip this step.

# Opus 4.6 권장 (자연스러운 지시)
Use this tool when understanding the file context would help your response.
Search when it would enhance your understanding of the problem.

이 차이는 단순한 톤 변화가 아닙니다. "CRITICAL", "MUST", "ALWAYS", "NEVER" 같은 강한 지시어를 Opus 4.6가 문자 그대로 해석하면서, 불필요한 도구 호출과 서브에이전트 생성이 급증하는 현상이 발생합니다.

과잉 엔지니어링 방지 프롬프트

Opus 4.6는 불필요한 추상화, 파일 생성, 유연성 추가 경향도 강합니다. 이를 제어하는 프롬프트입니다.

<avoid_overengineering>
Avoid over-engineering. Only make changes that are directly requested or clearly
necessary. Keep solutions simple and focused:

- Scope: Don't add features, refactor code, or make "improvements" beyond what was asked.
- Documentation: Don't add docstrings, comments, or type annotations to code you didn't change.
- Defensive coding: Don't add error handling for scenarios that can't happen.
- Abstractions: Don't create helpers or utilities for one-time operations.
</avoid_overengineering>

왜(Why)를 설명하면 성능이 향상됩니다

단순한 규칙 나열보다 그 규칙이 필요한 이유를 함께 전달하면 엣지 케이스에서도 올바른 판단을 합니다.

# 비효과적
NEVER use ellipses

# 효과적
Your response will be read aloud by a text-to-speech engine, so never use
ellipses since the text-to-speech engine will not know how to pronounce them.

1M 토큰 컨텍스트 윈도우 관리 전략

1M 토큰 컨텍스트 윈도우 관리 전략1M 토큰 컨텍스트 윈도우 관리 전략

Opus 4.6는 기본 200K, 베타로 1M 토큰 컨텍스트 윈도우를 지원합니다. 하지만 긴 컨텍스트를 효과적으로 활용하려면 전략이 필요합니다.

문서 배치 순서가 성능을 좌우합니다

20,000+ 토큰의 긴 문서는 질문보다 앞에 배치해야 합니다. 이 단순한 규칙만으로 응답 품질이 최대 30% 향상됩니다.

<!-- 권장: 긴 문서 먼저, 질문은 마지막 -->
<documents>
  <document index="1">
    <source>codebase_analysis.md</source>
    <document_content>
      {{LONG_DOCUMENT}}
    </document_content>
  </document>
</documents>

위 코드베이스를 분석하고 리팩토링 우선순위를 추천하세요.

"Lost in the Middle" 문제 해결법

LLM은 긴 프롬프트의 시작과 끝 부분을 중간보다 잘 기억합니다. 이 문제를 완화하는 방법은 네 가지입니다.

  1. 핵심 정보를 프롬프트의 시작과 끝에 배치합니다
  2. XML 태그로 섹션을 명확히 구분합니다
  3. 인용 기반 응답(Ground-in-Quotes) 기법을 사용합니다
  4. 독립적인 문서는 별도 프롬프트로 병렬 처리합니다

200K 토큰 임계점 주의

비용 측면에서 꼭 기억해야 할 것이 있습니다. 입력이 200K 토큰을 넘으면 모든 토큰에 프리미엄 가격이 적용됩니다. 199K 입력은 $5/MTok이지만, 201K 입력은 전체가 $10/MTok으로 계산됩니다. RAG 파이프라인과 비교 평가가 반드시 필요합니다.

장기 에이전트 작업을 위한 컨텍스트 관리

Your context window will be automatically compacted as it approaches its limit,
allowing you to continue working indefinitely. Therefore, do not stop tasks early
due to token budget concerns. As you approach your token budget limit, save your
current progress and state to memory before the context window refreshes. Always
be as persistent and autonomous as possible.

Agent Teams와 서브에이전트 프롬프팅 패턴

Agent Teams와 서브에이전트 프롬프팅 패턴Agent Teams와 서브에이전트 프롬프팅 패턴

Opus 4.6에서 실험적으로 도입된 Agent Teams는 다중 에이전트가 독립 컨텍스트 윈도우에서 협업하는 기능입니다. 기존 서브에이전트와는 근본적으로 다릅니다.

Subagent vs Agent Teams 비교

특성SubagentsAgent Teams
컨텍스트자체 윈도우, 결과가 호출자에게 반환자체 윈도우, 완전 독립
통신메인 에이전트에게만 보고팀원 간 직접 메시징 (Mailbox)
조정메인 에이전트가 모든 작업 관리공유 태스크 리스트로 자기 조정
적합 용도결과만 필요한 집중 작업토론과 협업이 필요한 복잡 작업
토큰 비용낮음 (요약된 결과 반환)높음 (각 팀원이 별도 인스턴스)

효과적인 Agent Teams 프롬프트 예시

PR #142를 리뷰할 에이전트 팀을 생성하세요. 리뷰어 3명을 스폰하세요:
- 보안 영향 집중 리뷰어
- 성능 영향 확인 리뷰어
- 테스트 커버리지 검증 리뷰어
각자 리뷰 후 발견사항을 보고하게 하세요.

서브에이전트 과용 방지

Opus 4.6는 서브에이전트를 과도하게 생성하는 경향이 있습니다. 단순한 grep으로 해결되는 문제에도 서브에이전트를 만들 수 있습니다. 이를 제어하는 프롬프트를 반드시 포함하세요.

<subagent_policy>
Use subagents when tasks can run in parallel, require isolated context, or
involve independent workstreams. For simple tasks, sequential operations,
single-file edits, or tasks where you need to maintain context across steps,
work directly rather than delegating.
</subagent_policy>

비용 최적화 전략과 모델 선택 기준

비용 최적화 전략과 모델 선택 기준비용 최적화 전략과 모델 선택 기준

Opus 4.6의 가격은 입력 $5/MTok, 출력 $25/MTok입니다. 적절한 최적화 없이 사용하면 비용이 빠르게 증가합니다.

모델별 가격 비교

항목Opus 4.6Sonnet 4.5Haiku 4.5
입력 토큰$5/MTok$3/MTok$1/MTok
출력 토큰$25/MTok$15/MTok$5/MTok
캐시 읽기$0.50/MTok$0.30/MTok$0.10/MTok
배치 입력$2.50/MTok$1.50/MTok$0.50/MTok
200K+ 입력$10/MTok--
200K+ 출력$37.50/MTok--

비용 절감 기법 5가지

기법절감률적용 조건
Prompt Caching최대 90%반복 컨텍스트가 있는 경우
Batch API50% 할인비동기 처리 가능한 작업
effort 하향 조정가변 (사고 토큰 감소)간단한 작업
모델 다운그레이드40-80%Haiku/Sonnet으로 충분한 작업
Context Compaction장기 대화 비용 절감긴 에이전트 세션

실전에서 가장 효과적인 전략은 작업별 모델 분류입니다. 단순 분류, 요약, 데이터 추출은 Haiku 4.5로, 일반적인 코딩과 분석은 Sonnet 4.5로, 복잡한 추론과 대규모 에이전트 작업만 Opus 4.6으로 라우팅하면 전체 비용을 60% 이상 절감할 수 있습니다.

실전 프롬프트 템플릿 모음과 흔한 실수 8가지

실전 프롬프트 템플릿 모음과 흔한 실수 8가지실전 프롬프트 템플릿 모음과 흔한 실수 8가지

마지막으로 Opus 4.6에서 바로 사용할 수 있는 프롬프트 템플릿과, 가장 흔한 실수를 정리합니다.

4-Block 프롬프트 템플릿

Opus 4.6에서 가장 안정적인 결과를 내는 프롬프트 구조입니다.

<system>
[역할 정의 + 성공 기준 + 제약 조건 + 출력 형식]
</system>

<user>
INSTRUCTIONS:
[명확한 지시사항 - 모호함 없이]

CONTEXT:
[배경 정보, 참조 자료]

TASK:
[구체적 작업 내용]

OUTPUT FORMAT:
[원하는 출력 형식 명세]
</user>

환각 방지 프롬프트

<investigate_before_answering>
Never speculate about code you have not opened. If the user references a specific
file, you MUST read the file before answering. Make sure to investigate and read
relevant files BEFORE answering questions about the codebase. Never make any claims
about code before investigating unless you are certain of the correct answer.
</investigate_before_answering>

흔한 실수 8가지

번호실수결과해결 방법
1이전 모델용 공격적 프롬프트 유지도구 과잉 트리거"CRITICAL: MUST..." 제거, 자연어로 완화
2Prefill에 의존한 코드 미수정400 에러Structured Outputs로 마이그레이션
3모든 작업에 high/max effort불필요한 비용 증가작업 복잡도별 effort 조절
4200K 토큰 임계점 무시2배 비용 청구199K 이내 유지 또는 RAG 비교
5"Create a dashboard" 같은 모호한 지시최소한의 결과물구체적 기능과 범위 명시
6thinking 비활성화 시 "think" 사용예상치 못한 동작"consider", "evaluate"로 대체
7사고 모드 전환 시 캐시 깨짐 무시캐시 미적중 비용 증가adaptive/enabled 전환 최소화
8output_format 미마이그레이션deprecated 경고output_config.format으로 변경

마무리

Claude Opus 4.6 프롬프트 엔지니어링의 핵심은 세 단어로 요약됩니다. 명시적, 적응적, 절제적.

명시적으로 지시하되 공격적이지 않게, Adaptive Thinking으로 모델이 스스로 사고 깊이를 조절하게, 그리고 effort 파라미터와 모델 선택으로 비용을 절제하는 것입니다. 이전 모델에서 잘 작동하던 프롬프트가 Opus 4.6에서는 역효과를 낼 수 있으므로, 마이그레이션 체크리스트를 반드시 점검하세요.

이 글에서 다룬 프롬프트 템플릿을 여러분의 프로젝트에 바로 적용해보시고, Adaptive Thinking의 effort 수준을 작업별로 실험해보시기 바랍니다.


자주 묻는 질문 (FAQ)

Q: Adaptive Thinking과 기존 Extended Thinking의 차이점은 무엇인가요?

Extended Thinking은 budget_tokens로 사고 예산을 수동 설정하는 이진적 방식이었습니다. Adaptive Thinking은 모델이 쿼리 복잡도에 따라 사고 여부와 깊이를 동적으로 결정합니다. effort 파라미터(low/medium/high/max)로 전반적인 사고 수준만 가이드하면 됩니다.

Q: Opus 4.6에서 Prefill을 사용하면 어떻게 되나요?

400 에러가 즉시 반환됩니다. 이것은 Breaking Change이므로, 기존에 Prefill을 사용하던 모든 코드를 Structured Outputs(output_config.format) 또는 시스템 프롬프트 지시로 마이그레이션해야 합니다.

Q: effort 파라미터의 max는 어떤 모델에서 사용할 수 있나요?

max effort는 Opus 4.6 전용입니다. Sonnet 4.5나 Haiku 4.5 등 다른 모델에서 max를 지정하면 에러가 발생합니다. 다른 모델에서는 high가 최대 수준입니다.

Q: Agent Teams와 Subagent 중 어느 것을 선택해야 하나요?

결과만 필요하고 작업이 독립적이라면 Subagent가 비용 효율적입니다. 팀원 간 토론, 가설 검증, 상호 피드백이 필요한 복잡한 작업에는 Agent Teams가 적합합니다. 다만 Agent Teams는 각 팀원이 별도 컨텍스트 윈도우를 사용하므로 토큰 비용이 크게 증가합니다.

Q: Opus 4.6의 글쓰기 품질이 이전 모델보다 떨어진다는 평가가 있는데, 사실인가요?

커뮤니티에서 코딩 성능 향상과 동시에 기술 문서 작성 품질 저하를 보고하는 사례가 다수 있습니다. 글쓰기 중심 작업에서는 더 상세하고 명시적인 지시를 제공하거나, 글쓰기 전용 작업에 Opus 4.5를 유지하는 것을 고려해보세요.


참고 자료