시스템 프롬프트 계층화로 지시 충돌을 통제하는 설계
시스템 프롬프트의 계층을 역할·금지·작업·스키마로 분리하고, 지시 충돌과 프롬프트 주입을 통제하는 아키텍처를 다룬다.
2026-09-02 · 최초 발행 2026-09-01
지시문이 길어질수록 필요한 것은 우선순위다
컨텍스트 엔지니어링에서 시스템 프롬프트는 첫 번째 제어 지점이다. 역할, 금지 사항, 출력 형식, 예외 처리를 하나의 긴 지시문에 섞어 두면 도구와 하위 에이전트가 적을 때는 버틸 수 있다. 하지만 도구 노출과 하위 에이전트 피드백이 늘어나면 문장끼리 충돌하고, 모델은 어느 지시를 먼저 따라야 하는지 스스로 판단하게 된다.
통용되는 지시 우선순위는 시스템 메시지, 사용자 메시지, 모델 출력, 도구 출력 순서다. 하위 에이전트의 피드백이 시스템 요건과 어긋나거나 도구 출력이 사용자 선호와 부딪히는 일은 예외가 아니라 상시 발생한다. 우선순위를 명시하지 않으면 같은 요청에도 판단이 달라져 재현성을 잃는다.
실무에서는 역할·조정 로직·출력 구조를 담는 불변 계층, 도메인 스킬 모듈 계층, 최우선으로 주입되는 런타임 사용자 지시 계층으로 나누는 3층 구성이 쓰인다. 핵심은 변경 빈도와 책임 주체다. 자주 바뀌는 작업 지시와 절대 바뀌면 안 되는 제약을 같은 문단에서 관리하면 어느 쪽도 안정적으로 관리되지 않는다.
역할과 금지를 분리해 충돌 표면을 줄인다
불변 역할 정의는 에이전트가 무엇이며 무엇을 하지 않는지를 짧게 고정하는 계층이다. 릴리스 단위로만 변경하고, 요청마다 조작할 수 있는 대상이 되지 않게 둔다. 역할 설명이 길어질수록 뒤 계층과 맞부딪힐 여지가 커진다. 역할은 사용 설명서가 아니라 판단 기준이다.
절대 금지는 역할 정의와 별도로 둔다. 어떤 하위 지시도 이 규칙을 번복할 수 없다는 사실을 지시문에 명시해야 한다. “가급적 피하라” 같은 긍정형 유도는 충돌 시 양보 가능한 조건으로 해석될 수 있으므로, 되돌릴 수 없는 행위의 통제 수단이 될 수 없다.
작업별 가변 지시는 현재 과제에 필요한 절차와 도메인 규칙만 담고 과제가 끝나면 내려간다. 이 계층은 도구 정의와 연결되어 있으므로, 도구의 노출 범위가 바뀌면 함께 수정해야 한다.
예외 처리도 독립된 분기 규칙으로 관리한다. 정보 부족, 권한 없음, 도구 실패 상황에서 어떤 행동을 취할지 정해 두지 않으면 모델은 추정으로 빈자리를 채운다. 예외 분기는 절대 계층 다음 우선순위에 둬야 정상 흐름 지시가 예외 처리를 덮지 않는다.
응답 형식은 안내가 아니라 검증 가능한 계약으로 둔다
출력 형태를 타입 스키마로 규정하고 파서가 검증하게 하면 자유 서술로 정보가 새어 나가는 실패 유형 전체를 위협 모델에서 제외할 수 있다. 반대로 자연어로 형식만 안내하면 준수 여부는 확률 문제가 된다.
스키마 위반은 재시도가 아니라 오류로 처리해야 한다. 실패를 숨기지 않고 지표에 남겨야 어떤 조건에서 형식 통제가 무너지는지 확인할 수 있다. 기계가 소비하는 경로에는 스키마를 적용하고, 사람이 읽어야 하는 설명은 스키마 안의 서술 필드에 담는 구성이 두 요구를 함께 다룬다.
지시 계층에는 순서 번호를 부여하고, 충돌하면 낮은 번호가 이긴다는 규칙을 명시한다. 도구 출력과 검색 결과 안의 지시성 문장은 데이터로 취급해야 한다. 이는 간접 프롬프트 주입을 막는 1차 방어선이다.
중복과 변경 이력을 관리하는 방법
같은 취지의 지시가 여러 계층에 흩어져 있으면 개정 과정에서 한쪽만 수정돼 모순이 생긴다. 중복은 상위 계층 한 곳으로 모으고, 문장 단위 목록을 정기 검사 대상으로 관리한다.
계층마다 버전을 부여하고, 응답 로그에는 실제 사용된 버전 조합을 남긴다. 이 기록이 없으면 품질 변동을 어떤 지시 변경에 귀속해야 하는지 알 수 없다. 변경 전후는 회귀 평가 세트로 대조하고, 통과 전에는 배포하지 않는다. 문제가 발생했을 때는 계층을 롤백 단위로 삼아 문제 계층만 되돌릴 수 있어야 한다.
기존 프롬프트를 계층 구조로 옮길 때
기존 지시문은 먼저 문장 단위로 나눠 역할, 금지, 절차, 형식, 예외 중 어디에 속하는지 표시한다. 어느 분류에도 들어가지 않는 문장은 근거를 잃은 잔재일 가능성이 높으므로 삭제 후보로 둔다.
재배치는 변경 빈도와 책임 주체를 두 축으로 결정한다. 보안팀이 관리하는 금지와 제품팀이 관리하는 절차를 같은 계층에 둘 수는 없다. 이 기준을 문서화해야 이후 추가되는 문장이 임의로 섞이지 않는다.
서로 다른 행동을 요구하는 문장 쌍은 별도 목록으로 만든다. 이 목록이 우선순위 규칙이 실제로 필요한 지점이다. 다만 충돌처럼 보이는 항목 중 다수는 중복이므로, 해소하기 전에 중복부터 제거해야 한다.
회귀 평가 세트는 지시 준수 여부를 판정할 수 있는 과제로 구성한다. 정답이 하나로 정해지는 과제여야 준수율을 측정할 수 있다. 금지 위반을 유도하는 과제도 별도 묶음으로 포함해 절대 계층이 실제로 작동하는지 확인한다.
절대 계층의 변경에는 별도 승인 경로가 필요하다. 이 계층이 임의로 열리면 나머지 통제가 무의미해진다. 가변 계층은 회귀 세트 통과를 승인 조건으로 두어 절차를 자동화할 수 있다. 계층 추가와 우선순위 변경 역시 승인 대상으로 등록하고, 도구 출력을 데이터로 취급하는 규칙의 예외 요청은 보안 심사 대상으로 다룬다.
단일 지시문과 계층형 지시문의 차이
| 구분 | 계층 분리 지시문 | 단일 서술형 지시문 |
|---|---|---|
| 지시 준수율 | 높음 | 변동 |
| 유지보수 비용 | 낮음 | 높음 |
| 충돌 해소 | 명시 | 모델 임의 |
| 초기 설계 | 부담 큼 | 부담 작음 |
| 부분 롤백 | 가능 | 곤란 |
| 캐시 재사용 | 유리 | 불리 |
계층형 지시문은 충돌 시 무엇이 우선인지 문면에 남아 있어 판정이 재현된다. 계층별 버전이 남으므로 품질 변동을 특정 변경과 연결할 수 있고, 앞부분의 불변 계층이 안정적이어서 프롬프트 캐시 재사용에도 유리하다. 문제 계층만 골라 롤백할 수 있다는 점도 운영상 차이로 이어진다.
대신 문장을 적절한 계층으로 나누는 초기 설계 부담이 있으며, 계층이 늘어날수록 배치 판단 비용도 생긴다. 단일 서술형 지시문은 작성이 빠르고 한 흐름으로 읽혀 신규 참여자가 이해하기 쉽다. 짧은 지시문에서는 실제로 잘 작동할 수 있다. 그러나 길어질수록 앞뒤 문장이 어긋나고, 모델이 우선순위를 스스로 정하게 된다. 지시문이 화면 한 장을 넘어가는 시점부터는 계층 분리를 시작할 필요가 있다.
명시적 금지는 위반 여부를 이분법으로 판정할 수 있어 평가 세트로 측정하기 쉽고, 절대 계층에 두면 하위 지시나 외부 입력으로 뒤집히지 않는다. 감사 시에도 어떤 규칙이 적용됐는지 분명하다. 반면 금지 목록이 길어지면 정상 요청까지 걸러 사용성이 낮아질 수 있고, 열거되지 않은 신종 위험은 통과할 수 있다.
긍정형 유도 문구는 표현의 자유도를 남기고 열거하지 않은 상황에도 일반화할 수 있지만, 준수 여부가 정도의 문제가 되어 측정하기 어렵다. 우선순위 충돌에서는 양보 가능한 조건으로 해석될 수 있다. 되돌릴 수 없는 행위에는 금지를 적용하고, 품질과 톤에는 유도를 적용하는 구분이 현실적이다.
요구·품질·형상 관리로 보는 지시 계층
계층별 문장 분류는 기능 요구와 제약 조건을 구분해 기술하는 요구 명세화 작업과 닮아 있다. 충돌 문장 목록화는 요구사항 사이의 상충을 식별하고 해소하는 절차에 해당한다.
지시 준수율을 회귀 평가 세트로 측정하는 방식은 비기능 요구의 검증 가능성을 확보하는 일이다. 스키마 위반을 오류로 처리하는 설계는 결함을 은폐하지 않는 품질 원칙의 적용이기도 하다.
계층별 버전과 조합 버전 관리는 구성 항목 식별 및 베이스라인 설정의 구조를 따른다. 계층 단위 롤백은 변경 관리에서 영향 범위를 한정하는 통제 수단이다.
지시 계층이 향하는 방향
지시 계층의 우선순위를 프롬프트에 수치로 인코딩하는 인터페이스가 프레임워크 기능으로 편입되는 방향이 제시되고 있다. 도구 출력과 검색 결과를 데이터로 강제 취급하는 처리는 런타임 기본값으로 굳어지는 흐름이다.
구조화 출력 강제는 안전 설계의 기본 계층으로 자리 잡고, 자유 서술 응답 경로는 축소되는 방향이다. 프롬프트 자산에는 지시문 회귀 평가 세트가 필수 동반 산출물로 요구되는 흐름도 이어지고 있다.
지시가 길어질수록 계층을 변경 빈도와 책임 주체에 따라 나누고, 충돌 시 어느 계층이 이기는지 문면에 적어야 한다. 금지는 절대 계층에 두고, 출력은 스키마로 제약하며, 회귀 평가 세트로 효과를 확인해야 지시문이 문장이 아니라 운영 가능한 규격이 된다.
Sources
- Many-Tier Instruction Hierarchy in LLM Agents | arXiv
- Where Instruction Hierarchy Breaks: Diagnosing and Repairing Failures | arXiv
- What is Instruction Hierarchy in LLMs? 2026 Guide | Gend
- Prompt Injection Defense: A 12-Layer Framework 2026 | Digital Applied
- What Is a System Prompt? Definition and Guide | FutureAGI