내 AI 평가의 가장 큰 결함은 모델이 아니라 스코어카드였다
요약
AI 코딩 어시스턴트 평가 시 기존 체크리스트 방식이 가진 한계를 지적합니다. 작성자의 편향이 반영된 체크리스트는 모델이 새로운 문제를 발견하는 능력을 측정하지 못하며, 모델의 성능은 역할(Role)에 따라 다르게 나타남을 강조합니다.
핵심 포인트
- 기존 체크리스트 기반 평가는 작성자의 생각과 일치하는 결과에만 보상하는 편향을 가짐
- 체크리스트 외의 새로운 발견 사항(new findings)을 별도로 측정해야 함
- 모델의 우수성은 단일 순위가 아닌 수행하는 역할(Editor vs Reviewer)에 따라 달라짐
- 단일 모델의 승자를 찾기보다 서로를 보완하는 모델 조합을 찾는 것이 중요함
최근에 세 가지 AI 코딩 어시스턴트 (AI coding assistants)를 비교하기 위해 작은 평가를 진행했습니다. 작업은 간단해 보였습니다. 각 모델에 동일한 엔지니어링 산출물 (engineering artifact)을 제공하고, 작업을 검토하도록 요청한 다음, 미리 준비한 체크리스트 (checklist)에 따라 결과를 점수화하는 것이었습니다.
저는 어떤 모델이 더 나은 검토자인지를 알게 될 것이라고 기대했습니다. 대신, 저는 훨씬 더 불편한 사실을 깨달았습니다. 제 평가 방식으로는 제가 실제로 원하는 행동에 보상을 줄 수 없었다는 점입니다.
스코어카드에는 사각지대가 있었다
체크리스트는 유능한 검토자라면 제기할 것으로 예상되는 모든 범주의 문제를 다루었습니다. 각 발견 사항 (finding)이 체크리스트와 일치하면 점수를 부여했습니다. 객관적으로 보였습니다 — 목록에 없는 발견 사항들이 어떻게 처리되는지 깨닫기 전까지는 말입니다.
그것들은 자동으로 거짓 양성 (false positives)이 되었습니다.
다시 말해, 제 평가는 제가 놓친 무언가를 발견한 모델에게 보상을 줄 수 없었습니다. 오직 제 생각과 일치하는 것에만 보상을 주었습니다.
저는 "누가 더 검토를 잘하는가"를 측정하고 있었던 것이 아닙니다. 저는 "누가 나처럼 생각하는가"를 측정하고 있었습니다. 이 둘은 같은 질문이 아닙니다.
해결책은 더 나은 체크리스트가 아니었다
처음에는 단순히 더 완벽한 체크리스트가 필요하다고 생각했습니다. 하지만 그것만으로는 충분하지 않았습니다. 아무리 확장하더라도 제가 예상하지 못한 것들은 항상 존재할 것이기 때문입니다.
그래서 저는 결과를 두 가지 범주로 나누었습니다: 예상된 발견 사항 (expected findings), 그리고 체크리스트 외의 새로운 발견 사항 (new findings outside the checklist).
중요한 부분은 두 번째 열을 만드는 것이 아니었습니다. 그것을 제가 직접 판단하기를 거부하는 것이었습니다. 만약 그 열의 전체 목적이 제가 알아차리지 못한 것들을 포착하는 것이라면, 그 발견 사항들이 가치 있는지 결정하기에 저는 가장 자격이 없는 사람입니다. 그래서 다른 누군가가 그 발견들을 독립적으로 검토했습니다.
그것이 평가를 완전히 바꾸어 놓았습니다.
결과는 저를 놀라게 했다
새로운 범주를 통해 원래의 체크리스트에는 없었던 두 가지 실제적인 문제들이 도출되었습니다. 둘 다 제가 간과했던 것들이었습니다.
더욱 흥미로운 점은, 각각의 문제들이 서로 다른 모델에서 도출되었으며, 두 모델 중 어느 것도 상대 모델이 발견한 내용을 드러내지 않았다는 것입니다. 만약 제가 단 하나의 "승자"를 선택했더라면, 그 두 가지 문제 중 하나는 결코 나타나지 않았을 것입니다.
그 점은 저로 하여금 질문 자체를 다시 생각하게 만들었습니다. _"어떤 리뷰어가 가장 뛰어난가?"_라고 묻는 대신, _"어떤 리뷰어들이 서로를 보완하는가?"_라고 묻기 시작했습니다. 이 둘은 매우 다른 평가 목표입니다.
모델보다 역할이 더 중요했다
또 다른 관찰 결과 역시 매우 흥미로웠습니다. 작업이 "명시적인 지침을 따르고 결과물을 수정하는 것"일 때는 모델들의 성능이 비슷했습니다. 하지만 작업이 "아무도 명시적으로 찾아달라고 요청하지 않은 것을 찾아내는 것"이 되었을 때, 모델 간의 차이는 훨씬 더 커졌습니다.
순위는 보편적이지 않았습니다. 그것은 역할 (Role)에 따라 달라졌습니다.
지나고 보면 당연한 소리처럼 들리겠지만, 많은 비교 연구들은 모델이 모든 엔지니어링 작업에 대해 단일한 글로벌 순위 (Global ranking)를 가진다고 은연중에 가정합니다. 저의 실험은 그렇지 않다는 것을 시사했습니다. 에디터 (Editor)를 선택하는 것과 리뷰어 (Reviewer)를 선택하는 것은 완전히 다른 두 가지 최적화 문제 (Optimization problems)일 수 있습니다.
나에게 일어난 변화
저는 여전히 체크리스트 (Checklists)를 사용합니다. 체크리스트는 평가를 반복 가능하게 만들기 때문에 가치가 있습니다. 하지만 이제 저는 그것을 측정의 절반으로만 취급합니다. 나머지 절반은 체크리스트가 예측할 수 없었던 발견들을 명시적으로 찾아내는 것입니다.
그렇지 않으면, 평가는 일치하는 것에 보상하는 데는 놀라울 정도로 뛰어나지만, 당신이 실제로 누군가 알아차려 주기를 바랐던 것을 찾아내는 데는 놀라울 정도로 형편없게 됩니다.
공개 사항: 저는 이 글의 영어 표현을 개선하기 위해 AI의 도움을 받았습니다. 엔지니어링 경험, 분석 및 결론은 저의 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기