Benchmark · coding

Commit-0

0 resultados 0 modelos

O Commit-0 mede se um agente de programação consegue implementar uma biblioteca Python inteira do zero, dispondo apenas da sua especificação — as assinaturas de funções e classes com docstrings mais um conjunto oculto de testes unitários. A métrica principal é a fração de testes unitários que passam.

Saiba mais
Exemplo
Dado o esqueleto de uma biblioteca Python real — cada módulo, classe e função presente como um stub tipado com docstring, mas de corpo vazio —, implementar todos eles para que o próprio conjunto de testes da biblioteca fique verde (por exemplo, preencher as funções de análise, serialização e utilitárias de uma biblioteca pequena a partir de seus docstrings).
Pontuação
A pontuação é a taxa de testes unitários aprovados: o conjunto pytest de cada biblioteca roda em um ambiente isolado e a biblioteca recebe a fração de testes que passam, agregada nas 54 bibliotecas do benchmark. Algumas configurações também exigem que o código passe nas verificações de lint e de tipos.
Verificação
Um resultado é aceito executando o conjunto de testes oculto dentro de um contêiner Docker reproduzível — o pytest é o oráculo, então um teste só conta quando de fato passa, sem comparação com uma saída de referência. Execuções com agente podem iterar com o feedback dos testes e do lint, mas a pontuação final reexecuta o conjunto a partir de um checkout limpo.
Por que importa
Ele vai além da geração de uma função ou de um único arquivo (HumanEval, SWE-bench) rumo à síntese de uma biblioteca inteira a partir de uma especificação, avaliando o planejamento de longo prazo, a coerência entre módulos e a capacidade de cumprir um contrato de API real — muito mais próximo de entregar software de verdade.
Exemplo resolvido
Tarefa
Um stub de uma função dentro do esqueleto de uma biblioteca, a ser implementado para que seus testes ocultos passem: ```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 ```
Solução
```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)
```
Explicação
O corpo respeita o contrato do docstring: divide por «.», rejeita com ValueError qualquer coisa que não tenha exatamente três partes e converte cada parte para int. A avaliação roda o conjunto pytest oculto da biblioteca no sandbox, e este item passa apenas quando todas as asserções sobre parse_version se sustentam.

Ainda não há pontuações verificadas para este benchmark.