만든 것공개

S2 · 격리 게이트

전개하기 전에 "이 설계가 전개 가능한가"를 코드가 다시 봅니다. 그리고 추적의 앵커를 심습니다.

결정론

두 가지를 한다. 설계가 전개 가능한지 판정하고, 기획서 원문을 규칙 단위로 쪼갠다. 앞 단계와 달리 둘 다 코드다.

만들기 전에 세운다

설계 게이트는 세 가지로만 답한다 — 전개 가능, 설계 결함, 오류. 결함이면 앞 단계로 되돌려 수정 루프를 돌고, 시도 횟수를 세서 무한 왕복을 막는다.

이 게이트가 없으면 결함 있는 설계로 수백 행을 만들고 나서 리뷰 단계가 그걸 발견한다. 틀린 설계로 만든 행은 고치는 것보다 버리는 게 싸다. 그래서 만들기 전에 세운다.

같은 문서를 두 번 보는 게 아니다

앞 단계에서 이미 설계 검수를 한 번 했다. 그런데 여기서 또 본다. 중복처럼 보이지만 아니다.

앞의 검수는 LLM이 읽었고, 여기는 코드가 읽는다.

둘은 못 보는 게 서로 다르다. LLM은 의미를 보는 대신 형식 위반을 자주 흘리고, 코드는 형식을 정확히 잡는 대신 “이 케이스가 말이 되는가”를 아예 못 본다. 그래서 같은 문서에 다른 종류의 눈을 두 번 대는 것이지, 같은 검사를 반복하는 게 아니다.

기계 게이트를 뒤에 둔 이유도 있다. 앞에 두면 LLM이 게이트를 통과하는 형태로만 쓰게 되고, 그러면 형식은 맞는데 내용이 빈 문서가 나온다.

원장의 앵커를 여기서 심는다

슬라이서가 원문을 절과 규칙으로 쪼갠다. 이 규칙 목록이 나중에 커버리지 원장의 왼쪽 열이 된다 — “기획서의 이 규칙이 어느 케이스로 검증되는가”.

추적 가능성은 마지막에 붙이는 게 아니라 여기서 미리 심어야 한다. 나중에 붙이려 하면 “기획서에 규칙이 몇 개였나”를 다시 세야 하고, 그 숫자는 세는 사람마다 달라진다. 원문을 처음 읽을 때 한 번만 세는 게 유일하게 재현되는 방법이다.

그리고 분모를 먼저 고정해야 나중에 “다 덮었다”는 말에 의미가 생긴다. 분모를 나중에 세면 덮은 것만 세게 된다.