Pular para o conteúdo

Engenharia de agent harness explicada em 20 minutos!

Ver no idioma original →

Autoria: Pavan Belagatti · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: inglês

Vídeo original: Agent Harness Engineering Explained in 20 Mins! · Canal: Pavan Belagatti · 23:58 · Assistir no YouTube

Tópicos: Agentes de IA, Automação de tarefas e workflows, Engenharia de software com IA

O vídeo explica que um agent harness é o ambiente construído ao redor do LLM para fornecer contexto, instruções, ferramentas, limites e mecanismos de feedback. Uma demonstração usa uma aplicação de pagamentos em Python, na qual Port fornece o contexto necessário para corrigir uma taxa incorreta de 10% para 2%, e o harness valida a mudança com testes. Depois, o vídeo mostra agentes e workflows no Port que avaliam a prontidão de serviços, bloqueiam deploys que não atendem aos critérios e encaminham aprovações para uma pessoa. Por fim, apresenta um dashboard para acompanhar a prontidão e consultar o agente sobre serviços.

  • O LLM é apenas uma parte de um sistema de engenharia confiável; o harness fornece o ambiente operacional ao redor dele.
  • Um agent harness pode reunir contexto, instruções, ferramentas, workflows, limites, aprovações humanas, tratamento de erros e monitoramento.
  • O exemplo de pagamentos usa Port como camada de contexto para informar o serviço, sua equipe responsável, a taxa esperada e quais arquivos podem ser editados.
  • O harness não confia cegamente no código gerado: executa pytest e usa os resultados como feedback.
  • No segundo exemplo, um scorecard de Harness Readiness determina se um serviço pode seguir para deploy.
  • Serviços com prontidão Gold podem seguir para uma etapa de aprovação humana; serviços em nível Basic são bloqueados.
  • Um workflow de automação pode ser acionado quando propriedades essenciais de um serviço são removidas.
  • O dashboard do Port mostra a distribuição da prontidão dos serviços e permite consultar o agente sobre a situação de um serviço.
Início Capítulo Resumo
00:00 O que é Harness Engineering O vídeo apresenta o agent harness como o ambiente ao redor do modelo, incluindo contexto, ferramentas, limites e mecanismos para executar tarefas com confiabilidade.
05:45 Demonstração: corrigindo uma taxa de pagamento Port fornece o contexto e as regras para corrigir a taxa de 10% para 2%, enquanto o harness controla a edição e verifica o resultado com pytest.
14:01 Agente de prontidão no Port O vídeo apresenta o agente Harness Engineer, os scorecards de prontidão e os workflows que controlam a aprovação ou o bloqueio de deploys.
17:12 Workflow de aprovação e bloqueio de deploy Serviços com score Gold seguem para aprovação humana, enquanto serviços abaixo desse nível são bloqueados e recebem uma explicação do agente.
20:50 Inspeção das execuções do agente O apresentador consulta os registros de invocação para mostrar o prompt, a resposta do agente e os motivos do bloqueio de um serviço.
22:26 Dashboard de Harness Engineering O dashboard resume a prontidão dos serviços e permite perguntar ao agente se um serviço está pronto para deploy.

O agent harness é tudo o que envolve um LLM ou o agente de IA. — 00:31

O modelo representa mais a inteligência; o harness é tudo ao redor dele. — 03:38

O harness não confia cegamente no código gerado. Ele executa pytest para verificar a mudança. — 08:19

O modelo forneceu a alteração de código; o harness controlou o escopo dos arquivos e a verificação. — 12:28

  • Harness Engineering (conceito): Abordagem que projeta o ambiente ao redor de um agente para ajudá-lo a executar tarefas de engenharia com confiabilidade.
  • agent harness (conceito): Conjunto de contexto, instruções, ferramentas, limites e feedback que envolve o modelo ou agente.
  • Port (ferramenta): Plataforma usada no vídeo para fornecer contexto de engenharia, criar agentes e workflows e acompanhar serviços.
  • Harness Readiness Scorecard (conceito): Scorecard que avalia se um serviço atende aos requisitos de prontidão definidos para o harness.
  • Harness Deployment gate (conceito): Workflow que verifica o score de prontidão de um serviço, bloqueando-o se não alcançar Gold e solicitando aprovação humana quando elegível.
  • Harness Self Healing Monitor (conceito): Workflow acionado quando uma propriedade crítica de um serviço é removida ou apagada.
  • pytest (ferramenta): Ferramenta de testes executada pelo harness para verificar se a alteração no código funciona.
  • Harness Engineer (conceito): Agente criado no Port para ajudar desenvolvedores a avaliar e melhorar a prontidão dos serviços para harness.

00:00 E aí, pessoal. Sabemos que os agentes de programação com IA e os assistentes de IA estão ficando muito bons em escrever código. Mas aqui está o problema, certo? Escrever código é apenas uma pequena parte da engenharia de software de verdade. Um agent precisa saber coisas como: em qual serviço estou trabalhando? Quem é responsável por ele? Que regras devo seguir? O que posso alterar? Como sei se minha alteração realmente funciona? E é exatamente aí que entra Harness Engineering. Neste vídeo, vou explicar tudo sobre Harness Engineering de um jeito bem simples

