Reins Engineering — 고삐 있는 AI Image: AI generated

고삐 없는 말


AI 코딩 도구가 빨라졌다. 30초 만에 로그인이 나오고, 2분이면 결제가 붙는다. 3주 만에 MVP가 출하된다.

3개월이 지나면 무너진다.

AI가 결제 로직을 “정리"하면서 할인 계산을 바꾼다. 리팩토링을 시켰더니 공개 API의 필드명이 달라진다. 새 기능을 추가했더니 인증이 깨진다. Carnegie Mellon 연구(MSR 2026)에 따르면 AI 코딩 도구 도입 후 코드 복잡도가 41% 영구 증가한다. Google DORA 보고서(2025)는 AI 도입 25% 증가마다 전달 안정성 7.2% 감소를 보고한다.

문제는 AI가 멍청해서가 아니다. 고삐가 없어서다.


하네스는 울타리다

업계는 이 문제에 “하네스 엔지니어링"으로 답했다. 린터, 포매터, CI/CD, 프로젝트 구조, 코딩 가이드라인. 에이전트가 밖으로 나가지 못하게 울타리를 친다.

울타리는 방향을 잡지 않는다. 에이전트가 울타리 안에서 무엇을 하든 — 기존 로직을 덮어쓰든, 타입을 바꾸든, 상태 전이를 생략하든 — 린터는 통과한다. 포매터도 통과한다. CI도 통과한다. 코드가 “깨끗하지만 틀린” 상태로 프로덕션에 도달한다.

안장은 있다. 사람은 탄다. 그런데 고삐가 없어서 허벅지 힘으로 버티다가 3개월 만에 떨어진다.


Reins Engineering

Reins Engineering은 AI 에이전트에게 결정론적 계약을 부여하고, 계약 위반 시 진행을 차단하는 엔지니어링 접근이다.

세 가지 요소로 구성된다:

1. 결정론적 피드백

에이전트에게 의견이 아니라 사실을 준다. “이거 좀 이상한데"가 아니라 “line 41: field name mismatch, expected ‘user_id’, got ‘userId’”. 아첨할 여지가 없는 피드백. TDAD 연구(arxiv 2026)에 따르면, “TDD를 하라"는 절차적 지시는 회귀를 악화시키고(6.08% → 9.94%), 구체적 테스트 파일을 맥락에 제공하면 회귀가 70% 감소한다(6.08% → 1.82%).

2. 계약 잠금 (Ratchet Pattern)

검증을 통과하면 잠근다. 이렇게 작성된 검증 코드를 ratchet code라 부른다. Hurl 테스트가 API 행위를 plain text로 선언하고, CI에서 매 커밋마다 실행한다. 통과한 ratchet code는 삭제할 수 없다. 에이전트는 자유롭게 코드를 바꿀 수 있지만, 행위를 바꿀 수 없다. 드리프트가 구조적으로 억제된다.

3. 결정과 구현의 분리

코드에 섞여 있는 세 가지 — 사용자 결정, 비즈니스 로직, 구현 세부사항 — 를 분리한다. 결정은 선언적 명세(OpenAPI, DDL, 상태 다이어그램)에 살고, 구현은 AI가 자유롭게 생성한다. AI가 결정을 세부사항으로 착각하고 덮어쓸 수 없다. 결정의 생존이 모델 크기와 무관해진다.


진화 계보

프롬프트 엔지니어링    → 말을 잘 하면 된다
컨텍스트 엔지니어링    → 맥락을 잘 주면 된다
하네스 엔지니어링      → 구조로 가두면 된다
Reins Engineering     → 방향을 잡아주면 된다

각 단계가 이전 단계의 한계에서 태어났다. 프롬프트만으로는 일관성이 없었다. 컨텍스트를 줘도 에이전트가 멋대로 했다. 울타리를 쳐도 울타리 안에서 드리프트가 발생했다.

Reins Engineering은 울타리가 아니라 고삐다. 에이전트의 자유를 제한하지 않으면서, 목적지에 도달하게 한다.

2026년 6월, 같은 계보에 새 이름이 하나 더 등록되었다. Loop Engineering — 에이전트에게 프롬프트를 입력하는 사람이 되지 말고, 프롬프트를 만들어내는 루프를 설계하라는 것이다(Addy Osmani, 2026). 정확한 진단이다. 루프는 생성을 스케일한다. 그러나 판정은 스케일하지 않는다. Osmani 스스로 급소를 적어두었다 — “무인으로 도는 루프는, 무인으로 실수하는 루프이기도 하다.” 루프가 보편화될수록 병목은 한 곳으로 이동한다. 루프의 검증 슬롯에 무엇을 꽂을 것인가.

