← 블로그 목록
개발 노트6분 분량

Claude Opus 4.7 시스템 프롬프트 diff는 우리 프롬프트에서 먼저 지울 문장을 알려준다

시스템 프롬프트는 임시 패치이고, 모델이 바뀌면 패치도 벗겨진다

4월 16일 나온 Opus 4.7의 claude.ai 시스템 프롬프트 diff에서 일곱 항목을 골랐다. 되묻기 대신 행동, 짧은 단서, 도구 검색이 기본값이 되면서 4.6용 프롬프트 문장 일부는 역효과가 된다. 운영 중인 프롬프트에서 "모르면 물어봐", "자세히 설명해줘", 단답 요구 세 가지부터 대조한다.

이 글은 2026년 4월 기준이다. 우리가 4월 21일 원문에 정리했듯 Anthropic은 4월 16일 Claude Opus 4.7을 내놓았다. 벤치마크 이야기는 많으니 다른 질문을 잡았다. 모델이 바뀌면 그 모델에 붙는 시스템 프롬프트는 어떻게 바뀌는가.

답할 수 있는 것은 Anthropic이 주요 연구소 중 거의 유일하게 claude.ai의 시스템 프롬프트를 공개하기 때문이다. Simon Willison이 이를 Git 히스토리로 재구성해 두어, 2월 5일자 Opus 4.6과 4월 16일자 4.7 사이의 diff를 읽을 수 있다. 그 diff에서 운영 중인 프롬프트에 바로 닿는 일곱 항목을 골라 기본값이 뒤집힌 것, 메커니즘이 들어온 것, 모델이 흡수해 지워진 것 세 묶음으로 나눴다. 시스템 프롬프트는 모델이 아직 못 하는 일을 문장으로 메우는 임시 패치이고, diff는 어떤 패치가 필요 없어졌는지 보여준다.

질문하던 기본값이 행동하는 기본값으로 뒤집혔다

4.7에 새로 생긴 acting_vs_clarifying 섹션을 우리가 직역하면, 디테일이 빠진 요청에 사용자는 지금 바로 합리적인 시도를 원하며 "먼저 인터뷰당하길 원하지 않는다"고 적는다. 도구로 모호성을 풀 수 있으면 묻기 전에 도구부터 호출하라는 문장이 뒤따른다.

바이브 코딩 수업에서 "블로그 글 써줘"에 주제·분량·톤을 되묻는 응답이 오면 흐름이 끊긴다. 4.7 프롬프트는 이 되묻기를 억제하는 쪽으로 기본값을 잡는다. 4.6 시절 넣어 두던 "궁금한 게 있으면 먼저 물어봐주세요"는 이제 기본값과 반대 방향을 가리킨다. 우리가 권하는 대체 문장은 "일단 가장 합리적인 가정으로 진행하고, 가정한 내용은 응답 상단에 명시해줘"다.

간결성 지시도 한 문장 늘었다. 4.6은 "집중된, 간결한" 수준이었지만 4.7은 주의사항이 있어도 짧게 언급하고 응답 대부분을 핵심 답변에 쓰라고 못 박는다. 흔히 붙이는 "자세하게 설명해줘"는 이 기본값과 충돌하므로 "핵심 3줄 → 근거 → 예시 순서로"처럼 구조를 지정하는 편이 낫다.

evenhandedness 섹션에도 방어막이 붙었다. 논쟁적인 이슈에 예/아니오 단답을 요구받으면 짧은 응답을 거부하고 이유를 설명할 수 있다는 조항이다. "이 계약서 유효한지 Y/N으로 답해"는 긴 설명으로 돌아올 가능성이 높으므로, 체크리스트 항목별로 통과·보류·불가 중 하나만 출력하라는 식으로 단답 신호와 판단 구조를 함께 줘야 한다.

도구 탐색과 안전 상태는 문장이 아니라 메커니즘으로 들어왔다

4.7 프롬프트는 Claude가 "X에 접근 권한이 없습니다"라고 답하기 전에 반드시 tool_search를 호출해 아직 로드되지 않은 도구가 있는지 확인하라고 지시한다. 도구 목록을 미리 싣지 않고 필요할 때 검색해 로드하는 구조로, MCP 생태계가 커져 도구 설명을 전부 넣으면 토큰이 넘치니 나온 해법이다.

MCP 서버를 붙였는데 Claude가 안 쓴다는 질문의 답도 프롬프트에서 명시하라에서 tool_search로 찾아 쓴다로 바뀐다. Cowork나 Claude Code처럼 스킬을 여럿 붙이는 환경에서는 description에 트리거 키워드를 박아 두는 일이 더 중요해졌다.