00:31 e, no final, vamos fazer um tutorial simples de Harness Engineering. Então, vamos lá. Para entender exatamente o que é Harness Engineering, precisamos entender o que é um agent harness. Um agent harness é tudo o que fica ao redor de um LLM ou do agente de IA, certo? Basicamente, o LLM é o cérebro do agent e, além dele, tudo o que está ao redor e forma o ambiente desse LLM compõe o agent harness. Como você pode ler aqui, certo? Um agent harness envolve o modelo para gerenciar tarefas de longa duração

01:02 de forma confiável. O modelo gera respostas, e o harness cuida de todo o resto. Veja, o modelo sozinho não basta para executar tarefas direito, certo? Você precisa de contexto, APIs, tool calling, ferramentas, integração entre diferentes ferramentas e todas essas coisas que compõem o agent harness do modelo, certo? Como você pode ver na imagem, acho que dá para entender facilmente a analogia. O modelo é o chef, e o harness é o restaurante.

01:32 Ele entende seu pedido — o modelo entende, o chef entende o pedido, raciocina e cria o resultado. Basicamente, o chef só entende o pedido e prepara os pratos, e é isso. Ele é criativo, muito poderoso e é o principal no restaurante. Mas não administra o restaurante em si, certo? Então, para preparar o prato, ele precisa de ingredientes e de diferentes ferramentas. Isso compõe o harness, certo? Ele fornece ingredientes como contexto, ferramentas,

02:04 workflows, barreiras de proteção, aprovações humanas, subagents, tratamento de erros e monitoramento para garantir que o trabalho seja feito de forma confiável. Então, pense assim, certo? O LLM é apenas uma parte de todo o ecossistema, e tudo o mais ao redor dele, todo o ambiente ao redor, é o agent harness, certo? Espero que tenha ficado claro. Vamos seguir em frente para entender melhor Harness Engineering. Então, o que é Harness Engineering? Pense em um modelo de IA como o cérebro, assim como um

02:35 cérebro humano. O modelo consegue raciocinar, gerar código e tomar decisões, o que é muito poderoso, mas só o cérebro não basta. É preciso projetar o ambiente ao redor desse cérebro, certo? Esse ambiente é o harness, certo? Assim como o cérebro humano, como o corpo humano: o cérebro é muito poderoso. Podemos raciocinar, pensar, agir e fazer muitas coisas com o cérebro, mas, para funcionar com eficiência, também precisamos das outras partes do corpo, certo? Então, no

03:07 contexto de Harness Engineering, tudo ao redor de um LLM ou do agente de IA compõe o harness. Um harness fornece ao agent o contexto adequado, instruções claras, acesso às ferramentas certas, barreiras de proteção para limitar o que ele pode fazer e feedback para verificar se as ações realmente funcionam ou funcionaram, certo? Uma arquitetura bem simples se parece com o que é mostrado na imagem, certo? O harness é tudo o que construímos ao redor do modelo para ajudá-lo a operar de forma confiável e eficiente. Então, você pode pensar nele

03:38 assim: o modelo é mais a inteligência, e o harness é tudo ao redor, como contexto, instruções, ferramentas, barreiras de proteção e feedback, certo? Essa é a ideia central por trás de Harness Engineering. Na imagem, você pode ver uma pilha simples de Harness Engineering. Precisamos entender que Harness Engineering é muito importante para construir sistemas agênticos eficientes, certo? E agora, à medida que os agentes de IA assumem mais responsabilidades ao longo do ciclo de vida do desenvolvimento de software, já não basta dar ao nosso agent ou ao LLM acesso a algumas ferramentas. Precisamos

04:11 de um agent harness, certo? Pense no harness como o ambiente operacional ao redor de um agente de IA. Ele gerencia entradas, configurações, acesso a ferramentas, execução, saídas e feedback, dando aos agents a estrutura necessária para realizar trabalhos reais de engenharia de forma confiável e eficiente. Como você pode ver na pilha de Harness Engineering, tudo começa com um cliente do usuário. Pode ser um desenvolvedor, um SRE ou qualquer pessoa do ecossistema de engenharia ou da equipe de engenharia. Depois, temos o agente de IA, o

04:42 agent LLM e tudo ao redor dele, certo? As ferramentas e integrações que compõem o agent harness. Esse agent também conta com o apoio de uma plataforma de SDLC agêntico para automatizar workflows de engenharia e de desenvolvimento, certo? Nela, vemos o contexto de engenharia devidamente definido, os padrões e as barreiras de proteção estabelecidos, além das responsabilidades, das equipes e do catálogo de software configurados adequadamente, certo? E isso não basta. Também precisamos de uma camada de avaliação e observabilidade

05:14 para garantir que tudo o que fazemos seja devidamente acompanhado, certo? Isso é a pilha de Harness Engineering. Como já sabemos, a questão nunca é escolher o modelo mais inteligente. É sempre construir o sistema certo ao redor do modelo, e é assim que você cria sistemas agênticos eficientes de engenharia. E é aí que nosso agent harness basicamente nos ajuda a construir esses sistemas eficientes, certo? Então, finalmente, chegou a hora do tutorial. O que

05:45 vamos construir hoje? Para este tutorial, quis manter tudo bem simples. Temos uma pequena aplicação de pagamentos em Python e um bug colocado de propósito no código. Atualmente, a aplicação cobra uma taxa de pagamento de 10%, certo? Mas a taxa correta deveria ser de 2%. Esse é o bug. E aqui vem a parte interessante: não vamos dizer diretamente ao nosso agente de IA que a taxa correta é de 2%, certo? Em vez disso, essa informação ficará no Port, port.io, a

