검색
← 모듈 로드맵

AI가 바이브 코딩 블로그 12편을 채점한 감사 실험

발행 출처 DEV · Sungwoo Lee

클로드사례준전문가

나중에 보기좋아요
공유 · 인쇄
후기댓글

2026-08-16에 저는 제 AI 보조 블로그의 12개 글을 두 개의 새 컨텍스트 서브에이전트로 감사하게 했습니다. 각자 6개씩 맡아 교차 검증했습니다. 평균 점수는 25점 만점에 15.1점이었습니다. 가장 큰 발견은 사실 오류가 아니었습니다. 템플릿이었습니다. 네 개의 글이 거의 똑같은 가짜 일화 문장 형태("I once ran into X, and I realized Y")를 사용했습니다. 이 결함은 반복되는 형태이므로 정규식으로 잡아낼 수 있어서, 감사 항목을 품질 게이트 스크립트로 옮기고 표시된 문장들은 치환 목록으로 수정했습니다. 재감사 점수는 19점, 그다음에는 21점이었습니다.

이 글에서는 감사 설계, 게이트, 패치 형식, 그리고 게이트가 잡아내지 못하는 것들을 다룹니다. 한국어로 된 전체 내용은 제 블로그의 원문 글 에 있습니다.

감사는 어떻게 구성했나

다섯 개 축, 각 5점씩, 총 25점: 독창성, 구체성, 정확성과 시의성, 구조, 진정성. 각 감사자에게는 세 가지 지시를 내렸습니다.

  • 관대하게 평가하지 말 것.
  • 심각한 것만이 아니라 사소한 발견도 모두 보고할 것.
  • 각 발견마다 게시글 본문을 최소 한 번은 인용할 것.

인용 요구는 중요합니다. 이게 없으면 LLM 감사자는 막연한 칭찬이나 막연한 비판으로 흘러갑니다. 인용이 있으면 모든 발견이 직접 열어서 확인할 수 있는 문장을 가리키게 됩니다.

새 컨텍스트 서브에이전트를 사용한 것도 중요합니다. 글을 쓴 모델은 그 글을 좋게 보려는 경향이 있습니다. 초안 작성 세션을 전혀 보지 않은 두 감사자는 훨씬 더 가혹하게 평가했습니다.

감사자가 무엇을 발견했나

가짜 일화는 기계로 탐지할 수 있고, 출처가 없는 숫자는 부분적으로만 가능하며, 사이트 내부의 모순과 오래된 모델 이름은 그렇지 않다
가짜 일화는 기계로 탐지할 수 있고, 출처가 없는 숫자는 부분적으로만 가능하며, 사이트 내부의 모순과 오래된 모델 이름은 그렇지 않다

네 가지 결함 유형이 반복적으로 나왔습니다:

결함예시기계로 탐지 가능
출처가 없는 정확한 숫자"62%"가 세 가지 다른 주장에 재사용됨부분적
공식을 따른 가짜 일화4개 글에서 같은 문장 형태예
사이트 내부의 모순"한 달에 약 20,000원" vs "약 29,000원"아니오
오래된 모델 이름예전 모델이 최신으로 설명됨아니오

이 네 가지 중 두 가지는 패턴 매칭으로 잡아낼 수 없습니다. 두 글 사이의 모순은 두 글을 함께 봐야 하고, 오래된 모델 이름은 무엇이 최신인지 알아야 합니다. 이런 것은 인간이나 다음 감사에게 남습니다.

발견 사항을 게이트로 바꾸기

형태가 반복되는 결함들에 대해서는 scripts/publish/cc_quality_gate.py를 작성해 11개의 점검을 넣었습니다. 메타데이터 5개 항목이 채워져 있는지, 55자 미만의 H1이 정확히 1개인지, 3줄짜리 요약 블록이 있는지, 그 바로 뒤에 결론 표가 있는지, 질문형으로 표현된 비율이 60% 이상인 H2 섹션이 최소 4개인지, FAQ 항목이 정확히 5개인지, 표가 최소 2개인지, 본문 내 내부 링크가 최소 2개인지, 금지 요소가 없는지, 실제 사용 요소(언어 태그가 있는 코드 블록 2개 이상, 단계, 제한 사항 단락)가 있는지, 그리고 증거 표식이 없는 숫자 포함 문장이 일정 개수를 넘지 않는지입니다.

가장 많은 일을 해낸 두 탐지기는 단순한 정규식입니다:

코드
import re

ORG = re.compile(
    r"Acme Research|Example Institute|Sample University|Foo Consulting|"
    r"Annual Trend Index|Global AI Index"
)
ANECDOTE = re.compile(
    r"in my experience|I tried it and|I once|I was surprised|I realized"
)

def scan(text: str) -> list[str]:
    hits = []
    for name, rx in (("org-stat", ORG), ("fake-anecdote", ANECDOTE)):
        for m in rx.finditer(text):
            hits.append(f"{name}: {m.group(0)!r} at {m.start()}")
    return hits

