Περιγραφή
Το μάθημα διεξάγεται σε 13 εβδομάδες (4 ώρες διάλεξη) και οργανώνεται σε τέσσερις κύκλους εργασίας (sprints) διάρκειας ~3 εβδομάδων, καθένας με παρουσίαση (demo).
Εβδ. 1 — Εισαγωγή και επισκόπηση πεδίου: γιατί τώρα οι πράκτορες προγραμματισμού· οικοσύστημα εργαλείων (Copilot, Cursor, Claude Code, Devin)· οργάνωση μαθήματος· πλαίσιο υπεύθυνης ΤΝ· ανακοίνωση θεμάτων εργασιών.
Εβδ. 2 — Βασικές έννοιες γλωσσικών μοντέλων: tokens και παράθυρα συμφραζομένων· πώς παράγεται το κείμενο· prompt engineering· μοντέλα συλλογισμού (chain-of-thought, o1/o3, R1)· κόστος, καθυστέρηση, δυνατότητες· πρώτα βήματα με το API. (Έναρξη Sprint 1)
Εβδ. 3 — Διαχείριση συμφραζομένων και RAG: η στοίβα συμφραζομένων· αρχιτεκτονική RAG· embeddings· διανυσματικές βάσεις δεδομένων· υβριδική αναζήτηση· συστήματα μνήμης· prompt injection.
Εβδ. 4 — Αρχιτεκτονική πρακτόρων και χρήση εργαλείων: βρόχοι ReAct· tool/function calling· διαχείριση κατάστασης· agent harnesses· υλοποίηση πράκτορα σε <200 γραμμές· αποδόμηση σύνθετων εργασιών.
Εβδ. 5 — Παρουσίαση Sprint 1 + πλαίσια ανάπτυξης πρακτόρων: LangGraph, CrewAI, PydanticAI, OpenAI Agents SDK — σύγκριση και trade-offs· σειριακά, δρομολογητικά και συνεργατικά πρότυπα. (Λήξη Sprint 1 / Έναρξη Sprint 2)
Εβδ. 6 — Συστήματα πολλαπλών πρακτόρων: multi-agent orchestration· εξειδικευμένοι ρόλοι· πρότυπα debate, reflection, mixture-of-agents· AutoGen και CrewAI σε βάθος· τυπικές αστοχίες.
Εβδ. 7 — Πράκτορες προγραμματισμού και παραγωγή κώδικα: ιστορική αναδρομή· HumanEval και SWE-bench· Chain-of-Thought, Tree of Thoughts, Reflexion, LATS· διαμόρφωση πρακτόρων (CLAUDE.md, agents.md)· vibe coding και τα όριά του.
Εβδ. 8 — Παρουσίαση Sprint 2 + έλεγχος ορθότητας και CI/CD: αυτοματοποιημένος έλεγχος κώδικα παραγόμενου από ΤΝ· διοχετεύσεις CI/CD για εφαρμογές ΤΝ· ορθότητα, ασφάλεια, επιδόσεις. (Λήξη Sprint 2 / Έναρξη Sprint 3)
Εβδ. 9 — Παραγωγική λειτουργία και παρατηρησιμότητα: ανάπτυξη σε νέφος (AWS, Azure AI Foundry)· observability, logging, διαχείριση κόστους· κλιμάκωση· data flywheel και βιώσιμα προϊόντα ΤΝ.
Εβδ. 10 — Ασφάλεια, προστασία και υπεύθυνη ΤΝ: prompt injection· sandboxing· εμπιστοσύνη και επαλήθευση· η Πράξη για την ΤΝ της ΕΕ· δικαιοσύνη, μεροληψία, ερμηνευσιμότητα.
Εβδ. 11 — Παρουσίαση Sprint 3 + μέθοδοι αξιολόγησης: πλαίσια αξιολόγησης· red teaming· LLM-as-judge· AgentBench, WebArena· human-in-the-loop. (Λήξη Sprint 3 / Έναρξη Sprint 4)
Εβδ. 12 — Προσκεκλημένες ομιλίες + τελειοποίηση έργου: ομιλία από το ΙΤΕ ή τη βιομηχανία· τελική βελτίωση έργου, τεκμηρίωση, αποτίμηση ασφάλειας.
Εβδ. 13 — Ημέρα Παρουσιάσεων (Demo Day): τελικές παρουσιάσεις έργων ενώπιον επιτροπής μελών ΔΕΠ και προσκεκλημένων· ερωτήσεις· ετεροαξιολόγηση· αναστοχασμός μαθήματος.
Μαθησιακά Αποτελέσματα:
Με την επιτυχή ολοκλήρωση του μαθήματος, οι φοιτητές θα είναι σε θέση:
Γνώση και Κατανόηση:
- Να εξηγούν την αρχιτεκτονική πρακτόρων προγραμματισμού βασισμένων σε μεγάλα γλωσσικά μοντέλα (παράθυρα συμφραζομένων, χρήση εργαλείων, μνήμη, βρόχοι συλλογισμού, συντονισμός πολλαπλών πρακτόρων).
- Να περιγράφουν τη στάθμη της τεχνολογίας στις μετρήσεις αξιολόγησης παραγωγής κώδικα (HumanEval, SWE-bench) και τους περιορισμούς τους.
- Να αναλύουν τους βασικούς κινδύνους των αυτόνομων συστημάτων ΤΝ (prompt injection, ψευδαισθήσεις, υπερβολική εξάρτηση, ευπάθειες ασφαλείας).
- Να προσδιορίζουν τις απαιτήσεις της Πράξης για την ΤΝ της ΕΕ (EU AI Act) για τα εργαλεία και τα αυτόνομα συστήματα προγραμματισμού.
Δεξιότητες και Εφαρμογή:
- Να σχεδιάζουν και να υλοποιούν την κεντρική λογική πράκτορα προγραμματισμού (βρόχος συλλογισμού, ενσωματώσεις εργαλείων, μνήμη, ενορχήστρωση) και να την επιδεικνύουν από άκρο σε άκρο με σύγχρονα εργαλεία (LangGraph, CrewAI).
- Να κατασκευάζουν διοχέτευση ανάκτησης-ενισχυμένης παραγωγής (RAG) και να την ενσωματώνουν σε πράκτορα.
- Να εφαρμόζουν ορθές πρακτικές μηχανικής λογισμικού (testing, CI/CD, παρατηρησιμότητα, έλεγχος εκδόσεων) σε έργα που αξιοποιούν ΤΝ.
- Να αξιολογούν συστηματικά πράκτορα ως προς τη λειτουργική ορθότητα, την ασφάλεια και την αξιοπιστία, και να θέτουν εφαρμογή σε παραγωγική λειτουργία σε νέφος με monitoring και guardrails.
Κρίση και Κριτική Σκέψη:
- Να αξιολογούν κριτικά πότε να εμπιστεύονται, να επαληθεύουν, να διορθώνουν ή να απορρίπτουν κώδικα παραγόμενο από ΤΝ.
- Να αναλύουν τις ηθικές, νομικές και κοινωνικές διαστάσεις της χρήσης αυτόνομων πρακτόρων προγραμματισμού στην επαγγελματική ανάπτυξη λογισμικού.
Αξιολόγηση:
Η αξιολόγηση είναι συνεχής και δεν προβλέπεται τελική γραπτή εξέταση. Γλώσσα αξιολόγησης: Ελληνικά ή Αγγλικά. Περιλαμβάνει τις εξής συνιστώσες:
Εβδομαδιαία σύντομα τεστ (×10) — 40%: σύντομο τεστ 5–8 ερωτήσεων στην τάξη (εβδ. 2–11), με βάση τη βιβλιογραφία/βίντεο της εβδομάδας· αυτόματη βαθμολόγηση· οι δύο χαμηλότερες βαθμολογίες δεν προσμετρώνται (4% ανά τεστ).
Παρουσιάσεις Sprint (×3) — 30%: ομαδικές παρουσιάσεις (εβδ. 5, 8, 11). Κριτήρια: λειτουργική επίδειξη 50%, τεχνικό βάθος 30%, αναστοχασμός ομάδας 20% (10% ανά παρουσίαση).
Ημέρα Παρουσιάσεων — Τελικό Έργο — 20%: τελική ομαδική παρουσίαση ενώπιον επιτροπής. Κριτήρια: τεχνική ποιότητα/φιλοδοξία 40%, πρακτικές μηχανικής λογισμικού 25%, αποτίμηση υπεύθυνης ΤΝ 20%, σαφήνεια παρουσίασης 15%.
Συμμετοχή και ετεροαξιολόγηση (peer evaluation) — 10%: ενεργός συμμετοχή στην τάξη, συνεισφορά στην ανατροφοδότηση των παρουσιάσεων και υποβολή εντύπου ετεροαξιολόγησης.
Τα κριτήρια αξιολόγησης ανακοινώνονται στην αρχή του εξαμήνου και είναι προσβάσιμα μέσω της πλατφόρμας του μαθήματος.