Caso d'uso Ricerca sui motori di risposta

Come catturare le query
derivate di ChatGPT

Quando ChatGPT cerca sul web, riscrive la sua domanda in una manciata di query più strette e cerca quelle. Ecco come vederle, con il codice e con Moose.

Guardi Moose all'opera Mi mostri il codice
Chat Workflow
Hi, Moosehttps://himoose.com
Nuova chat
Home Posta in arrivo Contesto Visibilità Flussi di lavoro Audio Chat Libreria degli artefatti Connessioni
Recenti
Sam SamPremium
Cattura le query derivate d… Nuova chat Condividi
Cattura le query derivate di ChatGPT
Per quale prompt vuole le query derivate di ChatGPT?
migliori piattaforme di sicurezza con AI per PMI
Cattura delle query derivate di ChatGPT…
Query derivate di ChatGPT

OpenAI ha esposto 12 query derivate di ChatGPT distinte per questo prompt.

Prompt

migliori piattaforme di sicurezza con AI per PMI

Query derivate
  • migliori piattaforme di sicurezza con AI per PMI 2026 endpoint email cloud rilevamento gestito piccola impresa
  • market guide Gartner piattaforme di cybersicurezza PMI AI 2026
  • piattaforma di cybersicurezza piccola impresa funzionalità AI prezzi ufficiali MDR sicurezza email ufficiale
  • site:microsoft.com Defender for Business ufficiale protezione endpoint PMI
  • site:huntress.com managed EDR piccola impresa ufficiale
  • site:sentinelone.com Singularity Core piccola impresa ufficiale
  • site:sophos.com Intercept X piccola impresa ufficiale
  • site:crowdstrike.com Falcon Go piccola impresa prezzi ufficiali
  • site:bitdefender.com GravityZone Small Business Security prezzi ufficiali
  • site:todyl.com piattaforma di sicurezza gestita PMI ufficiale
  • miglior MDR per piccola impresa 2026 confronto indipendente recensione
  • sicurezza email PMI protezione antiphishing AI prezzi ufficiali 2026
Condivida un URL, una bozza, o avvii un audit AEO…
GPT-5.6 Luna Invia
Hi, Moose 0.3.281 Beta Hai bisogno di aiuto?
Una ricostruzione di un'esecuzione reale. Una domanda, dodici query, circa undici secondi.
La definizione

Che cos'è una query derivata di ChatGPT?

Una query derivata è una delle diverse ricerche che ChatGPT scrive per sé quando decide di cercare sul web. Lei scrive una domanda. Prima di rispondere, il modello la riscrive in un insieme di ricerche più strette e più specifiche, le esegue tutte, legge quello che torna e sintetizza una sola risposta.

Le ricerche che ha scritto sono le query derivate. Non sono quello che ha digitato lei e non compaiono nella risposta. Sono le query per cui le sue pagine devono comparire.

Che cosa ha digitato l'utente
migliori piattaforme di sicurezza con AI per PMI
1 prompt
Che cosa ha cercato ChatGPT
migliori piattaforme di sicurezza con AI per PMI 2026 endpoint email cloud rilevamento gestito piccola impresa
market guide Gartner piattaforme di cybersicurezza PMI AI 2026
piattaforma di cybersicurezza piccola impresa funzionalità AI prezzi ufficiali MDR sicurezza email ufficiale
site:microsoft.com Defender for Business ufficiale protezione endpoint PMI
site:huntress.com managed EDR piccola impresa ufficiale
site:sentinelone.com Singularity Core piccola impresa ufficiale
12 query, 6 mostrate
Senza Moose

Come catturare le query derivate con il codice

Non esiste un'API pubblica per questo. L'unico modo per vedere le query da solo è pilotare un browser con la sessione aperta e leggere le chiamate allo strumento di ricerca nel flusso di risposta. Ecco un punto di partenza funzionante e l'elenco di quello che si romperà.

playwright
# fanout.py · read ChatGPT's own search calls off the wire
import asyncio, json
from playwright.async_api import async_playwright

PROMPT = "migliori piattaforme di sicurezza con AI per PMI"
found  = set()

def harvest(evt):
    msg = evt.get("message") or {}
    # the fan-out queries ride inside the search tool call
    if msg.get("author", {}).get("name") != "web":
        return
    for part in msg.get("content", {}).get("parts", []):
        if isinstance(part, str) and part.startswith('search("'):
            found.add(part[8:-2])

async def main():
    async with async_playwright() as pw:
        # a real logged-in profile. clean headless gets challenged.
        ctx  = await pw.chromium.launch_persistent_context(
            "~/.chatgpt-profile", headless=False)
        page = await ctx.new_page()

        async def on_response(res):
            if "/backend-api/conversation" not in res.url:
                return
            body = await res.text()          # SSE, not JSON
            for line in body.splitlines():
                if line.startswith("data: "):
                    try: harvest(json.loads(line[6:]))
                    except ValueError: pass

        page.on("response", on_response)
        await page.goto("https://chatgpt.com/?search=1")
        await page.fill("#prompt-textarea", PROMPT)
        await page.keyboard.press("Enter")
        await page.wait_for_timeout(45_000)  # no "done" signal
        print(json.dumps(sorted(found), indent=2))

asyncio.run(main())
// fanout.mjs · same idea, node + playwright
import { chromium } from 'playwright';

const PROMPT = 'migliori piattaforme di sicurezza con AI per PMI';
const found  = new Set();

