akitaonrails/llm-coding-benchmark

Simple benchmark to test the most popular open source and commercial LLMs with automated OpenCode

LLM 코딩 벤치마크

그것이 무엇인가

  • 대규모 언어 모델(LLM)이 작은 Ruby on Rails 애플리케이션을 자율적으로 작성, 빌드, 검증할 수 있는 능력을 측정하는 연구급 벤치마크.
  • 이 스위트는 opencode 도구를 사용하여 각 모델을 두 단계로 실행합니다: (1) Rails 코드 생성, (2) 로컬에서 앱 부팅(Docker 빌드 + docker compose up).
  • 결과는 results/… 아래에 모델별로 저장되고 마크다운 보고서로 요약됩니다.

주요 구성 요소

  • 구성 – config/models.json은 모든 모델(제공자, 슬러그, 선택적 컨텍스트 재정의)을 나열합니다. 벤치마크는 임시 opencode 구성(config/opencode.benchmark.json)을 생성하므로 전역 설정은 변경되지 않습니다.
  • 프롬프트 – prompts/benchmark_prompt.txt(1단계) 및 prompts/benchmark_followup_prompt.txt(2단계)는 모든 실행에서 동일하여 일관된 작업 설명을 보장합니다.
  • 스크립트
    • scripts/warmup_ollama_models.py는 로컬에서 호스팅되는 Ollama 모델이 로드되는지 확인하고 가장 큰 사용 가능한 컨텍스트 창을 보고합니다.
    • scripts/run_benchmark.py는 전체 실험을 주도합니다: 구성을 준비하고, 각 모델에 대해 opencode run --agent build --format json을 호출하고, 원시 로그를 저장하고, result.json으로 정규화하고, 마크다운 보고서를 다시 생성합니다.
    • scripts/analyze_results_runtime.py(scripts/browser_probe.mjs와 함께) 생성된 Rails 프로젝트를 시작하고, Docker를 실행하고, 헤드리스 브라우저를 열어 앱이 작동하는지 확인하려고 시도합니다.
  • 문서 – 방대한 손으로 작성된 분석(docs/*.md)이 점수 루브릭(8개 차원에서 0-100), 모델별 발견 사항, 다중 에이전트 실험, 비용-품질 절충을 설명합니다.

작동 방식

  1. 워밍업 – Python 워밍업 스크립트를 실행하여 각 Ollama 모델의 최대 컨텍스트 크기를 발견합니다.
  2. 벤치마크 구성 생성 – run_benchmark.py는 테스트하려는 모델만 포함하는 최소한의 opencode 구성을 만듭니다.
  3. 실행 – 스크립트는 각 모델에 대해 opencode run을 시작합니다. 도구의 내장 시스템 프롬프트는 모델 제품군(Claude, GPT/Codex, Gemini, Kimi 등)에 따라 다르며, 리포지토리는 이를 알려진 혼동 요인으로 문서화합니다.
  4. 2단계 실행
    • 1단계: 모델이 Rails 코드를 작성합니다.
    • 2단계: 동일한 세션이 계속되어 로컬 및 Docker로 부팅하여 앱을 검증합니다.
  5. 후처리 – 로그가 정규화되고, 런타임 검증이 시도되며, 통합 테이블(docs/report.md, docs/report.nvidia.md)이 다시 생성됩니다.

얻을 수 있는 것

  • 모델별 산출물 – 소스 코드, 원시 opencode 로그, 성공/실패, 런타임, 비용을 요약한 result.json.
  • 집계 보고서 – 전체 점수, 실행당 비용, 벽시계 시간으로 모델을 순위 매기는 마크다운 테이블.
  • 심층 코드 리뷰 – docs/success_report*.md 파일에는 각 모델 출력에 대한 루브릭 기반 감사가 포함되어 있으며, API 환각, 테스트 품질, 아키텍처 결정, 프로덕션 준비 상태를 강조합니다.
  • 다중 에이전트 설정에 대한 통찰 – 플래너 모델이 더 저렴한 실행자에게 작업을 위임하는 실험, 강제 위임 변형 및 오케스트레이션이 언제 도움이 되거나 해가 되는지에 대한 분석.

누가 사용할 수 있는가

  • 새로운 LLM(Claude Opus, DeepSeek, Kimi, Gemini 등)의 코딩 능력을 비교하는 연구자.
  • Ruby/Rails 프로젝트에서 자율 코드 생성을 위한 비용 효율적인 옵션을 평가하는 팀.
  • 실제 빌드 및 Docker 검증 단계를 포함하는 재현 가능한 LLM 벤치마킹 파이프라인에 관심이 있는 모든 사람.

저자가 언급한 한계

  • 시스템 프롬프트는 opencode에 의해 모델 제품군별로 주입되므로, 제품군 간 점수는 모델 품질과 하네스 튜닝을 혼합합니다.
  • 일부 실행은 외부 서비스(OpenRouter, deepclaude shim) 및 특정 변형에 대한 Anthropic 구독 가용성에 의존합니다.
  • 벤치마크는 단일의 비교적 작은 Rails 작업에 초점을 맞추고 있습니다. 결과는 더 큰 코드베이스로 일반화되지 않을 수 있습니다.

모든 세부 사항은 리포지토리의 README에서 직접 가져온 것입니다. 추가 기능은 추론되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트