Staff Engineer Talk · 2026
Harness AI
Engineering
Contexto, Agentes e o Novo Jeito de Desenvolver
Como a engenharia de software vem mudando com o avanço da IA — e como dominar contexto, agentes e as ferramentas certas transforma o jeito de desenvolver.
Foto de Jean Jacques Barros
Jean Jacques Barros
01 / 24
Roteiro
O que veremos nos próximos slides
Guia rápido para navegar pelos principais blocos da apresentação.
Os itens são clicáveis. Use este slide como índice rápido durante a apresentação.
02 / 24
Evolução
De ChatCopilotAgents
A evolução não foi só tecnológica: a IA ganhou responsabilidade até mudar a forma de trabalhar. Saímos de perguntar, passamos a colaborar e chegamos à delegação de tarefas.
Chat
2022-2023
Responder
A IA responde perguntas.
ChatGPT Gemini
Você pergunta
IA responde
Você copia
Você adapta
Você testa
Responsabilidade
Humano 90%
IA
IA 10%
A IA tinha conhecimento, mas não conhecia seu projeto.
Copilot
2023-2024
Colaborar
A IA programa junto com você.
GitHub Copilot Cursor Windsurf
Você programa
IA sugere
Você aceita
IA completa
Você valida
Responsabilidade
Humano 70%
IA
IA 30%
A IA passou a enxergar contexto.
Agents
2025-Hoje
Delegar
A IA executa trabalho.
Claude Code Devin OpenAI Codex
Você define objetivo
Agente pesquisa
Agente implementa
Agente testa
Você aprova
Responsabilidade
Humano 40%
IA
IA 60%
A IA deixou de sugerir código e passou a executar tarefas.
Autonomia Responder Colaborar Executar
A maior mudança não foi a qualidade do código gerado. A mudança foi a quantidade de responsabilidade delegada à IA. Evoluímos de perguntar → colaborar → delegar.
03 / 24
O Problema
Sem harness, o agente alucina
Modelos de IA têm poder, mas sem estrutura o output é imprevisível e custoso
❌ Sem estrutura
  • Código inconsistente entre sessões
  • Alucinações em bibliotecas e APIs
  • Contexto perdido a cada novo chat
  • Retrabalho constante e alto custo
  • Outputs não auditáveis
✅ Com Harness + SDD
  • Contexto estruturado e determinístico
  • Human-in-the-loop em cada etapa crítica
  • Spec preservada e versionada no Git
  • Fluxo previsível, reproduzível e auditável
  • Rastreabilidade completa de decisões
Mensagem-chave: o gargalo do desenvolvimento com IA é o contexto e a especificação, não o modelo.
Harness Engineering
+
Context Engineering
+
Spec Driven Development
=
IA Confiável ✓
04 / 24
AI Coding Agents
O que são AI Coding Agents?
Diferente de um chatbot, um agente executa tarefas completas de engenharia de software
Chatbot tradicional
Responde perguntas. Você escreve o prompt, copia o resultado, cola no editor e adapta manualmente. O humano faz toda a integração.
AI Coding Agent
Entende requisitos, navega pelo repositório, altera arquivos, executa comandos, revisa diffs e aprende com feedback — de forma autônoma.
GitHub Copilot · 2021
Pioneiro do AI-assisted coding. Autocompletion inteligente no IDE. GitHub + OpenAI. Hoje com agent mode integrado e 1.8M+ devs pagantes.
Claude Code · 2025
Agent terminal-first da Anthropic. Interage com shell, roda comandos, revisa diffs e edita arquivos autonomamente. #1 em adoção em 2026.
Devin · 2024
Primeiro agente autônomo com ambiente completo: shell, browser e editor. Cognition Labs. Pioneer da era agentic no mercado.
💡 A diferença não está só no modelo — está no harness ao redor dele
05 / 24
Context Engineering
Context Engineering: otimizando a janela
Tudo que o agente carrega compete por espaço. O segredo é manter a mochila leve e relevante.
🎒 Mochila do Agente
Itens armazenados
📄Prompt Atual
💻Código
📋Regras
🧩Skills
🔌MCPs
Capacidade utilizada70%
levepesada
⚠ Mochila sobrecarregada
  • informações importantes ficam escondidas
  • o agente toma decisões piores
  • aumenta o custo de processamento
  • cresce o risco de alucinações
