Все уроки

Курс

ИИ 11 класса: генеративный ИИ и инженерия агентов

Собирай приложения на LLM с промптами, API, поиском и инструментами, потом проверяй их на безопасность.

Иди по урокам по порядку. В конце ты умеешь считать токены, сравнивать тексты по похожести эмбеддингов и объяснять выборку и окна контекста. Ты пишешь структурированные промпты и сравниваешь версии промпта на тестах. Ты находишь ошибки и риски в коде, написанном ИИ, и пишешь тесты, которые он должен пройти. Ты получаешь структурированный JSON, который совпадает со схемой, собираешь чат-бота с лимитом трат и приложение, которое отвечает по документам и указывает источники. Ты собираешь агента с ограниченными инструментами и правилом остановки, защищаешь приложение от инъекции промпта, собираешь автоматический набор тестов и выпускаешь помощника с опорой на источники.

Как пользоваться этими уроками

  • Начни с урока, где стоит Сделай это. Строку под названием сделай сам, потом иди дальше.
  • Сначала Игры. Потом Проверка. 8 из 10 верно для зачёта. Листы на бумаге. Ответы внизу.
  • Каждый урок опирается на предыдущий. Для каждого приложения держи набор тестов и запускай его после каждого изменения.
  • Уроки с кодом используют Python. Пользуйся только сервисами ИИ, которые одобрил учитель, не клади ключи API в код, поставь лимит трат и никогда не отправляй личные данные в модель.

В каждом уроке есть игры, проверка и листы.

0 из 36

Основы LLM

  1. 1Токены и словарьСчитай токены и объясни, почему они важны.
    • Разбей текст на токены настоящим токенизатором.
    • Сравни число токенов в разных языках.
    • Свяжи токены со стоимостью и лимитом контекста.
  2. 2ЭмбеддингиСравнивай тексты по похожести эмбеддингов.
    • Получи эмбеддинги от модели.
    • Посчитай косинусную похожесть.
    • Ранжируй предложения по смыслу, а не по общим словам.
  3. 3Как LLM генерируетОбъясни, как LLM генерирует: выборка, температура и окна контекста.
    • Объясни предсказание следующего токена.
    • Меняй температуру и сравнивай ответы.
    • Покажи, что бывает, когда текст выходит за окно контекста.
  4. 4Предобучение и настройкаОтличай предобучение, тонкую настройку и настройку на инструкции.
    • Скажи, какие данные использует каждый шаг.
    • Объясни обратную связь от людей.
    • Скажи, почему у модели есть граница знаний.

Инженерия промптов

  1. 5Структурированные промптыНапиши структурированный промпт с ролью, задачей, правилами и форматом.
    • Отдели инструкции от входных данных.
    • Задай формат ответа.
    • Сравни структурированный и неструктурированный промпт.
  2. 6Несколько примеровУлучши ответ несколькими примерами.
    • Добавь два или три примера.
    • Выбери примеры, которые покрывают крайние случаи.
    • Измерь изменение на наборе тестов.
  3. 7ОграниченияОграничь длину, тон и формат.
    • Задай лимит длины и уровня чтения.
    • Скажи модели, что делать, если она не знает.
    • Проверь ответы по каждому ограничению.
  4. 8Тесты промптовНапиши тесты и сравни версии промпта.
    • Напиши двадцать тестовых входов с ожидаемыми результатами.
    • Оцени две версии промпта.
    • Оставь версию, которая победила.

Программирование с помощью ИИ

  1. 9Генерация кодаСгенерируй рабочий код по ясной спецификации.
    • Напиши спецификацию: входы, выходы и примеры.
    • Сгенерируй по ней код.
    • Запусти его на примерах.
  2. 10Проверка кода ИИНайди ошибки и риски в коде, написанном ИИ.
    • Проверь крайние случаи и обработку ошибок.
    • Заметь выдуманные функции и библиотеки.
    • Заметь небезопасный код, например секреты в исходнике.
  3. 11Сначала тестыНапиши тесты, которые код ИИ должен пройти.
    • Напиши тесты на pytest.
    • Пусть ИИ напишет код, чтобы пройти их.
    • Добавь тест на каждую найденную ошибку.
  4. 12Отладка с ИИИсправь ошибку с ИИ и объясни исправление.
    • Сделай маленький пример, который показывает ошибку.
    • Спроси у ИИ причины, а не только исправление.
    • Объясни, почему исправление работает.

API для LLM

  1. 13Первый вызов APIОтправь запрос чата через API и прочитай ответ.
    • Загрузи ключ API из окружения.
    • Отправь запрос через SDK.
    • Прочитай ответ и расход токенов.
  2. 14Системные и пользовательские сообщенияИспользуй системные и пользовательские сообщения.
    • Положи правила в системное сообщение.
    • Положи ввод пользователя в пользовательские сообщения.
    • Храни историю разговора.
  3. 15Структурированный выводПолучи структурированный JSON, который совпадает со схемой.
    • Опиши схему JSON.
    • Запроси вывод, который ей следует.
    • Проверь вывод и повтори при ошибке.
  4. 16Чат-ботСобери чат-бота с историей и лимитом трат.
    • Храни историю разговора.
    • Обрезай старые сообщения, чтобы влезть в контекст.
    • Останавливайся, когда достигнут лимит трат.

