Un team di scienziati dell’Università di Stanford ha presentato OctoTools, una nuova piattaforma open-source progettata per potenziare le capacità dei Large Language Models (LLM) nei compiti di ragionamento complessi. OctoTools affronta le sfide legate alla decomposizione di compiti in sotto-unità e all’integrazione di strumenti esterni, rendendo queste funzionalità più accessibili e personalizzabili per sviluppatori e aziende.
Gli LLM spesso incontrano difficoltà nell’eseguire compiti di ragionamento che richiedono più passaggi, decomposizione logica o conoscenze specialistiche. Una soluzione comune è delegare specifici passaggi a strumenti esterni, come calcolatrici, interpreti di codice, motori di ricerca o strumenti di elaborazione delle immagini. In questo scenario, il modello si concentra sulla pianificazione di alto livello, mentre il calcolo e il ragionamento effettivi vengono eseguiti dagli strumenti.
Tuttavia, l’uso di strumenti esterni presenta proprie sfide. Gli LLM tradizionali spesso richiedono un addestramento sostanziale o l’apprendimento con pochi esempi per adattarsi a nuovi strumenti e, una volta aumentati, possono essere limitati a domini specifici e tipi di strumenti. Inoltre, la selezione degli strumenti appropriati rimane un punto critico: i LLM possono diventare abili nell’utilizzo di uno o pochi strumenti, ma quando un compito richiede l’uso di più strumenti, possono confondersi e ottenere scarsi risultati.
OctoTools affronta queste problematiche attraverso un framework agentico che non richiede addestramento e può orchestrare l’uso di più strumenti senza la necessità di perfezionare o adattare i modelli esistenti. Utilizza un approccio modulare per gestire compiti di pianificazione e ragionamento, potendo impiegare qualsiasi LLM generico come nucleo centrale.
Uno dei componenti chiave di OctoTools sono le “tool cards”, che fungono da interfacce per gli strumenti che il sistema può utilizzare, come interpreti di codice Python e API di ricerca web. Le tool cards includono metadati come formati di input-output, limitazioni e best practice per ciascuno strumento. Gli sviluppatori possono aggiungere le proprie tool cards al framework per adattarlo alle loro applicazioni specifiche.
Quando viene fornito un nuovo prompt a OctoTools, un modulo “planner” utilizza LLM centrale per generare un piano ad alto livello che riassume l’obiettivo, analizza le competenze richieste, identifica gli strumenti pertinenti e include considerazioni aggiuntive per il compito. Il planner determina un insieme di sotto-obiettivi che il sistema deve raggiungere per completare il compito e li descrive in un piano d’azione testuale.
Per ciascun passaggio del piano, un modulo “action predictor” perfeziona il sotto-obiettivo per specificare lo strumento necessario e assicurarsi che sia eseguibile e verificabile. Una volta pronto il piano, un “command generator” traduce il piano testuale in codice Python che invoca gli strumenti specificati per ogni sotto-obiettivo, quindi passa il comando a un “command executor” che esegue il comando in un ambiente Python. I risultati di ciascun passaggio vengono validati da un modulo “context verifier” e il risultato finale viene consolidato da un “solution summarizer”.
“Separando la pianificazione strategica dalla generazione dei comandi, OctoTools riduce gli errori e aumenta la trasparenza, rendendo il sistema più affidabile e facile da mantenere”, scrivono i ricercatori.
OctoTools utilizza anche un algoritmo di ottimizzazione per selezionare il miglior sottoinsieme di strumenti per ciascun compito, evitando di sovraccaricare il modello con strumenti non pertinenti.
Esistono diversi framework per la creazione di applicazioni LLM e sistemi agentici, tra cui Microsoft AutoGen, LangChain e la funzionalità di “function calling” dell’API di OpenAI. Secondo i suoi sviluppatori, OctoTools supera queste piattaforme in compiti che richiedono ragionamento e uso di strumenti.
I ricercatori hanno testato tutti i framework su diversi benchmark per il ragionamento visivo, matematico e scientifico, nonché per la conoscenza medica e compiti agentici. OctoTools ha ottenuto un aumento medio di accuratezza del 10,6% rispetto ad AutoGen, del 7,5% rispetto a GPT-Functions e del 7,3% rispetto a LangChain quando si utilizzano gli stessi strumenti. Secondo i ricercatori, la migliore performance di OctoTools è dovuta alla sua superiore distribuzione dell’uso degli strumenti e alla corretta decomposizione della query in sotto-obiettivi.