Progressive Disclosure
O agente não precisa carregar tudo ao mesmo tempo.
📚
Biblioteca de Conhecimento
Fontes, regras e referências ficam guardadas fora da mochila.
🔍
Necessidade detectada
A tarefa revela o que realmente precisa entrar no contexto.
🎒
Carrega só o necessário
O agente adiciona contexto útil no momento certo e evita excesso.
📄 Descrição curta 🔍 Necessidade detectada 📚 Busca conhecimento 🎒 Adiciona à mochila
O problema não é falta de informação. O problema é carregar informação demais. Context Engineering mantém a mochila leve e relevante.
06 / 24
Context Engineering · Custo
Custo de tokens: entenda o que você está pagando
Modelos de IA cobram por token — cada palavra, símbolo e espaço tem preço.
📥 Input Tokens
Tudo que você envia ao modelo: prompt, contexto, histórico, system prompt, tools, arquivos.
  • Preço menor — mas cresce com o contexto
  • Inclui todo o conteúdo carregado na "mochila"
📤 Output Tokens
Tudo que o modelo gera: resposta, raciocínio (thinking), tool calls, código.
  • Preço maior — ≈ 5× o custo do input
  • Thinking tokens custam igual, mas ficam ocultos
✅ Boas práticas
  • Context curto — mochila leve = menos input tokens
  • Output direto — respostas concisas custam menos
  • Batch API — 50% de desconto para tarefas assíncronas
  • Modelo certo — Haiku para triagem, Sonnet para execução
Input
$3.00/1M
Output
$15.00/1M
🔬 16.000 tokens input + 800 output
System Prompt
5.000
$0.015
Histórico
10.000
$0.030
Mensagem
1.000
$0.003
Resposta
800
$0.012
total / chamada
$0.060
Input
$5.00/1M
Output
$25.00/1M
🔬 Mesmos 16.000 tokens input + 800 output
System Prompt
5.000
$0.025
Histórico
10.000
$0.050
Mensagem
1.000
$0.005
Resposta
800
$0.020
↑ ~1.7× mais caro que Sonnet 4.6
$0.100
Output custa 5× mais que input. Contexto enxuto e respostas diretas são os maiores alavancadores de custo na prática.
07 / 24
Context Engineering · Janela
Smart Zone / Dumb Zone
LLMs têm janela de contexto limitada. Além de ~40% de uso, a qualidade do raciocínio degrada progressivamente — é o "context rot".
Smart Zone
raciocínio preciso
Dumb Zone
reason, recall e perform degradam
Compact
zone
0%
~40%
~85%
100%
Exemplos de uso da janela
#1
15% — ideal
#2
35% — bom
#3
62% — ruim
#4
92% — compacta
O que acontece na Dumb Zone
  • Instruções antigas são "esquecidas"
  • Alucinações e repetições crescem
  • Atenção se dispersa em tokens irrelevantes
  • Output fica genérico e impreciso
O que é compactação?
Quando o contexto atinge ~85%, o agente automaticamente resume mensagens anteriores para liberar espaço. Informações são condensadas, não descartadas.
✅ Quando compactar é OK
  • Conversa longa com muita exploração inicial
  • Contexto antigo já não é relevante
  • A spec/task está salva em arquivo (não depende do histórico)
❌ Quando compactar é perigoso
  • Decisões críticas estão apenas no chat
  • Feedback humano recente seria perdido
  • Não há SPEC.md ou tasks.md para ancorar
