Pular para o conteúdo principal
As Entradas são as variáveis que o Agente recebe em toda execução, como texto ou arquivos. As Saídas descrevem o resultado que você espera de volta: texto livre, ou um conjunto de atributos nomeados que você pode ler, revisar e reutilizar. As duas são seções da barra lateral na experiência Craft. Para o assistente de contratos do exemplo da seção, as Entradas são contract (um arquivo, obrigatório) e question (um texto), e as Saídas são answer e risky_clauses.

Entradas

A seção Entradas lista cada entrada em uma tabela com Nome, Formato (Texto ou Arquivo) e se é Obrigatório. Uma caixa de busca filtra a lista.
Seção Entradas listando as entradas contract e question, com os interruptores Chat e Compactar automaticamente

Declarando uma entrada

1

Adicione uma variável

Clique em Adicionar variável. O diálogo Nova Variável abre.
2

Dê um nome

Digite o Nome. Nomes não podem conter espaços, hífens ou caracteres especiais, não podem começar com número e precisam ser únicos no Agente. Use snake_case ou camelCase, por exemplo contract ou question.
3

Escolha o tipo

Em Tipo, escolha Texto para conteúdo digitado ou colado a cada execução, ou Arquivo para documentos que o Agente lê.
4

Decida se é obrigatória

Ative Obrigatório quando o Agente não consegue trabalhar sem ela. Entradas obrigatórias devem ser fornecidas ao executar o Agente, no painel de teste e pela API.
5

Crie

Clique em Criar. A entrada aparece na tabela e, a partir daí, o menu de menções do Objetivo a oferece em Inputs.
Você pode trocar o Formato e o interruptor Obrigatório diretamente na tabela; os dois salvam na hora. O menu … no fim da linha tem Editar (renomear) e Excluir. Excluir uma entrada também remove a pasta dela do repositório do Agente, então atualize o Objetivo em seguida.
Para desenvolvedores. Declarar uma entrada cria a pasta input/<name>/ no repositório do Agente: a pasta é a declaração. A cada execução, uma entrada de arquivo é colocada nessa pasta e uma entrada de texto fica disponível pelo nome. O nome references é reservado. As execuções são validadas contra as entradas declaradas: um nome desconhecido, um tipo diferente ou uma entrada obrigatória ausente é rejeitado com 400.

Chat e Compactar automaticamente

Dois interruptores no cabeçalho da seção Entradas controlam a conversa:
  • Chat: o usuário pode enviar texto e arquivos pelo chat, responder após cada saída, e o Agente mantém o contexto da conversa. Com o Chat desligado, cada execução acontece de uma vez só, com um botão Executar em vez de uma caixa de chat.
  • Compactar automaticamente: compacta conversas longas automaticamente para preservar o contexto útil.
Para o assistente de contratos, faz sentido deixar o Chat ligado: o advogado faz uma primeira pergunta, lê a resposta e faz uma pergunta de acompanhamento sobre o mesmo contrato sem enviá-lo de novo.

Saídas

A seção Saídas define o formato do resultado. Deixe-a vazia e o Agente responde em texto livre (Markdown). Adicione atributos e o Agente devolve um resultado estruturado com exatamente esses atributos, que o Tela exibe como um card por atributo, permite revisar atributo por atributo nos casos de teste e entrega à API como JSON.
Seção Saídas com os atributos answer e risky_clauses no editor em tabela

Adicionando atributos

A seção tem duas visualizações, alternadas pelo controle à direita: um editor em tabela, em que você adiciona os atributos um a um com nome, tipo e descrição, e uma visualização de código, em que você edita a mesma definição como JSON e clica em Salvar (ou Copiar para levá-la a outro lugar). A visualização de código valida o JSON antes de salvar. Escreva uma descrição para cada atributo. O Agente a lê para decidir o que vai ali, então uma descrição como “cláusulas que expõem a empresa a risco incomum, transcritas literalmente com o número” muda o resultado mais do que qualquer frase extra no Objetivo. Para o assistente de contratos, os dois atributos ficam assim na visualização de código:
Para desenvolvedores. A definição é um mapa plano de attributeName -> { type, description, ... }, sem o invólucro de JSON Schema, armazenado em output-format.json. Um mapa não vazio torna o resultado JSON estruturado; {} o torna Markdown. Esses caminhos de atributo são o que o feedback e as métricas dos casos de teste referenciam (caminhos aninhados e indexados, como parties.0, são válidos).

Variantes de saída

Alguns Agentes precisam de resultados diferentes para situações diferentes: o assistente de contratos poderia devolver um conjunto de atributos para uma locação e outro para um contrato de serviços. As variantes resolvem isso. Clique em Adicionar variante. No diálogo Nova variante, dê um Nome (letras minúsculas, números e hífens, até 64 caracteres) e uma Descrição que ajude o Agente a escolher essa variante, e clique em Adicionar variante. A seção passa a mostrar abas: Campos comuns, cujos atributos são incluídos na saída de todas as variantes, e uma aba por variante com os atributos dela. Na aba de uma variante você pode editar a descrição ali mesmo ou Excluir a variante. O seletor Variante de saída, no cabeçalho da seção Saídas, decide qual variante as suas execuções de teste usam: Auto (agente decide), em que o Agente lê as descrições e escolhe uma, ou uma variante específica que você força enquanto testa.
Seção Saídas com a aba Campos comuns e duas abas de variante

Onde o resultado aparece

  • No painel Teste seu agente, um resultado estruturado aparece como um card por atributo (para risky_clauses, uma lista); um resultado em texto livre aparece como Markdown. Os passos de Raciocínio do Agente ficam listados acima do resultado.
  • Na experiência Test, cada atributo pode ser revisado com um polegar para cima ou para baixo e julgado contra a saída esperada. Veja Testando um Agente.
  • Pela API, em uma etapa de Workflow e em tarefas, o resultado é um objeto JSON com os seus atributos. Veja Executando um Agente e obtendo resultados.