Guias
Escolher entre candidatos
oloproof select escolhe, entre várias versões de um sistema, a melhor que atende a cada requisito, e diz à parte se ela está mesmo à frente da seguinte. Use-o quando tiver, por exemplo, três agentes, dois prompts ou quatro configurações de recuperação, e um só conjunto de requisitos.
Por que não escolher os melhores números
Escolher o candidato mais barato cujos números passam dos limites tem dois problemas. Um 91% medido contra um limite de 90% está um ponto acima, dentro do ruído de mil casos. E quando você olha vários candidatos, o que passou do limite por sorte é o que você escolhe. Por isso cada candidato precisa primeiro estabelecer cada regra sozinho, com um nível de confiança mais rigoroso porque vários são examinados: com três candidatos e uma política de 95%, cada um é decidido a 98.33% (1 - 0.05/3). Só os candidatos que passam em todas as regras são classificados, e um mais barato nunca pode trocar uma regra de segurança pelo seu custo.
Declarar uma seleção
Escreva um arquivo de seleção ao lado do seu projeto e decida-o sob o release.yaml do projeto:
select:
candidates:
agent_a: run_01JC8Q2X7D
agent_b: agent_b.yaml
agent_c: agent_c.yaml
objective:
metric: cost_per_task
direction: minimizeUm candidato é um id de execução armazenado, ou um arquivo de projeto que oloproof select executa primeiro. Uma execução que ele pode reutilizar não custa nada novo. A política só pode conter regras de execução, e a parada antecipada precisa estar desligada.
oloproof select select.yaml
oloproof select select.yaml --save--save também grava a seleção para o workbench local, em Candidates.
Ler a resposta
Há três resultados:
- Um candidato é selecionado e sua vantagem sobre o segundo está estabelecida: a comparação pareada dos dois no objetivo é PASS.
- Um candidato é selecionado e sua vantagem não está estabelecida: o segundo teria sido uma escolha igualmente defensável com estas evidências.
- Nenhum candidato se qualifica: as regras de cada candidato são listadas com suas respostas, para você ver o que falta.
O comando sai com 0 quando um candidato é selecionado e com 3 quando nenhum se qualifica.
Um exemplo completo
Três agentes precisam atingir uma taxa de sucesso de pelo menos 90% e uma taxa de violações de no máximo 1%; o objetivo é o menor custo por tarefa.
| Agente | Sucesso | Violações | Custo por tarefa |
|---|---|---|---|
| A | 94% | 0.5% | $18 |
| B | 91% | 0.1% | $12 |
| C | 96% | 2% | $30 |
Cada um é decidido a 98.33%. Com 1,000 casos nenhum agente se qualifica: a taxa de violações de A ainda não foi mostrada abaixo de 1%, os 91% de B estão perto demais de 90% para serem estabelecidos, e C rompe o teto de violações. A resposta é "nenhum candidato se qualifica", com o que falta a cada um. Com 3,000 casos A estabelece as duas regras e é selecionado. B é mais barato, mas seu sucesso ainda não está estabelecido, então ele nunca é classificado: escolher B pelos números entregaria um requisito que ninguém demonstrou.
Compartilhar uma seleção
oloproof select select.yaml --save guarda a seleção para o workbench. oloproof push --selection ID a envia ao workspace hospedado com a execução de cada candidato, pela política de egress do projeto; ID é o nome da pasta em .oloproof/bundles/ ou o digest da seleção. Antes de guardar a seleção, o workspace a refaz a partir das execuções que tem, sob a política com que essas execuções foram decididas, e só a guarda se o resultado for o mesmo: uma cujo resultado ou frases foram editados, que nomeia uma execução que o projeto não tem, ou que o motor não faz a partir dessas execuções, é recusada, e nada é armazenado. Então decida as execuções dos candidatos sob a política da seleção antes de enviá-las. A página Candidates do projeto a lista, e a página dela a mostra exatamente como o workbench local.
Um Owner ou Admin pode fazer dela uma página de evidência a partir da página da seleção: o resultado, o nível e, para cada candidato, o nome, o id da execução e as regras no nível corrigido, com o rótulo "Reported by the developer", nunca o conteúdo de um caso.
Próximos passos
- Regras de comparação cobre a comparação pareada que decide a vantagem.
- Gating cobre as regras a que cada candidato está sujeito.