Semantic Regexes: Auto-Interpreting LLM Features with a Structured Language

이 논문은 LLM 의 특징을 자연어보다 더 정확하고 일관되며 구조화된 '시맨틱 정규식 (semantic regexes)'으로 자동 해석하여 모델의 이해도를 높이고 새로운 분석을 가능하게 하는 방법을 제안합니다.

Angie Boggust, Donghao Ren, Yannick Assogba, Dominik Moritz, Arvind Satyanarayan, Fred Hohman

게시일 2026-03-02
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

1. 문제: "너무 모호한 설명"

지금까지 AI 연구자들은 AI 가 가진 수천 개의 '기능 (Feature)'을 설명할 때 **자연어 (일반적인 말)**를 사용했습니다.
예를 들어, "이 기능은 정치 뉴스에 나올 때 켜진다"라고 설명하는 거죠.

하지만 자연어는 모호하고 길고, 사람마다 해석이 다릅니다.

  • "정치 뉴스"가 정확히 무엇을 의미할까? '대통령'만 포함할까, '선거'도 포함할까?
  • 같은 기능을 설명해도 사람 A 는 "정치적 단어"라고 하고, 사람 B 는 "뉴스 제목"이라고 할 수 있어 일관성이 떨어집니다.

2. 해결책: "의미 있는 정규식 (Semantic Regexes)"

저자들은 이 문제를 해결하기 위해 **프로그래밍 언어의 '정규식 (Regular Expression)'**을 차용하되, 사람도 이해할 수 있게 만든 **'의미 있는 정규식 (Semantic Regex)'**을 제안합니다.

비유: "레시피 카드" vs "요리사에게 말로 지시하기"

  • 기존 방법 (자연어): "맛있는 국을 끓여줘. 양념은 적당히 하고, 채소는 잘게 썰어." (모호함. '적당히'가 얼마인지, '잘게'가 얼마나 작은지 사람마다 다름)
  • 새로운 방법 (의미 있는 정규식): "양념: 3 스푼, 채소: 0.5cm 컷, 재료: [소고기] 또는 [돼지고기] + [양파]". (정확하고, 누구에게나 똑같이 전달됨)

이 새로운 언어는 세 가지 기본 블록과 조합 도구를 사용합니다:

  1. 기호 (Symbol): 정확한 단어. (예: [:symbol "Apple":] → 'Apple'이라는 단어만 잡음)
  2. 어근 (Lexeme): 단어의 변형. (예: [:lexeme "run":] → 'run', 'runs', 'running' 모두 잡음)
  3. 범주 (Field): 의미상 비슷한 단어. (예: [:field "fruit":] → '사과', '바나나', '포도' 등 과일 전체를 잡음)

이것들을 +(연결), |(또는), @{context}(특정 상황일 때) 같은 규칙으로 조합하면, AI 가 어떤 상황에서 켜지는지 정확하고 간결하게 표현할 수 있습니다.

3. 왜 이것이 더 좋은가요? (세 가지 장점)

① 정확하면서도 짧습니다 (Conciseness)

자연어로 "이 기능은 정치 뉴스에서 대통령 이름이 나올 때 켜집니다"라고 20 자로 설명할 수 있지만, 의미 있는 정규식은 @{:context politics:}([:field president:][:symbol name:])처럼 짧고 명확한 코드로 표현합니다. 불필요한 수식어가 없어 핵심을 바로 파악할 수 있습니다.

② 일관성이 있습니다 (Consistency)

AI 에는 같은 역할을 하는 '중복된 기능'들이 여러 개 있을 수 있습니다. 자연어로 설명하면 하나는 "정치적 단어", 다른 하나는 "선거 관련 용어"로 다르게 설명될 수 있어 중복인지 알기 어렵습니다. 하지만 의미 있는 정규식은 똑같은 패턴을 똑같은 코드로 표현하므로, "아, 이 두 기능은 똑같은 역할을 하는구나!"라고 중복을 쉽게 찾아낼 수 있습니다.

③ AI 의 복잡도를 측정할 수 있습니다 (Complexity)

AI 의 깊은 층 (Layer) 으로 갈수록 기능이 더 복잡해집니다.

  • 초기 층: 단순한 단어만 감지 (예: [:symbol "the":]) → 코드가 짧고 단순함.
  • 후기 층: 복잡한 문맥과 개념을 감지 (예: @{:context legal:}([:field law:]|[:field court:])) → 코드가 길고 복잡함.
    이 코드의 길이와 구조를 보면 AI 가 어느 단계에서 얼마나 복잡한 생각을 하는지 한눈에 파악할 수 있습니다.

4. 실제 실험 결과: 사람이 이해하기 쉽다

저자들은 AI 전문가 24 명을 대상으로 실험을 했습니다.

  • 자연어 설명을 들은 사람들은 "정치적"이라는 단어에 집중하다가, 실제 AI 가 반응하지 않는 문장까지 반응할 것이라고 오해하는 경우가 많았습니다. (불필요한 정보에 혼란을 느낌)
  • 의미 있는 정규식을 본 사람들은 정확한 패턴을 파악하여, AI 가 반응할 문장과 반응하지 않을 문장을 훨씬 정확하게 구분해냈습니다.

5. 결론: "AI 의 두뇌를 읽는 새로운 언어"

이 논문은 AI 의 내부 작동 원리를 설명할 때, 모호한 자연어 대신 구조화된 언어를 사용해야 한다는 것을 증명했습니다.

이는 마치 컴퓨터의 복잡한 회로를 설명할 때, "전기가 흐르는 곳"이라고 말하기보다 "전선 A 와 B 가 연결되어 있다"라고 정확히 설명하는 것과 같습니다.

이 방법은 AI 의 안전성을 높이고, AI 가 왜 그런 결정을 내리는지 더 명확하게 이해하는 데 큰 도움을 줄 것입니다. 앞으로 AI 를 더 잘 이해하고 통제하는 데 필수적인 '공통 언어'가 될 것으로 기대됩니다.