Skip to main content
O config do agente é o JSON que define o agente de um projeto no LangChain Agent: o modelo, o prompt, as tools e os ajustes. O editor do painel (menu Agente) e o bloco langchain.config do template mexem no mesmo JSON. Esta página lista todos os campos. Só dois campos são obrigatórios: model.provider e model.name. Todo o resto tem padrão, e campo omitido vale o padrão. Grave só o que você quer diferente do padrão.

A estrutura em uma olhada

Os blocos de settings

Regras que valem para o config inteiro

  • Omitido = padrão. Mandar settings: {} é igual a não mandar nada: valem os padrões, inclusive error_handling e transcription ligados.
  • Chave desconhecida não dá erro. O agente ignora a chave e a guarda intacta. É assim que o painel guarda _id e _zatten dentro de cada tool. A contrapartida: um erro de digitação também não dá erro. "inject_contex": true passa na validação e o recurso simplesmente não liga.
  • Valores fora da lista invalidam. Um type de tool, um provider ou um enum com valor que não existe faz o agente inteiro deixar de funcionar.
  • Tempo é sempre em segundos (timeout_seconds, initial_delay, max_delay).
  • Toda escrita cria uma versão não publicada. Quem publica é uma pessoa, no painel (Versões e publicação).
  • Pelo MCP, o config enviado substitui o config inteiro. Parta do que o get_template devolveu e mude só o necessário.

O que o template não grava

Ao aplicar o bloco langchain (pelo MCP ou pela API de template), a Zatten ajusta estes campos e devolve uma nota quando muda algo: Também não grave:
  • model.provider: "custom": desativado; o agente não valida.
  • tools[].type: "native": removido. As ações da Zatten são tools http (Ações da Zatten).
  • settings.tracing.provider: não existe. O tracing é sempre LangSmith.

Campos sem efeito hoje

São aceitos na validação, mas nada no agente os usa. Não prometa o recurso a partir deles.

Combinações que o agente recusa

Passam campo a campo, mas o config inteiro falha: E estas não falham, mas não funcionam, sem aviso:
  • settings.error_handling.handoff_tool com o nome de uma tool que não existe ou que não é http: o lead recebe a mensagem de erro, mas não é transferido.
  • Uma propriedade "type": "array" sem items em parameters de uma tool http: modelos do Google (Gemini) recusam toda chamada do agente (Tool HTTP).

Referência campo a campo

As tabelas completas ficam abaixo. Status: ativo (o agente usa), sem efeito hoje (aceito e ignorado), sempre false (o template força desligado).

Exemplo de config mínimo válido

Um agente no OpenRouter, com prompt, dados do lead no contexto e o transbordo automático quando o modelo falha. A chave não vai no exemplo: num projeto que já roda, a chave gravada é mantida; num projeto novo, preencha no painel (Providers).
O menor config que o agente aceita é só {"model": {"provider": "…", "name": "…"}}. Troque fabricante/modelo por um modelo real (Escolher o modelo). Para uma tool de verdade nesse config, veja os exemplos em Tool HTTP e Ações da Zatten.

Armadilhas

  • Erro de digitação não dá erro. Uma chave escrita errado é ignorada em silêncio e o recurso fica desligado. Confira os nomes nesta página.
  • Gravar settings inteiro “por garantia” congela os padrões no JSON. Grave só o que mudou.
  • Mandar a chave vazia. "api_key": "" apaga a chave gravada e o agente para de responder. Para manter a chave atual, omita model.api_key (e settings.tracing.api_key) ou devolva o valor que o get_template trouxe.
  • allowed_tools e blocked_tools no MCP parecem um controle de segurança, mas não filtram nada.
  • openai/whisper-1 com provider OpenAI direto faz toda transcrição falhar. Use whisper-1 (Mídia).
  • Skills somem em conversa longa com context_editing ou tool_selector ligados, se load_skill não estiver em exclude_tools e always_include (Skills).
  • handoff_tool com nome errado não transfere o lead, sem aviso.
  • Valor fora da lista (provider custom, tool native, enum inventado) derruba o agente inteiro: nenhuma mensagem é respondida.

Para saber mais