Navital Labs가 인도 상황을 반영한 과제를 AI 에이전트가 수행하고 채점받는 오픈소스 평가 환경 Navital Gym을 공개했다. 기차 여행 계획, GST 계산, 양식 작성, UPI 결제와 힌디어 고객 지원 등 6개 환경을 제공하며, 채점은 AI 심판이 아니라 명시된 규칙으로 수행한다.
- GitHub 저장소에서 설치할 수 있고, 실시간 리더보드와 결과 문서에서 평가 결과를 볼 수 있다.
- 환경과 과제에는 단순화된 규칙과 합성 데이터를 사용한다. 현재 법률·철도·은행·세금 규정을 설명하는 자료가 아니며, 관련 기관의 제휴나 승인을 받은 것도 아니다.
각 환경은 여행 계획(trip) 55개, GST 업무(gst) 50개, 양식 작성(form) 50개, 고객 지원(support) 50개 핵심 과제와 26개 실험 과제, 여러 문서 대조(form_multidoc) 40개, UPI 결제 업무(upi) 50개로 구성된다. 지원 과제는 힌디어와 힌디어·영어 혼용(Hinglish)을 다루며, 타밀어·벵골어·마라티어는 실험용 분할로 제공한다. 모든 환경의 README에는 단순화된 규칙과 실제 수치의 출처가 적혀 있다.
설치는 PyPI, GitHub 또는 저장소 복제본에서 할 수 있다. 빠른 실행 예시는 pip install navital-gym && navital-gym run --env trip --agent oracle이며, 프로젝트 설명에 따르면 참조 에이전트는 1.00을 출력한다. Python 3.10 이상 표준 라이브러리만으로 핵심 기능과 환경을 실행할 수 있고, Inspect AI·verifiers·OpenEnv 어댑터는 선택 사항이다. OpenAI 채팅 API와 도구 호출을 지원하는 모델도 연결할 수 있으며, API 키는 제공업체의 환경 변수에서 읽는다.
채점기는 샌드박스의 상태를 바탕으로 결과를 다시 계산하며 에이전트가 주장하는 비용이나 점수를 그대로 믿지 않는다. 불가능한 과제에는 불가능하다고 답하고 이유를 밝혀야 하며, 잘못된 이유를 덧붙이면 오답 처리된다. 에이전트에는 프롬프트와 도구, 정책 문구만 보이고 정답과 실행 가능성, 설계자 메모는 공개되지 않는다.
평가 결과와 한계
Navital Labs가 공개한 결과는 결정론적 표본 또는 전체 분할에서 한 번 실행한 pass@1이다. 과제 수가 표본 크기(n)이므로 표본이 작은 칸의 결과는 참고용으로 봐야 한다. ‘easy’는 제작자가 7B~30B 모델도 풀 수 있도록 설계한 난도지만, 난도 표시는 보정된 측정치가 아니다. 아래 표는 소형·중형 모델과 대형 모델의 pass@1 결과다. ‘-’는 결과가 제시되지 않은 항목이다.
| 모델 | trip | form | 여러 문서 양식 | gst | support | upi | trip easy | gst easy | support easy | upi easy |
|---|---|---|---|---|---|---|---|---|---|---|
| claude-haiku-4-5 | 0.31 (n=55) | 0.82 (n=50) | 0.98 (n=40) | 0.82 (n=50) | 0.24 (n=76) | 0.42 (n=50) | 0.67 (n=18) | 1.00 (n=18) | - | 0.61 (n=18) |
| gemini-3.1-flash-lite | 0.20 (n=15) | 0.60 (n=15) | - | - | 0.33 (n=15) | 0.60 (n=15) | - | - | - | - |
| gpt-4o-mini | 0.05 (n=55) | 0.54 (n=50) | 0.33 (n=40) | 0.50 (n=50) | 0.09 (n=76) | 0.18 (n=50) | 0.06 (n=18) | 0.94 (n=18) | - | 0.33 (n=18) |
| openai/gpt-oss-120b | - | - | - | - | - | - | - | 0.94 (n=18) | 0.00 (n=18) | - |
| openai/gpt-oss-20b | - | 0.80 (n=15) | - | - | - | - | - | 1.00 (n=18) | 0.00 (n=18) | - |
| sarvam-105b | 0.20 (n=55) | 0.82 (n=50) | 1.00 (n=40) | 0.78 (n=50) | 0.38 (n=76) | 0.52 (n=50) | - | 1.00 (n=18) | - | - |
| claude-opus-5-5 | 0.58 (n=55) | 1.00 (n=50) | 1.00 (n=40) | 0.98 (n=50) | 0.71 (n=76) | 0.78 (n=50) | - | - | - | - |
| claude-sonnet-5-5 | 0.58 (n=55) | 1.00 (n=50) | 1.00 (n=40) | 1.00 (n=50) | 0.66 (n=76) | 0.68 (n=50) | - | - | - | - |
Navital Labs는 점수가 낮거나 0에 가까운 경우 부분 점수도 함께 살펴야 한다고 설명한다. 부분 점수는 채점 규칙 가운데 통과한 비율의 평균이다.
| 모델 | trip | form | 여러 문서 양식 | gst | support | upi | trip easy | gst easy | support easy | upi easy |
|---|---|---|---|---|---|---|---|---|---|---|
| claude-haiku-4-5 | 0.73 | 0.90 | 0.99 | 0.91 | 0.70 | 0.67 | 0.95 | 1.00 | - | 0.83 |
| gemini-3.1-flash-lite | 0.58 | 0.82 | - | - | 0.73 | 0.87 | - | - | - | - |
| gpt-4o-mini | 0.28 | 0.83 | 0.61 | 0.69 | 0.55 | 0.47 | 0.59 | 0.94 | - | 0.59 |
| openai/gpt-oss-120b | - | - | - | - | - | - | - | 0.94 | 0.76 | - |
| openai/gpt-oss-20b | - | 0.87 | - | - | - | - | - | 1.00 | 0.73 | - |
| sarvam-105b | 0.54 | 0.95 | 1.00 | 0.87 | 0.77 | 0.77 | - | 1.00 | - | - |
평가 결과는 소형·중형 모델이 여러 환경에서 서로 다른 점수를 보인다는 점을 보여주지만, 제작자는 이를 순위표로 보지 말라고 덧붙인다. 표본이 작고 시험한 모델이 가장 강력한 에이전트라고 볼 수 없기 때문이다. 전체 결과에는 형식 오류, 엄격 채점(pass@1, 수정 없음), 부분 점수, 비용, 날짜와 커밋 정보가 포함돼 있다. 모든 결과 행은 같은 채점 코드로 다시 채점했다고 밝혔다.
어댑터에는 스크립트 모델을 이용한 오프라인 종단 간 테스트가 마련돼 있다. 다만 verifiers 0.4.0 v1과 openenv-core 0.3.0 등 아직 초기 단계인 API를 대상으로 작성됐으며, 컨테이너나 호스팅 환경에서 실행한 적은 없다고 명시했다. 새 환경을 만드는 방법은 docs/ENV_AUTHORING.md, 핵심 인터페이스는 docs/CORE-API.md에 설명돼 있다.
코드는 Apache-2.0, 과제 데이터는 CC BY 4.0 라이선스를 따른다. 데이터 라이선스 대상은 navital_gym/envs/*/tasks*.jsonl과 navital_gym/envs/*/FLAG_CHANGES.md이며, 인용 정보는 CITATION.cff에 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요