TRILHA 3

🛰️ Avançado II — Plataforma

A camada de plataforma do DeerFlow: providers de modelo, sandbox, memória avançada, embutir o harness em outro app e contribuir upstream. No fim, você roda a mesma tarefa em 3 modelos diferentes, embute o DeerFlow como biblioteca e abre um draft PR no repositório.

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.

3.1~60 min · Teoria + Lab

🧠 Providers de modelo e roteamento

Como o DeerFlow fala com LLMs: ChatOpenAI com base_url customizado, Responses API, vLLM local para self-hosting e provedores CLI-backed. Quando usar cada um e como decidir entre custo, latência e qualidade.

O que é:

O provider padrão do DeerFlow usa a interface ChatOpenAI do LangChain e aceita um base_url arbitrário — qualquer servidor OpenAI-compatible entra sem código novo.

Por que aprender:

Apontar o base_url para OpenRouter ou LiteLLM libera dezenas de modelos pagando numa única conta, sem reescrever provider no harness.

Conceitos-chave:

base_url; api_key por provider; header extras; modelos disponíveis por gateway; fallback cross-provider.

O que é:

Flag do provider que troca a chamada de /v1/chat/completions para /v1/responses, habilitando o novo formato da OpenAI com tools, state e streaming aprimorado.

Por que aprender:

A Responses API é o caminho oficial para features novas da OpenAI; saber ligar é a diferença entre seguir o roadmap ou ficar travado.

Conceitos-chave:

use_responses_api; diferenças de payload; tool calling no novo formato; compatibilidade com middleware existente.

O que é:

vLLM é um servidor inference open-source de alta performance; o DeerFlow tem um VllmChatModel dedicado para falar com ele servindo Qwen3, DeepSeek e similares localmente.

Por que aprender:

Self-hosting é a única saída para dados sensíveis, custos previsíveis em escala e ambientes offline — e vLLM é o padrão da indústria.

Conceitos-chave:

vLLM server; modelo carregado; VllmChatModel; tool calling em modelos open-weights; throughput vs. latência.

O que é:

Modo em que o harness conversa com outro agente CLI (Codex CLI da OpenAI, Claude Code via OAuth) como se fosse um provider de LLM — reaproveitando billing e auth daquele CLI.

Por que aprender:

É a forma mais barata de ter acesso a modelos de topo sem nova conta de API: você usa a assinatura pessoal do CLI já logado.

Conceitos-chave:

Codex CLI provider; Claude Code OAuth; proxy stdio; limites de cada CLI; cuidados com ambientes compartilhados.

O que é:

Framework mental para decidir entre modelos: quanto custa por task, qual a latência percebida e o quão bem ele resolve o tipo de problema que você tem.

Por que aprender:

Escolher modelo errado triplica a conta ou piora a experiência — a decisão é por skill/agent, não global.

Conceitos-chave:

Custo por task; TTFT; p95 de latência; benchmarks internos; model-per-role; routing condicional.

O que é:

Rodar a mesma skill de pesquisa em três providers diferentes (ex.: OpenAI, Claude Code CLI e vLLM Qwen3 local) e comparar traces, tokens e tempo.

Por que aprender:

Números reais desmontam crença — o modelo "mais caro" nem sempre vence, e o self-hosted nem sempre compensa.

Conceitos-chave:

Dataset fixo de queries; mesma skill; export dos traces; planilha de custo; conclusão escrita do trade-off.

Ver Completo
3.2~50 min · Teoria + Lab

🛡️ Sandbox, file system e segurança

Revisão dos três modos de sandbox (Local, Docker, K8s) sob a lente de risco real. Isolamento, quotas, leitura guiada do SECURITY.md e os alertas de deploy que todo time precisa conhecer.

O que é:

Revisão dos modos de sandbox já vistos na Trilha 1, mas agora perguntando para cada um: o que acontece se a tool executar código hostil?

Por que aprender:

A escolha do sandbox é a linha entre "agente útil" e "servidor comprometido" — e muita gente acerta por sorte.

Conceitos-chave:

Ameaça vs. modo; raiz do host; namespaces; egress network; persistência entre execuções.

O que é:

Como o DeerFlow limita CPU, memória, disco e rede dentro da sandbox Docker/K8s, e como a imagem base restringe o que pode ser instalado.

Por que aprender:

