Esta é uma série de 10 partes que compartilha como a Apidog desenvolveu o Apidog CLI, uma ferramenta de linha de comando para testes de API e gerenciamento do ciclo de vida da API. Leia em ordem ou pule para qualquer post que lhe interesse:
| Título | Foco | |
|---|---|---|
| 1 | Construímos 126 Ferramentas MCP. Mas Não É a Melhor Solução para Agente | Descoberta do problema |
| 2 | Por Que Desenvolvemos um Novo Apidog CLI | Desenvolvimento da arquitetura |
| 3 | A Regra de Ouro: CLI Produz Fatos, Modelo Atua Com Base nos Fatos | Filosofia central |
| 4 | agentHints: Ensinando CLIs a Conversar com Agentes |
Saída estruturada |
| 5 | SKILL: Entregando Experiência Operacional como Código | Experiência operacional |
| 6 | Os Números Não Mentem: 30% Menos Chamadas de Ferramentas, 25% Menos Tokens | Resultados quantitativos |
| 7 | Do PRD ao Ciclo de Testes: Um Fluxo de Trabalho de Agente Completo com Apidog CLI | Tutorial prático |
| 8 | Por Que a Compatibilidade CI/CD É Inegociável para Ferramentas de Agente | Perspectiva DevOps |
| 9 | Ramificação de IA: Mudanças de Projeto Mais Seguras com Agentes de IA | Camada de segurança |
| 10 | Spec-First Foi Ontem. Bem-Vindo ao Skill-First. | Visão & futuro |
A saída tradicional da CLI é para humanos. Agentes precisam de resultados estruturados, razões de falha e sugestões de próximos passos. O agentHints transforma a experiência do produto em orientação legível por máquina.
A Lacuna da Saída da CLI
A saída tradicional da CLI é projetada para humanos.
| Sucesso | Falha |
|---|---|
| Imprime "Sucesso" ou "Concluído" | Imprime mensagem de erro |
| Talvez mostre o recurso criado | Talvez mostre o rastreamento de pilha |
| Humano lê e decide o próximo passo | Humano lê e depura |
Isso funciona para pessoas. Humanos podem:
- Interpretar mensagens vagas
- Decidir o que fazer em seguida
- Lembrar o contexto de comandos anteriores
- Aplicar conhecimento de domínio para prosseguir
Mas os Agentes funcionam de forma diferente.
O Que os Agentes Realmente Precisam
Agentes não apenas leem resultados. Eles precisam conectar os resultados à próxima cadeia de tarefas.
| Necessidade do Agente | Por quê |
|---|---|
| Resultados estruturados | Deve analisar a saída programaticamente |
| Razões de falha | Precisa de detalhes específicos, não mensagens genéricas |
| Sugestões de próximo passo | Precisa de orientação sobre o que fazer em seguida |
Um humano vê "Recurso criado com sucesso" e sabe: "Eu provavelmente deveria verificar o que foi criado e, em seguida, talvez executar alguns testes."
Um Agente vê "Recurso criado com sucesso" e... não tem ideia do que fazer em seguida.
agentHints: A Solução
O Apidog CLI adiciona agentHints à sua saída.
Veja como é uma resposta típica:
{
"success": true,
"data": {
"id": "12345",
"name": "Health Check Test Case"
},
"agentHints": {
"summary": "Caso de teste criado com sucesso.",
"nextSteps": [
"Leia o caso de teste criado para confirmar a estrutura.",
"Adicione asserções se o caso de teste precisar de validação de resposta.",
"Adicione o caso de teste a um cenário de teste para testes de integração.",
"Execute testes relacionados após adicionar ao cenário."
]
}
}Três componentes:
| Componente | Propósito |
|---|---|
success + data |
O resultado real |
summary |
Resumo legível por humanos |
nextSteps |
Sugestões de próximo passo legíveis por máquina |
O Problema da Inércia de Execução
Aqui está um problema real que observamos:
Após criar um recurso com sucesso, o modelo frequentemente continua diretamente a gerar a próxima escrita.
Exemplo:
Agente: Cria caso de teste
CLI: Retorna sucesso
Agente: Cria cenário de teste imediatamente (sem ler de volta)
Agente: Executa testes imediatamente
Resultado: Cenário tem estrutura errada, testes falhamEm processos de negócios complexos, a execução contínua mecânica não é apropriada.
A abordagem mais correta é frequentemente:
- Criar recurso
- Ler de volta primeiro
- Confirmar estrutura
- Então prosseguir
Por Que a Leitura de Volta Importa
Ignorar a leitura de volta causa problemas reais:
| Problema | Causa |
|---|---|
| Valores padrão errados | Servidor preenche padrões que o Agente não especificou |
| IDs associados ausentes | A importação pode gerar novos IDs internos |
| Variantes estruturais | O frontend pode depender de análise específica |
| Suposições incorretas | Agente continua com base em sua "imaginação" |
Se a estrutura real não for lida de volta, o Agente facilmente continua escrevendo com base em sua própria suposição – não em dados reais.
agentHints como Navegador
O agentHints transforma a experiência do produto em sugestões de próximo passo legíveis por máquina.
Ele aparece exatamente onde o Agente precisa tomar decisões.
Exemplo após criar um caso de teste:
{
"agentHints": {
"nextSteps": [
"Leia o caso de teste criado com a flag --with-case-detail.",
"Valide quaisquer atualizações com cli-schema antes de escrever.",
"Execute testes após completar o cenário de teste."
]
}
}O Agente:
- Lê a saída
- Analisa o
agentHints - Segue o
nextSteps[0]: lê de volta o caso de teste - Confirma a estrutura real
- Então prossegue com informações precisas
Transformação do Papel da CLI
Isso muda o que a CLI significa no fluxo de trabalho do Agente.
| Papel Antigo | Novo Papel |
|---|---|
| Executor de comando | Navegador de fluxo de trabalho |
| Imprimir resultado | Guiar próximo passo |
| Saída legível por humanos | Estrutura legível por Agente |
| Resposta única | Orientação contínua |
A CLI se torna um navegador de estado leve.
Árvores de Fluxo de Trabalho Integradas
O Apidog CLI possui milhares de fluxos de trabalho em estrutura de árvore integrados.
Estas não são apenas sugestões codificadas. Elas são:
| Recurso | Descrição |
|---|---|
| Sensível ao contexto | Sugestões correspondem à operação específica |
| Específico do recurso | Dicas diferentes para endpoints, casos de teste, cenários |
| Sensível ao fluxo de trabalho | Sugestões refletem sequências típicas |
| Informado sobre erros | Sugestões diferentes para sucesso vs. falha |
Exemplo após atualização bem-sucedida do cenário de teste:
{
"agentHints": {
"summary": "Cenário de teste atualizado com sucesso.",
"nextSteps": [
"Execute o cenário de teste para verificar as mudanças.",
"Verifique o relatório de teste em busca de falhas.",
"Se ocorrerem falhas, leia os passos do cenário para depuração."
]
}
}Exemplo após falha de validação:
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "O campo 'comparator' possui valor inválido",
"details": [...]
},
"agentHints": {
"summary": "Validação falhou. Corrija os erros e re-valide.",
"nextSteps": [
"Revise os detalhes do erro na saída.",
"Ajuste o arquivo JSON com base nas sugestões de erro.",
"Execute novamente a validação do cli-schema antes de escrever."
]
}
}Mesmo as falhas se tornam navegáveis.
O Ciclo Mais Seguro Com agentHints
Vamos rastrear um fluxo de trabalho completo com agentHints:
Passo 1: Agente cria caso de teste
↓
Saída da CLI: sucesso + agentHints
↓
agentHints.nextSteps[0]: "Leia de volta o caso de teste criado"
↓
Passo 2: Agente lê de volta (com estrutura real)
↓
Saída da CLI: estrutura do caso de teste + agentHints
↓
agentHints.nextSteps[0]: "Adicione asserções se necessário"
↓
Passo 3: Agente adiciona asserções (com base na estrutura real)
↓
Saída da CLI: sucesso + agentHints
↓
agentHints.nextSteps[0]: "Execute os testes"
↓
Passo 4: Agente executa testes
↓
Saída da CLI: relatório de testeCada passo é guiado. Sem saltos cegos. Sem suposições.
Comparação: Com e Sem agentHints
| Cenário | Sem agentHints | Com agentHints |
|---|---|---|
| Após criar | Agente continua para a próxima escrita | Agente lê de volta primeiro |
| Após atualizar | Agente assume sucesso | Agente verifica a estrutura |
| Após validação aprovada | Agente escreve imediatamente | Agente escreve, então lê de volta |
| Após validação falhar | Agente confuso sobre o erro | Agente recebe sugestões específicas de correção |
| Após execução do teste | Agente vê aprovado/reprovado | Agente recebe orientação de depuração |
Próximos Passos
Agora que a CLI pode guiar os Agentes através dos próximos passos, a pergunta que resta é:
Como os Agentes sabem qual fluxo de trabalho seguir em primeiro lugar?
Na Parte 5, SKILL: Entregando Experiência Operacional como Código, exploraremos como o SKILL empacota o conhecimento do fluxo de trabalho — quando usar comandos, qual sequência seguir e quais campos não devem ser adivinhados.
Principais Pontos
- A saída tradicional da CLI é orientada a humanos; Agentes precisam de orientação estruturada
- O agentHints fornece um resumo + sugestões de próximo passo na saída JSON
- A inércia de execução faz com que os Agentes pulem a leitura de volta; o agentHints previne isso
- A CLI se transforma de executor em navegador
- As árvores de fluxo de trabalho integradas tornam cada passo navegável
- Mesmo as falhas se tornam acionáveis com agentHints
Baixe o Apidog para projetar, simular, testar e documentar APIs em um único espaço de trabalho. Saiba mais sobre o Apidog CLI para testes de API via linha de comando, automação CI e fluxos de trabalho de Agentes de IA.