06:15 plataforma de SDLC agêntico que estamos usando neste tutorial. E você deve saber que o Port também pode ser usado como uma camada de contexto, e é assim que estamos usando o Port aqui, certo? Além de ser uma plataforma de SDLC agêntico, o Port também pode servir como camada de contexto para seus sistemas agênticos de engenharia, certo? O Port conhece o contexto de engenharia do nosso serviço. Conhece tudo, as dependências e todas essas coisas, como o nome do serviço — ele sabe que é o serviço de pagamentos — e também quem é o responsável: a equipe de pagamentos. A taxa esperada

06:46 é de 2%, e a regra de programação é preservar a validação de valores negativos. Também há uma regra que define o que podemos editar, o que o agent pode editar e o que não pode editar. O agent pode editar app.py para nos dar uma sugestão adequada sobre qual é o bug e o que precisa ser alterado, certo? Essas são as informações que nosso lago de contexto conhece, que o Port conhece, certo? Então, aqui está a arquitetura do que vamos construir hoje.

07:17 O fluxo é bem simples. O modelo de IA é o cérebro, enquanto o agent harness controla o ambiente ao redor dele. Já sabemos disso. Tudo começa com o desenvolvedor fazendo um pedido, por exemplo: corrigir o bug da taxa de pagamento, certo? Como você pode ver na imagem, ele diz ao agent para corrigir o bug da taxa de pagamento. E o pedido vai primeiro para o agent harness, não diretamente para o modelo de IA ou para o agente de IA. O harness obtém do Port, a camada de contexto, as informações relevantes do serviço, como

07:48 as informações do serviço, quem é o responsável, as dependências, as regras de engenharia e o que o agent pode ou não pode editar, certo? Então, o harness combina o pedido, o contexto do Port, as instruções e as barreiras de proteção, e envia a tarefa ao modelo de IA, o agente de IA, certo? Em seguida, o modelo de IA raciocina sobre o problema e gera a alteração de código necessária. No nosso exemplo, ele altera app.py, corrigindo a taxa incorreta de 10% para o valor correto de 2%

08:19 fornecido pelo Port, certo? Porque o Port sabe exatamente o que precisa ser alterado e conhece o valor exato da taxa, certo? Esse valor é 2%, mas o valor incorreto é 10%, o que já é um bug, certo? Mas agora o harness não confia cegamente no código gerado. Ele executa pytest para verificar a alteração, certo? Os resultados dos testes viram feedback. Se os testes passarem, a alteração está verificada. Se falharem, esse feedback pode ser usado em outra iteração. Então, o ciclo de conclusão

08:51 Como quando um desenvolvedor faz uma solicitação, certo? Primeiro, o desenvolvedor faz uma solicitação, depois ela vai para a camada de contexto, e então o harness recebe a solicitação. Aí o modelo de IA pede a alteração no código, sabe? Ele fornece tudo, depois os testes são executados e, então, recebemos o feedback, certo? Então, isso é uma engenharia completa de harness: fornecer à IA o contexto, os limites, as ferramentas e o ciclo de feedback certos para concluir tarefas de engenharia de forma confiável

09:22 — e é isso que estamos construindo hoje, certo? Então, vamos ver isso em ação. Oi, pessoal. Aqui está o código do aplicativo de pagamentos, como vocês podem ver, em app.py. Ele é bem simples. Dá para ver que está 0,10, vírgula, 2. O valor deveria ser 0,02, certo? A taxa correta é de 2%. Mas, se calcularmos agora, o resultado é 10%, e também podemos confirmar isso com o teste. E ele mostra que há um

09:55 erro. Há um bug, e o teste falha. Certo? E aqui está app.py com o bug, como já dissemos. E este é harness.py, que funciona como controlador do projeto inteiro, certo? Então, em vez de pedir diretamente a um LLM que corrija nosso código, o que harness.py faz é primeiro coletar o contexto certo, certo? Ele coleta o contexto certo do Port. O Port é nossa camada de contexto, certo? Então, vamos ao nosso

10:27 Port. Este é o Port, a plataforma agentic de SDLC onde você pode criar e automatizar muitos dos seus workflows de desenvolvimento e engenharia. Certo? Eu já tenho uma conta. Vou mostrar como o serviço está configurado, certo? Posso ir ao Builder, buscar o serviço do harness e ver o que está relacionado a esse serviço, certo? O nome do serviço é payment service. A equipe responsável é payments team. E a porcentagem de taxa esperada

10:57 é 2%, certo? E estas são as regras de programação, como vocês podem ver. As taxas de pagamento devem usar a porcentagem de taxa configurada, blá-blá-blá e coisas do tipo. E também há o que o agent pode editar. O agent pode editar apenas app.py. Então, todas as informações relacionadas ao serviço de pagamentos estão aqui. Todo o contexto está no nosso Port, que é a camada de contexto do aplicativo, certo? Do nosso serviço.

11:28 Agora, vamos voltar e executar harness.py para fazer o diagnóstico e ver se isso funciona, certo? Vamos executar. Vimos que há um bug. Agora, vamos executar o comando python harness.py. Como vocês podem ver, depois que executo, ele lê o contexto do serviço no Port e obtém todo o contexto de lá. Quem é o responsável?