Mantenha-se na Smart Zone. Context Engineering = mochila leve = agente inteligente por mais tempo.
08 / 24
Harness Engineering
O que é Harness Engineering?
A prática de projetar instruções, ferramentas, ambiente, estado e feedback para tornar o trabalho do agente confiável e previsível  ·  harness aqui = infraestrutura ao redor do agente, não a plataforma Harness.io
📋 Instruções
AGENTS.md, Rules, System Prompts que definem comportamento e restrições. O agente sabe exatamente o que pode e o que não pode fazer.
🔧 Ferramentas
MCP tools, shell access, browser, APIs que o agente pode invocar. Expande as capacidades além da simples geração de texto.
🏗️ Ambiente
Sandbox isolado, CI/CD, containers Docker — infraestrutura onde o agente opera com segurança e reprodutibilidade total.
🔁 Feedback Loop
Resultados de testes, diffs, erros de compilação — sinais que permitem ao agente detectar e corrigir o próprio curso automaticamente.
Context Engineering vs Harness
Context Engineering é uma parte do Harness — mas o Harness é a infraestrutura completa:
Harness = Context + Tools + Environment + State + Feedback
Modelos são commodities. O Harness é o seu diferencial competitivo.
09 / 24
Harness Engineering · Analogia
Harness ≅ Sistema Operacional de IA
O agente inicializa como um OS — CPU, RAM e Disk trabalhando em sincronia sob o Harness
Boot Sequence
[ HARNESS ] Initializing agent environment...
[ HARNESS ] ──────────────────────────────────
[ OK ] Loading LLM engine ........ claude-sonnet-4
[ OK ] Mounting context RAM ...... AGENTS.md · PRD.md
[ OK ] Attaching storage ......... git repo · /docs
[ OK ] Starting MCP services ..... 4 servers active
[ OK ] Registering skills ........ 12 skills loaded
[ OK ] Applying rules ............ CLAUDE.md · hooks
[ HARNESS ] ──────────────────────────────────
Harness ready — awaiting task_
Arquitetura em execução
⚙️ Harness Kernel
🖥️
CPU
Modelo de Linguagem
Claude · GPT · Gemini — núcleo de raciocínio
read ↔ write
💾
RAM
Contexto Ativo
PRD.md · AGENTS.md · Rules · Skills
load ↔ persist
🗄️
DISK
Memória de Longo Prazo
Repositório · docs · decisões · histórico
🧑‍💻
Você (Developer)
define objetivos · aprova resultados · ajusta o harness
Você escolhe a CPU no mercado. O Sistema Operacional — o Harness — é onde você cria o seu diferencial.
10 / 24
SDD · Artefatos
AGENTS.md — Especificação de Agentes
O arquivo que o agente lê primeiro — define como ele deve se comportar no seu repositório
AGENTS.mdREADME.md
Feito para agentes de IAFeito para humanos
Define responsabilidades, skills e regras de interação do agente no projetoVisão geral do projeto, tecnologias e instruções de uso para devs
Preserva contexto entre sessões agenticFrequentemente desatualizado e ignorado
Sempre consultado pelo agent ao iniciarLido ocasionalmente por novos devs
💡 Claude Code, Devin e outros agents leem o AGENTS.md automaticamente ao iniciar. É a fonte de verdade sobre como o agente deve se comportar no seu repositório.
Exemplo AGENTS.md
    # AGENTS.md — Payments Service

    ## Stack
    Kotlin 1.9 · Spring Boot 3.2
    AWS (ECS, DynamoDB, SNS, SQS)
    Docker · GitHub Actions

    ## Regras Obrigatórias
    - NUNCA commitar sem testes unitários
    - Idempotência em toda transação PIX
    - Logs estruturados JSON (Datadog)
    - Padrão de erro RFC 7807

    ## Skills Disponíveis
    unit-tests · datadog-alerts · generate-docs

    ## Proibido
    - Expor dados sensíveis em logs
    - Transações sem correlationId
      
