Курс
ИИ 11 класса: генеративный ИИ и инженерия агентов
Собирай приложения на LLM с промптами, API, поиском и инструментами, потом проверяй их на безопасность.
Иди по урокам по порядку. В конце ты умеешь считать токены, сравнивать тексты по похожести эмбеддингов и объяснять выборку и окна контекста. Ты пишешь структурированные промпты и сравниваешь версии промпта на тестах. Ты находишь ошибки и риски в коде, написанном ИИ, и пишешь тесты, которые он должен пройти. Ты получаешь структурированный JSON, который совпадает со схемой, собираешь чат-бота с лимитом трат и приложение, которое отвечает по документам и указывает источники. Ты собираешь агента с ограниченными инструментами и правилом остановки, защищаешь приложение от инъекции промпта, собираешь автоматический набор тестов и выпускаешь помощника с опорой на источники.
Как пользоваться этими уроками
- Начни с урока, где стоит Сделай это. Строку под названием сделай сам, потом иди дальше.
- Сначала Игры. Потом Проверка. 8 из 10 верно для зачёта. Листы на бумаге. Ответы внизу.
- Каждый урок опирается на предыдущий. Для каждого приложения держи набор тестов и запускай его после каждого изменения.
- Уроки с кодом используют Python. Пользуйся только сервисами ИИ, которые одобрил учитель, не клади ключи API в код, поставь лимит трат и никогда не отправляй личные данные в модель.
В каждом уроке есть игры, проверка и листы.
0 из 36
Основы LLM
- 1Токены и словарьСчитай токены и объясни, почему они важны.
- Разбей текст на токены настоящим токенизатором.
- Сравни число токенов в разных языках.
- Свяжи токены со стоимостью и лимитом контекста.
- 2ЭмбеддингиСравнивай тексты по похожести эмбеддингов.
- Получи эмбеддинги от модели.
- Посчитай косинусную похожесть.
- Ранжируй предложения по смыслу, а не по общим словам.
- 3Как LLM генерируетОбъясни, как LLM генерирует: выборка, температура и окна контекста.
- Объясни предсказание следующего токена.
- Меняй температуру и сравнивай ответы.
- Покажи, что бывает, когда текст выходит за окно контекста.
- 4Предобучение и настройкаОтличай предобучение, тонкую настройку и настройку на инструкции.
- Скажи, какие данные использует каждый шаг.
- Объясни обратную связь от людей.
- Скажи, почему у модели есть граница знаний.
Инженерия промптов
- 5Структурированные промптыНапиши структурированный промпт с ролью, задачей, правилами и форматом.
- Отдели инструкции от входных данных.
- Задай формат ответа.
- Сравни структурированный и неструктурированный промпт.
- 6Несколько примеровУлучши ответ несколькими примерами.
- Добавь два или три примера.
- Выбери примеры, которые покрывают крайние случаи.
- Измерь изменение на наборе тестов.
- 7ОграниченияОграничь длину, тон и формат.
- Задай лимит длины и уровня чтения.
- Скажи модели, что делать, если она не знает.
- Проверь ответы по каждому ограничению.
- 8Тесты промптовНапиши тесты и сравни версии промпта.
- Напиши двадцать тестовых входов с ожидаемыми результатами.
- Оцени две версии промпта.
- Оставь версию, которая победила.
Программирование с помощью ИИ
- 9Генерация кодаСгенерируй рабочий код по ясной спецификации.
- Напиши спецификацию: входы, выходы и примеры.
- Сгенерируй по ней код.
- Запусти его на примерах.
- 10Проверка кода ИИНайди ошибки и риски в коде, написанном ИИ.
- Проверь крайние случаи и обработку ошибок.
- Заметь выдуманные функции и библиотеки.
- Заметь небезопасный код, например секреты в исходнике.
- 11Сначала тестыНапиши тесты, которые код ИИ должен пройти.
- Напиши тесты на pytest.
- Пусть ИИ напишет код, чтобы пройти их.
- Добавь тест на каждую найденную ошибку.
- 12Отладка с ИИИсправь ошибку с ИИ и объясни исправление.
- Сделай маленький пример, который показывает ошибку.
- Спроси у ИИ причины, а не только исправление.
- Объясни, почему исправление работает.
API для LLM
- 13Первый вызов APIОтправь запрос чата через API и прочитай ответ.
- Загрузи ключ API из окружения.
- Отправь запрос через SDK.
- Прочитай ответ и расход токенов.
- 14Системные и пользовательские сообщенияИспользуй системные и пользовательские сообщения.
- Положи правила в системное сообщение.
- Положи ввод пользователя в пользовательские сообщения.
- Храни историю разговора.
- 15Структурированный выводПолучи структурированный JSON, который совпадает со схемой.
- Опиши схему JSON.
- Запроси вывод, который ей следует.
- Проверь вывод и повтори при ошибке.
- 16Чат-ботСобери чат-бота с историей и лимитом трат.
- Храни историю разговора.
- Обрезай старые сообщения, чтобы влезть в контекст.
- Останавливайся, когда достигнут лимит трат.
Генерация с поиском
- 17Зачем поискОбъясни, почему поиск с опорой на источники уменьшает выдуманные ответы.
- Спроси модель о документе, которого она не видела.
- Добавь документ и спроси снова.
- Нарисуй конвейер: сначала поиск, потом генерация.
- 18ФрагментыРазбей документы на фрагменты.
- Режь по размеру с перекрытием.
- Режь по заголовкам.
- Сохраняй источник и страницу у каждого фрагмента.
- 19Векторный поискВекторным поиском найди фрагменты, ближайшие к вопросу.
- Посчитай эмбеддинги фрагментов и сохрани их.
- Достань лучшие совпадения для вопроса.
- Измерь, как часто находится нужный фрагмент.
- 20Вопросы по документамСобери приложение, которое отвечает по документам и указывает источники.
- Положи найденные фрагменты в промпт.
- Требуй ссылку на источник для каждого утверждения.
- Проверь, что ссылки ведут на настоящие места в тексте.
Инструменты ИИ и агенты
- 21Вызов инструментовДай модели вызвать инструмент-функцию.
- Опиши инструмент схемой.
- Запусти инструмент, который просит модель.
- Отправь результат обратно модели.
- 22ПланированиеСоставь план и разбей задачу на шаги, которые модель может выполнить.
- Сначала попроси у модели план.
- Выполняй план по одному шагу.
- Проверяй каждый шаг, прежде чем идти дальше.
- 23Состояние и памятьВеди состояние и память того, что агент уже сделал.
- Сохраняй каждый шаг и его результат.
- Сжимай длинные истории в краткий пересказ.
- Реши, что агенту пора забыть.
- 24Управляемый агентСобери агента с ограниченными инструментами и правилом остановки.
- Разреши только безопасные инструменты только для чтения.
- Ограничь число шагов.
- Спроси человека перед любым действием, которое что-то меняет.
Мультимодальный генеративный ИИ
- 25Генерация изображенийОбъясни, как диффузионные модели генерируют изображения.
- Объясни добавление и удаление шума.
- Объясни, как текст направляет изображение.
- Обсуди согласие и авторское право для сгенерированных изображений.
- 26Зрение и языкЗадавай модели вопросы об изображении: зрение и язык.
- Отправь изображение вместе с вопросом.
- Получи структурированное описание.
- Найди деталь, в которой модель ошибается.
- 27РечьПревращай речь в текст и текст в речь.
- Расшифруй короткую запись.
- Измерь долю ошибок в словах.
- Сгенерируй речь и пометь, что её сделал ИИ.
- 28Мультимодальный прототипСобери мультимодальный прототип с двумя видами ввода.
- Выбери два входа, например голос и изображение.
- Соедини их в одном приложении.
- Проверь его с пятью пользователями.
Надёжность и безопасность
- 29ГаллюцинацииНаходи галлюцинации: ответы, которые источники не подтверждают.
- Проверь каждое утверждение по источникам.
- Вторым вызовом модели отмечай неподтверждённые утверждения.
- Измерь, как часто ответы полностью подтверждены.
- 30Инъекция промптаЗащити приложение от инъекции промпта.
- Напиши атаки, спрятанные во вводе пользователя и в документах.
- Отдели доверенные инструкции от недоверенного текста.
- Ограничь, до каких инструментов может дотянуться атака.
- 31ОценкаОценивай ответы по критериям и наборам тестов.
- Напиши шкалу оценки.
- Оценивай вручную и с помощью модели.
- Проверь, как часто оценки совпадают.
- 32Набор тестовСобери автоматический набор тестов для приложения на LLM.
- Покрой точность, формат, безопасность и стоимость.
- Запускай его одной командой.
- Проваливай сборку, когда оценки падают.
Студия продукта на ИИ
- 33Спецификация продуктаОпиши пользователей, функции и меры успеха.
- Выбери набор одобренных исследовательских документов.
- Опиши пользователей и их вопросы.
- Задай цели по точности, ссылкам и стоимости.
- 34Сборка конвейераСобери конвейер: поиск, ответы и ссылки на источники.
- Проиндексируй документы.
- Отвечай со ссылками на источники.
- Запусти набор тестов.
- 35Сказать «я не знаю»Заставь приложение сказать «я не знаю», когда доказательств нет.
- Замечай, когда поиск не находит ничего полезного.
- Отвечай «В источниках этого нет» вместо догадки.
- Проверь вопросами, на которые документы не отвечают.
- 36Исследовательский помощник на ИИВыпусти и представь исследовательского помощника с опорой на источники.
- Разверни приложение для своего класса.
- Покажи оценки точности, опоры на источники, безопасности и стоимости.
- Объясни его пределы.