VERSIONE ITALIANA

ENGLISH VERSION

VERSIONE ITALIANA

Ciao!

Kronk è l’ultimo esperimento targato ZK Team nella nostra continua ricerca su trend e metodi di previsione. I più attempati di voi avranno già intuito da dove viene l’ispirazione del nome, ovvero “Le Follie dell’Imperatore”, un ormai vecchiotto film Disney (ma molto divertente per chi non lo avesse visto!). Al contrario del personaggio Disney, però, il nostro Kronk è molto meno divertente e molto più sveglio. Kronk è infatti un GPT che usa il motore di ChatGPT 4 per applicazioni di forecasting. Il suo sistema di prompting è frutto del riadattamento dell’ultimo grande lavoro accademico sull’uso degli LLM (Large Language Models) per il forecasting: “Approaching Human-Level Forecasting with Language Models” di D. Halawi, F. Zang, C. Yueh-Han, J. Steinhardt. Questa ricerca esamina la capacità degli LLM di eguagliare o superare le capacità di previsione della wisdom of the crowd generata da forecaster umani. Gli autori sviluppano un sistema LLM coadiuvato da un sistema per la ricerca online di informazioni in grado di formulare una o più previsioni sullo stesso quesito di forecasting. Confrontando il loro sistema con aggregati di previsioni umane su un ampio set di dati estrapolati da piattaforme di forecasting come il Good Judgement Project e Inform (i “colleghi” anglosassoni del Fantaforecasting), gli autori hanno confermato che il loro sistema si avvicina in media alle prestazioni dei previsionisti umani e le supera in determinate condizioni, suggerendo che gli LLM possono offrire previsioni scalabili e accurate, potenzialmente utili nei processi decisionali istituzionali. I prompt elaborati dagli autori sono appositamente progettati non solo per indurre l’LLM a indicare un forecast accurato in termini numerici, ma anche per indurlo a fornire nel dettaglio la struttura dei ragionamenti e della ricerca delle fonti che ha permesso di elaborare tale forecast. A questo fine gli autori hanno realizzato un sistema di elaborazione dei forecast per fasi:

1. Rielaborazione del quesito: l’LLM è chiamato a studiare e comprendere il quesito di forecasting e le informazioni di background fornite dall’utente.

2. Formulazione e Affinamento delle Query: l’LLM elabora diverse query per la ricerca online delle informazioni pertinenti al quesito. Ogni query è mirata ad approcciare il quesito da un punto di vista e/o un orizzonte temporale diverso.

3. Recupero delle Informazioni: l’LLM ricerca automaticamente le informazioni usando le query precedentemente elaborate. Viene inizialmente programmato per cercare un numero massimo di articoli per ogni query e per sintetizzarne il contenuto in non più di 100 parole per articolo. L’LLM procede quindi ad attribuire un rating di pertinenza ad ogni articolo rispetto al quesito di forecasting.

4. Valutazione delle informazioni recuperate: l’LLM procede quindi a isolare gli articoli valutati come più pertinenti e ad aggregarne e sintetizzarne le principali informazioni.

5. Generazione della Previsione: L’LLM procede a generare una prima previsione da 0 a 1 sulla base delle informazioni appena sintetizzate.

6. Affinamento della Previsione: LLM svolge ulteriori ragionamenti basati sulle informazioni già sintetizzate ed eventualmente modifica la sua previsione iniziale.

7. Aggregazione delle Previsioni: essendo la “temperatura” dell’LLM (ovvero la possibilità per l’LLM di modificare di volta in volta la sua risposta allo stesso prompt) lasciata volutamente abbastanza “alta”, chiedendo all’LLM diverse volte lo stesso quesito si potranno ottenere forecast ogni volta diversi (per quanto non radicalmente diversi). Dopo un certo numero di iterazioni è quindi possibile aggregare tali forecast in modo simile a come si fa per la wisdom of the crowd ottenuta dall’aggregazione dei forecast di diversi individui.