위의 실제 패턴은 한국어이고, 위 내용은 같은 아이디어를 영어로 예시한 것입니다. 발견 사항은 오류와 경고로 나뉩니다. 오류는 발행을 막습니다(메타데이터 누락, 잘못된 H1 개수, 잘못된 FAQ 개수, 탐지된 기관 통계, 일화 또는 이모지). 경고는 발행을 막지 않습니다(긴 제목, H2 수가 적음, 질문 비율이 낮음, 표가 너무 적음).

표시된 문장을 글을 망치지 않고 고치기

패치는 오직 치환 목록을 통해 적용되며, 각 old 문자열은 원문에 정확히 한 번만 있어야 합니다. 0회 일치하거나 2회 이상 일치하면 실패로 기록되고 건너뜁니다. 빈 new는 문장을 삭제합니다.

코드
{"id": 126, "slug": "example-slug",
 "patches": [
   {"old": "An Acme Research report says 40% improved", "new": "", "why": "unsourced institutional stat"},
   {"old": "I tried it and was surprised", "new": "The measured result is below", "why": "invented anecdote"}
 ]}
코드
def apply(text: str, patches: list[dict]) -> tuple[str, list[str]]:
    failed = []
    for p in patches:
        if text.count(p["old"]) != 1:
            failed.append(p["why"])
            continue
        text = text.replace(p["old"], p["new"])
    return text, failed

정확히 한 번 규칙 덕분에 패치가 잘못된 문단을 조용히 다시 쓰는 일이 없습니다. 건너뛴 패치는 실패 목록에 보이고, 사람이 그것을 확인합니다.

점수는 어떻게 변했나

감사 점수는 평균 15.1점에서 첫 재감사에서 19점으로, 두 번째 재감사에서 25점 만점에 21점으로 올랐다
감사 점수는 평균 15.1점에서 첫 재감사에서 19점으로, 두 번째 재감사에서 25점 만점에 21점으로 올랐다

첫 번째 재감사에서는 25점 만점에 19점을 받아 제 기준선인 20점에 못 미쳤기 때문에, 먼저 지적된 항목들을 수정했습니다. 두 번째 재감사에서는 25점 만점에 21점을 받았습니다. 그 이후 운영 원칙은 다음과 같습니다. 목표는 20점 이상이며, 그보다 낮으면 지적된 항목을 고칠 때까지 게시를 막습니다. 또한 게시 후 3개월이 지나도 점수가 계속 18점 아래로 떨어지면 확장을 중단하고 원인을 다시 진단합니다.

다음 감사의 채점 기준은 각 축을 뒷받침합니다. 독창성은 어디에서든 볼 수 있는 내용이면 1점, 일반적인 조언에 자기 사례가 조금 섞인 정도면 3점, 세 개 이상의 파일 경로나 측정값이 있으면 5점입니다. 구체성은 독자가 명령어나 코드를 그대로 복사해 실행할 수 있을 때만 5점입니다. 진정성은 오진과 실패를 그 원인과 함께 적어 놓았을 때 5점입니다.

숫자는 상대적인 것으로 보아야 합니다. 절대 척도에서 나온 값이 아니라, 같은 하네스로 다시 측정한 결과입니다.

게이트가 잡아내지 못하는 것

게이트는 반복되는 형태를 가진 결함만 잡아냅니다. "어느 연구에 따르면"이라고만 쓰면 기관명이 없기 때문에 조직 정규식이 이를 놓칩니다. 목록에 없는 새로운 일화 표현도 그대로 통과합니다. 게시물 간 모순이나 오래된 모델명은 그것으로는 보이지 않습니다.

이로부터 제가 얻은 규칙은 간단합니다. 직접 측정한 것, 실제로 문제가 생긴 것, 또는 파일로 존재하는 것만 쓰라는 것입니다. 또한 각 글의 총점을 파일로 따로 저장해야 합니다. 세션 대본만으로는 무엇이 몇 점이었는지 증거가 약합니다.

어떤 규모로든 AI 보조 글쓰기를 한다면, 새 컨텍스트로 감사 한 번 돌리는 비용은 적고, 직접 검토할 때 놓칠 패턴을 찾아냅니다. 체크리스트, 채점 기준, 한국어 정규식은 전체 글에 있습니다.

제가 제 사이트에 직접 올려 두는 무료 도구들: 34개의 계산기와 사용법 안내 - 대출, 퇴직금, 실수령 급여, 적금 vs 예금. 새 도구는 한 번의 이메일로만 보내며, 광고는 없습니다.

출처

  • 원문: https://dev.to/sungwoo_lee_e0f26be4a29fd/i-had-ai-grade-my-12-vibe-coded-blog-posts-151-out-of-25-nj6 (2026-10-05 · Sungwoo Lee)

자료 변경 기록을 불러오는 중입니다.

다음 자료를 불러오는 중입니다.

후기

아직 후기가 없습니다

직접 적용한 결과와 주의할 점을 공유하는 공간입니다.

로그인하고 후기 쓰기

참고 자료 · 도구와 릴리스 노트

댓글