Benchmark · coding

Commit-0

0 resultados 0 modelos

Commit-0 mide si un agente de programación puede implementar una biblioteca de Python completa desde cero, contando solo con su especificación: las firmas de funciones y clases con docstrings más un conjunto oculto de pruebas unitarias. La métrica principal es la fracción de pruebas unitarias que pasan.

Leer más
Ejemplo
Dado el esqueleto de una biblioteca de Python real —cada módulo, clase y función presente como un stub tipado con docstring pero de cuerpo vacío—, implementarlos todos para que el propio conjunto de pruebas de la biblioteca pase en verde (por ejemplo, completar las funciones de análisis, serialización y utilidades de una biblioteca pequeña a partir de sus docstrings).
Puntuación
La puntuación es la tasa de pruebas unitarias superadas: el conjunto pytest de cada biblioteca se ejecuta en un entorno aislado y la biblioteca obtiene la fracción de pruebas que pasan, agregada sobre las 54 bibliotecas del benchmark. Algunas configuraciones exigen además que el código pase las comprobaciones de lint y de tipos.
Verificación
Un resultado se acepta ejecutando el conjunto de pruebas oculto dentro de un contenedor Docker reproducible: pytest es el oráculo, así que una prueba cuenta solo cuando realmente pasa, sin cotejo con una salida de referencia. Las ejecuciones con agente pueden iterar con la retroalimentación de las pruebas y del lint, pero la puntuación final vuelve a ejecutar el conjunto desde un checkout limpio.
Por qué importa
Va más allá de la generación de una función o un solo archivo (HumanEval, SWE-bench) hacia la síntesis de una biblioteca completa a partir de una especificación, evaluando la planificación a largo plazo, la coherencia entre módulos y la capacidad de cumplir un contrato de API real, mucho más cerca de entregar software de verdad.
Ejemplo resuelto
Tarea
Un stub de una función dentro del esqueleto de una biblioteca, que se debe implementar para que sus pruebas ocultas pasen: ```python def parse_version(text: str) -> tuple[int, int, int]: """Parse a semantic version 'MAJOR.MINOR.PATCH' into a tuple of ints. Raises ValueError if text is not three dot-separated integers. """ raise NotImplementedError ```
Solución
```python
def parse_version(text: str) -> tuple[int, int, int]:
    parts = text.split(".")
    if len(parts) != 3:
        raise ValueError(f"invalid version: {text!r}")
    major, minor, patch = (int(p) for p in parts)
    return (major, minor, patch)
```
Explicación
El cuerpo respeta el contrato del docstring: divide por «.», rechaza con ValueError cualquier cosa que no tenga exactamente tres partes y convierte cada parte a int. La calificación ejecuta el conjunto pytest oculto de la biblioteca en el entorno aislado, y este ítem pasa solo cuando se cumplen todas las aserciones sobre parse_version.

Aún no hay puntuaciones verificadas para este benchmark.