LLM Council (5-advisor)
Ce face
Pui o întrebare unui AI, primești un răspuns. Răspunsul poate fi bun. Poate fi mediocru. Nu ai cum să-ți dai seama pentru că ai văzut un singur unghi.
Council-ul repară asta. Spawnează cinci sub-agenți Claude în paralel, fiecare cu o lentilă de gândire diferită, fiecare răspunde independent. Apoi răspunsurile sunt anonimizate A-E și trimise la cinci peer reviewers (alți cinci sub-agenți) care le evaluează fără să știe cine a scris ce. La final un chairman sintetizează un verdict structurat: unde converg, unde se contrazic, ce blind spots au prins peer-reviewerii, recomandarea finală și un singur lucru concret de făcut primul.
Adaptat din Karpathy LLM Council. Diferența: Karpathy folosește modele diferite (Claude + GPT + Gemini); noi folosim persoane diferite în Claude. Mai ieftin, mai rapid, suficient pentru 90% din decizii.
Cei cinci advisors:
- Contrarian — caută activ ce e greșit, ce o să eșueze, ce lipsește.
- First Principles — ignoră întrebarea de la suprafață; “ce încercăm de fapt să rezolvăm?“.
- Expansionist — ce e upside-ul pe care toți ceilalți îl ratează?
- Outsider — zero context; răspunde la ce vede în față, prinde curse of knowledge.
- Executor — “OK dar luni dimineață ce faci?” Cel mai concret pas.
Când îmi folosește
- Ai o decizie cu mize reale și mai multe opțiuni viabile (“497 course”).
- Ai un draft (copy de landing page, plan de pivot, ofertă) și vrei să-l pressure-testezi.
- Ești blocat între două/trei alternative și vrei să vezi argumentele steel-manned din fiecare unghi.
- Vrei să prinzi blind spots înainte să comiți timp/bani.
NU îl folosi pentru întrebări factuale, task-uri de creație (scrie un tweet), sau decizii triviale. Pentru fiecare debate sunt 11 chemări de model — nu e gratis.
Cum îl declanșez
Triggere mandatorii (Wednesday se aprinde garantat):
council this: <întrebare>run the council on <X>pressure-test this: <Y>stress-test thisdebate thisconsiliul
Triggere “soft” (Wednesday auto-routează când contextul e clar decizional):
should I X or Ywhich optionI'm torn between A and Bvalidate thisget multiple perspectives
Exemplu real
2026-05-21 — operatorul a întrebat dacă Nevermore ar trebui să adopte modelul Conductor/Swarm din upstream hermes-workspace. Set de alegeri constrânse: A (adopție completă), B (doar pattern-urile, nu infrastructura), C (skip).
Council-ul a rulat (versiunea cowork, 3 advisors în loc de 5 pe runtime-ul Grok-Build): architect a votat B, criticul a votat C, strategistul a votat B. Sintezistul a închis cu B partial adoption: ia checkpoint schema + mission decomposition ca convenții, refuză infrastructura persistentă (tmux + spawn loop) pentru că delegation stack-ul existent o acoperea deja.
Operatorul a urmat verdictul. Conductor/Swarm-ul a aterizat în Phase 3.2 ca pattern, nu ca infra paralelă. Transcript: _raw/reviews/Council_Debates/2026-05-21-conductor-swarm-adoption.md.
Output / unde aterizează
Default: direct în chat, ca markdown, în structura fixă: Where the Council Agrees / Where the Council Clashes / Blind Spots / The Recommendation / The One Thing to Do First.
Dacă întrebarea merită referință viitoare (sau operatorul cere explicit), council-ul salvează transcript complet la:
_raw/reviews/Council_Debates/YYYY-MM-DD-<slug>.md
Frontmatter obligatoriu: date, session_id, topic, operator, chairman, advisors, peer_reviewers, status. Plus tabel Session Telemetry cu Agent ID + tokens + duration pentru fiecare sub-agent (11 rânduri + TOTAL).
Escalare la varianta heavy (model-diverse)
Pentru decizii de arhitectură tehnică unde diversitatea reală de modele contează (ex: alegerea unui database engine, topologie de deployment, protocol), 5 persoane în Claude nu e suficient. Diferența între Codex și Gemini când nu sunt de acord e un semnal pe care 5 sub-agenți Claude nu o produc.
Wednesday va oferi explicit escalarea: “This is more of a tech-arch question — want me to run the heavier wf-274 council (Codex + Gemini + Claude chairman, ~5-10 min, deliverable file) instead?”
Comandă directă:
bash _infra/scripts/llm-council.sh "your question here" --context path/to/file.mdStage 1: query paralel la Codex + Gemini. Stage 2: cross-evaluation (Codex evaluează Gemini, vice-versa) cu scoring strict pe 4 dimensiuni. Stage 3: scrie un deliverable la _infra/core/wednesday/deliverables/YYYY-MM-DD-HHMM-llm-council-<slug>.md cu un TODO pentru Claude să facă sinteza chairman din sesiunea Wednesday.
Limitări
- Nu rezolvă întrebări proaste. Dacă întrebarea e vagă (“council my business”), Wednesday cere o clarificare înainte să fire-uiască council-ul. Costă tokeni să iei un verdict pe o întrebare nefocusată.
- 5 personae în Claude ≠ 5 modele diferite. Persoanele creează tensiune utilă, dar toate au același bias de bază al modelului. Pentru decizii pe care model-bias-ul ar contamina-o (arhitectura tehnică), folosește
llm-council.sh. - Chairman-ul poate disagree cu majoritatea. Dacă 4 din 5 zic “do it” dar dissenter-ul are argumentul cel mai tare, chairman-ul side-uiește cu el. Nu e democrație — e judecată.
- Nu salva tot. Nu fiecare council merită transcript. Doar deciziile cu referință viitoare (sau cele unde MemPalace ar trebui să le mineze) ajung pe disc.