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, inclusiveerror_handlingetranscriptionligados. - Chave desconhecida não dá erro. O agente ignora a chave e a guarda intacta.
É assim que o painel guarda
_ide_zattendentro de cada tool. A contrapartida: um erro de digitação também não dá erro."inject_contex": truepassa na validação e o recurso simplesmente não liga. - Valores fora da lista invalidam. Um
typede tool, umproviderou 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
configenviado substitui o config inteiro. Parta do que oget_templatedevolveu e mude só o necessário.
O que o template não grava
Ao aplicar o blocolangchain (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 toolshttp(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_toolcom 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"semitemsemparametersde uma toolhttp: 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), semprefalse (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).{"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
settingsinteiro “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, omitamodel.api_key(esettings.tracing.api_key) ou devolva o valor que oget_templatetrouxe. allowed_toolseblocked_toolsno MCP parecem um controle de segurança, mas não filtram nada.openai/whisper-1com provider OpenAI direto faz toda transcrição falhar. Usewhisper-1(Mídia).- Skills somem em conversa longa com
context_editingoutool_selectorligados, seload_skillnão estiver emexclude_toolsealways_include(Skills). handoff_toolcom nome errado não transfere o lead, sem aviso.- Valor fora da lista (provider
custom, toolnative, enum inventado) derruba o agente inteiro: nenhuma mensagem é respondida.
Para saber mais
- Como o agente funciona
- Referência do template (o bloco
langchain) - Versões e publicação
- Testar o agente
- LangChain: middlewares prontos
- Termos para buscar: “LangChain create_agent middleware”, “JSON Schema object properties items”, “OpenRouter provider routing”, “LangSmith tracing project”.