Přeskočit obsah

Sofie — architektonická vize (Fáze 3+)

Stav (2026-05-11): Tento dokument popisuje cílový stav Sofie persony pro Fázi 3+ — orchestraci, RAG, kanály, schvalovací workflow, cenové odhady. Žádný řádek z této vize není dnes v kódu. Až přijde čas implementace, slouží jako referenční bod, ne závazek.

Persona, tón a vzorová komunikace žijí v krátké podobě v SOFIE.md.


Architektura

n8n byl odstraněn (2026-05-11). Sofie pipeline poběží přímo z Next.js (Vercel Edge Functions / Inngest) volající Vertex AI.

Plánovaný stack (Fáze 3+)

Next.js (server actions / API routes)
  ├─→ Vertex AI Gemini (LLM — Flash + Pro, EU region)
  ├─→ BookStack API (znalostní báze, obsah)
  ├─→ Supabase pgvector (RAG embeddingy)
  ├─→ Cloudflare Email Worker (CC email trigger)
  └─→ Supabase (aplikační data Kosmo)

Orchestrace: Next.js místo n8n

n8n byl zamítnut a odstraněn (2026-05-11). Důvod: jeden workflow reformulace = neodůvodněná infrastruktura. Pro Fázi 3+ (Sofie pipeline): Inngest nebo Vercel Cron.

Kritérium ~~Dify~~ (zamítnuto) ~~n8n~~ (odstraněn) Inngest / Edge Function
RAM overhead ~4 GB ~256 MB 0 MB (serverless)
Maintainability Komplikovaný Docker na VM Git-native
Škálování Nativní Ruční Serverless

RAG pipeline (plánovaná, Fáze 3+)

BookStack (obsah) → cron job → Gemini embedding → Supabase pgvector
Dotaz → Gemini embedding → pgvector similarity → kontext → Gemini Pro → odpověď

Žádný separátní vector DB. Pgvector je extension v PostgreSQL, Supabase ho má out of the box.

Strategie výběru modelu

Per-task routing — nemusíme používat jeden model na vše:

Úloha Model Proč
Routing, klasifikace Gemini Flash Rychlé, levné, stačí
Reformulace textu Gemini Pro Kvalita výstupu důležitá
RAG odpovědi Gemini Pro Přesnost + citace
Portfolio analýza Gemini Vision Multimodální
IVP generování Claude Sonnet / Opus Nejkomplexnější úloha

Jeden vzorec pro vše

Každá interakce sleduje stejný vzorec:

Vstup (chat / email / CC / voice / upload)
Sofie porozumí záměru
Odhadne kompetentní osobu
Připraví návrh (odpověď / draft / akce)
Osloví osobu: [Schválit] [Upravit] [Přehodit na...]
Sofie přeformuluje, uloží, publikuje, odpoví

Plánované schopnosti Sofie (Fáze 3+)

Schopnost Co dělá Příklad
Reformulace Přepíše text do tónu školy Učitel napíše hesla → formátovaná zpráva
Zápis do KB Extrahuje fakta, draft stránky v BookStack „Od pondělka družina do 16:30" → draft změny
Plánování Konverzačně založí akci, vygeneruje úkoly „Chci naplánovat výlet" → event + zpráva
RAG lookup Odpovídá z BookStack KB, cituje zdroj „Kdy jedou třeťáci na výlet?"
Routing Odhadne správnou osobu pro eskalaci „jídlo" → kuchařka, „výlet 3B" → třídní 3B
Extrakce Z emailu/voice vytěží strukturovaná data Hlasový debrief → denní záznam

Znalostní báze (BookStack)

Veřejná vs. interní

BookStack tagy řídí viditelnost:

Tag Viditelnost Příklad obsahu
visibility:public Veřejný chat, web FAQ, pravidla školy, ŠVP
visibility:internal Interní agenti Metodiky, procesy, kontakty
visibility:vedeni Pouze vedení Finance, GDPR, smlouvy

RAG pipeline bude mít dvě sady embeddingů v Supabase pgvector: veřejná (sync jen visibility:public) a interní (sync vše). Veřejný chat nikdy nevidí interní data.

Trasovatelnost

Každá informace nese metadata o původu:

Tag: autor:petra.novakova
Tag: schvalil:patrik.matlak
Tag: zodpovida:jana.kralova
Tag: stav:ke-schvaleni|schvaleno|hotovo
Tag: deadline:2026-03-20
Tag: typ:akce|faq|pravidlo|ukol|sablona
Tag: visibility:public|internal|vedeni

Self-learning FAQ loop

Rodič se ptá → Sofie hledá v KB (visibility:public) → nenašla
„Nemám ověřenou odpověď. Zeptám se."
Odhadne kompetentní osobu → osloví s návrhem odpovědi
Osoba schválí (klik / email reply / auto-publish)
Draft publikován → pgvector sync → příště Sofie odpoví sama

