코드 기반 채점은 모델의 출력이 올바른 형식을 따르고 유효한 구문을 가지고 있는지 확인하여 프롬프트 평가에 추가적인 검증 계층을 더합니다. 이는 모델에게 코드, JSON 또는 정규식을 생성하도록 요청할 때 특히 유용합니다.
코드 채점 작동 방식
코드 채점기는 두 가지 주요 기준을 평가합니다:
- 형식 준수 - 출력이 설명 없이 요청된 형식(Python, JSON 또는 regex)만 포함하고 있습니까?
- 유효한 구문 - 출력이 실제로 성공적으로 파싱되거나 컴파일될 수 있습니까?

시스템은 각 형식 유형에 대해 별도의 검증 함수를 사용합니다. 코드가 성공적으로 파싱되면 10점의 완벽한 점수를 받습니다. 파싱이 오류와 함께 실패하면 0점을 받습니다.
검증 함수 설정하기
서로 다른 출력 유형을 검증하기 위해 세 가지 헬퍼 함수가 필요합니다:
이 함수들은 Python의 내장 파싱 기능을 사용하여 구문 유효성을 확인합니다. json.loads() 함수는 JSON을 검증하고, ast.parse()는 Python 추상 구문 트리를 생성하며, re.compile()은 정규식을 검증합니다.
테스트 케이스에 형식 정보 추가하기
테스트 데이터셋은 각 작업에 대해 예상되는 출력 형식을 지정해야 합니다. 데이터셋 생성 프롬프트를 업데이트하여 형식 필드를 포함시키세요:
형식 필드는 해당 특정 작업에서 예상하는 출력 유형에 따라 "json", "python" 또는 "regex"를 포함해야 합니다.
프롬프트 개선하기
코드 채점기로부터 더 나은 결과를 얻으려면 프롬프트 지침을 더 구체적으로 만드세요:
* Respond only with Python, JSON, or a plain Regex
* Do not add any comments or commentary or explanation또한 코드 블록과 중지 시퀀스가 포함된 미리 채워진 어시스턴트 메시지를 사용하여 깔끔한 출력 형식을 보장할 수 있습니다.
점수 결합하기
마지막 단계는 모델 채점기 점수와 구문 채점기 점수를 병합하는 것입니다. 간단한 접근 방식은 두 점수의 평균을 취하는 것입니다:
이는 콘텐츠 품질(모델 채점기로부터)과 기술적 정확성(코드 채점기로부터) 모두에 동등한 가중치를 부여합니다. 특정 사용 사례에서 더 중요한 것에 따라 이 가중치를 조정할 수 있습니다.
결과 해석하기
평가를 실행하면 생성된 코드의 의미론적 품질과 기술적 정확성을 모두 반영하는 결합된 점수를 얻게 됩니다. 단독으로 본 점수 하나는 많은 것을 알려주지 않는다는 점을 기억하세요 - 실제 가치는 프롬프트 설계를 반복하면서 점수를 비교하는 데서 나옵니다.
이 기준 점수를 사용하여 프롬프트 개선 사항을 테스트하고 변경 사항이 실제로 더 나은, 더 신뢰할 수 있는 코드 생성으로 이어지는지 확인하세요.