TRILHA 2

🧠 Avançado I — Arquitetura e Extensão

Como o harness funciona por dentro e como estendê-lo. LangGraph, middleware, skills customizadas, sub-agents, custom agents, tools e MCP. No fim, você cria skill nova, custom agent e MCP server — e sabe quando usar cada um.

5
Módulos
26
Tópicos
~5h
Duração
Avançado
Nível

Navegação Rápida

Conteúdo Detalhado

Explore os tópicos de cada módulo sem sair desta página.

2.1~60 min · Teoria + Lab

🏛️ Arquitetura profunda

Leitura guiada do ARCHITECTURE.md e do HARNESS_APP_SPLIT.md. Como o lead_agent é um grafo LangGraph, como o contexto é gerido e onde entram os guardrails.

O que é:

LangGraph é a biblioteca que modela o agente como um grafo de nodes que lêem/escrevem um state compartilhado. O DeerFlow usa LangGraph como backbone do lead_agent.

Por que aprender:

Sem entender nodes, edges e state reducers, você não consegue depurar por que o agente tomou uma decisão nem estender o harness sem quebrar invariantes.

Conceitos-chave:

StateGraph; conditional edges; checkpoints; reducers; streaming via astream_events; persistência de state entre turnos.

O que é:

O lead_agent é o grafo central que recebe a mensagem do usuário, decide planejar ou agir, dispara skills ou custom agents e costura os resultados na resposta final.

Por que aprender:

Toda interação passa por ele. Se você não sabe onde entra o prompt, onde saem as tools e onde aparece o output, não há como customizar de forma segura.

Conceitos-chave:

Plan → act → observe → respond; integração com skills via descoberta; dispatch para custom agents; encerramento quando o plano está completo.

O que é:

O harness é o motor reutilizável (grafo, memória, tools, sandbox). A app é o que roda em cima: API gateway, frontend, canais IM, integrações específicas.

Por que aprender:

Saber o que é harness e o que é app define onde uma feature nova deve morar — e evita forks desnecessários do core quando uma extensão resolveria.

Conceitos-chave:

HARNESS_APP_SPLIT.md; boundary de dependências; embedded client; app gateway; reuso do mesmo harness em múltiplas apps.

O que é:

O conjunto de políticas que decide o que entra e sai do prompt a cada turno: histórico, memórias, resultados de tools, instruções de sistema.

Por que aprender:

Estender sem conhecer context engineering enche a janela e degrada o agente silenciosamente — o bug aparece como "o modelo ficou burro".

Conceitos-chave:

Compactação automática; summarization de trechos antigos; priorização por relevância; contrato de retorno curto das sub-tasks.

O que é:

Camadas de validação que checam entradas, saídas e chamadas de tool antes/depois de executar — bloqueiam prompts maliciosos e operações perigosas.

Por que aprender:

Quem deploya sem guardrails ou mexe neles às cegas vira manchete. A git log recente do DeerFlow mostra vários fixes exatamente aqui.

Conceitos-chave:

Input/output validators; allow/deny lists de tools; policy engine; integração com middleware; failure modes e fallback.

O que é:

Lab prático: ligar LangSmith, rodar uma query complexa e inspecionar o trace completo para entender a sequência real de nodes e tools.

Por que aprender:

Ver o trace de verdade derruba mitos: o que parecia lento muitas vezes é uma tool externa e não o modelo — e o que parecia mágica vira mecânica.

Conceitos-chave:

LangSmith API key; run tree; tokens por node; latência por edge; identificar hot paths; exportar trace como evidência.

Ver Completo
2.2~50 min · Teoria + Lab

🔀 Middleware e execução

Como o middleware intercepta as chamadas, como o lead_agent despacha para custom agents pelo agent_name e como erros de tool são recuperados.

O que é:

Camada que roda antes e depois de cada chamada do agente, permitindo logar, validar, transformar input/output e interromper execução quando necessário.

Por que aprender:

Middleware é onde moram telemetria, auditoria, rate limits e políticas. Tudo que você quer observar ou controlar passa por aqui.

Conceitos-chave:

Pre/post hooks; ordem de execução; short-circuit; contexto compartilhado entre middlewares; integração com guardrails.

O que é:

Quando o lead_agent decide delegar para um custom agent, ele coloca o agent_name no state e o middleware roteia a execução para o agente correto.

