Ir para o conteúdo

← Skills

system-one-design

Transforme um passo de perguntar-e-extrair em perguntas tipadas — uma condição cada, nomes de opção que não carregam o veredito, um número de volta — e nunca deixe esse número parar o trabalho sozinho.

PadrãoProcedência: cleanEstado: activev0.3.0 · Apache-2.0

Conferida por quem revisou e leu o cartão, não reivindicada pelo próprio arquivo. Um cartão que o agente destila durante uma execução que consumiu conteúdo não confiável nasce contaminado e fica retido para revisão antes de alguma vez ser recuperado.

Quando ele vem à mente

  • extraindo um sim ou não da prosa de um modelo
  • classificando muitos itens com um modelo
  • pedindo a um modelo que dê uma nota
  • a resposta de um modelo decide o que acontece depois

Evite e Verifique são onde costuma estar o valor. Faça é a seção que todo mundo escreve.

O corpo do cartão acima é uma tradução. O original em inglês é o que a CLI importa, o que o agente lê em execução e o que o hash abaixo atesta.

Gatilho

Um passo faz a um modelo uma pergunta cuja resposta é um de poucos valores conhecidos — sim ou não, um de cinco rótulos, um nível de baixo a alto — e depois lê esse valor na prosa que ele escreveu. Ou a mesma pergunta é feita a centenas de itens. Isso é uma decisão tipada fantasiada de chat.

Faça

  1. Faça-a como pergunta tipada (chimera decide, POST /api/decide ou a ferramenta decide): noul para sim/não, choice para um de um conjunto, score para níveis ordenados. Volta uma probabilidade.
  2. Uma condição por pergunta. "É um erro e vem do banco de dados?" são duas perguntas; faça as duas e combine as respostas no código, onde a regra fica visível.
  3. Dê às opções nomes que não carregam o veredito (nada de "yes", "safe", "pass") e ponha o significado nos critérios. Uma opção coringa ("other") é para onde vai a leitura insegura — dê a ela um critério estreito ou deixe-a de fora. Faça as primeiras palavras das opções diferirem: um modelo local lê o rótulo pelo primeiro token, então coding e coding_agent nunca se distinguem (24 dos 231 itens públicos do JevBench ficaram sem leitura assim). Sobre a opção coringa, medido em 1.000 assuntos de commit: um "other" amplo absorveu 78% dos itens que pertenciam a uma opção nomeada, e um estreito 58%; deixá-lo de fora elevou o F1 das classes nomeadas de 0,24 para 0,43, ao custo de os itens realmente fora do conjunto caírem numa opção nomeada.
  4. Mostre ao modelo só a coisa que está sendo julgada: não a saída de ferramenta em volta, não uma frase que defende uma resposta.
  5. Escolha qualquer limiar a partir de exemplos rotulados, nunca de um palpite, e guarde o número ao lado da decisão que ele alimentou.
  6. Deixe contas, datas e contagens no código: calcule o fato, coloque-o no estado e pergunte sobre ele. Um modelo de decisão lê; ele não calcula (no nível difícil do JevBench o modelo local acertou 1 de 15 itens de datas e números).

Evite

Deixar o número encerrar, pular ou aprovar trabalho. Uma decisão pode acrescentar escrutínio — uma revisão, um aviso, uma segunda checagem — e nada mais: a única decisão deste projeto que podia dizer "pare aqui" piorou todo modelo que conduziu, e piorou mais quanto melhor era o modelo.

Evite também ler a resposta depois de um raciocínio (o número colapsa para 0 ou 1), dividir um julgamento em átomos que descrevem algo que as duas classes têm (um átomo "destrói dados?" marcou limpezas legítimas tanto quanto ataques) e tratar uma probabilidade crua como calibrada. Mantenha o estado enxuto: uma linha para cada fato que não disparou (uma coluna de "none") moveu o número em todos os itens, e o mesmo conteúdo repetido é lido como um padrão que não existe.

Verifique

  • O linter aceita cada pergunta (uma pergunta recusada nunca chega a um modelo).
  • Cada pergunta responde nos dois sentidos ao longo dos seus itens; uma que diz sempre a mesma coisa está lendo o formato, não o texto.
  • Com estado longo e modelo local, o prompt cabe na janela de contexto — um corte silencioso passa por resultado do modelo.
  • Em algum lugar, uma amostra rotulada mostra que o número separa os casos que importam — e ela cobre todas as formas de a decisão errar, dos dois lados; uma amostra de um só tipo de falha calibra só esse tipo.
  • Antes de ler uma mudança de redação como efeito, faça de novo a pergunta inalterada e veja quanto o número se move sozinho.

Risco

Uma resposta tipada parece mais certa que prosa, e não é: um modelo pequeno pode ordenar bem e ainda assim errar com confiança no meio da escala. Trate um número não calibrado como pista, registre-o e calibre com seus próprios rótulos antes que qualquer limiar signifique algo.

Como usar

O cartão é dado. Clone o repositório e importe pelo caminho — o que chega pela rede é tratado como contaminado e fica retido para aprovação, que é o comportamento desejável e a razão de não haver um instalador de uma linha aqui.

git clone https://github.com/brcampidelli/chimera-agent.git
chimera skills-import chimera-agent/skills/system-one-design/SKILL.md

Integridade

SHA-256 do arquivo como publicado. Quem importa pode conferir que o que recebeu é o que esta página mostrou.

347bfae9f826835f3351a60983b826f9b59fe5a7a9c1b87bf1a7bc3415ece699

Leia o cartão no repositório →