그 층을 verifier engineering이라 부르든, eval engineering이라 부르든, gate engineering이라 부르든 실질은 하나다. 루프의 판정 슬롯에는 LLM이 아니라 결정론적 계약이 꽂혀야 한다. 나는 이것을 Reins Engineering이라 부른다. 루프는 레인스 없이 수렴하지 않는다.


80 : 20

Reins Engineering은 모든 것을 커버하지 않는다. 커버하는 영역을 정확히 안다.

Deque Systems가 13,000개 이상의 페이지에서 약 300,000건의 접근성 품질 이슈를 분석한 결과(2021), 57%는 완전 자동화로, 23%는 AI 보조로, 20%는 사람만이 판정할 수 있었다. 접근성과 코드는 도메인이 다르지만, “기계가 판정할 수 있는 것의 비율"이라는 구조는 공유한다.

이 렌즈로 코드 품질을 보면:

  • 57% — 래칫의 영역. 행위를 선언하고, 위반 여부를 기계가 묻지 않고 판정한다. go test, Hurl, yongol check, filefunc validate.
  • 23% — 하네스의 영역. 린터, 포매터, CI. 메커니즘은 결정론적이지만 검증 깊이가 표층에 머문다. 행위적 정합성은 잡지 못하지만, 구조와 스타일을 잡아 AI의 생성 품질을 올린다.
  • 20% — 사람의 영역. 비즈니스 적합성, UX, 아키텍처 방향.

Reins Engineering은 하네스를 대체하지 않는다. 하네스 위에 올라탄다.

하네스 (표층 결정론)   23%
+ 래칫 (행위 결정론)   57%
──────────────────
                     80%

사람은 나머지 20%에 집중한다.


더 큰 모델이 답이 아닌 이유

“GPT-6이 나오면 해결될 거야.”

해결되지 않는다. 문제는 모델의 지능이 아니라 매체다. 코드라는 매체는 결정과 구현을 구분하지 않는다. 어떤 모델이든 코드를 읽으면 결정과 세부사항이 뒤섞인 텍스트를 본다.

Z3 SMT 솔버로 형식 검증한 연구(Blain & Noiseux 2026)에서, 테스트된 7개 LLM 전부가 생성 코드의 55.8%에서 취약점을 만들었다. 최고 성능 모델(Gemini 2.5 Flash)도 등급 D(48.4%). 모델 크기를 키워도 구조적 취약점은 사라지지 않는다. 4.5B 로컬 모델(Gemma4)이 결정론적 피드백 + 예시 컨텍스트를 받으면 0 에러로 SSOT를 편집한다. 프론티어 모델이 raw code를 편집하면 드리프트가 발생한다. 차이는 지능이 아니라 구조다.

모델을 바꾸지 말고, 계약을 추가하라.


실증

yongol은 Reins Engineering의 구현체다. 10개 선언적 명세(SSOT)의 정합성을 287개 규칙으로 교차 검증하고, 코드를 생성한다.

ZenFlow 벤치마크 — 멀티테넌트 워크플로우 자동화 SaaS. 32 엔드포인트, 14 테이블, 47 Hurl 요청. 11/11 단계 통과. 기능을 추가할수록 속도가 느려지지 않았다. 기존 테스트가 깨지지 않았다.

로컬 4.5B 모델로도 동작하는 백엔드 코드 생성에 성공했다. 비용 $0. 오프라인. Reins가 모델의 부족을 메운다.


AI 리뷰 자동화가 아니라 코드 리뷰 자동화다

업계의 주류 접근은 AI 리뷰 자동화다. LLM이 코드를 생성하고, 다른 LLM이 그 코드를 리뷰한다. 술 취한 사람이 술 취한 친구에게 “나 취했어?“라고 묻는 구조다. SycEval 벤치마크(Fanous et al. 2025)에 따르면 GPT-4o, Claude Sonnet, Gemini 1.5 Pro의 아첨 굴복률은 58.19%. LLM-as-Judge의 거짓 pass율은 36%. 확률적 생성에 확률적 검증을 곱하면 정확도는 열화된다.

Reins Engineering은 코드 리뷰 자동화다. LLM이 생성하고, 결정론적 코드가 검증한다. validate는 아첨하지 않는다. go test는 환각하지 않는다. 커버리지 측정은 거짓말하지 않는다. pass는 pass이고 fail은 fail이다.

AI 리뷰 자동화:   LLM → LLM 검증 → 아첨 → 거짓 pass → 드리프트
코드 리뷰 자동화:  LLM → 코드 검증 → 사실 → pass/fail → 수렴

