Современные методы разработки программных продуктов с помощью методов искусственного интеллекта 2025
Общие сведения
- Семестр: 5/7
- Форма контроля: дифференцированный зачет
- Дни и время занятий: вторник, 17:05-18:30, УЛК-1 (Цифра), аудитория 2.36
Преподаватель
- Ахтямов Павел
Формат курса
В рамках курса студенты ознакомятся с основными принципами LLM-моделей и научатся использовать их в свою пользу. Студентам будет предложено разработать проект с использованием LLM и оценить все преимущества использования нового поколения генерации кода.
Регистрация на курс
Регистрация на курс проходит по ссылке: https://forms.yandex.ru/u/68b5cce75056902b66dd51fb
Актуальные новости
Актуальные новости публикуются в Telegram-чате: https://t.me/+38FdSJ7lfYY1NTEy
План курса
1. История развития ИИ. Базовые принципы работы больших языковых моделей.
2. Основные виды и параметры Больших Языковых Моделей. Каким образом выбирать LLM для решения задач?
3. Составные части приложений: Frontend, Backend, Веб-серверы. Применимость LLM для каждого из видов решения задач.
4. Проектирование стартовых шаблонов решений на основе LLM.
5. Инструменты для решения LLM-задач: IDE (Cursor/Copilot), CLI (Claude Code), чат-боты.
6. Генерация знаний для LLM: RAG-модели (Retrieval Augmentation), GraphRAG, KAG (Knowledge Augmentation Graph).
7. Model Context Protocol как универсальная база для создания решения. Популярные назначения MCP. Популярные серверы Model Context Protocol: Context7, Supabase.
8. Оптимизация кодовой базы при помощи LLM.
9. NoCode и LowCode-решения для создания фронтендов. Графовые методы для решения задач генеративного ИИ: ComfyUI, n8n.
10. Этика и безопасность использования LLM: служебные данные, ключи авторизации. Инструменты выявления уязвимостей.
11. Универсальные платформы для разработки кода: SourceCraft, OpenAI Codex.
12. Направления развития IT-отрасли: Bug Driven Development, Prompt Storytelling. Принципы написания системных промптов для IDE. Мультиагентные системы
Формат сдачи курса
Курс предполагает быструю разработку прототипа решений при помощи изученных инструментов в рамках курса. Необходимо подтвердить навыки эффективной работы с LLM-моделями.
Минимальные требования
Необходимо реализовать проект с минимальными компонентами:
- Frontend/Backend/DB
- Backlog проекта можно оценить в не менее 100 Story Points (в оценке человеческих ресурсов)
В качестве сдачи домашнего задания необходимо отправить на почту akhtyamov@phystech.edu ссылку на приватный репозиторий с отчетом по выполненному проекту:
- Спроектированный Product Backlog для решения
- Показать, какие компоненты пришлось дорабатывать руками
- Использовать MCP-серверы (указать, какие компоненты были использованы)
- Сообщить, какие LLM-модели были использованы для реализации задач
Бонусы
- + Использование MultiAgent LLM (BMAD, Claude Flow)
- + Настройка агентов, в том числе, через LowCode-инструменты n8n / SourceCraft.
- + Интеграция систем с примерами использования и реализацией Test Driven Development
Примеры проектов
Можно выбрать на усмотрение один из проектов или реализовать свой собственный проект по согласованию с преподавателем.
Для согласования выбора проекта необходимо написать письмо на почту akhtyamov@phystech.edu с выбором темы и мотивацией выбора проекта в случае нестандартного проекта.
Описание проекта дается в минимальном формате - Вашей целью является улучшение проекта с помощью LLM. Ваша цель - использовать воображение и ограничивать галюцинации!
Простые проекты (удовлетворительно 3-4)
1. Kanban-доска (Упрощенный Trello):
- создание задач
- назначение задач для пользователей
- приглашение пользователей
- создание досок
- создание статусов задач
- ограничение по количеству задач с определенным статусом (основная идея Kanban)
2. Меню столовой с голосованием:
- Блюда по дням недели
- Голосование за блюдо
- Рейтинг блюд
- Фильтр по категориям
3. Dashboard успеваемость (Электронная ведомость):
- Студенты, предметы, оценки
- Средний балл по предмету
- График успеваемости студента
- Топ студентов
Задачи невысокой сложности (хорошо 5)
1. Мини маркетплейс объявлений:
- Создание объявлений с фото
- Категории и поиск
- Избранное
- Контакт продавца
2. Система для проведения турниров:
- Регистрация участников
- Генерация сетки
- Поддержка режима Double Elimination
- Визуализация сетки
Задачи с усложнениями (оценки 7-8)
1. Календарь событий с напоминаниями
- События с датой/временем
- Повторяющиеся события
- Напоминания в UI
- Приглашение участников
2. Форум с ветками обсуждений
- Разделы → Темы → Сообщения
- Ответы на сообщения (дерево)
- Пагинация
- Markdown в сообщениях
3. Трекер тренировок с аналитикой
- Логирование тренировок (тип, длительность, дистанция)
- Графики прогресса
- Цели и прогресс к ним
- Сравнение периодов
4. Система опросов с условной логикой
- Конструктор опросов
- Разные типы вопросов
- "Если ответ X → показать вопрос Y"
- Аналитика ответов
Задание на оценку 10
1. Простейший видехостинг
- Загрузка видео
- Стриминг воспроизведения
- Превью/thumbnail
- Комментарии + лайки
2. Карта мероприятий с геолокациями:
- События с координатами
- Отображение на карте
- Поиск "рядом со мной"
- Фильтры по дате/категории
3. A/B тестирование (Feature Flags)
- Создание экспериментов
- SDK для получения варианта
- сбор метрик
- Поддержка критериев и статзначимости
4. Realtime-доска для ретроспектив (Miro-lite)
- Стикеры на доске
- Realtime синхронизация
- поддержка нескольких пользователей
- Голосование за стикеры