Por que aprender:

Todo custom agent novo depende desse protocolo. Sem entender como o despacho funciona, custom agents "somem" sem erro explícito.

Conceitos-chave:

Registry de agentes; resolução de agent_name; troca de system prompt; retorno de controle; fallback para lead quando não há match.

O que é:

Modelo propõe tool call → middleware valida → tool executa → resultado volta para o state → modelo observa e decide o próximo passo.

Por que aprender:

Cada etapa pode falhar de um jeito diferente. Saber onde cada erro aparece é a diferença entre debugar em minutos ou em horas.

Conceitos-chave:

Schema validation; argumentos inválidos; async wrapping; timeouts; resultado estruturado vs. raw; retrospecção no próximo turno.

O que é:

Políticas para lidar com tool call que falha: retornar erro estruturado para o modelo decidir, tentar de novo, usar fallback ou abortar a task.

Por que aprender:

Erro mal tratado faz o agente repetir a mesma chamada quebrada ou entrar em loop. Recuperação correta mantém o fluxo resiliente.

Conceitos-chave:

Exception wrapping; mensagens de erro legíveis para o LLM; retry policies; circuit breaker; logging estruturado para postmortem.

O que é:

Escrever um middleware simples que registra toda tool call, argumentos, resultado e tempo de execução — e plugá-lo no harness sem mexer no core.

Por que aprender:

É o "hello world" de quem vai estender o DeerFlow. Quem não consegue fazer um logger não vai conseguir fazer um guardrail.

Conceitos-chave:

Registro do middleware; hooks on_tool_start/end; formato JSON-line; integração com LangSmith; overhead aceitável.

Ver Completo
2.3~70 min · Lab intenso

🛠️ Criando a sua primeira skill

Anatomia de uma skill, uso da meta-skill skill-creator, a arte da trigger accuracy e testes de validação. Lab final: uma skill brazilian-gov-research cruzando IBGE e Portal da Transparência.

O que é:

Uma skill é um diretório com metadados, prompt de sistema, tools opcionais e instruções de uso. Vamos abrir deep-research linha por linha.

Por que aprender:

Sem conhecer o contrato real de uma skill, todo esforço de criar uma nova vira chute. Ler skills prontas é o caminho mais curto.

Conceitos-chave:

skill.yaml; description/trigger; system prompt; tool bindings; arquivos auxiliares; convenções do catálogo público.

O que é:

Uma skill que ajuda você a criar outras skills: faz perguntas, gera o scaffold, sugere descrição e testa o trigger — é um copiloto do autor.

Por que aprender:

Usar a meta-skill cai direto em boas práticas que levaria semanas para descobrir sozinho. É o atalho oficial.

Conceitos-chave:

Fluxo guiado; scaffold padrão; geração de description; avaliação de trigger; integração com skill registry.

O que é:

A arte de escrever a description da skill para que o lead_agent a acione só quando deve — nem menos, nem mais.

Por que aprender:

Descrição ruim causa os dois piores bugs: skill que nunca dispara e skill que dispara em tudo. Ambos desgastam a confiança do usuário.

Conceitos-chave:

Use when; do not use when; exemplos positivos/negativos; disambiguação com skills vizinhas; avaliação por casos de teste.

O que é:

Conjunto de casos de teste que validam trigger, comportamento em sucesso e comportamento em falhas previsíveis da skill.

Por que aprender:

Sem testes, toda alteração na description é roleta-russa com o comportamento do agente em produção.

Conceitos-chave:

Evals de trigger; golden tests de output; comparação entre versões; CI rodando evals; métricas de acurácia.

O que é:

Construir do zero uma skill que faz pesquisa cruzando dados do IBGE e do Portal da Transparência, com tools próprias e prompt afiado.

Por que aprender:

Um lab real força você a pensar em auth, rate limit, formato de retorno e citação de fontes — as partes que "no papel" parecem triviais.

Conceitos-chave:

API pública do IBGE; API do Portal da Transparência; caching local; citações inline; entregável em markdown.

Ver Completo
2.4~60 min · Teoria + Lab

👥 Sub-agents e custom agents

A diferença fundamental entre um sub-agent (chamado dentro de uma task) e um custom agent (roteado pelo lead). Leitura guiada do RFC rfc-create-deerflow-agent e decisão de design: skill ou custom agent?