AI 에이전트가 초당 수십 줄을 생성하는 시대에, 사람이 모든 코드를 읽을 수 없다. 그렇다고 AI에게 리뷰를 맡기면 아첨이 검증을 대신한다. 실증도 이를 확인한다 — MSR 2026 마이닝 챌린지(Chowdhury et al. 2026)에 따르면, AI 리뷰 에이전트만 사용한 PR의 병합률은 45.2%에 불과하고(인간 리뷰 68.4%), 피드백의 60.2%가 노이즈다. 코드가 기계적으로 검증 가능한 부분을 대행하면, 사람은 기계가 판정할 수 없는 결정 — 비즈니스 적합성, UX, 아키텍처 방향 — 에만 집중할 수 있다.

인간 검수가 제로가 되는 것이 아니다. 인간 검수의 고통을 줄이는 것이다. 코드가 검수할 수 있는 것은 코드가 하고, 사람이 검수해야 하는 것만 사람이 한다.


고삐 없는 하네스는 울타리일 뿐이다

AI는 이미 충분히 강하다. 부족한 것은 방향이다.

울타리를 높이 쌓으면 에이전트는 울타리 안에서 더 빠르게 표류한다. 고삐를 잡으면 에이전트는 목적지까지 달린다.

Reins Engineering — structured deterministic validation for AI agents.


독립적 수렴

Reins Engineering은 혼자 도달한 결론이 아니다. 서로 모르는 사람들이 같은 벽에 부딪혀 같은 원칙에 도달했다.

episteme — UIUC 연구자가 만든 AI 에이전트 인지적 통제 평면. 되돌릴 수 없는 작업 전에 Reasoning Surface 작성을 파일 시스템 수준에서 강제한다. 래칫과 같은 원리, 다른 구현.

MagLab — KAIST 스핀트로닉스 연구자가 만든 물리학 연구 파이프라인. 선언: “LLM은 추론/기획만 한다. 숫자를 계산하지 않고, 인용을 날조하지 않고, 피겨 데이터를 생성하지 않는다.” 결정론적 도구가 모든 수치를 생산한다.

Manifesto — 프론트엔드 상태 전이를 선언적으로 정의하는 MEL(Manifesto Expression Language). 핵심 원칙: “Agent proposes, World verifies.” 에이전트는 intent만 제안하고, 상태 전이는 결정론적으로 검증한다.

NEKOWORK — AI가 쓴 코드의 diff를 머지 전에 결정론적 룰로 스캔하는 보안 게이트. Claude Code, Cursor, Codex 어디서 생성했든 상관없이 동작한다. LLM이 판정하지 않는다.

oh-my-kamisama — Claude·Codex·Gemini를 지휘하는 멀티-CLI 컨덕터. 워커의 이 아니라 실제 git diff를 읽어 검증하고(“diffs beat claims”), 프로젝트 테스트를 통과해야 완료를 선언한다. 모든 실행은 디스크에 감사 가능한 아티팩트로 남는다 — 사라지는 채팅이 아니라.

다섯 프로젝트 모두 같은 문장으로 요약된다: 생성은 확률적이어도 된다. 검증은 결정론적이어야 한다.


관련 글


출처

  • Cursino, D. et al. (2026). “Speed at the Cost of Quality? The Impact of AI Coding on Software.” MSR 2026. arxiv.org/abs/2511.04427
  • Google Cloud (2025). DORA Report 2025. cloud.google.com
  • Wang, Z. et al. (2026). “TDAD: Test-Driven Agentic Development.” ACM AIWare 2026. arxiv.org/abs/2603.17973
  • Karpathy, A. (2026). “From Vibe Coding to Agentic Engineering.” thenewstack.io
  • Fanous, A. et al. (2025). “SycEval: Evaluating LLM Sycophancy.” AAAI/ACM AIES 2025. arxiv.org/abs/2502.08177
  • Chowdhury, K. et al. (2026). “From Industry Claims to Empirical Reality: An Empirical Study of Code Review Agents in Pull Requests.” MSR 2026. arxiv.org/abs/2604.03196
  • Blain, D. & Noiseux, M. (2026). “Broken by Default: A Formal Verification Study of Security Vulnerabilities in AI-Generated Code.” arxiv.org/abs/2604.05292
  • Deque Systems (2021). “Automated Testing Study Identifies 57 Percent of Digital Accessibility Issues.” deque.com
  • Anthropic (2026). “Demystifying Evals for AI Agents.” anthropic.com
  • Osmani, A. (2026). “Loop Engineering.” addyosmani.com

변경이력

  • 2026-05-23: 초판 발행
  • 2026-05-27: “독립적 수렴” 섹션 추가 (episteme, MagLab, Manifesto, NEKOWORK)
  • 2026-05-28: “80:20” 섹션 — 하네스(23%) + 래칫(57%) = 80%, Deque 실증 데이터로 정량화
  • 2026-05-31: “독립적 수렴"에 oh-my-kamisama 추가
  • 2026-06-10: “진화 계보"에 Loop Engineering 단락 추가 — 루프의 판정 슬롯, 별칭 흡수(verifier/eval/gate engineering)