안전 쪽에서는 critical_child_safety_instructions 태그가 새로 생겼다. 아동 안전을 이유로 한 번이라도 요청을 거부했다면 같은 대화의 이후 모든 요청을 극도의 주의로 다루라는, 세션 단위 상태 규칙이 그 안에 있다. 청소년 상담 챗봇이 갑자기 딱딱해졌다면 안전 트리거가 걸렸을 수 있으니 세션 초기화 경로를 화면에 두어야 한다.

지워진 문장은 모델이 패치를 흡수했다는 신호다

4.6 프롬프트에는 "Donald Trump는 현재 미국 대통령이며 2025년 1월 20일에 취임했다"는 문장이 있었다. 지식 컷오프가 2024년이라 모델이 2020년 대선 기억만으로 현직 대통령을 부정하는 일을 막으려 넣은 것이다. 4.7에서 컷오프가 2026년 1월로 올라가며 이 문장은 사라졌다. 컷오프 이후 사건을 다루는 RAG에서 모델의 오래된 prior가 얼마나 위험한지 보여주는 사례다.

문체 제약도 같은 이유로 지워졌다. "genuinely", "honestly", "straightforward" 같은 표현을 피하고 asterisks 안에 이모트나 액션을 쓰지 말라는 4.6의 문장이 4.7에는 없다. 모델이 이미 그 행동을 하지 않도록 학습됐기 때문이다. 패치는 모델이 고도화되면 벗겨낼 수 있다.

변경방향우리 프롬프트에 반영할 것
acting_vs_clarifying 신설묻지 말고 가정하고 진행"가정을 명시하며 바로 진행" 지시
tool_search도구는 필요할 때 검색해 로드description에 트리거 키워드
간결성 강화단서는 짧게, 본론 집중구조 명시(3줄 → 근거 → 예시)
단답 방어(evenhandedness)예/아니오 요구 차단단답이 필요하면 구조화 신호 추가
Trump 조항 삭제컷오프 2026년 1월RAG에서 모델 prior 신뢰 주의
아동 안전 확장세션 단위 주의 상태상담 챗봇 UX에 세션 초기화 반영
문체 제약 삭제모델이 학습으로 흡수프롬프트는 임시 해결책으로 관리

가져갈 것

  • "궁금한 게 있으면 먼저 물어봐주세요"를 "가장 합리적인 가정으로 진행하고 가정을 응답 상단에 명시"로 바꿨는가?
  • "자세하게 설명해줘"를 "핵심 3줄 → 근거 → 예시" 같은 순서 지정으로 바꿨는가?
  • 예/아니오 판정이 필요한 프롬프트에 항목별 통과·보류·불가 구조를 넣었는가?
  • Claude Code·Cowork에 붙인 스킬과 MCP 도구의 description에 트리거 키워드가 있는가?
  • 컷오프(2026년 1월) 이후 사건을 다루는 RAG에서 모델이 학습 시점 기억만으로 답하는 구간이 없는지 점검했는가?

안 되는 경우

  • 여기서 다룬 것은 claude.ai의 시스템 프롬프트다. API로 직접 호출하는 앱이나 Claude Code가 같은 문장을 쓰는지는 확인하지 않았다.
  • 일곱 항목은 우리가 강사 관점에서 고른 것이고 diff 전체가 아니다. 각 변경이 응답을 얼마나 바꾸는지는 재지 않았다.
  • GPT나 Gemini의 시스템 프롬프트 diff는 다루지 않으므로, 다른 모델용 프롬프트를 같은 목록으로 고칠 근거는 없다.

시스템 프롬프트는 연구소가 현장의 문제를 가장 빠르게 반영하는 문서다. 이번 주에는 팀이 가장 자주 쓰는 프롬프트 하나를 위 다섯 항목에 대조하고, 4.6 기본값을 보정하려고 넣었던 문장을 지우는 것부터 시작한다. 우리도 강의 슬라이드에서 같은 작업을 하고 있다. 사업영역 →

출처

Claude프롬프트 엔지니어링시스템 프롬프트

Contact

이런 교육이 필요하다면

AI·데이터 교육 도입을 검토 중이라면 카카오 오픈채팅으로 편하게 문의하세요.

Newsletter

조녁컴퍼니 뉴스레터

AI 전환과 교육 현장의 기록을 메일로 받아보세요.