Il mondo del software è costantemente in evoluzione. E mentre da una parte ci troviamo a utilizzare quotidianamente processi e tecnologie che necessiterebbero di essere modernizzati (per ridurre quel “debito tecnico” che rallenta molte delle aziende), dall’altra il mondo della ricerca continua a sviluppare nuove e più efficienti soluzioni software.
Questo è esattamente il caso di Salesforce Agentforce! Molti di noi avevano ormai iniziato a familiarizzare con Einstein Copilot, e nel frattempo Dreamforce 2024 ci ha portato Agentforce, insieme ad una nuova ondata di entusiasmo per l’intelligenza artificiale, una tecnologia che, se possibile, si evolve più rapidamente degli altri.
Agentforce è stato senz’altro l’annuncio principale di Dreamforce 2024
E così tutti ci siamo trovati a chiederci: ma qual è la differenza tra Copilot e Agentforce?
Come spesso accade, alle domande apparentemente semplici, non sempre corrispondono risposte altrettanto immediate, e questo è ovviamente il caso.
Innanzitutto occorre partire con una precisazione: nonostante Einstein Copilot e Agentforce siano nomi relativi a prodotti e funzionalità implementate all’interno della piattaforma Salesforce, questi fanno anche riferimento a pattern e concetti “generali” relativi al campo della ricerca nell’ambito della AI, e di come questa possa essere utilizzata per supportarci.
Una prima sostanziale differenza tra Copilot e Agent è che l’approccio Copilot tende ad essere orientato al Task, mentre l’Agent viene ingegnerizzato per svolgere un job (o interpretare un ruolo). Anche se questa differenza può sembrare sottile, rivela alcuni aspetti sostanziali, al di là dei termini utilizzati.
Un Copilot è un assistant il cui scopo è genericamente supportare gli utenti sulla base di alcuni task predefiniti. Nel caso di Einstein Copilot, alcuni task comuni erano fare il summary di un’opportunità, ricercare record all’interno del CRM e così via.
Gli Agent invece sono progettati per essere delle entità che possono interpretare un ruolo operando in autonomia, gestendo attività complesse e adattandosi in tempo reale a condizioni in continuo cambiamento.
Il paradigma basato sugli Agent rappresenta una evoluzione sostanziale non solo rispetto ai Chatbot, ma anche e soprattutto rispetto ai Copilot
Potremo quindi avere un Agent configurato ed implementato per svolgere un ruolo di Customer Service Assistant, uno che supporti lo sviluppo commerciale attraverso attività di contatto dei nostri clienti, uno che faccia da shopping assistant e così via.
Una degli aspetti più interessanti di Agentforce, inteso come piattaforma Salesforce, è proprio quello di fornire sia implementazioni di Agent già pronte (quelle elencate prima sono solo alcuni esempi) che di darci la possibilità di personalizzare e creare nuovi agenti che rispondano alle nostre esigenze. E tutto questo senza la necessità di sviluppare codice custom, ma configurando e utilizzando strumenti che risultano subito familiari a chi utilizza l’ecosistema Salesforce, quali l’agent builder, il prompt builder, ma anche i flow e altri tool già presenti all’interno delle nostre soluzioni.
Per le ragioni fin qui elencate, possiamo dire inoltre che un’altra differenza sostanziale di Agentforce è che si tratta di un sistema nativamente in grado di collaborare con gli utenti finali (i nostri clienti), oltre che con gli utenti della piattaforma Salesforce.
Quando Agentforce si interfaccia con i nostri clienti (ad esempio da una chat presente su un sito web, o da un canale Whatsapp) si parla più propriamente di autonomous agents. Quando invece, le sue funzionalità sono fornite ad un utente di piattaforma, viene normalmente considerato un Assistive Agent.
Una interessante chiave di lettura di Agentforce è relativa al parallelo con la tematica del Prompt Engineering. Se avete avuto modo di approfondire le best practice relative alla scrittura di prompt, e in generale all’utilizzo dei LLM, vi verrà naturale associare il Role di un agent con il concetto di Role Playing relativo ai prompt. È una tecnica comune ed accettata, infatti, iniziare i prompt spiegando esattamente al nostro LLM che ruolo deve interpretare, cosa che influenzerà il tono e i contenuti che ci aspettiamo come risultato.
Questo concetto può anche essere esteso ad esempio, anche alle Instructions di Agentforce, che si rifanno molto ai concetti del prompt engineering, in particolare ai Guardrails (definire chiaramente i limiti e cosa NON fare) e al few Shot Prompting (fornire degli esempi chiari su cosa fare, per arricchire il contesto). Insomma, l’approccio di Agentforce ci aiuta a strutturare bene le tematiche che vogliamo che il nostro Agent gestisca, seguendo contemporaneamente quelle best practices che aiutano a trarre i vantaggi maggiori dall’utilizzo della Generative AI.
Non possiamo concludere il nostro ragionamento senza citare il tema del Reasoning. Una delle novità sostanziali che Salesforce ha annunciato in occasione di Agentforce, è lo sviluppo dell’engine di reasoning in esso utilizzato, Atlas.
Anche in questo caso si tratta di una evoluzione rispetto all’approccio Copilot. In precedenza, infatti, il Copilot utilizzava un reasoning sostanzialmente limitato a selezionare e generare la risposta da dare a ciascuna richiesta.
L’approccio basato su Atlas, estende ed arricchisce tale approccio. Il motore di reasoning è in grado di comprendere gli intenti dell’interlocutore, classificandoli in termini di Topic ed Instructions. Ma è anche in grado di raccogliere feedback dall’utente (per affinare il funzionamento del sistema), di selezionare le action necessarie allo svolgimento dei task ricevuti (Action intese come accesso a oggetti del CRM, utilizzo di Flow, Prompt, Classi apex e molto altro) e di valutare la qualità degli output generati, eventualmente cambiando strategia laddove sia necessario.
Il reasoning engine di Agentforce, Atlas, fornisce funzionalità avanzate per la comprensione e lo svolgimento di compiti
Insomma, gli Agent rappresentano un’evoluzione naturale ed allo stesso tempo sorprendente del concetto di Copilot. Rispetto a questi sono in grado di svolgere attività complesse autonomamente, di effettuare ragionamenti avanzati e di interfacciarsi in maniera naturale sia con noi che con i nostri clienti.
Ed essendo costruiti all’interno della piattaforma Salesforce, hanno accesso nativamente a tutti i dati essenziali, possono riutilizzare processi esistenti e rispettano le politiche di sicurezza già in atto.