All’interno del paper gli autori hanno messo a disposizione i prompt da loro utilizzati. Ed è proprio sulla base di questi prompt che Kronk è stato realizzato. Ovviamente, alcune modifiche si sono rese necessarie. In particolare, come GPT di ChatGPT, Kronk potrà usare solo Bing per il recupero delle informazioni online, mentre il sistema originario utilizza diverse API giornalistiche. Inoltre, per rendere il sistema quanto più semplice e fluido possibile da usare, alcuni prompt sono stati leggermente modificati, pur facendo attenzione a lasciare le loro parti fondamentali intatte.

Benissimo! Dopo questa lunga presentazione possiamo finalmente spiegare come funziona Kronk e come usarlo al meglio.

Innanzitutto, cominciamo col parlare di quale informazione fornire a Kronk all’inizio: il quesito di forecasting e il background. Su questo punto è bene tenere a mente due punti importanti:

- Kronk, come il sistema originario del paper, è strutturato per lavorare unicamente su quesiti binari. Ovvero, quei quesiti che prevedono una risposta Sì (una certa cosa accadrà) – No (una certa cosa NON accadrà). Quindi, se vorrete sottoporre a Kronk un quesito con più di 2 opzioni, dovrete sottoporre a Kronk una opzione alla volta.

- È inoltre buona norma (ma non obbligatorio) far seguire al quesito un minimo di background e informazioni aggiuntive che aiutino il sistema a orientarsi nelle informazioni che dovrà ricercare per rispondere correttamente.

Quando accedete a Kronk trovate due esempi di quesiti già pronti. Vi consigliamo di iniziare provando quelli per farvi un’idea. Una volta che avrete sottoposto a Kronk il quesito, lui procederà all’elaborazione del forecast in 6 fasi che rispecchiano più o meno quelle del sistema delineato dal paper.

1. Nella Prima Fase, Kronk procederà a riflettere ed espandere il quesito da voi sottoposto in modo da arricchirlo di particolari e verificare di averlo compreso bene. Procederà quindi a elaborare 3 query di ricerca, ognuna mirata ad approcciare il quesito da punti di vista e distanze temporali diverse. Questa procedura è necessaria per arricchire quanto più possibile il set di informazioni a disposizione di Kronk per l’elaborazione del forecast finale. Al termine di questa fase Kronk vi chiederà se volete proseguire con la fase successiva.

2-4. Nella Seconda, Terza e Quarta Fase, Kronk procederà a usare una per una le query elaborate nella Prima Fase per ricercare informazioni online. Man mano che troverà articoli, li riassumerà in non più di 100 parole e ve li presenterà. Il sistema è programmato ad esaminare i primi 5 articoli trovati per ogni query (un totale di 15). Kronk procederà inoltre ad attribuire ad ogni articolo un punteggio da 1 a 6 di pertinenza dell’articolo rispetto al quesito di forecasting. Al termine delle Fasi Seconda e Terza, Kronk vi chiederà se volete proseguire con la fase successiva (la ricerca con la prossima query) oppure se volete usare solo gli articoli trovati finora e andare direttamente alla Quinta Fase.

5. Nella Quinta Fase, Kronk procederà a selezionare i 6 articoli con lo score di pertinenza più alto, a sintetizzarli ulteriormente estrapolando una lista delle informazioni più importanti. Kronk vi chiederà a questo punto se volete proseguire con la fase successiva.

6. Infine, nella Sesta Fase, Kronk procederà ad elaborare il forecast. Lo farà prima di tutto presentandovi in dettaglio le informazioni più importanti elaborate durante la fase di ricerca e sintetizzazione delle informazioni online. Proseguirà quindi con presentarvi in modo strutturato per quale motivo, secondo le informazioni a disposizione, la risposta al quesito proposto potrebbe essere “No”. Farà quindi la stessa cosa per la risposta affermativa. In base a entrambe queste elaborazioni vi fornirà quindi un forecast di partenza (tra 0 e 1, equivalente a 1-100) motivandone le argomentazioni. Kronk procederà quindi ad affinare ulteriormente i suoi ragionamenti, provando ad approcciare la questione da altri punti di vista. Infine, vi fornirà un forecast definitivo.

