← Zpět na přehled

Dokumentace projektu: AI Hodnocení – Učitelský Dashboard

Tento dokument slouží jako komplexní technický a procesní přehled celého systému pro automatizované sledování, hodnocení a vizualizaci práce studentů v předmětu Programování pomocí umělé inteligence (AI).

1. Celková Architektura a Datové Toky

Architektura se skládá ze tří hlavních vrstev: 1. Zdrojová data (GitHub, CSV): Informace o studentech a jejich kód (Git repozitáře). 2. Datové zpracování a AI analýza (Python skripty, Gemini API, OpenClaw): Získání dat, vyhodnocení, generování zpráv. 3. Prezentace a monitoring webový Dashboard (Flask, Nginx, Let's Encrypt): Učitelské rozhraní pro prohlížení výsledků a statistik.

Životní cyklus dat: - Systém pravidelně kontroluje aktivitu na zadaných projektech studentů. - Změněné soubory jsou staženy a pomocí promptů odeslány modelu Google Gemini. - Model Gemini zanalyzuje kód objektivně (splnění podmínek) i subjektivně (logika, přístup). - Výsledky (Markdown soubory) a statistiky (CSV, JSON) se uloží do strukturovaných adresářů na serveru. - Flask webová aplikace (app.py) na pozadí renderuje uložené Markdown a JSON soubory, dynamicky je anonymizuje (kvůli ochraně soukromí s využitím přezdívek) a podává je jako interaktivní HTML web učiteli.


2. Hlavní Komponenty a Skripty

monitor2.py

Zodpovědnost: Okamžitý přehled a notifikace o aktivitě studentů. - Čte CSV soubor adresářů ze zdroje studenti.csv. - Každý den ráno (přes Cron) zkontroluje přes GitHub API, zda od poslední známé revize dodal uživatel do větve cokoliv nového. - Nové hashe závazně ukládá do stavového souboru last_commits.json. Tento soubor využívá Web dashboard k tomu, aby učitel okamžitě v boxech viděl (Active / Inactive) kdo začal pracovat a kdo se ještě ani nepohnul. - Rychle s pomocí AI sumarizuje malé změny a případně vyrozumí email učitele.

main.py

Zodpovědnost: Týdenní hloubková revize práce studenta. - Skript, který vytrhává kontext za celých posledních 7 dnů zpětně (od úterý nad ránem okna až do pondělní noci). - Klonuje lokálně obsah repozitáře do /tmp/, sbírá diference změněných kódů. - Využívá knihovny google-genai k odeslání diference modelu gemini-2.5-flash. Model dostane přesně definované instrukce jako pedantický asistent učitele a kontroluje u studenta: počet commitů v týdnu, požadované prodlevy (časový interval) pro zamezení opisování, tvorbu projektové dokumentace apod. - Pomocí robustního "Jinja2" templating enginu nahradí vyhodnocené stavy (individual_report.md.j2, summary_report.md.j2) do fixních složek /reporty/T-RRRR-MM-DD/. - Dynamicky reaguje i na nulovou aktivitu tím, že souborům připojí suffix _NEODEVZDANO.md. Ke každému vygeneruje pro podporu obhajoby práce vedlejší soubor _OTAZKA.md s navrhovaným odborným dotazem na použitý kód.

Webový Dashboard (app.py, templates/, static/)

Zodpovědnost: Grafické uživatelské rozhraní a anonymizace k prezentaci. - Moderní webová vrstva napsaná nad Flask, nasazená produkčním wsgi enginem Gunicorn, kterému je předřazen reverzní proxy Nginx s plnohodnotným SSL certifikátem Let's Encrypt (doména erudios.com). - Real-Time Anonymizace: Skript na svém backendu bezpečně zachází s repozitářovými .MD soubory, zachytí jejich plná znění s reálnými jmény a adresami, přičemž těsně před jejich překladem do HTML na Webu tyto reálie zcenzuruje – přepíše je z databáze na studentské přezdívky nebo alias [SKRYTO].


3. Umělá Inteligence & Orchestrátor

Běhové prostředí – "OpenClaw"

Inteligente – Google Gemini AI


4. Automatizace pomocí CRONu (crontab)

Uživatel virtuálu (agentai) automatizuje sběr nad výše zmíněnými funkcemi v linuxovém plánovači úloh cron. Tato vrstva odřezává jakoukoliv lidskou závislost z generování zpráv.

Hlavní obslužné spínače v cron tabulce: 1. 10 7 * * * /bin/bash /home/agentai/ai_hodnoceni/run_monitor.sh - Každý den v 07:10 ráno. - Dohlédne na refresh monitor2.py pro doplnění malých úkolových změn k zapsání stavové databáze denního boxu. 2. 1 0 * * 1 cd /home/agentai/ai_hodnoceni/kod && /home/agentai/agent_env/bin/python main.py - Zlatý hřeb – přesně každé pondělí v 00:01 v noci. - Zpracuje a upeče masivní celotýdenní kompozit, provede AI volání, uloží ho staticky na disk do finální podoby, odkud se ho nad ránem ujme vizuál Flasku, plně připravený k výkladu u ranní kávy pro vyučující.

(Služba webovky jako taková nepodléhá plánování – je udržena konstatně v operabilitě systémovým hlídačem Systemd přes lokální démon)