사고 패치(Thought Patching) — 프롬프트를 가중치로 바꾸기

2026-06-06 · 2026-06-06_thought-patching-prompts-to-weights.md

#reflection #llm #model-editing #activation-steering #google-research

사고 패치(Thought Patching): 프롬프트를 가중치로 바꾸는 모델 편집 연구

한 줄 요약

Google Research가 제안한 '사고 패치(Thought Patching)'는 시스템 프롬프트가 모델 내부에서 만드는 활성화 변화를 수학적으로 추출해 모델 가중치에 영구적으로 주입하는 기술이다. 역전파 없이 forward pass 두 번만으로 프롬프트 효과를 모델에 '컴파일'할 수 있으며, activation steering과 low-rank model editing에 이론적 근거를 제공한다.

핵심 내용

문제: 프롬프트는 매번 다시 읽어야 한다

지금까지 시스템 프롬프트(예: "너는 친절한 어시스턴트입니다")는 모델을 쓸 때마다 매번 모델이 다시 읽어야 한다. 긴 프롬프트일수록 추론 비용이 늘고 컨텍스트 윈도우를 차지한다.

해결책: 프롬프트 효과를 가중치로 압축

프롬프트가 모델 내부에서 만드는 '활성화 변화'를 추출해서, 그 변화를 모델 가중치의 작은 수정으로 바꿔버린다. 그러면 프롬프트 없이도 프롬프트가 있는 것처럼 행동한다.

작동 방식 (5단계)

  1. 프롬프트 있는 경우 모델에 데이터를 통과시킴 (forward pass)
  2. 프롬프트 없는 경우 같은 데이터를 통과시킴 (forward pass)
  3. 두 경우의 활성화 차이 계산
  4. 차이를 최소제곱법으로 thought vector(벡터)와 thought matrix(행렬)로 추출
  5. 추출한 벡터와 행렬을 모델 가중치에 주입

역전파가 필요 없다. forward pass 두 번과 최소제곱 계산만으로 끝난다.

이론적 기여 두 가지

1. Activation Steering(활성화 조종)의 수학적 근거

기존에 연구자들은 '긍정 프롬프트와 부정 프롬프트의 활성화 평균을 내면 스티어링 벡터가 된다'는 걸 경험적으로 알았다. 하지만 왜 평균을 내야 하는지는 몰랐다. 이 논문이 그 평균이 실제로 최소제곱 근사라는 걸 수학적으로 증명했다.

2. Low-rank Model Editing(저순위 모델 편집)의 근거

ROME, MEND 같은 모델 편집 기술이 왜 저순위 업데이트로 효과적인지, 첫 번째 원리부터 설명한다. 최적의 thought matrix가 자연스럽게 rank-1 업데이트의 합으로 나온다는 걸 보였다.

실험 결과 (Gemma 3 1B 모델)

작업 결과 설명
산술(덧셈/곱셈) 100% 정확도 10개 예시로 프롬프트와 완벽 동등
유해성 제거 성공 90.5% → 6.2%로 대폭 감소
번역 약간 하락 92-94% (기존 97-98%)
지식 검색 현저한 하락 79% → 47.6%
新知识 주입 조건부 성공 32개 단어쌍 91% 정확도, 하지만 질문 문장 구조에 매우 민감

한계

프롬프트 과적합: 특정 프롬프트 구조의 활성화 변화를 학습할 뿐, 추상적 '의미'를 학습하지는 않는다. 질문을 조금만 다르게 하면 성능이 무너진다.

작은 모델 기준: Gemma 3 1B에서만 검증. 큰 모델이나 복잡한 추론으로 확장 가능한지 아직 불명확하다.

지식 검색 압축 어려움: 특정 사실을 찾아내야 하는 프롬프트는 압축하기 어렵다.

새로운 시각

프롬프트 컴파일러로 보기

이 기술을 프롬프트 공학을 대체하는 것이 아니라 '프롬프트 컴파일러'로 보면 더 정확하다. 자주 쓰는 시스템 프롬프트를 한 번 컴파일(패치)하면 추론 시 매번 읽지 않아도 된다.

의미가 아닌 패턴의 압축

논문이 강조하는 '프롬프트 과적합'은 결함이 아니라 이 기술의 본질을 보여준다. LLM의 In-Context Learning 자체가 의미 이해가 아니라 패턴 매칭에 가깝다는 것을, 이 연구가 우연히 증명하고 있다. 프롬프트를 가중치로 바꾸는 과정에서도 의미는 사라지고 패턴만 남는다.

로컬 LLM 사용자에게 가장 유망

클라우드 API에서는 프롬프트 토큰 비용이 상대적으로 작지만, 로컬에서 모델을 돌릴 때는 시스템 프롬프트가 컨텍스트 윈도우를 차지한다는 게 큰 부담이다. 131K 컨텍스트를 쓰는 환경에서 시스템 프롬프트를 가중치로 빼내면 그만큼 더 많은 실제 콘텐츠가 들어갈 수 있다.

자녀와 미래에 대한 시사점

프롬프트 엔지니어링의 진화

지금 프롬프트 엔지니어링이 마법 같은 기술로 보일 수 있지만, 이 연구는 프롬프트가 결국 모델 가중치의 일시적 수정에 불과함을 보여준다. 미래에는 프롬프트를 컴파일해서 제품화하는 방식이 일반화될 수 있다. 프롬프트 작성 능력 자체는 여전히 중요하지만, 그 역할이 '프롬프트 컴파일러' 개발자로 진화할 수 있다.

AI 모델 맞춤화가 쉬워짐

작은 모델을 사고 패치로 특정 용도에 맞게 수정하는 게 가능해진다. 예를 들어 자녀 학습용 AI를 만들 때, '친절한 선생님이 되어줘'라는 프롬프트를 모델에 영구적으로 녹여넣으면 매번 반복할 필요가 없다. 다만 이 기술이 일반 사용자 수준으로 내려오려면 아직 시간이 필요하다.

관련 논문

관련 노트