La “temperatura” standard del GPT è 0.5, quindi potrete ripetere la procedura diverse volte ottenendo ogni volta una risposta e un forecast diversi. Nella nostra esperienza, la differenza il più delle volte è nell’ordine dei pochi centesimi ma comunque interessante osservare i diversi punti di vista con cui Kronk può di volta in volta approcciare un quesito. Ripetendo l’operazione diverse volte è inoltre possibile aggregare le previsioni fornite in una previsione unica in stile wisdom of the crowd.

È importante notare, inoltre, che proprio a causa della “temperatura” a cui è settato Kronk, esso talvolta potrebbe “dimenticarsi” di chiedervi se volete procedere con la fase successiva. In questo caso, potrete dirglielo voi digitando semplicemente qualcosa come “Procedi con la prossima fase”.

Infine, è bene notare che il prompt di Kronk è in inglese. Nonostante questo, Kronk di solito risponde nella lingua nella quale è stato inserito il quesito. È possibile però che, man mano che la conversazione procede, possa improvvisamente ritornare all’inglese. Quello che consigliamo è, per quanto possibile, di usarlo direttamente in inglese.

ENGLISH VERSION

Kronk is the latest experiment by the ZK Team in our ongoing research on trends and forecasting methods. Those of you who are a bit older will have already guessed where the inspiration for the name comes from, namely “The Emperor's New Groove,” an old Disney movie by now (but very fun for those who haven't seen it!). Unlike the Disney character, however, our Kronk is much less fun and much more alert. Kronk is actually a GPT that uses the ChatGPT 4 engine for forecasting applications. Its prompting system is the result of adapting the latest major academic work on the use of LLMs (Large Language Models) for forecasting: “Approaching Human-Level Forecasting with Language Models” by D. Halawi, F. Zang, C. Yueh-Han, J. Steinhardt. This research examines the ability of LLMs to match or exceed the forecasting capabilities of the wisdom of the crowd generated by human forecasters. The authors develop an LLM system aided by a system for online information searching capable of formulating one or more forecasts on the same forecasting query. By comparing their system with aggregates of human forecasts on a large dataset extracted from forecasting platforms like the Good Judgement Project and Inform (the “Anglo-Saxon colleagues” of Fantaforecasting), the authors have confirmed that their system averages close to the performances of human forecasters and exceeds them under certain conditions, suggesting that LLMs can provide scalable and accurate forecasts, potentially useful in institutional decision-making processes. The prompts developed by the authors are specifically designed not only to induce the LLM to indicate an accurate forecast in numerical terms but also to induce it to provide in detail the structure of the reasoning and source research that allowed the formulation of such a forecast. To this end, the authors have created a phased forecast processing system.

2. Formulation and Refinement of Queries: the LLM develops different queries for online research of information relevant to the query. Each query is aimed at approaching the query from a different perspective and/or a different time horizon.

3. Retrieval of Information: the LLM automatically searches for information using the queries it previously developed. It is initially programmed to search for a maximum number of articles for each query and to synthesize their content in no more than 100 words per article. The LLM then proceeds to assign a relevance rating to each article with respect to the forecasting query.

4. Evaluation of the retrieved information: the LLM then proceeds to isolate the articles rated as most relevant and to aggregate and synthesize their main information.

5. Generation of the Forecast: The LLM proceeds to generate an initial forecast from 0 to 1 based on the information just synthesized.

6. Refinement of the Forecast: The LLM conducts further reasoning based on the information already synthesized and may modify its initial forecast.