O que é:

Sub-agent é chamado dentro de uma task para isolar contexto. Custom agent é uma persona roteada pelo lead_agent com SOUL próprio e ciclo de vida longo.

Por que aprender:

Misturar os dois é o erro mais comum de quem chega ao DeerFlow vindo de outros frameworks. O design inteiro depende da distinção.

Conceitos-chave:

Task-local vs. conversation-level; contexto isolado vs. contexto herdado; retorno resumido vs. diálogo contínuo; uso típico de cada um.

O que é:

SOUL é o conjunto de arquivos que define identidade, tom, escopo, tools autorizadas e políticas de um custom agent. É a config-pai do agente.

Por que aprender:

É onde você desenha um agente que se comporta como especialista em algo específico sem ficar brigando com o prompt do lead.

Conceitos-chave:

Arquivos do SOUL; agent_name; system prompt próprio; toolset restrito; memórias/rotinas dedicadas; versionamento.

O que é:

RFC oficial que documenta motivação, design e processo para criar um custom agent novo — é o "manual do autor" reconhecido upstream.

Por que aprender:

Ler o RFC encurta meses de discussão. Ele já responde "por que isso e não aquilo" para a maioria das decisões que você vai tomar.

Conceitos-chave:

Motivação; requisitos não-funcionais; alternativas rejeitadas; open questions; impacto em memória e guardrails.

O que é:

Um framework de decisão: se é uma capacidade pontual com gatilho claro, skill; se é uma persona duradoura com escopo inteiro, custom agent.

Por que aprender:

Escolher errado aumenta o custo de manutenção e confunde usuários. Essa é a decisão de design mais frequente no dia a dia.

Conceitos-chave:

Escopo pontual vs. amplo; reuso dentro de outras skills; posse de memória; custo de SOUL; heurística de "se em dúvida, skill primeiro".

O que é:

Criar um custom agent security-auditor com SOUL próprio, plugar num canal Slack dedicado e fazer ele auditar snippets e PRs.

Por que aprender:

É o exercício que junta SOUL, despacho, tools e canal IM em um único fluxo funcional — exatamente o caso de uso empresarial real.

Conceitos-chave:

SOUL para auditoria; toolset restrito a leitura; Slack bot; roteamento por canal; memórias de achados recorrentes.

Ver Completo
2.5~60 min · Teoria + Lab

🔌 Tools customizadas, MCP e grep/glob

Leitura guiada da RFC rfc-grep-glob-tools e do guia de MCP server. Como expor um serviço interno como MCP, como configurar OAuth flows e como plugar tudo numa skill existente.

O que é:

RFC que introduziu as tools grep e glob no DeerFlow, definindo schema, semântica, paginação e integração com o sandbox.

Por que aprender:

É o melhor exemplo escrito do contrato esperado de uma tool nativa — serve de modelo quando você for criar a sua.

Conceitos-chave:

Schema pydantic; paginação e limite; formato de retorno; integração com sandbox; tratamento de erros previsíveis.

O que é:

MCP (Model Context Protocol) é o padrão para expor tools externas via stdio ou HTTP/SSE. O DeerFlow consome MCP servers como fonte adicional de tools.

Por que aprender:

MCP é como você integra sistemas legados sem mexer no core do harness — escreve um server pequeno e pronto.

Conceitos-chave:

Transport stdio vs. HTTP/SSE; tool registration; schema; configuração no config.yaml; namespacing de tools MCP.

O que é:

Quando o MCP server exige auth, o DeerFlow negocia tokens via client_credentials (service-to-service) ou refresh_token (usuário).

Por que aprender:

Todo MCP server sério em empresa precisa disso. Quem ignora OAuth vira um projeto de POC que nunca sobe.

Conceitos-chave:

client_credentials; refresh_token; token caching; scopes; renovação automática; falha graceful quando o token expira.

O que é:

Expor uma API interna existente como MCP server e fazer uma skill do DeerFlow consultá-la — de ponta a ponta, incluindo auth e erros.

Por que aprender:

É o lab que valida se você entendeu MCP, OAuth, tool schema e integração com skill. Tudo junto, como no mundo real.

Conceitos-chave:

MCP SDK; tool schemas auto-gerados; OAuth2 do lado do server; cliente configurado no config.yaml; verificação end-to-end.

Ver Completo