AI가 변경되는 소프트웨어 사양을 따라잡을 수 있는지 테스트해보다
요약
본 글은 AI 모델이 소프트웨어 개발 과정에서 발생하는 지속적인 요구사항 변경(SpecDrift)을 얼마나 정확하게 추적하고 현재의 사양을 재구성할 수 있는지 테스트하는 벤치마크 'SpecDrift'를 소개합니다. 이 벤치마크는 접근 및 신원 관리 등 다양한 시나리오를 다루며, 구조화된 출력 평가 방식을 채택했습니다.
핵심 포인트
- AI 모델의 사양 추적 능력 검증을 위한 SpecDrift 벤치마크 제시
- 접근/신원(Access & Identity) 분야에서 5가지 변경 시나리오 테스트
- 평가 시스템이 너무 제한적일 경우 정확한 답변에 페널티를 줄 수 있음을 발견
- 모델의 요구사항 재구성 및 구식 정보 구분 능력을 핵심 질문으로 설정
이 글은 Kaggle Benchmarking Challenge에 제출하는 내용입니다.
벤치마킹한 것들
소프트웨어 사양은 거의 정적이지 않습니다. 팀은 비밀번호 인증을 OAuth로 대체하거나, 권한을 강화하거나, 게스트 액세스를 도입하면서도 게스트는 읽기 전용으로 유지할 수 있습니다.
저는 AI 모델이 변경되는 요구사항 시퀀스로부터 현재의 사양을 재구성할 수 있는지 테스트하기 위해 SpecDrift라는 벤치마크를 만들었습니다.
저의 첫 번째 과제인 접근 및 신원(Access & Identity)은 다섯 가지 시나리오를 다룹니다:
- 이메일/비밀번호 인증을 Google OAuth로 대체하는 것.
- 고객 데이터 내보내기를 관리자로 제한하는 것.
- 비밀번호 인증을 이메일 매직 링크로 대체하는 것.
- 게스트가 편집하지 않고 공개 대시보드 페이지를 볼 수 있도록 허용하는 것.
- 소유자(owner) 역할을 관리자(administrator)로 이름을 바꾸고 그 권한을 이전하는 것.
이 과제는 설명이 얼마나 설득력 있게 들리는지에 전적으로 의존하기보다는, 명시적인 최종 상태 필드와 변경된 키 식별을 평가합니다.
테스트 모델들
저의 초기 기준선(baseline)은 google/gemini-3.7-flash였습니다.
저는 소프트웨어 팀이 그럴듯한 자연어 설명뿐만 아니라, 다운스트림 시스템에서 사용할 수 있는 기계가 읽을 수 있는 사양을 필요로 하기 때문에 구조화된 출력 평가를 선택했습니다.
추가 사용 가능한 모델과 더 많은 요구사항 카테고리로 벤치마크를 확장할 계획입니다.
발견한 점들
초기 실행에서 Gemini는 **18개 중 16개의 단언(assertions)**을 통과했습니다.
두 번의 실패는 평가자(evaluator)에게서 예상치 못한 문제를 드러냈습니다. 모델은 최종 인증 방법으로 email_magic_link와 게스트 권한으로 read_only를 반환했지만, 저의 정규 표현식(regular expressions)은 밑줄(_)을 허용하지 않았습니다.
이것은 평가가 매칭 규칙이 너무 제한적일 때 정확한 답변에 잘못된 페널티를 부과할 수 있다는 것을 의미합니다. 따라서 이 벤치마크는 두 가지 수준에서 테스트되어야 합니다: 모델이 요구사항을 올바르게 재구성했는지, 그리고 평가자가 유효한 표현을 올바르게 인식하는지 여부입니다.
저는 언더스코어(-)로 구분된 값도 처리할 수 있도록 정규 표현식(regex) 패턴을 업데이트하고 작업을 다시 실행했습니다. 최종 보고 결과는 이 재실행 결과를 반영해야 합니다.
SpecDrift의 근본적인 질문은 모델이 여러 개정 사항을 포함하는 대화에서 현재 요구사항과 구식이 된 요구사항을 얼마나 신뢰성 있게 구분할 수 있는지 여부입니다. 다음 단계로 저는 해당 케이스를 청구(billing), API 통합, 운영(operations), 알림(notifications) 분야로 확장하고 동일한 테스트를 사용하여 더 많은 모델들을 비교해 볼 계획입니다.
저의 벤치마크
https://www.kaggle.com/benchmarks/pratik222/specdrift-can-ai-track-changing-requirements
SpecDrift는 AI 지원 소프트웨어 개발에서 발생하는 실제적인 과제를 탐구합니다: 모델이 사양(specification)이 변경될 때 현재의 진실을 유지할 수 있는가?
#kagglechallenge
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기