Современные методы разработки программных продуктов с помощью методов искусственного интеллекта 2025

Материал из Public ATP Wiki
Перейти к: навигация, поиск

Общие сведения

  • Семестр: 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 синхронизация
  • поддержка нескольких пользователей
  • Голосование за стикеры