11:58 Qual é a taxa esperada? E qual é a regra de programação? Agora, como vocês podem ver, o valor mudou de 0,10 para 0,02. Dissemos que havia uma regra de programação determinando que era permitido editar app.py. E agora até o teste passou, certo? O contexto fornecido pelo Port, junto com o código, foi passado ao coding agent, e o harness aprovou a edição de app.py. Depois, ele editou o

12:28 app.py com o número correto. E também executou o teste. Está tudo aqui, como vocês podem ver, certo? Resultado do harness: alteração verificada. O Port forneceu o contexto, o modelo forneceu a alteração no código, e o harness controlou o escopo dos arquivos e a verificação. O agent não recebeu capacidade de fazer deploy em produção. Então, como vocês viram agora na tela, sabe,

12:59 como executamos o agent harness com sucesso, certo? O modelo é apenas uma parte do processo inteiro, mas as regras de programação, o contexto, todas as dependências — tudo foi fornecido pelo Port, a camada de contexto, certo? Foi assim que… Isso foi bem simples. Eu queria mostrar que o modelo não é simplesmente… sabe, o modelo poderia ter ido lá e editado aquilo, mas dissemos ao agent o que fazer e o que não fazer,

13:30 e fornecemos o contexto adequado. Foi assim que demos ao ambiente o harness, o ambiente que foi fornecido ao agent e ao LLM, certo? Espero que isso tenha sido útil. Sei que foi bem simples, mas serviu para ajudar vocês a entender como funciona a engenharia de harness, e podemos expandir isso e fazer muito mais. E, sim, esse é o conceito simples de engenharia de harness

14:01 que eu queria explicar e mostrar para vocês. Oi, pessoal. Vimos um tutorial simples sobre engenharia de harness. Agora, quero mostrar outra demonstração ou tutorial que vocês podem criar dentro do próprio Port. Vimos o que é o Port. O Port é uma plataforma agentic de SDLC onde vocês podem automatizar muitos dos workflows de desenvolvimento e engenharia, além de criar uma fábrica de software agentic e muito mais. Agora, gostaria de mostrar como vocês podem criar este agent harness

14:33 dentro do próprio Port, porque nele vocês podem criar workflows e agents de IA. Deixem-me mostrar o agent que temos, certo? Criei um agent de IA. Se eu acessar AI agents, vocês verão que criei um agent de IA chamado Harness Engineer. O que ele faz? Há uma descrição: agent especializado em engenharia de harness que ajuda desenvolvedores a entender e melhorar a prontidão de harness dos serviços, enriquecer metadados ausentes e solicitar e governar deploys. Só permite deploys de serviços que atingiram o nível gold no scorecard de prontidão de harness.

15:04 Então, esse agent de IA, sozinho, não consegue fazer nada se eu o executar, certo? Ele precisa do contexto e das ferramentas adequados. O próprio Port fornece esse contexto e essas ferramentas. Como? Estamos fazendo isso para os serviços. Então,

15:36 vamos acessar Services e ver todos os serviços da nossa organização de engenharia, certo? Vocês podem adicionar mais serviços aqui. Vamos, por exemplo, ao serviço de prompt engineering e acessar Scorecards. Há vários scorecards, como o de prontidão para produção, e aqui está o scorecard de prontidão de harness que criei. Este serviço já atingiu o nível gold, certo? E estas são as regras que ele precisa cumprir

16:08 para atingir o nível gold. Então, este serviço específico, prompt engineering service, já está no nível gold, certo? Agora, vamos ver outro serviço que ainda não atingiu o nível gold, certo? Vamos acessar Scorecards. Este também está no nível gold. E, se eu acessar os scorecards do notification service, dá para ver que a prontidão de harness está no nível basic porque ele não atende a estes requisitos, certo? Como vocês podem ver, tem um README atualizado, proteção de branch, uma equipe e todas essas coisas.

16:41 Desculpem, isso é para a prontidão para produção. Se eu clicar em Harness Readiness, ele também está no nível basic. Então, ainda faltam estes itens, certo? Ele não atende a muitas regras. Por isso, está no nível basic. Então, se eu quiser fazer deploy deste serviço, ele deve ser bloqueado. Como será bloqueado? Para isso, criamos alguns workflows, certo? Se vocês acessarem Workflows, verão, em Harness

17:12 Engineering, estes dois workflows que criei. Um deles é Harness Deployment Gate. Ele busca o serviço, verifica o scorecard de prontidão de harness e exige o nível gold. Só encaminha para aprovação se o serviço estiver no nível gold. Caso contrário, é bloqueado. Vamos ver como esse workflow funciona. Ele obtém o contexto do serviço e verifica a pontuação de prontidão de harness do serviço. Se estiver no nível gold, então encaminhará

17:43 para uma pessoa, para que ela possa aprovar ou rejeitar. Há uma etapa de aprovação humana. Ou, se a pontuação de prontidão de harness do serviço não estiver no nível gold, ele será bloqueado, certo? E o agent de IA explicará por que o deploy foi bloqueado. Também temos outro workflow, como vimos aqui em Harness Engineering: Harness Self Healing Monitor. Ele é acionado quando uma entidade de serviço é atualizada e uma propriedade crítica do harness, por

18:14 exemplo, o nível, o canal do Slack, o runbook ou qualquer outra coisa, é removida. Se removermos algo desse serviço, o workflow é acionado automaticamente, certo? Este é um exemplo simples. Agora, vamos acessar qualquer um dos serviços. Vamos escolher o payment processor, certo? E, se eu acessar Scorecard, a pontuação de prontidão de harness já está no nível gold, porque ele segue todas as regras, certo?