11 / 24
Context Engineering · MCP
MCP — conectando o agente aos sistemas reais
Model Context Protocol: camada padronizada que permite ao agente descobrir e invocar qualquer ferramenta externa sem acoplamento manual em cada integração.
Agent
🤖
Claude Code Devin CLI Cursor
Model Context Protocol
MCP Server
descoberta · routing
📊
Datadog MCP
logs · APM · traces · alertas
🐙
GitHub MCP
PRs · Issues · Actions · Reviews
💬
Slack MCP
mensagens · alertas · canais
📋
Linear / Jira MCP
tickets · sprints · tarefas
📓
Custom MCP
notebooks · DBs · APIs internas
💡 MCP é a ponte. O agente descobre e invoca qualquer ferramenta via protocolo padronizado — sem hard-coding de APIs.
12 / 24
Context Engineering · Skills
Skills.md — Conhecimento Modular
Progressive Disclosure na prática: o agente carrega o conteúdo completo apenas quando necessário
Exemplos para Backend (Java · Kotlin · Spring Boot)
📝
generate-docs/SKILL.md
Gera Javadoc, README e OpenAPI spec a partir do código Java/Kotlin existente, seguindo padrões do time.
🧪
unit-tests/SKILL.md
Cria testes JUnit 5 + Mockito para services Spring Boot. Padrão AAA, coverage mínimo 80%.
📊
datadog-alerts/SKILL.md
Cria monitores e alertas no Datadog para métricas de PIX/TED com thresholds e notificações Slack.
🐳
docker-deploy/SKILL.md
Gera Dockerfile otimizado + docker-compose para serviços Spring Boot com profiles AWS (ECS, ECR).
Portabilidade
Claude CodeCodexCursorGemini CLIDevinWindsurf
Estrutura de uma Skill
    --- # unit-tests/SKILL.md
    name:        unit-tests
    description: "Gera testes JUnit 5 + Mockito
                 para services Spring Boot"
    ---

    ## Convenções do Projeto
    - Padrão AAA (Arrange-Act-Assert)
    - Mocks via @MockBean
    - Coverage mínimo: 80%
    - Nomenclatura: should_doX_when_Y

    ## Dependências
    junit-jupiter · mockito-core · assertj
      
💡 O agente mantém a descrição curta no contexto e carrega o conteúdo completo apenas quando aquela skill é requerida pela tarefa.
13 / 24
Context Engineering · Skills
spec-driven-build — instale e use
Como colocar a skill no seu repositório e invocar em qualquer agent
1 · Instalar
Via skills.sh (recomendado)
$ npx skills add jjeanjacques10/skills --skill spec-driven-build
2 · Invocar no agent
Claude Code /spec-driven-build
Devin CLI /spec-driven-build
Cursor · Windsurf /spec-driven-build
Como fica no repositório
your-repo/
└── .claude/
    └── skills/
        └── spec-driven-build/   ← skill
            ├── SKILL.md           ← ponto de entrada
            ├── templates/
            │   ├── prd-template.md
            │   ├── spec-template.md
            │   └── project-context.md
            └── references/
      
