본문으로 건너뛰기

문법 제약 디코딩과 정책 계층의 한계

GBNF와 JSON 진단 루프로 구문·권한 오류는 줄였지만 workflow와 side effect 문제는 남았다.

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

TL;DR

글은 일반 영어로 작성한 간단한 CRUD 및 역할 제한 서비스 요구사항을 Agent에 주고, LL(1) 문법에서 만든 GBNF 제약 디코딩으로 출력을 제한한 통제 실험을 기록했다. 컴파일러가 거부될 때마다 구조화된 JSON 진단을 반환하자 Agent는 그 정보를 이용해 반복적으로 출력을 수정했다. 그 결과 구문 유효성이 높아졌고 소유권 및 capability와 관련된 여러 오류 유형이 사라졌다. 반면 상위 수준의 workflow와 side effect 문제는 단일 언어 제약만으로 포착되지 않아 별도의 policy layer가 필요하다는 한계가 남았다.

섹션별 상세

01
실험은 Agent가 일반 영어로 된 간단한 CRUD 및 역할 제한 서비스 설명을 받아 코드를 생성하는 상황을 통제된 조건에서 재현했다. 출력 단계에는 LL(1) 문법에서 만든 GBNF를 적용해 허용된 문법 구조 밖의 결과를 차단했다. 따라서 단순한 생성 품질이 아니라 문법 제약과 오류 피드백이 어떤 실패를 줄이는지 관찰하는 구성이었다.
02
출력이 제약을 위반하면 컴파일러가 매번 구조화된 JSON 진단을 반환했고, Agent는 그 진단을 다음 수정 시도의 입력으로 사용했다. 이 과정은 생성, 거부, 진단 수신, 재생성을 반복하는 수리 루프로 작동했다. 문법이 출력 형식을 제한하고 JSON이 실패 원인을 전달하면서 구문 오류와 일부 ownership 및 capability 오류가 줄어들었다.
03
정적 제약의 효과는 모든 서비스 오류를 제거하는 수준까지 확장되지 않았다. 여러 단계의 workflow가 올바른 순서로 실행되는지와 실행 과정의 side effect가 안전한지는 단일 언어의 문법 제약만으로 완전히 포착되지 않았다. 글은 이 잔여 영역을 문법 계층보다 높은 policy layer의 문제로 분리하며, 강한 정적 제약 이후에도 남는 실패 유형을 추가로 수집할 필요를 제기했다.

용어 해설

제약 디코딩(Constrained Decoding)
모델이 생성할 수 있는 토큰을 미리 정한 문법에 맞는 선택지로 제한하는 방식이다. 이 실험에서는 일반 영어 요구사항을 구조화된 출력으로 바꾸는 과정에서 문법 밖의 토큰을 차단해 구문 오류를 줄이는 역할을 했다.
LL(1) 문법(LL(1) Grammar)
현재 입력과 하나의 선행 토큰을 기준으로 다음 파싱 규칙을 결정하는 문맥 자유 문법이다. 글에서는 이 문법에서 생성한 GBNF를 사용해 Agent 출력이 허용된 형식만 따르도록 제한했다.
구조화된 진단(Structured Diagnostics)
컴파일러나 검증기가 오류 위치와 원인을 기계가 읽을 수 있는 구조로 반환하는 방식이다. 이 실험에서는 거부될 때마다 JSON 진단을 제공해 Agent가 실패 원인을 입력으로 받아 다음 출력을 수정하도록 했다.
정책 계층(Policy Layer)
문법이나 타입만으로 표현하기 어려운 업무 규칙과 실행 조건을 처리하는 상위 제어 계층이다. 글에서는 소유권과 capability 일부는 정적 제약으로 걸러졌지만 workflow와 side effect 문제는 이 계층에 남는다고 구분했다.
AI 분석 전체 내용 보기

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

출처 · 인용 안내

원문 발행 2026. 09. 03.수집 2026. 09. 03.출처 타입 REDDIT

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