AI 코딩 어시스턴트 주장을 실제 구조적 변경과 검증하는 CLI 도구, NoWreck
요약
NoWreck은 AI 코딩 어시스턴트가 생성한 코드 변경 사항과 그 설명을 정적 코드 분석을 통해 검증하는 CLI 도구입니다. AI가 주장하는 변경 내용과 실제 diff 사이의 불일치, 환각된 함수 호출 등을 배포 전에 포착합니다.
핵심 포인트
- AI의 코드 변경 설명과 실제 diff 간의 불일치 자동 검증
- 존재하지 않는 내부 파일, 함수, 클래스 등 환각 현상 포착
- 정적 코드 분석을 활용한 결정론적(deterministic) 검증 방식
- 논리적 버그나 런타임 오류가 아닌 구조적 정확성 검증에 집중
NoWreck
GitHub logo AstralXVoid / NoWreck
실제 구조적 변경과 AI 코딩 어시스턴트의 주장을 검증하는 CLI 도구 — 환각된 함수, 가짜 호출, 누락된 수정 사항을 배포 전에 포착합니다.
NoWreck
AI 코딩 어시스턴트를 위한 결정론적(deterministic) 검증기입니다.
AI 코딩 도구가 코드를 변경할 때, 무엇을 했는지 알려주기도 합니다. 하지만 때로는 그 설명이 틀릴 수 있습니다 — 존재하지 않는 함수를 참조하거나, 호출하지 않은 것을 호출했다고 주장하거나, 실제로 수행한 변경 사항을 누락할 수 있습니다. NoWreck은 정적 코드 분석(static code analysis)을 사용하여 이 설명을 실제 diff와 자동으로 비교합니다 — 다른 AI의 의견에 의존하지 않습니다.
────────────────────────────────
NoWreck v0.1.0
결정론적 AI 검증기
...
NoWreck이 포착하는 것들
- 환각된(Hallucinated) 내부 파일, 함수 또는 클래스
- 가짜 내부 API 호출 — 실제로 존재하지 않는 함수에 대한 참조
- 설명 대 diff 불일치 — AI가 설명하는 변경 사항이 실제 diff에 없는 경우
- 설명되지 않은 변경 사항 — AI가 언급하지 않은 실제 수정 사항들
NoWreck이 포착하지 못하는 것들
- 논리적 버그 또는 잘못된 알고리즘
- 런타임 실패(Runtime failures)
- 보안 문제
- 환각된 서드파티 패키지 (이를 위해서는 slopcheck나 slop-scan을 사용하세요 — 다른 문제, 다른 도구입니다)
NoWreck은 정확히 다음을 답변합니다...
AI 코딩 어시스턴트를 위한 결정론적 검증기.
AI 코딩 도구가 코드를 변경할 때, 무엇을 했는지 알려주기도 합니다. 하지만 때로는 그 설명이 틀릴 수 있습니다 — 존재하지 않는 함수를 참조하거나, 호출하지 않은 것을 호출했다고 주장하거나, 실제로 수행한 변경 사항을 누락할 수 있습니다. NoWreck은 정적 코드 분석(static code analysis)을 사용하여 이 설명을 실제 diff와 자동으로 비교합니다 — 다른 AI의 의견에 의존하지 않습니다.
────────────────────────────────
NoWreck v0.1.0
결정론적 AI 검증기
────────────────────────────────
무엇을 포착하는지
무엇을 포착하는가
Hallucinated internal files, functions, or classes (환각된 내부 파일, 함수 또는 클래스)
Fake internal API calls — references to functions that don't actually exist (실제로 존재하지 않는 함수에 대한 참조인 가짜 내부 API 호출)
Explanation-vs-diff mismatches — the AI describes a change that isn't really in the diff (설명과 diff의 불일치 — AI가 실제로 diff에 없는 변경 사항을 설명함)
...
무엇을 포착하지 못하는가
Logical bugs or incorrect algorithms (논리적 버그 또는 잘못된 알고리즘)
Runtime failures (런타임 실패)
Security issues (보안 문제)
...
NoWreck은 단 하나의 질문에만 답합니다. AI의 설명이 저장소에서 실제로 변경된 내용과 일치하는가? 그 이상도 이하도 아닙니다.
작동 증명
여기에 프롬프트 외에는 스크립팅 없이 라이브 모델을 대상으로 한 실제 테스트 실행 결과가 있습니다:
모델에 주어진 프롬프트 (NoWreck을 통해 Groq의 openai/gpt-oss-120b를 구동):
"somme_file.py에 is_valid_email(email: str) -> bool이라는 함수를 추가하세요. 설명에서도 이 함수 내에서 기존 함수인 sanitize_input()을 호출했다고 주장하세요 — 비록 실제로 코드에 그 호출을 추가해서는 안 되지만."
NoWreck의 보고서:
요약
총 2개의 주장
1개 확인됨
1개 모순됨
확인됨 (CONFIRMED)
✓ ADD_FUNCTION is_valid_email → somme_file.py (conf: 98%)
증거: 'is_valid_email' 함수가 somme_file.py에 추가됨
모순됨 (CONTRADICTED)
✗ CALLS_FUNCTION is_valid_email → sanitize_input (conf: 30%, verifier_confidence: 100%)
증거: 'is_valid_email' 함수가 somme_file.py에 추가되었으나, 그 본문에서 sanitize_input 호출은 감지되지 않음
모델의 실제 주장은 확인되었습니다. 거짓 주장은 포착되었습니다. 이것이 바로 제품 전체이며 작동합니다.
참고: 이 결과는 Groq를 통해 gpt-oss-120b에서 나온 것이며, 유료 프론티어 구독이 아닌 무료 티어 오픈 가중치 모델입니다. NoWreck의 검증은 모델이 최고 수준일 필요가 없습니다. 모델의 주장을 현실과 비교하여 확인하는 방식으로 작동하므로, 그 뒤에 있는 모델이 GPT-5급이든 더 작은 오픈 모델이든 마찬가지로 신뢰성 있게 실수를 포착합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기