7. Aggregation of Forecasts: as the “temperature” of the LLM (i.e., the LLM's ability to change its response to the same prompt over time) is deliberately kept quite “high”, asking the LLM the same query multiple times can yield different forecasts each time (though not radically different). After a certain number of iterations, it is therefore possible to aggregate these forecasts similarly to the wisdom of the crowd obtained from the aggregation of forecasts from different individuals.

Within the paper, the authors have made available the prompts they used. And it is precisely on the basis of these prompts that Kronk was realized. Of course, some changes were necessary. In particular, as a ChatGPT GPT, Kronk will only be able to use Bing for online information retrieval, while the original system uses various journalistic APIs. Furthermore, to make the system as simple and fluid as possible to use, some prompts have been slightly modified, while making sure to keep their essential parts intact.

Great! After this long presentation, we can finally explain how Kronk works and how to best use it.

First of all, let's start with what information to provide to Kronk at the beginning: the forecasting query and the background. On this point, it is important to keep two important points in mind:

- Kronk, like the original system from the paper, is structured to work only on binary queries. That is, those queries that predict a Yes (something will happen) - No (something will NOT happen) answer. So if you want to submit a query with more than 2 options to Kronk, you will need to submit one option at a time to Kronk.

- It is also good practice (but not mandatory) to follow the query with a minimum of background and additional information that helps the system to orient itself in the information it will need to search for to answer correctly.

When you access Kronk, you find two examples of

 queries already ready. We recommend starting with those to get an idea. Once you have submitted the query to Kronk, it will proceed with the forecast elaboration in 6 phases that more or less mirror those outlined in the paper.

1. In the First Phase, Kronk will proceed to reflect and expand the query you submitted in order to enrich it with details and verify that it has understood it well. It will then proceed to develop 3 research queries, each aimed at approaching the query from different viewpoints and temporal distances. This procedure is necessary to enrich as much as possible the set of information available to Kronk for the final forecast elaboration. At the end of this phase, Kronk will ask you if you want to proceed with the next phase.

2-4. In the Second, Third, and Fourth Phase, Kronk will proceed to use one by one the queries developed in the First Phase to search for information online. As it finds articles, it will summarize them in no more than 100 words and present them to you. The system is programmed to examine the first 5 articles found for each query (a total of 15). Kronk will also assign each article a score from 1 to 6 on the relevance of the article to the forecasting query. At the end of the Second and Third Phases, Kronk will ask you if you want to proceed with the next phase (the search with the next query) or if you want to use only the articles found so far and go directly to the Fifth Phase.

5. In the Fifth Phase, Kronk will proceed to select the 6 articles with the highest relevance score, to synthesize them further, extracting a list of the most important information. Kronk will ask you at this point if you want to proceed with the next phase.

6. Finally, in the Sixth Phase, Kronk will proceed to elaborate the forecast. It will do this first by presenting you in detail the most important information elaborated during the phase of research and synthesis of online information. It will then proceed to present in a structured way why, according to the information available, the answer to the proposed query might be "No". It will then do the same for the affirmative answer. Based on both of these elaborations, it will then provide you with an initial forecast (between 0 and 1, equivalent to 1-100) justifying its arguments. Kronk will then further refine its reasoning, trying to approach the issue from other points of view. Finally, it will provide you with a definitive forecast.

The standard temperature of the GPT is 0.5, so you can repeat the procedure several times obtaining a different response and forecast each time. In our experience, the difference is most often in the order of a few hundredths but still interesting to observe the different points of view with which Kronk can approach a query each time. Repeating the operation several times is also possible to aggregate the forecasts provided into a single forecast in the style of the wisdom of the crowd.

It is also important to note that because of the “temperature” at which Kronk is set, it may sometimes “forget” to ask you if you want to proceed with the next phase. In this case, you can tell it by simply typing something like “Proceed with the next phase”. Finally, it is good to note that Kronk's prompt is in English. Despite this, Kronk usually responds in the language in which the query was entered. However, as the conversation progresses, it may suddenly switch back to English. What we recommend is, as much as possible, to use it directly in English.