Confronto e valutazione
I tool a confronto
Sezione intitolata “I tool a confronto”| Tool | Tipo | Punto di forza | Limite con modelli locali | Modello minimo |
|---|---|---|---|---|
| k8sgpt CLI | analyzer + explain | deterministico, veloce | vede solo ciò che gli analyzer coprono | 3B–7B |
| k8sgpt operator | analyzer continuo | risultati come CR, metriche | come sopra | 3B–7B |
| HolmesGPT | agente RCA | correla eventi, log, metriche, alert | serve tool calling solido | 14B |
| kubectl-ai | agente interattivo | iterazione rapida | solo interattivo | 14B |
| kagent | piattaforma agenti | agenti come CRD, MCP | setup più complesso | 14B |
Scorecard
Sezione intitolata “Scorecard”Esegui ogni tool sullo stato rotto di shop-demo e assegna un punto per ogni guasto con causa corretta e fix corretto.
| Guasto | k8sgpt 7B | Holmes 7B | Holmes 14B | kubectl-ai 14B |
|---|---|---|---|---|
| frontend ImagePull | ||||
| api OOMKilled | ||||
| worker ConfigMap | ||||
| checkout readiness | ||||
| checkout-svc selector | ||||
| orders-db StorageClass | ||||
| Totale /6 | ||||
| Tempo totale |
Prompt standard
Sezione intitolata “Prompt standard”Usa sempre gli stessi prompt, così il confronto tra modelli è sensato:
What is wrong in namespace shop-demo? For each problem give: resource, root cause, evidence, fix command.Why is deployment api in namespace shop-demo restarting? Use metrics if available.Why does service checkout-svc in namespace shop-demo have no endpoints?Misurare il tempo
Sezione intitolata “Misurare il tempo”time k8sgpt analyze --namespace shop-demo --explain --no-cache > /tmp/k8sgpt-7b.txttime holmes ask "What is wrong in namespace shop-demo? For each problem give: resource, root cause, evidence, fix command." > /tmp/holmes-14b.txtConfronto tra modelli
Sezione intitolata “Confronto tra modelli”for m in qwen2.5:7b-instruct qwen2.5:14b-instruct; do k8sgpt auth update --backend localai --model $m --baseurl http://localhost:11434/v1; /usr/bin/time -p k8sgpt analyze -n shop-demo --explain --no-cache > /tmp/k8sgpt-$m.txt; donediff <(cat "/tmp/k8sgpt-qwen2.5:7b-instruct.txt") <(cat "/tmp/k8sgpt-qwen2.5:14b-instruct.txt") | head -50Cosa guardare
Sezione intitolata “Cosa guardare”- Evidenza: la diagnosi cita dati reali (evento, exit code, selector) o è generica?
- Fix eseguibile: il comando proposto funziona così com’è?
- Allucinazioni: nomi di risorse o namespace inventati.
- Stabilità: rilanciando la stessa domanda la diagnosi cambia?