Na aula anterior, o loop dizia "o modelo pede, o harness executa". Esta aula abre esse pedido.
Um modelo de linguagem só produz texto. Então uma ferramenta, para ele, é uma descrição em texto: um nome, uma frase dizendo para que serve, e a lista do que ela precisa receber. Quando o pedido do usuário combina com a descrição, o modelo foi treinado para escrever, em vez da resposta, um pedido de ferramenta num formato fixo. E parar.
Passo 1 de 6
O harness declara a ferramenta
Antes de tudo, o programa em volta diz ao modelo que existe “ver_horario”, e o que ela pede.
DesafioComplete uma volta inteira: pedido, execução e resposta.
Na versão sem ferramenta, a resposta soa certa e é inventada. "Das 6h às 12h" é uma continuação provável para uma frase sobre padaria. Com a ferramenta, a resposta vem de uma consulta de verdade, feita por código comum, fora do modelo.
Três coisas que a volta mostra
A descrição é tudo que o modelo sabe da ferramenta. Ele não vê o código. Se a descrição diz "consulta o horário de uma loja", é por ela que ele decide quando chamar. Descrição vaga, chamada errada.
Quem executa decide o que é permitido. O pedido passa pelo harness antes de virar ação. Ali mora a regra "ler pode, enviar espera aprovação". O modelo pode pedir o que quiser; o harness decide o que roda.
O resultado vira texto no pacote. A resposta da consulta entra como uma mensagem nova e o modelo é chamado de novo, agora com o dado na frente. Se o resultado for grande (um PDF inteiro, uma página da web), ele ocupa a janela da aula 14.
Glossário da aula
- Tool use
- O modelo devolve um pedido estruturado de ferramenta em vez de uma resposta. Também chamado de function calling.
- Schema
- A descrição, em JSON, do que a ferramenta recebe: nomes, tipos, o que é obrigatório.
- Injeção de prompt
- Instruções escondidas num conteúdo de fora (página, e-mail, arquivo) tentando mudar o que o agente faz.
Confere rapidinho
O agente chamou a ferramenta errada para o pedido. Onde você mexe primeiro?
