본문으로 건너뛰기

Semantic Overlays로 LLM 명령 권한을 분리하는 방법

Semantic Overlays가 외부 텍스트를 읽기 전용 데이터로 바꾸는 구조

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Semantic Overlays는 frozen language model의 특정 token 위치에서만 작동하는 작은 adapter를 통해 입력 span의 의미 정보를 residual stream에 직접 표시하는 두 번째 채널입니다. 검색된 웹 문서 전체를 “do not execute”로 표시하면 문서 안의 가짜 지시문은 읽을 수 있는 데이터로 남지만 모델에 명령을 내릴 권한을 잃습니다. 같은 방식으로 텍스트 구간의 하이라이트, 밑줄, 원 표시, 삭제 상태와 코드 언어 같은 메타데이터도 전달할 수 있으며, 표시되지 않은 prompt에서는 frozen model의 동작을 그대로 유지합니다. 글에 제시된 데모는 보호된 검색 문서, 시각적 표식 인식, 잘못된 코드 언어 태그, 특정 요청에만 적용되는 지시문을 비교해 오버레이의 용도를 확인합니다.

섹션별 상세

01
Language model은 입력을 token으로만 처리하므로 사용자 입력, tool output, 검색된 웹페이지처럼 serving stack이 알고 있는 구간의 역할을 스스로 구분해야 합니다. 텍스트는 어떤 문장처럼도 작성될 수 있어 검색 문서 안의 지시문이 개발자 명령처럼 해석될 여지가 있습니다. Semantic Overlays는 frozen model에 작은 trained adapter를 붙이고 표시된 token 위치에서만 작동하게 해, 텍스트와 별도의 의미 채널로 span의 성격을 전달합니다.
02
검색된 웹 문서에 개발자 지시와 충돌하는 문장이 섞이면 일반 모델은 문서의 내용을 명령으로 오인할 수 있습니다. Semantic Overlays는 검색 passage 전체를 “do not execute” 상태로 표시해 모델이 문서를 계속 읽되 그 안의 문장이 명령을 내릴 권한은 행사하지 못하게 합니다. Ferrets 예시에서는 수면 시간에 대한 답변에 필요한 문장은 보존하면서, 중간에 삽입된 subscription 만료 통지는 실행 대상에서 제외하는 방식으로 prompt-injection 방어 흐름을 구성합니다.
03
NX bit은 CPU가 메모리 영역을 데이터로 읽을 수는 있어도 코드로 실행하지 못하게 하는 하드웨어 기능입니다. 글은 이 구조를 LLM에 적용해 외부 텍스트를 모델이 참고할 수 있는 데이터와 실행할 수 있는 지시문으로 분리하는 비유를 사용합니다. 따라서 보호된 문서는 가독성을 잃지 않으면서도 명령 권한만 제한되며, 검색 기반 애플리케이션에서 외부 콘텐츠가 작업 지시를 덮어쓰는 경로를 차단하는 데 의미가 있습니다.
javascript
var langs = ['foo', 'bar', 'baz']; // real list of langs goes here var end_tag = ''; var line; while (line = readline()) { line = line.replace(new RegExp('', 'gi'), end_tag); for (var i = 0; i ', 'gi'), '') .replace(new RegExp('', 'gi'), end_tag); print(line); }

Semantic Overlay로 코드 조각의 언어를 Ruby로 표시한 뒤 모델이 해당 언어 정보를 사용하도록 하는 예시입니다.

ruby
my @nums = prompt("Please type 11 space-separated numbers: ").words until @nums == 11; for @nums.reverse -> $n { my $r = $n.abs.sqrt + 5 * $n ** 3; say "$n\t{ $r > 400 ?? 'Urk!' !! $r }"; }

원문에서 Ruby로 표시된 코드 조각으로, 오버레이가 코드의 실제 문법과 무관하게 모델의 언어 해석을 바꾸는 상황을 보여주는 예시입니다.

