1. 명세 (Specifications): 시스템이 무엇을 해야 하는지(Statement Specification)와 그 결과가 올바른지 어떻게 확인할지(Solution Specification)를 정의하는 것은 모든 공학 분야의 근본이다. 이는 시스템의 모듈화, 재사용성, 검증, 디버깅, 자율적 의사결정을 가능하게 하는 필수적인 토대다.
- Software 1.0 (고전적 프로그래밍): "무엇을 할지" (Statement Specification)를 명확하게 규정(specify)할 수 있는 작업을 자동화한다. (예: 정해진 규칙에 따른 데이터 변환)
- Software 2.0 (AI 프로그래밍): "무엇이 올바른 결과인지" (Solution Specification)를 명확하게 검증(verify)할 수 있는 작업을 자동화한다. (예: 목표 함수, 보상 함수를 통해 뉴럴 네트워크 학습)
- 핵심 전환: AI 시대에는 작업을 해결하는 알고리즘을 직접 작성하는 대신, 목표를 명확히 하고 해결책을 자동으로 평가(검증)할 수 있다면, AI는 그 목표를 향해 스스로 학습하고 최적화될 수 있다.
- 검증의 비대칭성 (Asymmetry of Verification): 많은 작업은 해결하기는 매우 어렵지만, 주어진 해결책이 올바른지 확인하는 것은 훨씬 쉽다. (예: 스도쿠, 웹사이트 코드 작성 vs. 웹사이트 작동 여부 확인)
- 검증자의 규칙 (Verifier's Rule): AI가 특정 작업을 해결하도록 훈련시키는 용이성은 그 작업이 얼마나 '검증 가능한가'에 정비례한다.
- 이상적인 검증 환경의 조건:
1. 객관적 진실: 누가 봐도 좋은 해결책에 동의한다.
2. 빠른 검증: 해결책을 몇 초 안에 확인할 수 있다.
3. 확장 가능한 검증: 많은 해결책을 동시에 확인할 수 있다.
4. 낮은 노이즈: 검증 결과가 해결책의 품질과 밀접하게 연관된다.
5. 연속적 보상: 해결책의 좋고 나쁨을 다양한 스케일로 측정할 수 있다.
- 학습의 본질: 이러한 조건들이 충족될 때 뉴럴 네트워크는 최대의 학습을 할 수 있으며, 각 학습 단계에서 풍부한 피드백(경사 신호)을 얻어 빠르게 반복하고 발전한다. 이는 디지털 세상의 발전 속도가 물리적 세상보다 빠른 이유와 동일하다.
LLM 시스템의 현재 한계는 '명세의 모호성'과 '검증 가능성 부족'에서 기인한다.
- 자연어의 양날의 검: LLM은 자연어를 통해 광범위한 접근성과 일반성을 얻었지만, 이로 인해 명세가 모호해지고 결과의 검증이 어려워진다.
- LLM의 실패 사례: 에어캐나다 챗봇의 잘못된 환불 정책, 쉐보레 챗봇의 1달러 자동차 판매 동의 등은 'Solution Specification'이 부재하거나 모호하여 LLM이 올바르지 않은 출력을 생성하고도 이를 감지/수정하지 못하는 전형적인 예시다.
- 블랙박스 문제: LLM의 모놀리식, 블랙박스 특성은 기존 소프트웨어의 디버깅(문제를 찾고 고치는 과정)을 불가능하게 만든다.
LLM 시스템을 공학 분야로 승격시키기 위한 해결책은 '명세의 명확화'와 '검증 가능성 향상'이다.
- 명세 모호성 해소 방안:
- 반복적 명세화: 인간의 대화처럼 LLM이 모호한 프롬프트에 대해 질문하고 가정을 명확히 하여 'Statement Specification'을 개선한다.
- 도메인별 규칙: 특정 분야의 명확한 규칙(예: 법률, 프로그래밍 언어)을 LLM에 주입하여 명세의 모호성을 줄인다.
- 컨텍스트 학습 및 활용: LLM이 사용자나 특정 작업에 대한 컨텍스트를 학습하여 암묵적인 가정을 명확히 한다.
- 구조화된 출력: JSON 스키마 등 표준화된 형식을 통해 'Statement Specification'을 강제하고, 부분적으로 'Solution Specification'을 제공한다.
- '낯선 사람 테스트': 프롬프트를 작성할 때 LLM이 해당 도메인에 대해 아무것도 모르는 '낯선 사람'이라고 가정하고 모든 세부 정보를 명시한다.
- 검증 가능성 향상 방안:
- 증명 기반 출력 (Proof-carrying outputs): 코드 생성 시 코드와 함께 해당 코드가 명세를 만족한다는 수학적 증명을 생성한다.
- 단계별 검증 (Step-by-step verification): LLM이 사고 과정을 단계별로 제시하게 하여 각 단계를 독립적으로 검증할 수 있도록 한다.
- 실행 후 검증 (Execute-then-verify): LLM의 출력을 안전한 환경에서 실행해보고 그 결과를 관찰하여 검증한다.
- 사전/사후 조건 (Preconditions & Postconditions): 입력과 출력에 대한 명확한 조건을 설정하여 유효성 검사를 강화한다.
- 통계적 검증 (Statistical verification): 대규모 환경에서 LLM 시스템의 '전반적인 성능'을 측정하고 모니터링하여 검증한다.
LLM은 '무엇이든 시도할 수 있는' 놀라운 능력을 가지고 있지만, 그 시도들이 '성공적이었는지'를 명확하게 알 수 없을 때 발전은 정체된다. AI 혁명의 다음 단계는 더 크고 복잡한 모델을 만드는 것을 넘어, 각 구성 요소의 명세를 명확히 하고, 그 결과가 올바른지 '검증'할 수 있는 엔지니어링 원칙을 LLM 시스템 개발에 적용하는 것이다. '검증 가능성'이 높은 작업에서 AI는 인간을 뛰어넘는 지능을 보여줄 것이며, 이는 AI가 해결할 수 있는 문제의 지형을 근본적으로 바꿀 것이다. 이 '검증 가능한' 영역을 확장하는 것이 곧 AI 기술 발전의 핵심 동력이 될 것이다.
https://x.com/karpathy/status/1990116666194456651
https://arxiv.org/abs/2412.05299
https://www.jasonwei.net/blog/asymmetry-of-verification-and-verifiers-law