Čím víc se rodiče ptají, tím je Sofie chytřejší — a nikdo nemusel FAQ psát ručně.

Struktura roste organicky

Nenavrhujeme strukturu BookStack předem. Prvních pár stránek vznikne z reálných interakcí, Sofie navrhuje kam zařadit, ředitel schválí. Struktura emerguje z potřeb.


Komunikační kanály

Sofie přijímá vstup z libovolného kanálu (plánovaná architektura, Fáze 3+).

Email — progresivní integrace

Fáze Sofie dělá Učitel dělá Technicky
E1 (CC) Pozoruje, extrahuje, navrhuje drafty Komunikuje normálně, přidá CC Parsování CC emailů
E2 (asistent) Navrhuje odpovědi na dotazy rodičů Klikne Schválit/Upravit + přístup k mailboxu
E3 (persona) Komunikuje sama, eskaluje když neví Píše Sofii jako kolegyni Plný email účet + Cloudflare Email Worker

E1 příklad (CC pattern):

Učitelka pošle email rodičům → CC sofie@sofie.education
Sofie pozoruje: extrahuje fakta, připraví draft do wiki,
sleduje odpovědi rodičů. Nic neposílá bez pokynu.

@sofie v emailových vláknech: Učitelé si mohou psát emaily a kdykoliv vyzvat Sofii zmínkou @sofie nebo přidáním do CC. Sofie odpovídá jen když je oslovena — reply-all, takže všichni vidí informaci.

Voice — hlas jako vstup

Varianta STT Kvalita CZ Cena
Browser Web Speech API Dobrá Zdarma
Whisper API (OpenAI) Nejlepší $0.006/min
Gemini multimodal Výborná Součást Gemini API

Klíčový use case — hlasový denní debrief:

Učitel nasadí sluchátka cestou z práce a 2 minuty přirozeně mluví. Z toho vznikne: - Denní záznam (náhrada třídnice) - Aktualizace portfolia - Detekce vzorců chování (vyrušování, nepřipravenost) - Podklady pro budoucí IVP

Sofie automaticky překládá — zahraniční učitel mluví anglicky, Sofie zapíše česky. Každý komunikuje ve svém jazyce.

Chat

Chat v aplikaci Kosmo (Next.js frontend) — primární rozhraní. Sofie navrhuje klikací akce:

Sofie: „Jak tě mám upozorňovat na důležité věci?"
       [Push]  [Email]  [Jen v appce]

Notifikace

Kanál Kdy
In-app karta Vše — základní notifikace
Web Push (PWA) Urgentní: schválení, deadline, eskalace
Email Denní digest, nebo urgentní pokud nereaguje
WhatsApp (budoucnost) Rodiče, kteří nechtějí appku

Schvalovací workflow

Schvalovací politika dle rizika

Typ obsahu Viditelnost Kdo schvaluje Auto-publish?
Public FAQ Veřejnost Vždy ředitel Ne
Komunikace rodičům Rodiče Vždy ředitel Ne
Personální / GDPR Vedení Vždy ředitel Ne
IVP / portfolio Učitel + rodič Třídní učitel Ne
Interní FAQ Zaměstnanci Oslovená osoba Ano (opt-out 2–3 dny)
Zápis z porady Zaměstnanci Oslovená osoba Ano (opt-out 2 dny)
Provozní info Zaměstnanci Oslovená osoba Ano (opt-out 1 den)

Opt-out = pokud osoba nereaguje do timeoutu, obsah se publikuje. Může kdykoliv zablokovat.

Tři úrovně autorizace

Úroveň Jak vzniká Příklad
Autorizováno Klik v appce nebo magic link Ředitel schválil FAQ
Neautorizováno Email odpověď zpracovaná AI Učitel odpověděl emailem
Draft AI vygenerovala bez lidského vstupu Sofie navrhla odpověď z kontextu

U neautorizovaných odpovědí je vždy uvedeno: „Na základě odpovědi [jméno] (email, bez autorizace v appce)".

Smart routing

Fáze Routing Příklad
v1 Klíčová slova → osoba „jídlo" → kuchařka, default → ředitel
v2 Tabulka escalation_log — kdo na co odpovídal Kuchařka přehazuje „platby" na ředitele → naučeno
v3 Agent zná role, třídy, rozvrh Dotaz o 3B → třídní 3B

Fallback: pokud routing selže → vše jde na ředitele.


Organická náhrada PM a CRM

Kosmo PM (úkoly z konverzací)

Úkoly vznikají z konverzací, ne ze separátního PM softwaru:

Učitel: „Sofie, je potřeba objednat autobus na výlet"
Sofie:  Vytvoří úkol (zodpovida + deadline + vazba na akci)
        „Kdo má objednat autobus?"
        [Já]  [Kancelář]  [Ředitel]

Ředitel vidí kartu „3 úkoly s blížícím se deadline". Implementováno přes BookStack tagy zodpovida + deadline, zobrazeno v dashboardu.

