피드로 돌아가기
AI doesn't write bad code. It writes plausible code — so I tried to break my own AI-built app
Dev.toDev.to
Backend

Plausible-but-wrong 코드 방지를 위한 Machine-readable Boundary 설계

AI doesn't write bad code. It writes plausible code — so I tried to break my own AI-built app

FavCRM2026년 6월 17일4intermediate

Context

AI Agent가 생성한 코드가 문법적으로 완벽하고 실행 가능해 보이나, 도메인 핵심 비즈니스 로직(예: 중복 예약 방지)을 누락하는 Plausible-but-wrong 문제 발생. 단순한 코드 리뷰나 타입 체크만으로는 런타임에서 발생하는 도메인 무결성 파괴를 조기에 발견하기 어려운 한계 존재.

Technical Solution

  • 위험도가 높은 Core Domain Logic(Auth, Payment 등)을 별도의 검증된 모듈로 격리하여 캡슐화
  • Route Handler를 단순한 Adapter 층으로 정의하여 도메인 로직의 직접적인 수정을 원천 차단
  • Machine-readable한 실행 가능 스펙(Executable Spec)을 정의하여 아키텍처 경계 준수 여부를 자동 검증
  • AI Agent의 편집 루프 내에 Boundary Check 단계를 통합하여 계약 위반 시 즉각적인 실패 신호 송출
  • 정적 분석을 넘어 '특정 핸들러가 반드시 특정 Use Case 모듈을 호출해야 함'을 보장하는 계약 기반 검증 체계 구축

- 핵심 도메인 로직을 인라인 코드가 아닌 독립된 모듈/패키지로 분리했는가 - Route/Controller가 비즈니스 로직을 직접 처리하지 않고 Use Case 모듈로 위임하는 구조인가 - 아키텍처 경계 준수 여부를 확인하는 자동화된 Contract Check 스크립트를 보유했는가 - CI/CD 또는 AI Agent Loop 내에 해당 검증 단계가 강제적으로 포함되어 있는가

원문 읽기