Teaching ML in the Age of AI Agents (1/3)
Starting a short series on teaching machine learning, with live examples from how today’s students actually work.
I’ve always liked figuring out hard things and then explaining them to other people, which is basically what teaching is. Through my every degree and every job there’s been some amount of teaching mixed in: olympiad math clubs, math seminars at a Physics-Mathematics School, a Python course at Computer Science Center. This semester I’m running two courses at Neapolis University Pafos: “Programming Paradigms” for first-years, and the second half of a machine learning course for second-years.
It’s my third time through these courses, and a third pass is a good moment to look around. What jumps out most in 2026 is what AI has done to the room, on both sides of it.
Three years, four snapshots

March 2023
A little over three years ago, Cursor had just gone public. Models were weak. You could say with confidence that every student writing code was actually writing the code himself.
May 2024
The frontier was GPT-4o, Claude 3 Opus, Gemini 1.5. Much stronger at concrete tasks, very nice in chat, but well below today on hard problems. Good code generators, not yet full programming agents. It's no exaggeration to say students were still honestly writing code themselves (and understanding it). Teachers also were still checking everything themselves :)
Feb – May 2025
The turning point: Andrej Karpathy coined the term "vibe coding" in February. By May, student projects looked much more polished than the year before, but real understanding survived only in the most conscientious and reflective students. AI agents will happily work for you. They cannot think for you!
Now · May 2026
Things have evened out again, surprisingly. Methodical, self-aware students put real hours in, and with AI agents (which have become genuinely powerful tools) they produce good work. When you sit down with them to talk through the project, they can answer hard questions and defend the architectural decisions their agent implemented (and probably even proposed), but which they actually understood and chose to keep.
What a strong homework looks like now
One of this term’s assignments was: build your own voice assistant (J.A.R.V.I.S, Just A Rather Very Intelligent System) that lives on your laptop. Here’s roughly what one of the well-done versions did:
// J.A.R.V.I.S build — selected spec
- Real wake-word detection via
openWakeWordwith a custom-trainedcodi.onnxmodel - LangGraph state machine with
SqliteSavercheckpointing — dialogue survives restarts, thread isolation, tool-call loop protection (MAX_TOOL_ITERATIONS+force_finalizenode) - MemGPT-style memory: small key→value core memory always in the system prompt, plus a Chroma vector store with multilingual fastembed embeddings for archival notes. Semantic deduplication on save (cosine similarity ≥ 0.9)
- Running summary: once the buffer exceeds 16 messages, older turns are summarized into a state field; only the last 6 are kept verbatim
- Follow-up window after each reply (7 s) — no need to re-trigger the wake-word for natural multi-turn conversation
- Background timers / reminders via
threading.Timerthat speak via Piper and trigger native macOS notifications.dateparserhandles Russian natural-language - Anti-hallucination system prompt that explicitly forbids inventing memory contents and demands confirmation for destructive ops
What this means for the teacher
AI has been good for education, on balance. Students get to try and build far more in the same number of weeks. And teachers no longer have a choice about whether to check understanding through live conversation, because that's the only signal left worth trusting.
The other thing this forces, much more clearly than before, is the decision about which knowledge is important enough to stay in the student's head, and which they can confidently let an agent hold for them =)
Начинаю небольшую серию постов об обучении машинному обучению (сорри!) с настоящими примерами из жизни наших студентов.
Сколько себя помню, я всегда любил разбираться в каких-то непростых вещах и потом объяснять их другим людям, то есть по сути дела, преподавать. Всегда совмещал свою учебу или работу с тем или иным количеством преподавания: кружки по олимпиадной математике, семинары по математике в ФМШ, потом курс по Питону в CS center. В этом полугодии у меня два курса в НУПе: “Парадигмы программирования” для первого года обучения и вторая часть курса по машинному обучению для второго.
Это уже третье прочтение курсов, поэтому можно немного порефлексировать. Прежде всего, конечно, на тему влияния ИИ на современных студентов и преподавателей.
Три года, четыре зарисовки

Март 2023
Чуть больше трёх лет назад, в марте 2023, ещё только был публично запущен Cursor, модели были слабые, и с уверенностью можно утверждать, что все люди писали код своими руками.
Май 2024
На фронтире уже были GPT-4o, Claude 3 Opus, Gemini 1.5 — намного более сильные модели в плане решения конкретных задач, которые уже очень классно работали в режиме чата, но их уровень был заметно ниже, чем сейчас, особенно на сложных задачах. Тогда модели были хорошими генераторами кода, но не были полноценными программистами-агентами. Не будет преувеличением написать, что студенты ещё честно писали код самостоятельно (хорошо понимая его, конечно), а преподаватели проверяли :)
Февраль – май 2025
Переломный момент: в феврале 2025 Карпати вводит термин «vibe coding», и в мае 2025 года проекты студентов уже были намного более качественными, но при этом понимание осталось только у очень сознательных и рефлексирующих студентов. AI агенты отлично работают за вас, но никак не могут за вас думать!
Сейчас · май 2026
Кажется, всё снова выровнялось — склонные к методичной работе, сознательные и рефлексирующие студенты вкладывают достаточно много времени в учебу, и с помощью AI агентов (ставших просто очень мощным инструментом) получают хорошие результаты. А при живом обсуждении проектов и материала могут спокойно ответить на непростые вопросы и обосновать те или иные архитектурные решения, реализованные (и вероятно даже принятые) агентом, но проверенные ими.
Как выглядит хорошо сделанная домашка
Вот пример одной из хорошо сделанных домашек, в которой нужно было реализовать своего голосового ассистента (J.A.R.V.I.S, Just A Rather Very Intelligent System), живущего в ноутбуке:
// J.A.R.V.I.S build — selected spec
- Real wake-word detection via
openWakeWordwith a custom-trainedcodi.onnxmodel - LangGraph state machine with
SqliteSavercheckpointing — dialogue survives restarts, thread isolation, tool-call loop protection (MAX_TOOL_ITERATIONS+force_finalizenode) - MemGPT-style memory: small key→value core memory always in the system prompt, plus a Chroma vector store with multilingual fastembed embeddings for archival notes. Semantic deduplication on save (cosine similarity ≥ 0.9)
- Running summary: once the buffer exceeds 16 messages, older turns are summarized into a state field; only the last 6 are kept verbatim
- Follow-up window after each reply (7 s) — no need to re-trigger the wake-word for natural multi-turn conversation
- Background timers / reminders via
threading.Timerthat speak via Piper and trigger native macOS notifications.dateparserhandles Russian natural-language - Anti-hallucination system prompt that explicitly forbids inventing memory contents and demands confirmation for destructive ops
Что это значит для преподавателя
В итоге получается, что ИИ позитивно влияет на наше образование — студенты могут больше всего сделать и попробовать за то же время, а преподаватели теперь уже точно должны проверять знания, оставшиеся в головах студентов, через живое обсуждение проектов и материала.
И, конечно, ещё четче выделять, а какие именно знания настолько важны, чтобы оставаться в головах =)