Sem quotas, um bug do agente come sua máquina inteira. Sem imagem fechada, qualquer pip install vira porta de ataque.

Conceitos-chave:

cgroups; resource limits do K8s; allow-list de pacotes; imagem mínima; rootless; seccomp/AppArmor.

O que é:

Percorrer o SECURITY.md do repositório explicando cada recomendação: ameaças cobertas, contramedidas e processo de disclosure.

Por que aprender:

É o documento mais autoritativo do projeto sobre risco — e a maioria dos usuários nunca o abre.

Conceitos-chave:

Threat model; supported versions; reporting channel; timelines; escopo fora do threat model.

O que é:

Lista curada de "armadilhas de deploy" — configurações que funcionam em dev mas viram buraco de segurança em produção.

Por que aprender:

A maior parte dos incidentes em agentes vem dos mesmos 4 ou 5 erros. Decorá-los evita todos eles.

Conceitos-chave:

Sandbox Local em prod; API sem auth; secrets no prompt; tool irrestrita; logs vazando PII.

O que é:

Deploy do DeerFlow no modo K8s com provisioner e execução de um script intencionalmente hostil para validar que o isolamento funciona e que o incidente é detectado.

Por que aprender:

Testar a sandbox com hostil de mentira é a única forma honesta de saber se ela aguenta hostil de verdade.

Conceitos-chave:

K8s provisioner; Pod quotas; script de teste; assinatura do incidente; coleta de evidências; tabela de resultado esperado.

Ver Completo
3.3~55 min · Teoria + Lab

🧬 Memória avançada e context engineering

Leitura do MEMORY_IMPROVEMENTS.md e docs relacionados. Compactação de histórico, seleção e recall semântico, como evitar memory poisoning e como garantir que memória antiga seja sobrescrita corretamente.

O que é:

Leitura guiada do MEMORY_IMPROVEMENTS.md e docs vizinhos que descrevem como a memória do DeerFlow evoluiu e como ela se comporta hoje em regime de produção.

Por que aprender:

Memória é onde a maioria das surpresas estranhas nascem; o doc oficial responde 80% das dúvidas antes de virarem bug.

Conceitos-chave:

Camadas de memória; store backend; políticas de TTL; métricas de hit rate; histórico de decisões.

O que é:

Políticas que detectam janela cheia, resumem trechos antigos preservando o essencial e devolvem memória útil no próximo turno.

Por que aprender:

Sem compactação boa, conversas longas degeneram silenciosamente — o modelo perde contexto e ninguém sabe por quê.

Conceitos-chave:

Threshold de compactação; summarization rolling; pinning de mensagens críticas; verificação de perda de info.

O que é:

Mecanismo que, a cada turno, recupera apenas as memórias mais relevantes para a mensagem atual — usando embeddings ou heurísticas de tag/tempo.

Por que aprender:

Jogar "toda memória" no prompt é lento, caro e quebra a atenção do modelo. Recall certeiro é o caminho do meio.

Conceitos-chave:

Embeddings; similarity threshold; filtros por tag/agent; re-ranking; orçamento de tokens por recall.

O que é:

Memory poisoning é quando conteúdo malicioso ou simplesmente errado entra na memória e começa a influenciar todas as respostas seguintes do agente.

Por que aprender:

É um dos ataques mais difíceis de detectar — e também acontece sem ataque, por bug simples de escrita de memória.

Conceitos-chave:

Validação antes de gravar; marcas de origem; TTL forçado; sobrescrita idempotente; auditoria periódica.

O que é:

Escrever um teste end-to-end que cria uma memória, atualiza o valor, consulta e verifica que o valor antigo não volta a aparecer no prompt.

Por que aprender:

Comportamento de "atualização" de memória é intuitivo no papel e cheio de pegadinha no código — teste é a única prova.

Conceitos-chave:

Fixture de memória; múltiplos turnos; asserts no prompt final; regressão futura; cobertura em CI.

Ver Completo
3.4~60 min · Teoria + Lab

🧩 Embutindo o DeerFlow em outro app

O harness como biblioteca: Embedded Python Client, API gateway e documentação de API, auto title generation e streaming server-side. Lab: embutir o DeerFlow em outra aplicação e rodar skill programaticamente.

O que é:

Modo "import deerflow" em que o harness roda dentro do seu processo Python, sem subir servidor; ideal para notebooks, jobs e apps próprias.

