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

Материал из Public ATP Wiki
Перейти к: навигация, поиск
(Формат курса)
Строка 39: Строка 39:
  
 
12. Направления развития IT-отрасли: Bug Driven Development, Prompt Storytelling. Принципы написания системных промптов для IDE. Мультиагентные системы
 
12. Направления развития IT-отрасли: Bug Driven Development, Prompt Storytelling. Принципы написания системных промптов для IDE. Мультиагентные системы
 +
 +
== Формат сдачи курса ==
 +
 +
Курс предполагает быструю разработку прототипа решений при помощи изученных инструментов в рамках курса. Необходимо подтвердить навыки эффективной работы с LLM-моделями.
 +
 +
=== Минимальные требования ===
 +
 +
Необходимо реализовать проект с минимальными компонентами:
 +
* Frontend/Backend/DB
 +
* Backlog проекта можно оценить в не менее 100 Story Points (в оценке человеческих ресурсов)
 +
 +
В качестве сдачи домашнего задания необходимо отправить ссылку на приватный репозиторий с отчетом по выполненному проекту:
 +
* Спроектированный Product Backlog для решения
 +
* Показать, какие компоненты пришлось дорабатывать руками
 +
* Использовать MCP-серверы (указать, какие компоненты были использованы)
 +
* Сообщить, какие LLM-модели были использованы для реализации задач
 +
 +
Бонусы:
 +
+ Использование MultiAgent LLM (BMAD, Claude Flow)
 +
+ Настройка агентов, в том числе, через LowCode-инструменты n8n / SourceCraft.
 +
+ Интеграция систем с примерами использования и реализацией Test Driven Development
 +
 +
=== Примеры проектов ===
 +
 +
Можно выбрать на усмотрение один из проектов или реализовать свой собственный проект по согласованию с преподавателем.
 +
 +
Описание проекта дается в минимальном формате - Вашей целью является улучшение проекта с помощью 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 синхронизация
 +
* поддержка нескольких пользователей
 +
* Голосование за стикеры

Версия 00:15, 11 декабря 2025

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

  • Семестр: 5/7
  • Форма контроля: дифференцированный зачет
  • Дни и время занятий: вторник, 17:05-18:30, УЛК-1 (Цифра), аудитория 2.36

Преподаватель

  • Ахтямов Павел

Формат курса

В рамках курса студенты ознакомятся с основными принципами LLM-моделей и научатся использовать их в свою пользу. Студентам будет предложено разработать проект с использованием LLM и оценить все преимущества использования нового поколения генерации кода.

Регистрация на курс

Регистрация на курс проходит по ссылке: https://forms.yandex.ru/u/68b5cce75056902b66dd51fb

План курса

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 (в оценке человеческих ресурсов)

В качестве сдачи домашнего задания необходимо отправить ссылку на приватный репозиторий с отчетом по выполненному проекту:

  • Спроектированный Product Backlog для решения
  • Показать, какие компоненты пришлось дорабатывать руками
  • Использовать MCP-серверы (указать, какие компоненты были использованы)
  • Сообщить, какие LLM-модели были использованы для реализации задач

Бонусы: + Использование MultiAgent LLM (BMAD, Claude Flow) + Настройка агентов, в том числе, через LowCode-инструменты n8n / SourceCraft. + Интеграция систем с примерами использования и реализацией Test Driven Development

Примеры проектов

Можно выбрать на усмотрение один из проектов или реализовать свой собственный проект по согласованию с преподавателем.

Описание проекта дается в минимальном формате - Вашей целью является улучшение проекта с помощью 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 синхронизация
  • поддержка нескольких пользователей
  • Голосование за стикеры