18:45 Agora, deixa eu tentar fazer o seguinte: implantar esse serviço em produção, certo? Então, vamos implantar. Produção. E agora vou executar isso. Se eu executar, nosso primeiro workflow será executado. Como já está no nível gold, no Harness Readiness Score, ele deve solicitar aprovação, porque vai seguir este caminho. E está me pedindo aprovação, como vocês podem ver, certo? Agora, podemos ir até aqui. Podemos ir para

19:15 pendentes. Está me pedindo para aprovar. Vou aprovar. E, assim que eu aprovar, isso será acionado corretamente, e deu tudo certo, certo? Então, este é o primeiro workflow de gate de implantação do harness que criamos. Como o serviço já estava no nível gold, ele passou, e houve uma etapa de aprovação humana. Nós aprovamos, e o serviço seguiu para produção, certo? E agora, se eu for para qualquer outro serviço que ainda não esteja no

19:48 scorecard. Certo, este também está no nível gold. Deixe-me ir para o serviço de checkout e ver o scorecard. Vejam, o Harness Readiness Score está no nível basic porque ele não está atendendo a todos esses padrões, certo? Então, agora, se eu for até lá, clicar e tentar implantar isso, se eu executar, o mesmo workflow será executado novamente. Ele vai buscar os dados, os dados do serviço e as dependências.

20:20 E então, vejam, ele seguiu este caminho porque o serviço ainda não está no padrão gold, certo? O Harness Readiness Score ainda não está no nível gold. Então, está no nível basic. É por isso que ele vai por este caminho específico. E este é o nosso agente de IA, aliás. O próprio agente de IA não consegue fazer nada. Ele precisa ter todo este ambiente, certo? As dependências que precisa conhecer, todo o contexto e as ferramentas que precisa conhecer para chegar a uma decisão específica, certo? Então, foi isso que criamos aqui. É um tutorial ou exemplo muito simples e básico, certo? É exatamente assim que o workflow funciona. Então, agora, vamos para a página de invocações de IA que temos. Vamos para as invocações de IA para ver tudo o que foi executado, certo? Esta execução aconteceu há um minuto, e posso ver que executamos aquele workflow, certo? Então, vocês podem ver as entidades relacionadas, as execuções, o

20:50 log de auditoria e o prompt. Vejam, o serviço de checkout acabou de ser impedido de implantar em produção porque ainda não alcançou o nível gold no Harness Readiness Scorecard. O nível atual é basic. Consulte este serviço. Esse é o prompt enviado pelo agente de IA que usamos, e esta é a resposta. Vejam a resposta incrível que recebemos, certo? O Harness Readiness Score está no nível basic; a progressão para gold foi bloqueada. Certo? O serviço está parado no nível basic. Ele

21:21 não pode avançar até que todas as regras de cada nível sejam aprovadas, em ordem. Aqui está o quadro completo, certo? Então, esta é a resposta completa que recebemos do agente de IA, certo? Logs de execução, um resumo e todas essas coisas. Vocês podem conferir tudo isso nas invocações de IA. No catálogo, podem acessar as invocações de IA e conferir as execuções recentes daqui, certo? E também, se vocês forem ao catálogo, há um

21:53 Harness Engineering Dashboard que criamos. Vocês podem criar dashboards incríveis como este no Port. Bom, se eu clicar aqui, podemos criar um novo dashboard. Olá! Este é o meu Harness Engineering Dashboard, que criei. Aqui vocês podem ver a descrição, explicando do que se trata este dashboard. Estes são os serviços que temos no total e a distribuição do Harness Readiness: quantos serviços estão no nível gold, quantos estão no nível silver e quantos estão no nível basic. E isso

22:26 nos dá uma ideia. Aqui estão todos os serviços e seus níveis. E aqui posso fazer qualquer pergunta relacionada a harness engineering, porque este é o agente que criamos: o agente Harness Engineer, certo? O processador de pagamentos está pronto para ser implantado? Se eu perguntar isso, ele deve me dar uma resposta, certo? Ele vai buscar todas as dependências relacionadas ao serviço específico e responder.

22:56 Então, ele está buscando essas informações e vai me dar uma resposta. Vocês podem criar dashboards incríveis como este aqui, certo? Sim. Como vocês podem ver, o serviço de pagamentos, o processador de pagamentos, está no nível gold e pronto para implantação. Todas as regras do Harness Readiness foram aprovadas, certo? Estas são as regras que ele está aprovando: as seis regras foram aprovadas, e o serviço está no padrão gold e no nível um. O canal do Slack é team payments, o runbook e a escala de plantão estão configurados; está tudo pronto, e o serviço está pronto para implantação. Vocês podem fazer várias perguntas diferentes aqui. Este é o nosso agente que

23:28 criamos. Nós o criamos, certo? Então, é isso. Acessem o Port e criem. Dessa forma, vocês também podem criar o agente Harness ou um tutorial de Harness engineering. Obrigado.

23:58 que criamos. Nós o criamos, certo? Então é isso. Vá para port e crie. Assim, você também pode criar o agent harness ou um tutorial de engenharia de harness. Obrigado.

Transcrição original

[00:00] Hey guys, so we all know that AI coding agents and AI assistants are getting really good at writing code. But here is the problem, right? Writing code is only a small part of real software engineering. An agent needs to know things like which service am I working on? Who owns it? What rules should I follow? What am I allowed to change? How do I know if my change actually works? And that is exactly where Harness Engineering comes in. And in this video, I’m going to explain everything about Harness Engineering in a very simple way