Por que aprender:

É a porta para usar o DeerFlow dentro de pipelines, dashboards e backends existentes — sem refatorar nada do seu código.

Conceitos-chave:

Embedded client API; ciclo de vida do harness; config via dict; gestão de threads/async; encerramento limpo.

O que é:

Quando embutir direto não cabe, o DeerFlow expõe um API gateway HTTP com endpoints documentados — chat, streaming, histórico, title.

Por que aprender:

O gateway é o contrato que isola sua app do harness, permitindo upgrade do core sem quebrar frontend ou integrações.

Conceitos-chave:

Endpoints; auth; schema; versão da API; OpenAPI/docs; compatibilidade retroativa.

O que é:

Feature que, a partir das primeiras mensagens da conversa, gera automaticamente um título curto e útil para aparecer na sidebar do app.

Por que aprender:

Parece detalhe, mas é o que faz uma lista de conversas ser útil — sem ela, a app vira um monte de "New chat".

Conceitos-chave:

Endpoint de title; modelo cheap; prompt de titulação; cache; quando regenerar.

O que é:

Endpoint que emite eventos em tempo real (SSE) conforme o grafo progride: tokens, tool calls, resultados, erros — pronto para plugar em UIs reativas.

Por que aprender:

Streaming não é só "resposta digitando"; é a forma correta de mostrar o agente pensando, criando confiança no usuário.

Conceitos-chave:

SSE vs. WebSocket; tipos de evento; reconexão; backpressure; encerramento gracioso.

O que é:

Construir uma pequena aplicação Python (script ou FastAPI) que importa o Embedded Client, roda uma skill existente e consome o resultado.

Por que aprender:

Sair do "uso pelo CLI" para o "uso programático" é o divisor de águas entre brincar e construir produto.

Conceitos-chave:

Instalação como dependência; config mínima; chamada síncrona vs. streaming; tratamento de erros; exemplo reutilizável.

Ver Completo
3.5~55 min · Teoria + Lab

🤝 Contribuindo upstream

Como contribuir para o DeerFlow: CONTRIBUTING.md, AGENTS.md (backend e frontend), RFCs, docs/plans e padrões de PR recentes. Lab: pegar item do TODO.md e abrir um draft PR.

O que é:

CONTRIBUTING.md explica o processo oficial de contribuição; os AGENTS.md (backend e frontend) descrevem convenções que todo PR precisa respeitar.

Por que aprender:

Ignorar essas páginas é a forma mais rápida de ter um PR rejeitado antes mesmo de ser revisado no mérito.

Conceitos-chave:

Setup do ambiente; estilo de código; testes obrigatórios; commits e PRs; convenções backend vs. frontend.

O que é:

Pasta docs/rfcs tem as propostas técnicas formais; docs/plans tem planos de execução. Juntos, eles contam a história das decisões do projeto.

Por que aprender:

Propor mudança grande sem RFC é queimar a largada; ler RFCs antigos evita reabrir discussões já encerradas.

Conceitos-chave:

Template de RFC; status da proposta; relação com docs/plans; linkagem com PRs; open questions.

O que é:

Leitura dos PRs mais recentes mergeados em middleware, guardrails, async e canais IM para entender o tamanho, forma e descrição esperados.

Por que aprender:

Imitar bons exemplos é o atalho para escrever PRs que passam na primeira revisão em vez da terceira.

Conceitos-chave:

Tamanho de PR; descrição rica; testes novos; changelog; checklist de self-review.

O que é:

Técnica para garimpar issues do repositório que cabem em um PR pequeno e tem escopo claro — os "good first issues" explícitos e os implícitos.

Por que aprender:

Primeira contribuição importa mais pela entrega do que pela grandeza. Escolher uma issue do tamanho certo é metade do trabalho.

Conceitos-chave:

Labels oficiais; TODO.md; idade da issue; atividade no thread; sinalizar intenção de pegar.

O que é:

Escolher um item do TODO.md, implementá-lo num fork, escrever descrição no padrão dos PRs recentes e abrir como draft PR no repositório oficial.

Por que aprender:

Draft PR é o entregável final desta trilha: prova que você lê, escreve, testa e conversa com o projeto upstream.

Conceitos-chave:

Fork; branch por feature; testes locais passando; descrição rica; link do draft PR como comprovante.

Ver Completo