APAndrea Pellizzari
Andrea Pellizzari — Diario — markdown editor
← diario/
2026-05-01-bot-10-percento-del-problema.md
content//diario//2026-05-01-bot-10-percento-del-problema.md
1
2
3
4
5
6
7
---
title: "Da Q&A bot a piattaforma multi-catalogo: il design dei tre strati"
date: 2026-05-01
tags: ["architettura", "ai", "claude", "agente", "multi-tenant"]
excerpt: "Sessione di design partita per disegnare il flusso di un chatbot tecnico interno. Finita con il design di una piattaforma multi-catalogo a tre strati. Il bot copriva il 10% del problema reale."
slug: 2026-05-01-bot-10-percento-del-problema
---

Da Q&A bot a piattaforma multi-catalogo: il design dei tre strati

Sessione di design partita per disegnare il flusso di un chatbot tecnico interno. Finita con il design di una piattaforma multi-catalogo a tre strati. Il bot copriva il 10% del problema reale.

Avevo in produzione un Q&A bot interno per il catalogo di un grosso brand di ferramenta — uno strumento che tecnici e venditori interrogavano per cercare codici, leggere distinte, capire compatibilità. Funzionava bene: ~4000 chunk indicizzati, prompt caching, router Haiku/Sonnet, costo medio per conversazione sotto i dieci centesimi.

La sessione doveva essere una mezza giornata — solo "fare un diagramma di flusso del funzionamento attuale". È durata otto ore, è finita con tre design doc (~6500 righe), due poster A3 stampabili e una rivelazione poco confortante: il bot era il 10% del problema reale.

I tre strati

Disegnando i flussi è emerso che il bisogno non è "consultare un catalogo" — è assistere un agente commerciale a costruire una proposta (per esempio una cucina completa) che attraversa una trentina di cataloghi eterogenei, verificando vincoli e compatibilità tra prodotti di brand diversi.

rendering diagram…

Lo strato A è quello che avevo già. Lo strato B esisteva a frammenti, sparso in regole markdown. Lo strato C — l'orchestratore commerciale che accumula vincoli del cliente e propone due-tre configurazioni — non esisteva proprio.

La pipeline di auto-curation

Onboardare trenta cataloghi a mano è infattibile. La proposta è una pipeline a sette step con un AI curator-as-reviewer: un modello propone, un altro modello rivede, e solo quello che passa entrambi entra nel ramo wiki/; il resto resta in draft/ finché un umano non firma.

Tre modi operativi: Bootstrap (catalogo nuovo da zero), Refresh (nuova edizione manuale dello stesso brand), Reactive cascade (un editor cambia una regola — il sistema propaga in cascata sulle distinte e schede impattate, in modalità draft).

La parte più scomoda

A metà sessione mi sono fermato a fare una review architetturale comparativa: per ogni componente che stavo per scrivere custom, esiste già qualcosa di SOTA? Risultato:

  • Promptfoo per gli eval (niente runner custom)
  • DoIt per il cascade engine
  • LangGraph per l'orchestratore di Strato C

Cinque altri framework parcheggiati con trigger di re-evaluation. Il principio è banale ma facile da dimenticare quando il prototipo funziona: scrivere meno codice possibile, soprattutto quando esistono primitive collaudate.

I documenti

Per fissare il pattern in un colpo d'occhio ho prodotto due poster A3 stampabili (HTML standalone, CSS print-ready, niente dipendenze):

Sotto ai poster ci sono i tre design doc che hanno guidato la sessione, più l'handoff aggiornato a fine giornata:

Sono pubblicati così come sono usciti, ad eccezione di un'email di un rivenditore che ho rimosso. Tutto il resto è il working draft reale: contiene tabelle di decisioni con default suggerito da confermare, sezioni da chiudere, gate per stage. È un esempio onesto di quanto un design doc utile assomigli più a una checklist di domande aperte che a una specifica chiusa.

La cosa che mi porto a casa

Il diagramma di flusso fatto bene non documenta — interroga. Costringe a chiedere chi fa cosa, quando, e ti restituisce in cambio l'onestà brutale di vedere quanto del problema il prototipo non stava risolvendo. In questo caso, il 90%.

Niente di tutto questo è in produzione: il bot esistente continua a girare invariato. Il design vive su un branch separato in attesa di sign-off. Ma adesso so cosa sto costruendo, e non è quello che pensavo di star costruendo stamattina.

● Markdown69 lines645 words3 mintags: #architettura #ai #claude #agente #multi-tenant
UTF-8LF.mdx