Twenty CRM (historie interakcí)

Sofie loguje každou interakci s rodinami. Kontakty se budují organicky z CC emailů:

1. Učitelka pošle email → CC sofie@ → Sofie propíše kontakt rodiče
2. Po měsíci: „Mám kontakty na rodiče u 28 z 31 dětí."

Nikdo nezadával kontakty ručně. Stačilo pár CC emailů.

Co tím odpadá

Původně plánovaný nástroj Jak to řeší Sofie
PM software Úkoly z konverzací, tagy v BookStack, karta v dashboardu
CRM software Historie interakcí v Supabase, shrnutí per-rodina
Newsletter (Resend, Fáze 3+) Sofie vygeneruje obsah, ředitel schválí, Resend odešle

Cenový odhad

Infrastruktura

Položka Měsíčně Poznámka
GCP VM (Twenty + BookStack) ~375 Kč e2-small, europe-west1
Supabase 0–600 Kč Free tier stačí pro MVP
Vercel (Next.js) 0 Kč Free tier
GCP Storage ~50 Kč ~$0.02/GB
Doména + DNS ~60 Kč Cloudflare
Subtotal ~500–1 100 Kč

LLM API (~80 žáků, ~22 zaměstnanců, ~150 rodin)

Aktivita Gemini Flash Gemini Pro
Hlasové debriefy (10 učitelů × 2 min) ~70 Kč/měs ~70 Kč/měs
Reformulace + routing (~30 interakcí) ~5 Kč/měs ~80 Kč/měs
FAQ / RAG dotazy (~20 dotazů) ~3 Kč/měs ~50 Kč/měs
Email zpracování (~15 emailů) ~2 Kč/měs ~40 Kč/měs
Portfolio analýza (~5 fotek) ~8 Kč/měs ~8 Kč/měs
Proaktivní akce ~2 Kč/měs ~30 Kč/měs
Subtotal ~90 Kč/měs ~280 Kč/měs

Celkem

Scénář Celkem
MVP (text, pár uživatelů) ~500 Kč/měs
Plný provoz (voice, portfolio, proaktivita) ~800 Kč/měs
Maximum (premium modely, vysoký traffic) ~1 300 Kč/měs

Fázování

Fáze Období Co se nasadí Kanály
1 Týden 1–3 Reformulátor (Vercel Edge Function / Next.js) Kosmo chat
2 Týden 4–5 Zapisovač do wiki, BookStack tagy Beze změny
3 Týden 6–8 Plánovač akcí, klikací karty + CC email (E1)
4 Týden 9–12 Sofie email persona, @sofie v CC + Sofie email (E3)
5 Měsíc 4+ RAG Chat, Magic Links, SSO + voice (STT), push
6 Měsíc 6+ Feed, Twenty CRM / Kosmo PM organicky + WhatsApp, TTS
7 Měsíc 9+ Portfolio žáka (Gemini Vision) Beze změny
8 Rok 2+ Sokratův průvodce, IVP + žákovský přístup

Onboarding — žádný big bang

Fáze 0: CC sofie@ v emailech → Sofie pozoruje, nikoho neoslovuje
Fáze 1: Aktivní uživatelé mají appku → Sofie posílá karty a návrhy
Fáze 2: Sofie potřebuje info → osloví emailem, zpracuje odpověď
Fáze 3: Neaktivní uživatel vidí, že to funguje → sám si otevře appku

Nulová bariéra. Nikdo není nucen. Přirozená adopce.

Trust gradient — stupně autonomie

Stupeň 0: Sofie jen pozoruje (CC pattern)
Stupeň 1: Sofie navrhuje, člověk schvaluje vše
Stupeň 2: Sofie schvaluje nízko-rizikové sama (auto-publish)
Stupeň 3: Sofie odpovídá rodičům z ověřené KB sama
Stupeň 4: Sofie zakládá akce z vlastní iniciativy
Stupeň 5: Sofie identifikuje mezery a navrhuje nové workflow

Klíčová rozhodnutí (přehled)

Oblast Rozhodnutí Zamítnuto
LLM orchestrátor Vertex AI Gemini z Next.js Dify, n8n (odstraněn), Vertex AI Agent Builder
RAG pgvector v Supabase Weaviate
Znalostní báze BookStack Google Drive (jen pro dokumenty)
Email politika Walled Garden (no-reply, rodič musí do appky)
Email infra Resend (sending) + Cloudflare Email Worker (receiving)
CRM Twenty HubSpot
PM Kosmo PM (vlastní kanban, Fáze 2+) Asana, Plane
Newsletter Resend transactional + ad-hoc HTML (Listmonk odstraněn) Mailchimp

Sloučeno z DECISION_AI_COMMUNICATION.md, DECISION_KNOWLEDGE_BASE.md, DECISION_LLM_ORCHESTRATOR.md a TONE_MANUAL_DRAFTS.md. Poslední aktualizace: březen 2026.