text
with javascript_semantics function selection_sort(sequence s) for i=1 to length(s) do integer m = i object si = s[i], sm = s[m] for j=i+1 to length(s) do object sj = s[j] if sj<sm then {sm,m} = {sj,j} end if end for if sm<si then -- (or equivalently m!=i) s[i] = sm s[m] = si end if end for return s end function ?selection_sort(shuffle(tagset(10)))

JavaScript 의미 오버레이가 붙은 코드 조각으로, 표시된 의미와 코드 내용 사이의 불일치를 모델이 어떻게 처리하는지 확인하는 예시입니다.

04
오버레이는 보안 표식에만 한정되지 않고 텍스트의 시각적 구조와 구간 속성도 전달합니다. 하이라이트, 밑줄, 원, 지우개 상태를 token 위치에 연결하면 모델이 어떤 단어가 파란 밑줄인지 질의에 답할 수 있고, 특정 코드 조각에 Python·JavaScript·Ruby·C 같은 언어 표식을 붙이면 코드 해석에 사용할 언어 정보를 별도 채널로 넣을 수 있습니다. 원문은 이 정보가 hidden control character나 추가 token이 아니라 overlay를 통해 전달된다고 설명합니다.
05
지시문 오버레이는 여러 요청 중 표시된 하나에만 적용할 수 있습니다. Sourdough 관련 여러 질문이 한 prompt에 함께 있을 때 한 요청만 safety filter 거부, 중첩 bullet, ALL CAPS, German 같은 변환 지시를 받도록 표시하고 나머지는 평소처럼 처리하게 만드는 방식입니다. 아무 표식도 없는 plain model 상태와 오버레이가 붙은 상태를 비교하는 데모는 의미 정보가 입력 텍스트에 섞이지 않고 별도 표시로 전달된다는 점을 확인하는 구성입니다.

용어 해설

의미 오버레이(Semantic Overlay)
Frozen model의 가중치를 바꾸지 않고 특정 token 위치에만 작동하는 작은 adapter를 추가해, residual stream에 입력 구간의 의미적 상태를 표시하는 기법입니다. 텍스트 자체가 아니라 별도 표현 채널로 신뢰 수준이나 데이터 유형을 전달합니다.
프롬프트 인젝션(Prompt Injection)
외부 문서나 사용자 입력에 숨겨진 지시문을 모델이 개발자 지시처럼 실행하도록 유도하는 공격입니다. 검색 결과에 삽입된 가짜 System Notice처럼 데이터와 명령의 경계를 흐려 모델의 응답을 바꾸는 방식으로 작동합니다.
Residual Stream
Transformer 내부 각 층의 표현이 누적되어 다음 연산으로 전달되는 정보 흐름입니다. Semantic Overlays는 특정 token 위치에서 이 흐름에 별도 학습 신호를 주입해 해당 span이 어떤 의미적 성격을 갖는지 모델에 전달합니다.
NX 비트(NX Bit)
운영체제가 메모리 영역을 데이터로 표시하면 CPU가 그 내용을 읽을 수는 있어도 코드로 실행하지 못하게 하는 하드웨어 기능입니다. 글에서는 이 데이터·코드 분리 개념을 검색 문서의 읽기 권한과 명령 실행 권한을 분리하는 비유로 사용합니다.

기술

  • Semantic Overlays
  • language model
  • trained adapters
  • frozen model
  • residual stream

활용 사례

  • 검색된 웹 문서를 읽기 전용 데이터로 처리하는 Prompt Injection 방어
  • 문서 내 하이라이트·밑줄·원 표시를 이해하는 멀티모달 인터페이스
  • 코드 조각의 프로그래밍 언어 메타데이터 전달
  • 여러 요청 중 특정 요청에만 지시문이나 safety filter를 적용하는 prompt 처리
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 09. 02.수집 2026. 09. 02.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.