Ferramentas em Escala
No Módulo 1b, você conectou uma única ferramenta ao ciclo do agente: o modelo solicitou uma função nomeada, seu harness de execução a executou e o resultado voltou para a chamada seguinte do modelo. Esse percurso de ida e volta não muda aqui. O que muda é a superfície de ferramentas: o modelo deve escolher entre mais descrições, e cada ferramenta pode ocultar uma capacidade maior.
A página segue esse contrato desde funções locais até um backend de pesquisa e um subagente. Um subagente como ferramenta coloca um agente especializado atrás de um único esquema para que o workflow externo possa encaminhar o trabalho sem expor cada capacidade interna. O Model Context Protocol (MCP) oferece ao cliente uma forma padrão de descobrir e chamar ferramentas servidas por outro processo. Use-o em um limite de capacidades, depois de validar o servidor, a identidade e o escopo. Os dois padrões mantêm pequena a lista de ferramentas do loop principal e motivam os workflows delimitados do Módulo 2.
O contrato de chamada de ferramenta permanece fixo
A figura traça o ciclo a partir de 1b. Seções posteriores mudam de onde vem o esquema e o que o executor faz, enquanto o modelo ainda solicita uma ferramenta nomeada e lê seu resultado.
tool_calls consistente. Seu código de encaminhamento pode então contar com tc.function.name e tc.function.arguments presentes e analisáveis.
Como o modelo escolhe entre várias ferramentas
Os agentes raramente têm uma única ferramenta. Com mais de uma, o modelo decide qual chamar com base no campo description.
A célula abaixo fornece ao modelo duas ferramentas e uma pergunta que exige escolha, e a visualização mostra por qual caminho o modelo foi e por quê.
Conectando glossary_search a uma ferramenta real
A célula conecta glossary_search a um catálogo de termos da NVIDIA na página. A busca classificada é executada no navegador sem uma chave e retorna definições curtas com links de fonte. A web_search compartilhada do curso aplica a mesma classificação ao catálogo completo. Abra o explorador de glossário para inspecionar cada termo, ler a fonte de webSearch e instantAnswer ao vivo ou executar a consulta você mesmo.
A próxima seção troca o executor por uma busca de termo exato atrás do mesmo contrato de ferramenta. Assim, você observa o contrato permanecer fixo enquanto o backend muda.
nvidia_glossary_api é frágil: alterar o backend
força você a atualizar cada prompt que referencia o nome. Uma ferramenta chamada
glossary_search descreve o que o chamador precisa. Pesquisa classificada, busca exata,
ou um índice mais rico pode estar por trás desse contrato sem alterar o prompt do agente.
Aplicado · BackendTrocar o executor sem alterar a ferramenta?
Substituindo o backend enquanto o contrato da ferramenta é mantido
O mesmo ciclo é executado aqui como um script mountRunCell plano, com uma alteração: o executor.
A busca anterior retornou um breve resumo para cada um dos vários resultados. Este backend retorna o artigo completo para a melhor correspondência, recuperado da página de glossário em cache do termo. O esquema e o ciclo não mudam; apenas a fonte por trás de glossary_search se tornou mais rica.
glossary_search com uma
consulta natural e lê o que é retornado, sem saber qual backend respondeu. Você pode começar com um índice de resumos e mais tarde substituir por artigos completos ou uma busca ao vivo sem tocar no ciclo. A precisão pode mudar
quando um backend resolve uma correspondência de maneira diferente, mas o contrato é mantido.
Profundo · DelegaçãoOcultar um agente especializado atrás de uma ferramenta?
Ocultando um agente inteiro atrás de uma única ferramenta
Uma ferramenta não precisa ser uma pequena função. Um sub-agente inteiro pode estar por trás de uma única chamada de ferramenta. O modelo chamador ainda vê um contrato. O agente por trás pode consultar um banco de dados, executar código ou buscar um repositório sem expor essas ferramentas internas ao ciclo principal.
A célula abaixo expõe um sub-agente que conhece uma pequena tabela de clientes como uma ferramenta de linguagem natural. O agente principal nunca vê as linhas e só pode fazer perguntas.
Recuperando ferramentas de um servidor separado com MCP
Aplicado · ConstruçãoRevisar o fluxo de descoberta e invocação do MCP?
O Protocolo de Contexto do Modelo (MCP) fornece uma forma padrão para servir ferramentas. O agente recupera a lista de ferramentas que um
servidor oferece com uma chamada tools/list, então invoca qualquer uma delas com
tools/call. Essas ferramentas vivem em um processo separado que o agente
conecta e consulta quando é iniciado. Como o protocolo é o mesmo
em todos os lugares, o agente pode se conectar a servidores adicionais sem aprender uma nova
interface para cada um. Use MCP quando a descoberta de ferramentas e o transporte precisam de um protocolo compartilhado. Use uma função local, uma habilidade de repositório ou uma chamada de API direta quando o harness de execução
já sabe onde a capacidade vive e como invocá-la.
tools/list como entrada não confiável. Antes de se conectar ao servidor:
- verifique sua identidade,
- mostre as capacidades solicitadas ao usuário,
- conceda o menor escopo útil,
- e vincule cada credencial à audiência desse servidor.
A célula abaixo simula um pequeno servidor MCP em JavaScript puro com o
mesmo formato JSON-RPC que o MCP define (sem transporte). O agente recupera
a lista de ferramentas, passa os esquemas para o modelo e encaminha
tool_calls de volta pelo manipulador tools/call do servidor. O ciclo do agente é idêntico,
byte por byte, ao de uma chamada de ferramenta normal; muda apenas a origem da lista de ferramentas.
O Módulo 2 mantém esse contrato de ferramenta e altera a estrutura externa. Um workflow pode encaminhar chamadas através de um pipeline fixo, distribuir trabalho em ramificações ou delegar uma tarefa focada a outro ciclo sem expor todas as ferramentas internas ao chamador.
Antes de continuar
- O que acontece quando o modelo chama uma ferramenta com argumentos que não passam pela validação? O ciclo atual falha; como você trataria o erro de modo controlado sem fazer o modelo acreditar que a chamada foi bem-sucedida?
- O subagente usado como ferramenta é opaco para o agente principal. Além da resposta, quais informações ele deveria retornar para que o agente principal decida se confia nele no próximo turno?
- O parâmetro
tool_choicepode ser definido como"required"ou como um nome de ferramenta específico. Quando forçar uma chamada de ferramenta seria a escolha certa, e qual risco isso cria? - Antes de adicionar um servidor MCP remoto a este agente, quais identidade, escopo de capacidade, audiência do token e destinos de rede você verificaria? Qual deles se torna um caminho SSRF quando aceito sem validação?
Profundo · FontesRevisar as fontes sobre uso de ferramentas e MCP?
Referências
- Schick et al., Toolformer: Language Models Can Teach Themselves to Use Tools (2023). O artigo que estabeleceu o uso de ferramentas de auto-supervisão; o que todas as especificações subsequentes de chamada de função são variações.
- Guia de chamada de função da OpenAI. A especificação seguida pela carga
tools=[…]; o endpoint hospedado de build encaminha esse formato para qualquer provedor. - Especificação do Protocolo de Contexto de Modelo (MCP). A camada de descoberta de ferramentas e serviço de ferramentas entre fornecedores coberta na seção MCP deste módulo (originada pela Anthropic, agora um projeto aberto); complementa a chamada de função na camada de tempo de execução do agente.
- Melhores práticas de segurança do MCP. Consentimento, credenciais limitadas por audiência, controles SSRF e riscos de execução de servidor local para clientes e operadores do MCP.
- Referência de uso de ferramentas da Anthropic. A implementação paralela para Claude, útil como uma comparação entre fornecedores.
Lista abrangente em Ir Além · Referências.
Tente · um agente com duas ferramentas reais
Este artefato executa um agente LangChain createReactAgent conectado às duas funções cujos
contratos você acabou de ler: calculate para aritmética e glossary_search
contra o glossário NVIDIA na página que roda no navegador sem uma chave. Peça um número que ele não possa calcular na cabeça ou um termo para definir, e observe o chip de ferramenta acender antes da
resposta ser transmitida.