[00:31] and then we’ll build a simple Harness Engineering tutorial at the end. So let’s go. So to understand what exactly is Harness Engineering, we need to understand what is an agent harness. So agent harness is everything that is wrapped around an LLM or the AI agent, right? Basically, LLM is the brain of the agent and apart from that, everything else that is around that forms the environment of that LLM becomes the agent harness. As you can read here, right? An agent harness wraps around model to manage long-running

[01:02] tasks reliably. The model generates responses and the harness handles everything else. See, model is not just enough to you know, for running proper tasks, right? You need to have context, APIs, the tool calling, the the the tools, the the integration of different tools and all these things that make the agent harness for the model, right? So as you can see in the image, the analogy, I think you can easily connect it. The model is the chef and the harness is the restaurant.

[01:32] It understands your request, the model understands, the chef understands the request, reasons, and creates the output. Basically, chef understands only understands the order and he will prepare prepare the dishes and that’s it. He’s creative, very powerful, and he is the main guy in the restaurant. But he doesn’t run the restaurant itself, right? So everything else, he needs ingredients, he he needs different tools to prepare the dish. So, that becomes the the harness, right? So, it provides ingredients like context, tools,

[02:04] workflows, guardrails, human approvals, sub agents, error handling, and monitoring to make sure the job gets done reliably. So, So, think of this way, right? LLM is just one part of the whole ecosystem, and everything else around it, everything else, the environment around it, that is the agent harness, right? So, I hope you understood. Let’s So, so let’s move forward to understand more about harness engineering. So, what is harness engineering, right? So, think of an AI model as the brain, just like a

[02:35] human brain, the model can reason, generate code, and make decisions, which is very powerful, but a brain alone is not enough. You need to engineer the environment around that brain, right? So, that environment is the harness, right? So, just like human brain, just like a human body, brain is very powerful. We can reason, we can think, we can take actions, we can do lot many things with the brain, but but to work efficiently, we need to have other body parts also, right? So, here in the

[03:07] context of harness engineering, everything around an LLM or the AI agent makes the harness. So, a harness gives the agent the right context, clear instructions, access to the right tools, guardrails around what it can do, and feedback to check whether its actions actually work or worked, right? A very simple architecture looks like how it is shown in the image, right? The harness is everything we build around the model to help it operate reliably and efficiently. So, you can think of it

[03:38] like model is more of intelligence, and harness is everything around it like context, instructions, tools, guardrails, feedback, right? So, this is the core idea behind harness engineering. So, in the image you can see a simple harness engineering stack. So, we need to understand that harness engineering is very important to build efficient agentic systems, okay? And as now, as AI agents take on more responsibilities across the software development life cycle, giving our agent or the LLM access to a few tools is no longer enough. We need

[04:11] an agent harness, right? Think of the harness as the operational environment around an AI agent. It manage It manages inputs, configurations, tool access, execution, outputs, and feedback, giving agents the structure they need to perform real engineering work reliably and efficiently. As you can see the harness engineering stack, it all starts with the There is a user client. It can be developer, SRE, or anybody in the engineering ecosystem or in the engineering team. And then you can see the AI agent, the

[04:42] LLM agent, and everything around it, right? The the tools and integrations which form the agent harness. And this agent is also supported with the agentic SDLC platform to automate engineering and developer workflows, right? Where we will see engineering proper engineering context set, standards and guardrails set, and and ownership and teams and software catalog set properly, right? And that is not enough. We need to have evaluation and observability layer also

[05:14] to make sure what we are doing is tracked properly, right? So, that’s about the harness engineering stack. So, it is never about choosing the smartest model as we already know. So, it is always about building the right system around the model, and it is how you build the efficient agentic engineering systems. And that’s where our agent harness basically helps us to build such efficient systems, right? So, finally it’s the tutorial time. So, what

[05:45] are we building today? For this tutorial, I wanted to keep things very simple and we have a tiny Python payments application and there is one bug intentionally put in the code. The application is currently charging a 10% payment fee, right? But the correct fee should actually be 2%. Uh so that is the bug. And here is the interesting part. We are not going to tell our AI agent directly that the correct fee is 2%, okay? Instead, that information will live inside Port, port.io, the

[06:15] agentic SDLC platform that we are using in this tutorial. And you should know that Port can also be used as a context layer and that is how we are using Port here, right? Apart from the agentic SDLC platform, Port can also be used as the context layer for your engineering agentic engineering systems, right? So Port knows the engineering context about our service. It knows everything, the dependencies and all those things, like service name, the service name it knows, the payment service, and owner also it knows, the payments team, expected fee

[06:46] is 2%, and coding rule preserve negative amount validation, and also there is a rule that what we can edit, what the agent can edit, and what agent can’t edit. So agent agent can actually edit the app.py to to give us a proper suggestion of what is the bug and what needs to be changed, right? And these are these are the things that our context lake knows, that Port knows, right? So here is the architecture that looks like what we’re building today.

[07:17] The flow is very simple. The AI model is the brain while the agent harness controls the environment around that brain. We know that. And uh it starts with the developer making a request, for example, fix the payment fee bug, right? As you can see in the image, right? Uh he tells the agent that fix the payment fee bug. And the request first goes to the agent harness, not directly to the AI model or the AI agent. The harness gets the relevant service context from port, the context layer, and it gets the

