프레임워크 관리자들은 AI가 생성한 코드에서 비권장 메서드 호출, 잘못된 관용구, 심지어 존재하지 않는 API 호출 등 다양한 문제점을 일상적으로 접하고 있으며, 자신들의 프레임워크에 어떤 코드가 ‘좋은 코드’인지 명확히 인지하고 있습니다. 그러나 이러한 귀중한 지식이 AI 도구의 평가 및 개선 과정에 반영될 수 있는 효과적인 메커니즘이 현재 부재합니다.
제안된 해결책: 커뮤니티 벤치마크
이러한 문제를 해결하기 위해, 관리자들이 직접 자신들의 커뮤니티를 위한 벤치마크를 정의하고 제출할 수 있는 공개 저장소 구축이 제안됩니다. 이 벤치마크는 코드 검토에서 발견되는 실제 패턴을 기반으로 하며, GitHub Actions를 통해 매월 AI 모델에 대해 실행되고 그 결과가 공개될 것입니다.
- 벤치마크 형식: HumanEval 및 SWE-bench와 같은 기존 패턴을 따르며, 각 커뮤니티는 다음을 포함한 자체 품질 기준을 정의합니다.
- 코드 컴파일 여부
- 테스트 통과 여부
- 프레임워크 관례 준수 여부
- 코드 검토 통과 여부
- 예시 벤치마크 구조: ```yaml ecosystem: “hanami” version: “2.2” language: “ruby” tests:
- id: “hanami-routing-001”
category: “routing”
prompt: |
Create a Hanami route that accepts a user ID parameter
and returns JSON with user details
expected_files:
- path: “config/routes.rb”
contains:
- “get ‘/users/:id’” test_command: “bundle exec rspec spec/requests/users_spec.rb” ```
- path: “config/routes.rb”
contains:
- 초기 초점: Ruby (Rails, Hanami, Sinatra), Elixir (Phoenix, LiveView), Go, Rust와 같이 사용자 기반은 있지만 벤치마크 커버리지가 미미한 프레임워크에 우선적으로 집중할 예정입니다.
기대 효과
이러한 커뮤니티 벤치마크는 다음과 같은 긍정적인 효과를 가져올 것으로 기대됩니다.
-
AI 모델 개선: AI 제공자들은 특정 프레임워크에서의 구체적인 실패 사례를 확인하고, 이를 모델 훈련 개선에 직접 활용할 수 있습니다.
-
오픈 소스 영향력 증대: 오픈 소스 관리자들에게 AI 모델 훈련 과정에 대한 실질적인 피드백 채널을 제공하여, 모델 개선 방향에 대한 영향력을 부여합니다.
-
문서화 효과: 벤치마크를 작성하는 과정에서 커뮤니티 내 ‘좋은 코드’에 대한 정의와 관례가 명확하게 문서화됩니다.
-
버전 관리: 벤치마크가 프레임워크의 여러 주요 버전을 포괄하여, AI 도구가 최신 버전의 관례를 빠르게 학습하고 오래된 패턴을 제안하는 지연 시간을 단축시킬 수 있습니다.