Metodologia do Coding Agent Index
Visão geral
A Artificial Analysis avalia agentes de programação em tarefas completas de engenharia de software. O objetivo é medir a capacidade dos agentes de concluir trabalhos realistas de programação e como seu desempenho varia em termos de resultado, confiabilidade, uso de tokens, custo e tempo de execução.
Os resultados públicos na página do Coding Agent Index são construídos com base nas tentativas de cada tarefa do benchmark e agregados em pontuações por avaliação, métricas combinadas de eficiência e no Artificial Analysis Coding Agent Index.
Esta página se concentra na construção do Artificial Analysis Coding Agent Index público, nos componentes de benchmark incluídos atualmente e na forma como são calculadas as métricas públicas de pass@1, custo, uso de tokens e tempo de execução.
Artificial Analysis Coding Agent Index
O Artificial Analysis Coding Agent Index público atual é uma pontuação composta de benchmark, construída com base nos componentes configurados na suíte pública de agentes de programação.
O objetivo do índice não é reduzir todo o trabalho de programação a um único tipo de tarefa de benchmark. Diferentes agentes de programação podem apresentar desempenhos muito distintos em perguntas e respostas sobre repositórios, tarefas de implementação e correção de bugs e fluxos de trabalho com uso intenso do terminal. O índice resume essas diferentes famílias de benchmarks em uma visão geral do desempenho, preservando o detalhamento por benchmark.
Componentes do índice
O índice público atual inclui os seguintes componentes de benchmark:
| Avaliação | Área | Tarefas | Tentativas por tarefa | Tipo de resposta | Pontuação |
|---|---|---|---|---|---|
| DeepSWE | Engenharia de software de longo horizonte | 113 | 3 | Patch de código / alterações no repositório | Aprovação/reprovação pelo verificador do programa, pass@1 |
| Terminal-Bench v2 | Uso agêntico do terminal | 84* | 3 | Execução de tarefas pelo terminal | Aprovação/reprovação na suíte de testes, pass@1 |
| SWE-Atlas-QnA | Perguntas e respostas sobre repositórios | 124 | 3 | Resposta aberta | Task Resolve Rate da Scale AI (aprovação/reprovação binária), pass@1 |
* O Terminal-Bench v2 contém originalmente 89 tarefas; excluímos cinco delas devido a problemas de compatibilidade do ambiente.
Tarefas avaliadas
O índice público atual abrange 321 tarefas avaliadas nos 3 componentes de benchmark.
- Add iterable collection combinators to true-myth
- Abort pending body reads on shutdown
- Add rolling min, max, median, and quantile methods
- Format BigQuery pipe syntax queries correctly
- Add unified manifest stream output across Helm commands
- Add a deterministic CookieStore with modern Set-Cookie parsing
- Preserve restored query state in persisted snapshots
- Add an error-accumulating Validated container
- Add a persistent analysis cache to Vulture
- Add multi-module memory snapshots to wazero
- Add JSONPath query APIs to orderedmap and Starlark modules
- Add a per-origin circuit breaker to ofetch
- Add stepped slices for arrays and strings
- Add `matchEach` to ts-pattern
- Harden module loading, cache introspection, and script flags
- Add action pinning linting for actions and reusable workflows
- Add typed window function builders with OVER clauses
- Add typed blend range access and blend-if compositing
- Add deterministic map conflict detection to Y.Map writes
- Add dependency-aware async initialization to the container
- Add multipart response parsing to HTTPX
- Add scoped per-rule ignore markers to Obsidian Linter
- Partition report files by launcher and expand report templates
- Add keyset cursor pagination to `$find`
- Add ShapeIndex encoding and decoding
- Add entity snapshot and rollback APIs to Koota
- Restore RichLog follow-state parity and expand reflow behavior
- Add duration-aware sharding to Vitest
- Add grouped test phases with synchronized barriers
- Add bidirectional TOML table converters
- Add go:embed directive support for interpreted packages
- Add task snapshots, inspection, and diffing to aiomonitor
- Add drift detection and compliance baselines
- Expose accumulated streamed function-call args in SDK surfaces
- Add grouping-set and window-frame SQL helpers
- Add rule evaluation profiling to Rego
- Add typed variable bindings to Anko
- Add multiplexed ordered streams over KCP
- Add single-active-consumer priority and cancel tracking to virtual transports
- Reconstruct template strings in partial evaluation output
- Add bounded-memory spilling to SCC aggregation
- Fix isolated Go-side calls for Tengo callables and closures
- Add interprocedural taint checks for Bandit injection sinks
- Add deterministic multi-key sorting to fd
- Add task graph export with JSON, DOT, and text output
- Add default arguments to Anko function parameters
- Add deprecation, sunset, and successor headers to FastAPI routes
- Add a checker for broken doc comment links
- Add boundary modes to `@stencil`
- Add retry-aware publishing audit logs
- Add method declarations and interface dispatch to Scriggo
- Add partial structuring with error recovery to cattrs
- Add conditional required attributes to schemas
- Add worktree merge conflict handling
- Add session bundle recording and replay to IPython
- Add flattened dataclass fields to Mashumaro field options
- Add build-time grammar conflict analysis to participle
- Add XML diff, patch, and merge operations to etree
- Add streaming JSON iteration to HTTPX responses
- Validate daemon watch, status, and log lifecycle
- Add recursive schema composition to Valibot
- Add input key aliases to name mapping
- Add durability callbacks and wait APIs for sync writes
- Add duration encoding to TableVectorizer
- Add safe import checkpoints and invariant validation
- Add shorthand expansion and compression to the lexer
- Add RFC 5545 timezone interoperability to dateutil recurrence parsing
- Add atomic signal selectors to Kea
- Add consistent hash policy support to TrafficPolicy
- Fix PromQL label sorting across typed and untyped values
- Format CREATE TABLE DDL and add DDL parsing helpers
- Add trap coredump generation to wasmi
- Add hierarchical evaluation cancellation to Boa
- Add value-based query predicates to Koota
- Add request coalescing to `Runnable`
- Add explicit resource management declarations to the parser
- Add lazy recursive schemas with DTO and JSON Schema export
- Persist the fitted feature schema across evaluate, predict, serve, and export
- Add composite trait aspects to Koota
- Add tube multiplexing to pwntools
- Add scoped state data to state machine callbacks and history
- Add destructuring bindings to Tengo
- Add JSON Schema refs and dependency keywords
- Add link format conversion between wiki and markdown syntax
- Add implicit HEAD and automatic OPTIONS responses to FastAPI routes
- Add transparent encryption to dump uploads
- Add conditional option dependencies to Optique
- Preserve structure needed by stylesheet selectors
- Add policy-based alerting for failures, latency, and SSL expiry
- Add incremental cache controls to Bandit
- Coalesce qualifying choices into character classes
- Preserve ANSI resets during truncation and styling
- Add async autocomplete options and fetch lifecycle handling
- Add config file parsing to Cliffy commands
- Add HTML document format handling to Dasel
- Add CSS Grid layout to the Box component
- Add `\multicolumn` column spans to array-like environments
- Add a deferred mutation buffer to batch entity changes
- Add automatic table of contents generation for Obsidian linter
- Implement a deterministic IntersectionObserver in Happy DOM
- Add pair-level relation tracking modifiers
- Add error stack serialization to SuperJSON
- Complete Kitty keyboard phases and stable fallback key metadata
- Add structured nosec directives for regions and next line
- Add bail-on-test-failure handling to Testem
- Add try/catch error recovery to expr
- Add configurable array merge strategies to Helm value coalescing
- Implement recursive agent delegation through delegate_task tool calls
- Add SSE streaming endpoints to HttpApi
- Add transactional reload status and rollback tracking to Prometheus
- Add GraphQL incremental delivery with @defer and @stream
- Add dead-lettering, TTL, and overflow handling to virtual queues
- Reuse one toolbar across multiple Quill editors
- adaptive-rejection-sampler
- bn-fit-modify
- break-filter-js-from-html
- build-cython-ext
- build-pmars
- build-pov-ray
- caffe-cifar-10
- cancel-async-tasks
- chess-best-move
- circuit-fibsqrt
- cobol-modernization
- code-from-image
- compile-compcert
- configure-git-webserver
- constraints-scheduling
- count-dataset-tokens
- crack-7z-hash
- custom-memory-heap-crash
- db-wal-recovery
- distribution-search
- dna-assembly
- dna-insert
- extract-elf
- extract-moves-from-video
- feal-differential-cryptanalysis
- financial-document-processor
- fix-code-vulnerability
- fix-git
- fix-ocaml-gc
- gcode-to-text
- git-leak-recovery
- git-multibranch
- headless-terminal
- hf-model-inference
- install-windows-3.11
- kv-store-grpc
- large-scale-text-editing
- largest-eigenval
- llm-inference-batching-scheduler
- log-summary-date-ranges
- mailman
- make-mips-interpreter
- mcmc-sampling-stan
- merge-diff-arc-agi-task
- model-extraction-relu-logits
- modernize-scientific-stack
- mteb-leaderboard
- mteb-retrieve
- multi-source-data-merger
- nginx-request-logging
- openssl-selfsigned-cert
- overfull-hbox
- password-recovery
- path-tracing
- path-tracing-reverse
- polyglot-c-py
- polyglot-rust-c
- portfolio-optimization
- protein-assembly
- prove-plus-comm
- pypi-server
- pytorch-model-cli
- pytorch-model-recovery
- qemu-alpine-ssh
- qemu-startup
- query-optimize
- raman-fitting
- regex-chess
- regex-log
- reshard-c4-data
- rstan-to-pystan
- sam-cell-seg
- sanitize-git-repo
- schemelike-metacircular-eval
- sparql-university
- sqlite-db-truncate
- sqlite-with-gcov
- torch-pipeline-parallelism
- torch-tensor-parallelism
- train-fasttext
- tune-mjcf
- video-processing
- vulnerable-secret
- winning-avg-corewars
- 6905333b74f22949d97ba998
- 6905333b74f22949d97ba999
- 6905333b74f22949d97ba99a
- 6905333b74f22949d97ba99b
- 6905333b74f22949d97ba99d
- 6905333b74f22949d97ba99f
- 6905333b74f22949d97ba9a2
- 6905333b74f22949d97ba9a3
- 6905333b74f22949d97ba9a4
- 6905333b74f22949d97ba9a5
- 6905333b74f22949d97ba9a6
- 6905333b74f22949d97ba9a7
- 6905333b74f22949d97ba9a8
- 6905333b74f22949d97ba9a9
- 6905333b74f22949d97ba9aa
- 6905333b74f22949d97ba9ab
- 6905333b74f22949d97ba9ac
- 6905333b74f22949d97ba9ad
- 6905333b74f22949d97ba9ae
- 6905333b74f22949d97ba9af
- 6905333b74f22949d97ba9b1
- 6905333b74f22949d97ba9b2
- 6905333b74f22949d97ba9b3
- 6905333b74f22949d97ba9b5
- 6905333b74f22949d97ba9b6
- 6905333b74f22949d97ba9b7
- 6905333b74f22949d97ba9b8
- 6905333b74f22949d97ba9ba
- 6905333b74f22949d97ba9bb
- 6905333b74f22949d97ba9bc
- 6905333b74f22949d97ba9bd
- 6905333b74f22949d97ba9be
- 6905333b74f22949d97ba9bf
- 6905333b74f22949d97ba9c0
- 6905333b74f22949d97ba9c1
- 6905333b74f22949d97ba9c2
- 6905333b74f22949d97ba9c3
- 6905333b74f22949d97ba9c4
- 6905333b74f22949d97ba9c5
- 6905333b74f22949d97ba9c6
- 6905333b74f22949d97ba9c8
- 6905333b74f22949d97ba9c9
- 6905333b74f22949d97ba9ca
- 6905333b74f22949d97ba9cb
- 6905333b74f22949d97ba9cc
- 6905333b74f22949d97ba9cd
- 6905333b74f22949d97ba9ce
- 6905333b74f22949d97ba9cf
- 6905333b74f22949d97ba9d0
- 6905333b74f22949d97ba9d1
- 6905333b74f22949d97ba9d2
- 6905333b74f22949d97ba9d3
- 6905333b74f22949d97ba9d4
- 6905333b74f22949d97ba9d5
- 6905333b74f22949d97ba9d6
- 6905333b74f22949d97ba9d7
- 6905333b74f22949d97ba9d8
- 6905333b74f22949d97ba9d9
- 6905333b74f22949d97ba9db
- 6905333b74f22949d97ba9dc
- 6905333b74f22949d97ba9dd
- 6905333b74f22949d97ba9de
- 6905333b74f22949d97ba9e0
- 6905333b74f22949d97ba9e1
- 6905333b74f22949d97ba9e3
- 6905333b74f22949d97ba9e4
- 6905333b74f22949d97ba9e5
- 6905333b74f22949d97ba9e7
- 6905333b74f22949d97ba9e8
- 6905333b74f22949d97ba9e9
- 6905333b74f22949d97ba9eb
- 6905333b74f22949d97ba9ee
- 6905333b74f22949d97ba9f0
- 6905333b74f22949d97ba9f1
- 6905333b74f22949d97ba9f2
- 6905333b74f22949d97ba9f4
- 6905333b74f22949d97ba9f5
- 6905333b74f22949d97ba9f7
- 6905333b74f22949d97ba9f8
- 6905333b74f22949d97ba9f9
- 6905333b74f22949d97ba9fa
- 6905333b74f22949d97ba9fb
- 6905333b74f22949d97ba9fc
- 6905333b74f22949d97ba9fd
- 6905333b74f22949d97ba9ff
- 6905333b74f22949d97baa01
- 6905333b74f22949d97baa02
- 6905333b74f22949d97baa03
- 6905333b74f22949d97baa04
- 6905333b74f22949d97baa05
- 6905333b74f22949d97baa06
- 6905333b74f22949d97baa07
- 6905333b74f22949d97baa09
- 6905333b74f22949d97baa0b
- 6905333b74f22949d97baa0c
- 6905333b74f22949d97baa0d
- 6905333b74f22949d97baa0f
- 6905333b74f22949d97baa10
- 6905333b74f22949d97baa11
- 6905333b74f22949d97baa12
- 6905333b74f22949d97baa14
- 6905333b74f22949d97baa15
- 6905333b74f22949d97baa16
- 6905333b74f22949d97baa17
- 6905333b74f22949d97baa19
- 6905333b74f22949d97baa1a
- 6905333b74f22949d97baa1b
- 6905333b74f22949d97baa1c
- 6905333b74f22949d97baa1d
- 6905333b74f22949d97baa1e
- 6905333b74f22949d97baa1f
- 6905333b74f22949d97baa20
- 6905333b74f22949d97baa21
- 6905333b74f22949d97baa22
- 6905333b74f22949d97baa23
- 6905333b74f22949d97baa24
- 6905333b74f22949d97baa25
- 6905333b74f22949d97baa26
- 6905333b74f22949d97baa27
- 6905333b74f22949d97baa28
- 6905333b74f22949d97baa2a
- 6905333b74f22949d97baa2b
- 6905333b74f22949d97baa2c
- 6905333b74f22949d97baa2d
O que o índice agrega
Para cada variante de agente, a Artificial Analysis calcula uma pontuação pass@1 em cada componente de benchmark incluído e então agrega essas pontuações no índice público.
A mesma suíte de benchmarks também serve de base para as métricas públicas combinadas de eficiência na página do benchmark, incluindo custo de execução, uso de tokens e tempo de execução. Isso significa que as visões de desempenho e eficiência estão alinhadas à mesma cobertura de benchmarks subjacente, em vez de serem obtidas de execuções sem relação entre si.
Pontuação e resultados
Resultados de pass@1
Cada tentativa avaliada recebe um resultado pass@1 do avaliador do benchmark. O SWE-Atlas-QnA usa uma pontuação binária de aprovação/reprovação alinhada à metodologia Task Resolve Rate da Scale AI: tentativas aprovadas recebem pontuação 1, enquanto tentativas reprovadas ou com erro recebem 0.
| Termo | Definição |
|---|---|
| pass@1 binário | Resultado de uma avaliação por suíte de testes em que uma tarefa recebe 1 se aprovada ou 0 se reprovada. |
Pontuações por avaliação
Em cada avaliação, a Artificial Analysis primeiro calcula a média das três tentativas avaliadas em cada tarefa e depois calcula a média dessas pontuações pass@1 por tarefa, para que todas as tarefas tenham o mesmo peso.
Métricas de eficiência
O custo, o uso de tokens e o tempo de execução são informados como médias combinadas por tentativa de tarefa em toda a suíte pública atual de benchmarks de agentes de programação.
- Custo de execução: custo médio da API com cobrança por token em cada tarefa, com base no preço dos tokens do provedor, e não em planos para consumidores.
- Uso de tokens: média de tokens de entrada, em cache, de escrita em cache, de raciocínio e de saída por tarefa.
- Tempo de execução: tempo médio decorrido por tarefa, incluindo o tempo total da tarefa e, quando disponível, o subconjunto correspondente ao tempo do agente.
Quando não há telemetria para uma determinada métrica, os valores ausentes são excluídos da média correspondente em vez de serem tratados como zero.
Na métrica de custo, a entrada em cache é tratada separadamente da entrada fora do cache quando o preço do provedor permite essa distinção. As cobranças de escrita em cache são incluídas quando os provedores cobram pela criação do estado do cache de prompts. O objetivo é refletir o preço das APIs com cobrança por token de maneira mais precisa do que uma estimativa fixa por token.
Configurações dos agentes
As linhas públicas do benchmark representam variantes de agentes, e não apenas nomes de modelos. Configurações que podem alterar o comportamento são mantidas separadas nos resultados.
Salvo indicação em contrário, usamos as configurações padrão de raciocínio de cada agente para que o benchmark reflita a experiência padrão do usuário.
A metodologia de benchmarking pode evoluir com o tempo, à medida que novas avaliações e variantes de agentes são adicionadas, mas as comparações públicas buscam refletir variantes equivalentes de agentes dentro da suíte de benchmarks publicada.
Histórico de versões
Versão 1.3
julho de 2026—presente
- Aprimoramento da pontuação binária de aprovação/reprovação do SWE-Atlas-QnA para alinhá-la à metodologia Task Resolve Rate da Scale AI
Versão 1.2
julho de 2026
- Alteração da pontuação do SWE-Atlas-QnA de recompensa por rubrica para aprovação/reprovação binária, exigindo que todos os critérios da rubrica sejam atendidos para que uma tarefa seja considerada correta
Versão 1.1
junho de 2026—julho de 2026
- Adição do DeepSWE (engenharia de software de longo horizonte)
- Remoção do SWE-Bench-Pro-Hard-AA do Coding Agent Index
Versão 1.0
maio de 2026—junho de 2026
- Lançamento inicial com SWE-Bench-Pro-Hard-AA (geração de código), Terminal-Bench v2 (uso agêntico do terminal) e SWE-Atlas-QnA (perguntas e respostas sobre repositórios)