[07:48] things like the service information, ownership, dependencies, engineering rules, and what the agent is allowed to edit and not not not to do, right? So, the harness then combines the request, port context, instructions, and guardrails, and sends the task to the AI model, the AI agent, right? And then the AI model reasons about the problem and generate the required code change. And in our example, it changes app.py fixing the incorrect 10% fee to the correct 2%

[08:19] value provided through port, right? Because port knows exactly what needs to be changed, and it knows the exact value, fee value, right? That is 2%, but but the incorrect one is 10 10%, which is already a bug, right? But the But now, the harness doesn’t blindly trust the generated code. It runs pytest to verify the change, right? And then the test results become feedback. If the test pass, the change is verified. If they fail, that feedback can be used for another iteration. So, the completion loop is

[08:51] like developer requests a request thing, right? A developer first requests, and then it goes to the port context, and then the harness gets the request, and then AI model does, you know, asks for the code change. It provides everything, and then the tests will run, and then the feedback we will get the feedback, right? So, that’s a complete harness engineering, giving AI the right context, boundaries, tools, and feedback loop to reliably complete the engineering

[09:22] tasks, and that is what we are building today, right? So, let’s see this in action. Hey guys, so here is the payments application code, as you can see, app.py. It is very simple. So, you can see that 0.10 {comma} 2. So, 0.10 should have been 0.02, right? Now, the correct answer is 2% the fee structure. Whereas, now if you calculate, it is 10% and we can also verify that using the test. And it shows that there is a

[09:55] error. There is a bug and it fails. Right? And now, that’s the app.py with the bug like we said already. And this is the harness.py which acts as a controller of the whole project, right? So, instead of directly asking an LLM to fix our code, what harness.py does, it first collects the right context, right? So, it collects the right context from port.io. So, port is our context layer, right? So, let’s go to our

[10:27] port.io. So, this is the port.io, the agentic SDLC platform where you can basically build and automate a lot of your developer and engineering workflows. Right? So, I already have my account. So, let me show you how the service is configured, right? So, I can go to builder and search for harness service and I can actually see what is related to this service, right? The service name is payment service. The owner is payments team. And expected fee

[10:57] percentage is 2%, right? And these are the coding rules, as you can see. Payments fee must use Payments fees must use the configured fee percentage blah blah blah and all that thing. And also, what the agent can edit. The agent can actually edit only app.py. So, this is everything related to payment service. So, all the context is actually present in our board. io, that is the context layer for our application, right? For our service.

[11:28] Now, let’s go back and let’s actually run harness.py to basically basically run the diagnosis and to see whether this actually works or not, right? So, let’s run We saw that there is a bug. Now, let’s run the a python harness.py. So, as you see, once I run, so it is reading service context from port and getting all the context from port. Who is the owner?

[11:58] What is the expected fee? And what is the coding rule? So, now, if you see, from 0.10, it changed suddenly it changed to 0.02. So, we told the There was a coding rule we set saying that you can edit app.py. So, now, we And even the test pa- test passed, right? Giving port context plus code to the coding agent and harness approved edit to app.py and then it edited the

[12:28] app.py with a proper number. And it also ran the test. And everything is here, as you can see, right? Harness result change verified, port supplied the context, the model supplied the code change, the harness controlled the file scope and verification. No production deployment capability was given to the agent. So, as you saw now on your screen how, you know,

[12:59] how we actually ran the agent harness successfully, right? So, model is just a part of the whole process, but the coding rules, the context, everything was the dependencies, everything was provided by port, the the context layer, right? So, this is how this is This was very simple. I wanted to show like how model is not just like, you know, model could have just gone and edited the thing, but uh we told the agent to do what not to do,

[13:30] and we gave proper context, and that’s how we we gave, you know, that was the harness that was given to the the environment that was given to the agent, and the LLM, right? So, hope this was useful, and I know this was very simple to basically help you understand how the how the harness engineering basically works, and we can actually extend this and do a lot more. And uh yeah, this is simple con- con- like, you know, concept of harness

[14:01] engineering I wanted to explain and show you. Hey guys, so we saw a simple tutorial on harness engineering. And now, I want to show you another demo or uh tutorial that you can build inside Port itself. We saw what is Port. Port is an agentic SDLC platform where you can automate a lot of your dev workflows, engineering workflows, and you can also build an software agentic software factory, and so on. So, now I would like to show you how you can build this agent harness

[14:33] inside Port itself, because inside Port you can create workflows, you can create AI agents. So, let me show you the agent that we have, right? I have created an AI agent. If I go to AI agents, so I have created an AI agent with the name Harness Engineer. So, what it does, there is a description, right? Domain-specific agent for harness engineering helps developers understand and improve their services’ harness readiness,

[15:04] enrich missing metadata, and request govern govern deployments. Only allows deploys for services that have reached gold on the harness readiness scorecard. So, now, only this AI agent by itself can’t do anything if I run it, right? So, it needs to have the proper context and the tools. So, that context and tools is provided by port itself. How? Because this we are doing for the services. So,

[15:36] now let’s go to services and see, these are all the services that we have in our engineering organization, right? You can add more services here. Let’s go, for example, prompt engineering service and I can go to scorecards. You can this different scorecards like production readiness and here is what I have created the harness readiness scorecard. This service has already reached the gold gold label, right? See, from and these are the rules of the what all it needs

