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.

Di Fantasy