O agent carrega automaticamente
Ao iniciar, Claude Code e Devin lêem a descrição curta de cada skill. O conteúdo completo (templates, references) só entra na janela quando você invoca /spec-driven-build.
🐙github.com/jjeanjacques10/skills
14 / 24
Spec Driven Development
O que é SDD?
Com a IA comoditizando geração de código, o gargalo mudou: não é mais escrever sintaxe, mas definir intenção
Spec-First
A spec é escrita antes do código. Define comportamento, contratos e critérios de aceitação. É o contrato entre humano e IA.
Human-in-the-Loop
Validação humana em cada etapa crítica. O dev define O QUÊ; a IA resolve O COMO.
Contexto Estruturado
PRD.md, AGENTS.md, Rules e Skills fornecem contexto rico e determinístico para o agente trabalhar com qualidade.
Rastreabilidade
Cada decisão tem origem na spec. Onboarding facilitado e conhecimento permanentemente transferível e auditável.
💡 O SDD trata a spec como a fonte da verdade — código, testes e documentação são derivados dela.
Copilot · Claude Code · Devin · Cursor · Windsurf — funciona com qualquer agent.
📄 Spec
🤖 Agent gera código
🧪 Testes validam
👤 Humano aprova
🔁 Repita
15 / 24
SDD · Workflow
O fundamento do SDD:
Research → Plan → Implement
RPI é o padrão mental por trás do Spec-Driven Development
1. Research
Investigar antes de planejar
Conceito: janela grande para pesquisar codebase, MCPs e skills disponíveis.
No SDD: investigação inicial antes de criar a spec. Mapear domínio, dependências e padrões existentes no projeto.
codebasedomínio PIX/TED
2. Plan
Salvar aprendizados
Conceito: salvar aprendizados em arquivos Markdown estruturados e reutilizáveis.
No SDD: gera spec.md design.md tasks.md com critérios de aceitação claros para o agente implementar.
3. Implement
Executar com janela limpa
Conceito: janela limpa usando os Markdowns gerados como contexto preciso.
No SDD: subagentes executam tasks em paralelo. Código alinhado à spec, testes gerados automaticamente.
💡 SDD = RPI estruturado em artefatos reutilizáveis: spec · design · tasks · state
16 / 24
SDD · Benefícios
Por que adotar SDD?
Comparação direta entre trabalhar com e sem especificação estruturada
❌ Sem SDD ✅ Com SDD
IA gera código inconsistente e imprevisívelSpecs fornecem contexto estruturado e determinístico
Alucinações frequentes nos outputs geradosHuman-in-the-loop valida cada etapa crítica
Contexto perdido entre sessões de chatAGENTS.md preserva o contexto permanentemente
Retrabalho constante e alto custo operacionalFluxo previsível, reproduzível e auditável
Documentação desatualizada ou inexistentePRD.md é documentação viva e versionada no Git
Onboarding de novos devs lento e custosoSpecs facilitam onboarding e transferência de conhecimento
Humano define O QUÊ  →  IA resolve O COMO
17 / 24
SDD · Artefatos
PRD.md — Product Requirement Document
A história do desenvolvedor em formato estruturado — origem de toda a spec técnica
❌ Sem PRD.md✅ Com PRD.md
Requisitos vagos e mal definidosRequisitos claros e alinhados ao negócio
Comunicação ineficiente entre timesFonte única de verdade para todos
Detalhamento de negócio se perdeContexto e critérios de sucesso documentados
Fluxo SDD completo
PRD.md
Define objetivos, critérios e contexto de negócio
SPEC.md
Spec técnica: interfaces, contratos, fluxos de dados
Código
Agent gera Kotlin + testes + docs alinhados à spec
Exemplo PRD.md — Endpoint PIX
    # PRD: Endpoint PIX Instantâneo

    ## Objetivo
    Processar transações PIX com SLA < 2 segundos

    ## Stack
    Kotlin · Spring Boot 3.2 · AWS · Docker

    ## Critérios de Aceitação
    - [ ] Validar chave PIX via DICT (BACEN)
    - [ ] Persistir transação no DynamoDB
    - [ ] Publicar evento no SNS (async)
    - [ ] Idempotência por transactionId
    - [ ] Retornar receipt em < 2 segundos

    ## Restrições
    - Conformidade SPB/BACEN obrigatória
    - Logs estruturados JSON (Datadog)
    - Sem exposição de dados sensíveis
      