[16:08] to have to reach the gold. Uh so, this particular service, prompt engineering service, is already at gold, right? And now let’s go and see some other service that’s not reached gold yet, right? Let’s go to scorecards. This is also at gold. And if I go to notification service scorecards, see, this harness readiness is very basic because it is not fulfilling these these things, right? As as you can see, has a read me, freshness, a branch protection,

[16:41] has a team and all those things. So, sorry, that’s for production readiness. If I click harness readiness, this is at basic again. So, these are the things it is not having yet, right? So, it is missing a lot of rules. So, it is at basic now. So, what should happen where if I want to deploy this particular service, it should get blocked. So, how it will get blocked? So, for that we have created some workflows, right? So, if you go to workflows, you can see under harness

[17:12] engineering these two workflows that I have created. One is Harness Deployment gate. Fetches the service, checks its Harness Readiness Scorecard. Gold is required and only routes to approve if the service is gold. Otherwise, it gets blocked. Let’s see how this particular workflow looks like. It gets the service context and checks the service’s Harness Readiness Score. If it is at gold, then it will move that

[17:43] to the for any human. There is a human gate to approve or reject it. Or you if the service is not if service’s Harness Readiness Score is not gold, it will get blocked, right? And the AI agent will explain why deployment is blocked. And we have another workflow as we saw from here under Harness Engineering, Harness Self Healing Monitor. So, it fires when a service entity is updated and a Harness critical property, for

[18:14] example, tier, Slack channel, runbook, or anything gets cleared. If we remove anything from that particular service, this gets triggered automatically, right? So, this is a simple example. Now, let’s go to any of the service. And let’s go let’s pick the payment processor, right? And if I go to Scorecard, it is at the Harness Readiness Score is already at gold because it follows all the rules, right?

[18:45] Now, let me try to do the like, you know, deploy this service to production, right? So, let’s deploy this. production And now I’ll execute this. If I execute this, our first workflow will run. Since it is already at gold, the the Harness Readiness Score, it should it should ask for the approval because it will go it will take this route. And it is asking me for the approval as you can see, right? Now, we can go here. We can go to

[19:15] pending. It is asking me to approve. I’ll approve. And once I approve this, it will get triggered properly, and this went properly, right? So, this is the first first harness deployment gate workflow that we created. Since the service was already at gold, it went through, and there was a human gate. We approved it, and the service went through to production, right? And now, if I go to any of the other service, which is not yet at the

[19:48] scorecard. Okay, this is also at gold. Let me go to checkout service. And see the scorecard. See, harness readiness score is basic because it is not, you know, meeting all these standards, right? So, now, if I go, click it, and if I try to deploy this, if I execute this, again, the same workflow will run. It will fetch the data, service data, and the dependencies.

[20:20] And then, see, it took this path because the service is not yet at the gold standard, right? The harness readiness score is not yet at gold. So, it is basic. So, that’s why it is going to this particular It is taking this particular route. And this is our AI agent, by the way. So, AI agent itself can’t do anything. It needs to have all this environment, right? The the dependencies it needs to know, the all the context and the tools it needs to know to get at a particular get at

[20:50] any particular decision, right? So, that is what we have created here. It’s a very simple It’s a very simple and basic basic tutorial or example, right? So, this is how exactly the workflow works. So, now, let’s go to the AI invocation page that we have. Let’s go to EI invocation to see what all ran completely, right? So, this is a minute ago and I can see we ran that workflow, right? So, you can see the related entities, the runs, the

[21:21] audit log, prompt. See, the service checkout service was just blocked from deploying to production because it has not reached gold on the Harness Readiness Scorecard. Its current level is basic. Look up this service. So, it is giving all that that is the prompt from the EI agent that we used and this is the response. See the amazing response that we received, right? Harness Readiness Score is basic, blocked from gold. Right? The service is stranded at basic. It

[21:53] cannot advance until every rule at each level passes in order. Here is the complete picture, right? So, this is a complete response that we received from the EI agent, right? Execution logs and this is some summary and all those things. So, you can check all this in the EI invocations. From catalog, you can go to EI invocations and check the recent runs from here, right? And yeah, there is also if you if you go to catalog, there is also a

[22:26] Harness Engineering Dashboard that we have created. You can create such amazing dashboards from Port. Well, if I click here, we can go to create new dashboard. Hey, so this is my Harness Engineering Dashboard that I have created and you can see the description here what this dashboard is all about and these are the total services that we have and Harness Readiness distribution, how many services are at gold, how many are at silver and how many are at basic and it

[22:56] gives us an idea and these are all the services and their tiers and here I can actually ask any of the harness engineering related uh query because this is our agent that we have created. Harness engineer agent, right? Is uh payment process ready to deploy? If I ask that, it should give me an answer, right? It will go fetch all the related um dependencies of the particular service, and it will answer.

[23:28] So, it is fetching that, and uh it will give me an answer. So, you can create such amazing dashboards here, right? Yeah. So, as you can see, payment service payment processor is gold, ready to deploy. All Harness readiness rules pass, right? So, these are the rules it is passing, six by all the six rules passing, and it is at gold standard and tier one. Slack channel is team payments, and run book on-call rotation is configured, everything is done, and this is ready to deploy. So, you can ask different questions here. This is our agent that

[23:58] we have created. We created it, right? So, that’s it. Go to port and create. This way also you can create the agent Harness or Harness engineering tutorial. Thank you.