Un agente che ha bisogno dello stato di un ordine deve ottenerlo dal sistema che detiene l'ordine. Una tool definition descrive la ricerca che può richiedere.
I due nomi significano cose diverse?
Alcuni provider usano i nomi in modo intercambiabile. La tool definition del provider determina l'interfaccia da implementare.
La guida al function calling di OpenAI usa function calling e tool calling per lo stesso processo. Tra i suoi tipi di tool, una function usa uno schema JSON per descrivere i propri input. I suoi custom tool accettano invece testo libero.
Anche la guida al function calling di Google chiama il processo tool use. Il modello restituisce la funzione richiesta e i suoi argomenti perché l'applicazione li esegua.
Chi esegue l'azione richiesta?
La tua applicazione esegue una funzione definita dall'applicazione dopo aver ricevuto la richiesta del modello.
Nel flusso di tool calling di OpenAI, l'applicazione fornisce le tool definition e riceve una chiamata. Esegue il codice corrispondente e restituisce il risultato al modello. Il modello può quindi rispondere o richiedere un altro tool.
Una ricerca ipotetica di un ordine segue questo scambio:
Model: request lookup_order with an order ID
-> Application: authorize and run the lookup
-> Order service: return the recorded status
-> Application: supply the tool result to the model
-> Model: answer using that result
La guida di Google descrive in modo analogo l'applicazione che mappa il nome della funzione restituita sul codice eseguibile. Una risposta del modello che contiene argomenti non ha, di per sé, eseguito la ricerca.
Dove si colloca MCP?
MCP fornisce a un client un protocollo per scoprire e invocare i tool esposti da un server.
La guida all'architettura di MCP separa quello scambio client-server dall'interazione con il modello da parte dell'applicazione host. L'host può rendere disponibile al modello un tool scoperto sul server, quindi instradare una chiamata richiesta attraverso il proprio client MCP.
Puoi implementare il function handler di un modello senza MCP. Puoi anche implementare quel handler invocando un server MCP. Queste scelte riguardano la connessione dietro l'azione.
Come verifico il risultato quando invio con Bird?
Puoi usare i tool MCP di Bird per inviare un messaggio e recuperarne lo stato registrato.
Per l'email, email_send invia il messaggio. Conserva l'identificativo del messaggio restituito e usa email_get per ispezionarne lo stato di consegna aggregato. I dettagli del destinatario riportano gli esiti individuali per ciascun destinatario.
Una richiesta di tool formata correttamente non stabilisce la consegna. La risposta su accettato e consegnato spiega cosa determina lo stato successivo.