신뢰도가 아닌 독립적인 오라클(Oracle)을 통한 AI 에이전트의 자기 수정(Self-Correction) 테스트
요약
AI 에이전트의 자기 수정 과정에서 발생할 수 있는 신뢰도 편향 문제를 해결하기 위해 독립적인 오라클(Oracle)을 활용한 검증 체계 구축 방법을 제안합니다. 모델의 자체 판단 대신 결정론적 테스트와 버전 관리된 증거를 통해 수정의 정확성을 확보하는 것이 핵심입니다.
핵심 포인트
- 모델의 신뢰도(Confidence)와 실제 수정 품질을 구분해야 함
- 독립적인 오라클을 통해 수정 경로를 구축하고 검증할 것
- 모든 입력과 테스트 결과에 버전을 부여하여 추적성을 확보
- 증거가 충돌할 경우 시스템이 기권(Abstain)하도록 설계
- 재시도 횟수를 수정 품질 지표로 오용하지 말 것
“자기 수정(Self-correcting)”은 동일한 모델이 자신의 수정 사항이 올바른지 스스로 결정하기 전까지는 신뢰할 수 있는 것처럼 들립니다. 루프(loop)를 더 많이 돌릴수록 더 나은 코드를 생성하지 못한 채 신뢰도(confidence)만 높아질 수 있습니다.
독립적인 오라클(independent oracle)을 중심으로 수정 경로를 구축하세요:
candidate v1
→ 결정론적 테스트(deterministic tests) 실패
→ 수정 사항이 실패 증거를 인용
...
모든 입력에 버전을 부여하세요:
{
"task": "fixture-17",
"candidate": 2,
...
그 다음 신뢰할 수 없는 증거를 주입해 보세요. 하나의 테스트는 불안정하게(flaky) 만들고, 하나의 오라클은 오래된(stale) 상태로 두며, 하나의 도구는 성공을 허위로 보고하게 만드세요. 증거가 충돌할 때 시스템은 기권(abstain)하거나 검토를 요청해야 합니다. 다른 모델의 응답을 독립적인 검증으로 간주해서는 안 됩니다.
핵심 불변량(Core invariants):
- 수정 사항은 수정하려는 실패를 식별해야 합니다.
- 승인(Acceptance)은 버전이 지정된 오라클을 참조해야 합니다.
- 변경된 오라클은 캐시된 승인을 무효화합니다.
- 재시도 횟수는 결코 수정 품질로 보고되어서는 안 됩니다.
- 분모에는 기권(abstentions)과 잘못된 수정(false corrections)이 포함되어야 합니다.
오픈 소스인 OpenAI Evals repository는 모델 행동을 평가하기 위한 예시와 인프라를 제공합니다. 코딩 에이전트의 경우, 자체적인 한계점이 기록된다는 전제하에 리포지토리 테스트와 정책 체크가 더 작업 특화된 오라클을 형성할 수 있습니다.
MonkeyCode는 멀티 모델 워크플로우를 공개적으로 지원하며, 현재 시작 비용이 무료인 클라우드 플랫폼을 보유하고 있습니다. 이는 외부 비교를 위한 버전 관리된 픽스처(fixture)를 유용하게 만들지만, 저는 실행되지 않은 모델 순위를 게시하거나 MonkeyCode의 신뢰성 결과를 주장하지 않습니다.
저는 MonkeyCode 사용자이며, 해당 프로젝트와 관련이 없습니다. 이 계정은 이 배치 내의 다른 계정들과 운영자가 동일합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기