A melhor forma de entender a engenharia por trás de um harness
Autoria: Cortes do Rafael Quintanilha · 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: A melhor forma de entender a engenharia por trás de um Harness · Canal: Cortes do Rafael Quintanilha · 06:47 · Assistir no YouTube
Tópicos: Agentes de IA, Avaliação e benchmarks de IA, Engenharia de software com IA, Ferramentas de desenvolvimento com IA
O vídeo explica harness engineering por meio da analogia de um arreio que orienta e controla um animal, comparando-o a um sistema que direciona um modelo de IA imprevisível. Um harness pode incluir ferramentas, gestão de contexto, permissões, sandbox, orquestração de subagents e observabilidade. A escolha e a combinação desses elementos ajudam a orientar as ações do modelo e a avaliar se ele está usando os recursos adequados. Por fim, o vídeo distingue entre criar um harness para uso individual e criar um harness específico para uma empresa ou equipe.
Pontos-chave
Seção intitulada “Pontos-chave”- Um harness é um sistema que ajuda a controlar e orientar as ações de um modelo de IA.
- Como os modelos são estocásticos e imprevisíveis, é importante definir limites e instruções para o que podem fazer.
- Ferramentas, como MCP, CLI, comandos de terminal e operações com arquivos, fazem parte da anatomia de um harness.
- A gestão de contexto pode incluir instruções, memória, compressão e resumos.
- Permissões e sandbox permitem executar o modelo em um ambiente controlado.
- A orquestração pode delegar tarefas a subagents e modelos mais baratos ou rápidos.
- Traces e evals ajudam a observar e avaliar se o harness está funcionando como esperado.
- Harnesses minimalistas, como pi, podem ser personalizados com componentes opcionais.
- É possível criar um harness para uso individual ou para as necessidades específicas de uma empresa ou equipe.
Capítulos
Seção intitulada “Capítulos”| Início | Capítulo | Resumo |
|---|---|---|
| 00:00 | O que é harness engineering | O vídeo apresenta a analogia do arreio para explicar como um harness orienta e controla um modelo de IA. |
| 01:33 | Anatomia de um harness | São apresentados modelos, ferramentas, gestão de contexto, permissões, sandbox e orquestração. |
| 03:07 | Orquestração e exemplos de harnesses | O vídeo explica o uso de subagents e cita Codex, Claude Code, Cursor e pi como exemplos. |
| 04:42 | Observabilidade e avaliação | Traces e evals ajudam a investigar se o modelo escolheu as ferramentas e ações adequadas. |
| 06:15 | Harnesses individuais e específicos de domínio | O encerramento diferencia harnesses para uso individual daqueles criados para uma empresa ou equipe. |
Citações
Seção intitulada “Citações”Um harness é um sistema que controla um modelo de IA. — 00:30
Você precisa dizer a ele para onde deve ir. — 01:02
Queremos que o modelo execute em um ambiente controlado. — 03:07
Formas de analisar se o harness está fazendo o que deveria. — 05:13
O engenheiro de software agora precisa aprender a construir esse harness. — 06:15
Conceitos e entidades
Seção intitulada “Conceitos e entidades”- Harness Engineering (conceito): Prática de projetar sistemas que orientam e controlam o comportamento de modelos de IA.
- Harness (conceito): Sistema que reúne componentes para orientar as ações de um modelo de IA.
- GPT-4 (modelo): Um dos modelos citados como exemplo de modelo que pode ser usado com um harness.
- GPT-6 Astra (modelo): Modelo mencionado como exemplo de opção mais inteligente que pode ser usada na etapa de planejamento.
- MCP (ferramenta): Uma das interfaces de ferramentas citadas como componente de um harness.
- Codex (ferramenta): Produto citado como exemplo de harness e de contexto para orquestração.
- Claude Code (ferramenta): Produto citado como exemplo de harness.
- Cursor (ferramenta): Produto citado como exemplo de harness.
- Pi (ferramenta): Harness minimalista que pode ser ampliado com componentes como subagents.
- Luna (ferramenta): Ferramenta mencionada em um exemplo de orquestração com Codex.
Tradução completa (pt-BR)
Seção intitulada “Tradução completa (pt-BR)”00:00 Então, vamos começar entendendo que estamos falando dessa nova disciplina chamada engenharia de harness: projetar um harness, construir um harness, saber como criar um harness da melhor forma. Obviamente, precisamos entender o que é um harness para poder construir um, certo? O que é isso? A melhor forma que vejo de explicar o que é um harness é por meio desta imagem aqui. Um harness nada mais é do que este conjunto de faixas e tiras, certo? Coisas que você coloca para amarrar algo, para prender um animal, por
00:30 exemplo, certo? Em outras palavras, para que você possa controlá-lo, para que ele não saia correndo sem rumo nem vá em direções para as quais você não quer que ele vá. Então, isto aqui é um harness, certo? Esta coisa que segura o cachorro, que o contém e controla, é um harness. Quando falamos de engenharia de harness, estamos falando da construção de um sistema, um sistema que controla um modelo de IA. Então, você tem um modelo de IA aqui. Um modelo de IA é imprevisível. Ele pode fazer coisas que você
01:02 não quer que faça. Você precisa colocar um harness nele. Precisa colocar uma guia nele. Precisa dizer aonde ele deve ir. Você faz isso construindo um harness. Certo? A partir disso, dá para ver naturalmente que vale a pena aprender engenharia de harness se você quiser dar cada vez mais liberdade aos modelos de IA. Se quiser que modelos de IA cada vez mais inteligentes realizem várias ações e executem várias tarefas, você precisa garantir que o modelo, que é
01:33 imprevisível, que é estocástico, que você não domina nem entende por completo, faça apenas o que você quer, certo? Então, quando falamos de engenharia de harness, precisamos entender sua anatomia, a anatomia de um harness, ou seja, o que compõe um harness, certo? Quais são os elementos que você coloca em um harness para construí-lo? Então, lembrando: temos o modelo aqui. Afinal, o que é o modelo aqui, pessoal? Estamos falando de GPT-4, Claude, estamos
02:03 falando de Llama, GLM ou até mesmo Grok. Esses são os modelos que usamos, certo? Cada modelo vai precisar do seu próprio harness para colocá-lo, certo, onde ele precisa estar. Então, do que um harness precisa? Qual é a sua anatomia? Do que ele é composto? A primeira coisa que vem à mente é que um harness tem ferramentas. Rafael, o que são ferramentas? Bem, aqui estamos falando de MCPs, CLIs, comandos de terminal, leitura e gravação de arquivos etc., etc. Então, um harness dá ao modelo um conjunto de ferramentas que ele pode usar, certo?
02:35 Outra coisa que o harness precisa ter é contexto, certo? Ou seja, precisamos que o modelo entenda instruções, não se esqueça das coisas que fez antes e saiba o que pode e o que não pode fazer. Então, aqui podemos falar de instruções, memória e várias outras coisas que vão gerenciar o contexto. Por exemplo, compressão. Como vou gerenciar isso, certo? Então, em algum momento preciso comprimir esse
03:07 contexto, preciso de resumos do contexto e assim por diante. Então, o contexto é outro componente da engenharia de harness, mas há outras coisas. Temos, por exemplo, permissões ou uma sandbox, certo? Queremos que o modelo seja executado em um ambiente controlado. O que mais temos? Ah, nosso amigo Uncle Bob vai ficar feliz com isso. Temos questões de orquestração, ou seja, um modelo sozinho é só… bem, é o modelo. É o modelo, mas talvez eu queira
03:39 despachar subagents aqui. Por que eu faria isso, pessoal? Por que despacharia subagents? Por alguns motivos. Você pode ter um modelo muito inteligente, GPT-6 Astra, consumindo todos os seus tokens. Mas, na etapa de execução, depois de fazer um plano, você pode despachar um modelo bem mais barato e rápido. Assim, economiza tokens e obtém o mesmo resultado, mas sem gastar tanto, certo? Então, essa também é uma parte extremamente importante da engenharia de harness, especificamente
04:09 neste contexto do Codex ou do ChatGPT; recentemente fiz um vídeo sobre orquestração no Codex usando Luna, certo? Que é excelente para esse tipo de coisa. Vou deixar o link caso você tenha interesse especial em fazer orquestração no Codex. Mas, claro, Codex é um exemplo de harness, certo? Nem cheguei a mencionar isso aqui. Vamos fazer um pequeno desvio e voltar a falar sobre quais harnesses famosos temos hoje, certo? Temos Codex, temos Cloud Code, temos Cursor, temos antigravy. Todos esses
04:42 são harnesses que vão incorporar, ou melhor, implementar essas questões que estou mostrando aqui. Claro, esses são harnesses maiores; há outros mais simples, como o pi, por exemplo. Ele é um harness minimalista. Qual é a vantagem do pi? Ele é tão minimalista que nem vem com algumas coisas por padrão. Por exemplo, não vem com subagents. Então, você adiciona subagents se quiser. Assim, constrói o harness do jeito que preferir. Por isso, ele é perfeito para engenharia de harness. Agora, outra coisa que um harness pode oferecer é observabilidade. Certo? O que é essa palavra estranha aqui, pessoal? Observabilidade. Aqui, geralmente estamos falando de rastros, estamos falando de evals, ou seja, maneiras de analisar se o harness está fazendo o que deveria fazer. Por quê? Porque o modelo de inteligência artificial é estocástico. Ele entra nessa mistura de coisas que pode usar aqui e decide o que vai fazer. Como você sabe se escolheu o caminho certo? Como sabe se, por exemplo, você deu a ele uma caixa de ferramentas? E nessa caixa de ferramentas,
05:13 há uma chave Phillips, uma chave de roda, uma furadeira, e então você deu a ele uma tarefa: preciso montar esta cadeira. Aí ele escolheu a chave de roda, por exemplo, em vez de escolher a chave Phillips. Aí você diz: “Opa, espera aí, este modelo escolheu a ferramenta errada.” O que está errado aqui? Será que é o meu manual de instruções das ferramentas? Será que meu contexto não era adequado? Será que meu modelo é burro e não consegue entender isso? Tudo isso faz parte da engenharia de harness. E agora você entende por que isso faz parte do trabalho de um engenheiro de software,
05:43 certo? Então, agora o engenheiro de software precisa aprender a construir esse harness para duas situações distintas. E talvez seja aqui que surja a principal confusão, certo? Situação número um, pessoal: quando você construiria um harness? Bem, você é programador, então construiria um para si mesmo. E vou explicar o que você vai fazer nesse contexto. A segunda situação em que você construiria um harness é para uma empresa ou uma equipe. É o que as pessoas aqui chamam de harness específico de domínio, certo? Ou seja, para um domínio específico. O que é um domínio específico neste caso, Rafael? Bem, aqui estamos falando de uma empresa, estamos falando de uma equipe. Então, em qualquer lugar onde você possa aplicar um agente de IA, pode aplicá-lo aqui no domínio específico dessa equipe ou dessa empresa, entendeu?
06:15 certo? Então, agora o engenheiro de software precisa aprender a construir esse harness para duas situações distintas. E talvez seja aqui que surja a principal confusão, certo? Situação número um, pessoal: quando você construiria um harness? Bem, você é programador, então construiria um para si mesmo. E vou explicar o que você vai fazer nesse contexto. A segunda situação em que você construiria um harness é para uma empresa ou uma equipe. É o que as pessoas aqui chamam de harness específico de domínio, certo?
06:47 Ou seja, para um domínio específico. O que é um domínio específico neste caso, Rafael? Bem, aqui estamos falando de uma empresa, estamos falando de uma equipe. Então, em qualquer lugar onde você possa aplicar um agente de IA, pode aplicá-lo aqui no domínio específico dessa equipe ou dessa empresa, entendeu?
Transcrição original
[00:00] So let’s start by understanding that we are talking about this new discipline called harness engineering, so engineering a harness, building a harness, knowing how to create a harness in the best way. Obviously, we need to understand what a harness is, right, so I can build one, what is it, okay? The best way I see to explain what a harness is is through this figure right here. A harness is nothing more than this set of bands and straps, right, things you put on to tie something, to secure an animal, for
[00:30] example, right? In other words, so that you can control it, so it doesn’t just run off wildly, or go in directions you don’t want it to go. So this right here is a harness, okay? This thing holding the dog, restraining it, controlling it , that is a harness. So, when we talk about harness engineering, we are talking about building a system, a system that controls an AI model. So, you have an AI model here. An AI model is unpredictable. It can do things you
[01:02] don’t want it to do. You need to put a harness on it. You need to put a leash on it. You need to tell it where it should go. You do that by building a harness. All right? So from this, you can naturally see that it’s interesting to learn harness engineering if you want to give more and more freedom to AI models. If you want increasingly intelligent AI models to take various actions, to perform various tasks, you need to ensure that the model, which is
[01:33] unpredictable, which is stochastic, which you don’t fully master or understand, only does what you want, okay? So, when we talk about harness engineering, we need to understand its anatomy, the anatomy of a harness, that is, what composes a harness, right? What are the elements you put into a harness to build it? So, remembering, we have the model here. So, the model, what is the model here, folks? Here we are talking about GPT-4, Claude, we are
[02:03] talking about Llama, GLM, or even Grok. These are the models we use, okay? Each model will need its own harness to place it, right, where it needs to be, correct? So what will a harness need? What is the anatomy? What is it composed of? First thing that comes to mind, a harness, it has tools. Rafael, what are tools? Well, here we’re talking about MCPs, CLIs, terminal commands, file reading and writing, etc., etc. So, a harness gives that
[02:35] model a set of tools it can use, right? Another thing the harness needs to have is context, right? Meaning, we need the model to understand instructions, not forget things it did in the past, and know what it can and cannot do. So here we can talk about instructions, memory, and various other things that will manage the context. For example, compression. How am I going to manage this, right? So I need to compress that
[03:07] context at some point, I need summaries of the context, and so on. So context is another component here in harness engineering, but we have other things. We have, for example, permissions or a sandbox, right? We want that model to run in a controlled environment. What else do we have? Ah, our friend Uncle Bob will be happy about this. We have orchestration issues, meaning a model on its own is just, well, it’s the model. It’s the model, but I might want
[03:39] to dispatch sub-agents here. Why would I do that, folks? Why would I dispatch sub-agents? For a few reasons. You might have a very smart model, GPT-6 Astra, consuming all your tokens. But then at the execution stage, after you’ve made a plan, you can dispatch a much cheaper and faster model. So you save tokens and get the same result, but without spending as much, right? So this is an extremely important part of harness engineering too, specifically
[04:09] in this context of Codex, or ChatGPT; I recently made a video about Codex orchestration using Luna, right? Which is excellent for this type of thing. I’ll leave the link if you are particularly interested in doing orchestration in Codex. But of course, Codex is an example of a harness, right ? I didn’t even mention that here. Let’s take a small detour, let’s go back to talk about which famous harnesses we have today, right? We have Codex, we have Cloud Code, we have Cursor, we have antigravy. All of these
[04:42] are harnesses that will incorporate, or rather, implement these issues I’m showing you here. Of course, these are larger harnesses, there are simpler ones, like, for example, pi. It is a minimalist harness. What is the advantage of pi? It’s so minimalist that it doesn’t even come with some things by default. For instance, it doesn’t come with subagents. So you add subagents if you want. So you build the harness to your liking. It is perfect for harness engineering because of that . Now, another thing a harness can give you is observability. All right? What
[05:13] is this ugly word here, folks? Observability. Here we are usually talking about traces, we are talking about evals, that is, ways for you to analyze if the harness is doing what it should be doing. Why? Because the artificial intelligence model is stochastic. It goes into this mix of things it can use here, and it will decide what it’s going to do. How do you know it chose the right way? How do you know that, for example, you gave it a toolbox? And here in this toolbox,
[05:43] there’s a Phillips screwdriver, a lug wrench, a drill, and then you gave it a task: I need to assemble this chair. And then it chose the lug wrench, for example, instead of choosing the Phillips screwdriver, I don’t know, you say: “Whoa, wait a minute, this model chose the wrong tool.” What is wrong here? Could it be my tool instruction manual? Could it be that my context wasn’t adequate? Could it be that my model is dumb and can’t understand this ? All of this is part of harness engineering. And now you understand why this is part of a software engineer’s
[06:15] job, right? So the software engineer now needs to learn how to build this harness for two distinct situations. And here is perhaps where the main confusion comes in, okay? Situation number one, folks, when would you build a harness? Well, you’re a programmer, so for yourself. And I’ll explain what you’re going to do in this context. And the second situation where you would build a harness is for a company or a team. It’s what people here called a
[06:47] domain-specific harness, right? So for a specific domain. What is a specific domain in this sense here, Rafael? Well , here we’re talking about a company, here we’re talking about a team. So, anywhere you can apply an AI agent, you can apply it here in the specific domain of that team or that company, got it?