// headless gets challenged, so this opens a real window
const ctx  = await chromium.launchPersistentContext(
  './chatgpt-profile', { headless: false });
const page = await ctx.newPage();

page.on('response', async (res) => {
  if (!res.url().includes('/backend-api/conversation')) return;
  const body = await res.text().catch(() => '');  // SSE
  for (const line of body.split('\n')) {
    if (!line.startsWith('data: ')) continue;
    let evt;
    try { evt = JSON.parse(line.slice(6)); } catch { continue; }
    const msg = evt?.message;
    if (msg?.author?.name !== 'web') continue;
    for (const p of msg?.content?.parts ?? []) {
      if (typeof p === 'string' && p.startsWith('search("'))
        found.add(p.slice(8, -2));
    }
  }
});

await page.goto('https://chatgpt.com/?search=1');
await page.fill('#prompt-textarea', PROMPT);
await page.keyboard.press('Enter');
await page.waitForTimeout(45_000);   // no "done" signal
console.log([...found].sort());
Che cosa si rompe
Serve una finestra con la sessione aperta

Un contesto headless pulito viene bloccato da una verifica, quindi finisce per far girare un Chromium visibile con la sua sessione dentro.

Il payload non è documentato

Il nome dell'autore, l'array delle parti, l'involucro search("…"): niente di tutto ciò è un contratto. È già cambiato prima e cambierà ancora.

La ricerca non parte sempre

Se il modello risponde a memoria non c'è alcuna derivazione, e niente le dice che è andata così. Si ritrova un insieme vuoto.

Un prompt, un momento

Nessuna pianificazione, nessuna deduplicazione tra esecuzioni, nessun confronto con la settimana scorsa. Catturare una volta è facile. Catturare ripetutamente e accorgersi di che cosa si è mosso è il lavoro.

Prima legga i termini

Automatizzare una sessione ChatGPT con l'accesso effettuato è una decisione sul suo account. Legga le condizioni prima di farlo.

Con Moose

Con Moose lo chiede in chat

Stessa cattura, stessa fonte, senza il lavoro sul browser. Moose conserva ogni esecuzione, così può confrontare l'insieme di query di questa settimana con quello della scorsa.

01
Apra una chat e lo chieda

Scriva «cattura le query derivate di ChatGPT». Nessun flusso di lavoro da configurare.

02
Gli dia il prompt

Qualsiasi domanda che un acquirente scriverebbe davvero. Moose la esegue e cattura le chiamate di ricerca che tornano.

03
Tenga l'elenco

Le query finiscono nella sua libreria, esportabili e pronte per alimentare un brief o una verifica di copertura.

La cattura delle query derivate c'è solo sul piano gestito

Questa non è disponibile sui piani BYOK. La cattura deve arrivare direttamente da OpenAI, e l'accesso instradato tramite OpenRouter non espone le ricerche interne di ChatGPT. Su un piano con chiave propria, tutto il resto di Moose continua a funzionare, compresa la verifica istantanea di visibilità su cinque motori di ricerca AI. Questa singola funzione no.

Che cosa farci

Che cosa fare con le query

L'insieme vero di query
Dodici ricerche dietro una domanda

Quelle dodici ricerche decidono quali pagine vengono prese e lette, quindi contano più della formulazione esatta scritta dal suo acquirente.

L'elenco di fiducia
Una query site: nomina un brand di cui il modello si fida

Quando ChatGPT vuole una risposta ufficiale va su domini precisi. Se il suo non è tra questi nella sua stessa categoria, quella è la distanza.

Il brief
Una pagina che risponde a tutte e dodici

Prezzi, confronto, specifica ufficiale, recensione indipendente: la derivazione le dice quali di queste cose il motore è andato a cercare, quindi che cosa deve coprire una pagina.

L'andamento
Lo segua nel tempo

L'insieme di query cambia man mano che cambiano il modello e l'indice. Vedere comparire query nuove è una lettura anticipata di dove si sta spostando la categoria.

Le domande che ci fanno davvero

Le query derivate sono la stessa cosa delle citazioni che mostra ChatGPT?

No. Le citazioni sono le pagine che il motore ha usato. Le query derivate sono le ricerche che le hanno trovate.

Le query cambiano se rieseguo lo stesso prompt?

Di solito sì, un po'. Le query centrali sono stabili e la coda lunga si muove. Esegua lo stesso prompt ogni settimana e guardi quali query compaiono e spariscono.

Ottimizzare per le query derivate mi farà citare?

Nessuno può prometterlo. Le query mostrano che cosa è andato a cercare il modello. Se nessuna delle sue pagine risponde a quelle ricerche, non verranno lette. Se lo fanno, possono esserlo.

Anche gli altri motori di risposta fanno derivazione?

La maggior parte sì. Perplexity, Google AI Mode e Gemini scompongono tutti una domanda in ricerche prima di rispondere. Quello che cambia è quanto gliene mostrano. Google è l'altro che vale la pena catturare, e funziona in modo abbastanza diverso da avere una pagina tutta sua.

Altre cose da chiedere a Moose

Tutti i casi d'uso
Funzionalità del piano gestito

Veda le ricerche dietro
la risposta.

Scarichi Hi, Moose, apra una chat e lo chieda. La cattura delle query derivate richiede il piano gestito. L'app è gratis da installare e le verifiche di visibilità sono gratis da eseguire.