18 / 24
Arquitetura Completa
O Ecossistema SDD + Harness
Como todas as peças se conectam — do humano ao código gerado e validado
👤 Humano — define O QUÊ
⚙️ Harness — Contexto
📄 PRD.md
🤖 AGENTS.md
📋 Rules
🧩 Skills
↓ Context Engineering · Progressive Disclosure ↓
📐 SPEC.md — gerado pelo agente
👤 Humano — aprova a SPEC
⚙️ Harness — Execução
Shell AccessMCP ToolsSandbox IsoladoFeedback LoopState ManagementCI/CD
Claude Code Devin CLI Copilot Agent Cursor Windsurf
☕ Kotlin / Java
🧪 JUnit 5
📚 Docs
🐳 Dockerfile
🔀 Pull Request
19 / 24
Demo ao Vivo
Hands-On: SDD na Prática
Usando a skill spec-driven-build para sair de uma demanda bruta e chegar a uma SPEC validada
🧩
Skill ativa → contexto mínimo coletado
Feature, problema, restrições e nome emkonoha-case iniciam o fluxo
📋
PRD + contexto → SPEC.md
A skill valida o PRD, analisa o código real e gera a especificação técnica
SPEC aprovada → tasks
Só após aprovação explícita a skill gera as tasks ordenadas, incluindo verificação end-to-end
🎬 Demo ao vivo agora — vamos mostrar a geração da SPEC com /spec-driven-build
20 / 24
Context Engineering · Demo Skill
spec-driven-build — do bruto à SPEC
Este é o fluxo específico da skill que será usada na demonstração com Claude Code e Devin CLI
Como usar
1.
Instalar a skill
A skill precisa estar disponível no ambiente do Claude Code ou do Devin CLI antes da execução.
2.
Executar o comando
O gatilho operacional é o mesmo nas duas ferramentas: /spec-driven-build.
3.
Responder ao fluxo guiado
A skill coleta feature, problema, restrições e o nome da feature emkonoha-case antes de gerar artefatos.
4.
Aprovar a SPEC
Só depois da validação explícita da especificação a skill gera as tasks de implementação.
Artefatos gerados
PROJECT-CONTEXT.mdPRD.mdSPEC.mdtasks/
Etapas do fluxo
1. Contexto mínimo
Coleta demanda, problema, restrições e nome da feature.
2. Qualidade de entrada
Verifica `PROJECT-CONTEXT` e `PRD`, cria o que faltar e valida se o PRD está bom o suficiente.
3. Engenharia da SPEC
Analisa o código real e gera SPEC com requisitos, NFRs, design, contratos, edge cases, riscos, validação e aceite.
⚠ Tasks só são geradas após o relatório de qualidade indicar que a SPEC está clara, testável e aprovada.
Na prática: a skill cria um trilho seguro para sair de uma ideia bruta e chegar a uma especificação técnica consistente.
21 / 24
Hands-On · Ferramentas
Claude Code & Devin CLI na prática
As duas ferramentas que vamos introduzir, combinadas com SDD e AGENTS.md
Claude Code · Anthropic
Na demo, vamos usar Claude Code para instalar a skill e executar o fluxo de geração de especificação via comando customizado.
# Instalar globalmente $ npm install -g @anthropic-ai/claude-code $ claude # Instalar a skill no ambiente # Executar o fluxo guiado /spec-driven-build
  • Lê AGENTS.md e skills automaticamente ao iniciar
  • Usa a skill para guiar PRD, SPEC e tasks
  • A implementação vem depois, não neste passo da demo
Devin CLI · Cognition
O mesmo fluxo também funciona no Devin CLI: instala a skill, depois executa o mesmo comando para produzir a especificação.
# Instalar Devin CLI $ curl -sSL install.devin.ai | sh $ devin login # Instalar a skill no ambiente # Executar o fluxo guiado /spec-driven-build
  • Mesmo comando operacional da demo
  • Mesmo pipeline de PRD → SPEC → tasks
  • O diferencial está na skill, não no vendor
Ambos respeitam AGENTS.md  ·  Ambos carregam Skills  ·  Ambos geram PRs auditáveis
22 / 24
Encerramento
O desenvolvedor
do futuro não será
quem escreve
mais código.
Será quem melhor define especificações, projeta harness eficientes e orquestra agentes inteligentes.
Spec First Context Engineering Human in the Loop Harness Engineering Progressive Disclosure
23 / 24
↗ índice