프로젝트 소개

SelfBench는 사용자 자신의 코드베이스에 대해 코딩 에이전트와 모델을 벤치마킹하는 플랫폼입니다. 병합된 풀 리퀘스트에서 작업을 파생합니다. 각 PR에 대해 변경 전 커밋의 저장소 상태를 재구성하고, PR 자체의 요청을 지침으로 사용하며, 작성 에이전트가 숨겨진 테스트와 참조 솔루션을 생성합니다. 작업은 테스트가 솔루션 없이 실패하고, 원래 구현으로 통과하며, 재실행 시 다시 통과하고, 독립적인 검토를 통과할 때만 수락됩니다. 수락된 작업은 기본 Harbor 작업입니다. 호스팅 웹 앱은 GitHub 로그인, 저장소 연결, 쉬움/중간/어려움 작업의 일괄 생성, 또는 선택된 PR에서 단일 작업 생성을 지원합니다. 배치는 몇 시간 동안 실행될 수 있으며 브라우저를 닫은 후에도 계속됩니다. 사용자는 각 작업의 지침, 환경, 숨겨진 테스트, 참조 패치 및 파이프라인 아티팩트를 검사한 다음 승인하거나 거부할 수 있습니다. 실행은 모델, 하네스 및 샌드박스를 선택합니다. 결과는 정확도를 비용과 비교하고 시험 기록과 점수를 노출합니다. 공개 저장소 결과는 selfbench.dev에 게시할 수 있습니다. 모델 및 샌드박스 액세스는 SelfBench에서 청구와 함께 관리하거나 조직 소유 자격 증명을 통해 제공할 수 있습니다. API 키는 HTTP API를 통한 스크립트 액세스를 제공합니다. 참조 자체 호스팅 배포는 API 및 Temporal 워커용 Cloud Run, Harbor 작업용 선택적 GKE Autopilot 워커, Cloud SQL 및 GCS를 사용하여 GCP를 대상으로 합니다. 프로비저닝은 Terraform, 런타임 비밀용 Secret Manager, GitHub Actions 환경 및 GitHub OAuth를 사용합니다. 로컬 개발에는 Bun 1.3.14+ 및 Docker Compose가 필요하며 API, 워커, Temporal, Postgres 및 로컬 Docker 샌드박스를 함께 실행할 수 있습니다. 프론트엔드 개발은 Vite 핫 리로드를 지원합니다. 이 프로젝트는 MIT 라이선스입니다.