Генерация с поиском

  1. 17Зачем поискОбъясни, почему поиск с опорой на источники уменьшает выдуманные ответы.
    • Спроси модель о документе, которого она не видела.
    • Добавь документ и спроси снова.
    • Нарисуй конвейер: сначала поиск, потом генерация.
  2. 18ФрагментыРазбей документы на фрагменты.
    • Режь по размеру с перекрытием.
    • Режь по заголовкам.
    • Сохраняй источник и страницу у каждого фрагмента.
  3. 19Векторный поискВекторным поиском найди фрагменты, ближайшие к вопросу.
    • Посчитай эмбеддинги фрагментов и сохрани их.
    • Достань лучшие совпадения для вопроса.
    • Измерь, как часто находится нужный фрагмент.
  4. 20Вопросы по документамСобери приложение, которое отвечает по документам и указывает источники.
    • Положи найденные фрагменты в промпт.
    • Требуй ссылку на источник для каждого утверждения.
    • Проверь, что ссылки ведут на настоящие места в тексте.

Инструменты ИИ и агенты

  1. 21Вызов инструментовДай модели вызвать инструмент-функцию.
    • Опиши инструмент схемой.
    • Запусти инструмент, который просит модель.
    • Отправь результат обратно модели.
  2. 22ПланированиеСоставь план и разбей задачу на шаги, которые модель может выполнить.
    • Сначала попроси у модели план.
    • Выполняй план по одному шагу.
    • Проверяй каждый шаг, прежде чем идти дальше.
  3. 23Состояние и памятьВеди состояние и память того, что агент уже сделал.
    • Сохраняй каждый шаг и его результат.
    • Сжимай длинные истории в краткий пересказ.
    • Реши, что агенту пора забыть.
  4. 24Управляемый агентСобери агента с ограниченными инструментами и правилом остановки.
    • Разреши только безопасные инструменты только для чтения.
    • Ограничь число шагов.
    • Спроси человека перед любым действием, которое что-то меняет.

Мультимодальный генеративный ИИ

  1. 25Генерация изображенийОбъясни, как диффузионные модели генерируют изображения.
    • Объясни добавление и удаление шума.
    • Объясни, как текст направляет изображение.
    • Обсуди согласие и авторское право для сгенерированных изображений.
  2. 26Зрение и языкЗадавай модели вопросы об изображении: зрение и язык.
    • Отправь изображение вместе с вопросом.
    • Получи структурированное описание.
    • Найди деталь, в которой модель ошибается.
  3. 27РечьПревращай речь в текст и текст в речь.
    • Расшифруй короткую запись.
    • Измерь долю ошибок в словах.
    • Сгенерируй речь и пометь, что её сделал ИИ.
  4. 28Мультимодальный прототипСобери мультимодальный прототип с двумя видами ввода.
    • Выбери два входа, например голос и изображение.
    • Соедини их в одном приложении.
    • Проверь его с пятью пользователями.

Надёжность и безопасность

  1. 29ГаллюцинацииНаходи галлюцинации: ответы, которые источники не подтверждают.
    • Проверь каждое утверждение по источникам.
    • Вторым вызовом модели отмечай неподтверждённые утверждения.
    • Измерь, как часто ответы полностью подтверждены.
  2. 30Инъекция промптаЗащити приложение от инъекции промпта.
    • Напиши атаки, спрятанные во вводе пользователя и в документах.
    • Отдели доверенные инструкции от недоверенного текста.
    • Ограничь, до каких инструментов может дотянуться атака.
  3. 31ОценкаОценивай ответы по критериям и наборам тестов.
    • Напиши шкалу оценки.
    • Оценивай вручную и с помощью модели.
    • Проверь, как часто оценки совпадают.
  4. 32Набор тестовСобери автоматический набор тестов для приложения на LLM.
    • Покрой точность, формат, безопасность и стоимость.
    • Запускай его одной командой.
    • Проваливай сборку, когда оценки падают.

Студия продукта на ИИ

  1. 33Спецификация продуктаОпиши пользователей, функции и меры успеха.
    • Выбери набор одобренных исследовательских документов.
    • Опиши пользователей и их вопросы.
    • Задай цели по точности, ссылкам и стоимости.
  2. 34Сборка конвейераСобери конвейер: поиск, ответы и ссылки на источники.
    • Проиндексируй документы.
    • Отвечай со ссылками на источники.
    • Запусти набор тестов.
  3. 35Сказать «я не знаю»Заставь приложение сказать «я не знаю», когда доказательств нет.
    • Замечай, когда поиск не находит ничего полезного.
    • Отвечай «В источниках этого нет» вместо догадки.
    • Проверь вопросами, на которые документы не отвечают.
  4. 36Исследовательский помощник на ИИВыпусти и представь исследовательского помощника с опорой на источники.
    • Разверни приложение для своего класса.
    • Покажи оценки точности, опоры на источники, безопасности и стоимости.
    • Объясни его пределы.