Единица 11 / 11

Комплексное производство: проверка, мониторинг и этика

Прибыль:

  • Может спроектировать комплексную архитектуру, которая реализует функцию LLM от идеи до производства.
  • Устанавливает уровни обеспечения проверки, одобрения человеком и отслеживания (ведение журнала/метрики)
  • Границы воплощают принципы этики и конфиденциальности в производственные решения

В предыдущих десяти модулях мы изучили части одну за другой: структуру запроса, экономику токенов, поток, системное приглашение, выбор модели, кеш, пакетную обработку, управление ошибками, безопасный ключ и автоматизацию. В этом последнем блоке мы объединяем части и создаем целостную архитектуру, которая несет в себе функцию LLM от идеи до производства. Производство отличается от «рабочей демонстрации»: проверка обязательна, результат должен контролироваться, границы и этические принципы должны быть заложены в решения. Этот блок является несущей колонной модуля; Здесь собраны все предыдущие.

Уровни производственной архитектуры

Надежная квалификация LLM состоит примерно из пяти уровней:

  1. Входной слой: собирайте данные, очищайте их, маскируйте чувствительные области, передавайте только то, что необходимо.
  2. Уровень модели: выберите правильную модель (блок 5), установите системное приглашение и параметры (блок 4), кэш (блок 6).
  3. Уровень проверки: при необходимости проверьте выходные данные на соответствие схеме/правилу, источнику и одобрению человека.
  4. Уровень действий: выполнение действий с проверенными выходными данными; Запечатлейте важные действия.
  5. Уровень мониторинга: записывайте и измеряйте каждый вызов, стоимость, ошибку и качество.

Эти слои представляют собой конвейер; каждый проверяет вывод предыдущего.

Почему требуется верификация?

LLM могут давать плавные, но иногда неточные результаты. Это называется галлюцинацией: модель может сфабриковать информацию, которая кажется правдой, но на самом деле это не так. В чат-игре это терпимо; недопустимо в производственной системе (счета-фактуры, здравоохранение, юриспруденция, финансы). Вот и получилось, слепо ненадежно; подтверждается.

Уровни проверки (увеличиваются по мере воздействия):

  • Проверка формата/схемы: соответствуют ли выходные данные ожидаемой схеме JSON? (Структурированный вывод во многом гарантирует это.)
  • Проверка правил/логики: разумны ли значения? (Отрицательна ли сумма, находится ли дата в будущем, действительна ли категория?)
  • Проверка источника: основано ли заявление на предоставленной документации? Говорит ли модель что-то, чего нет в документе?
  • Человеческое одобрение: эксперт рассматривает важные или неоднозначные решения.
Внимание: «Модель настолько хороша, что дальнейшая проверка не требуется» — самая опасная производственная ошибка. Независимо от того, насколько хороша модель, уровень проверки является подстраховкой при принятии важных решений. Даже одно неверное автоматическое решение может отнять все сэкономленное время.

Человек в курсе

Не каждое решение должно быть полностью автоматическим. При подходе «человек в цикле» модель ускоряет работу, а человек ее одобряет. Правильный баланс зависит от влияния решения и надежности модели на эту задачу.

Влияние решения

Подход

Низкий (предложение ярлыка, черновик)

Полная автоматизация; ошибка дешева и обратима

Средний (маршрутизация, приоритезация)

Автоматизация + отбор проб

Высокий (деньги, контракт, здоровье, удаление)

Согласие человека является обязательным; модель лишь предполагает

Мониторинг: нельзя управлять тем, чего не видишь

В производстве вы должны отслеживать каждый звонок. Без мониторинга вы не сможете улучшить стоимость, качество или выявить проблему на ранней стадии. Ключевые показатели для записи:

  • Использование/стоимость: по запросу и общему количеству токенов, распределение по модели, ежедневные расходы.
  • Задержка: среднее и наихудшее время отклика.
  • Частота ошибок: 429/500, повторные попытки, отказы.
  • Качество: процент отклоненных выходных данных на уровне проверки, процент исправлений при одобрении человека, отзывы пользователей.
Совет: Не записывайте конфиденциальные данные (личную информацию, ключи) в журналы мониторинга. Рассматривать логи в рамках конфиденциальности; запись по маскированию при необходимости (раздел 9).

Этика и границы

Этическая ответственность является такой же частью производственного решения, как и техническая точность:

  • Прозрачность: пользователь должен знать, с кем он разговаривает: с искусственным интеллектом или с человеком.
  • Справедливость и предвзятость. Модель может нести предвзятость из данных, на которых она обучена; Мониторинг дискриминационных последствий при принятии важных решений (найм, кредит).
  • Ответственность: если автоматизированное решение причинит вред, вы несете ответственность; «Модель так сказала» — это не защита.
  • Принятие ограничений: модель не может надежно выполнять некоторые задачи; отказ от их автоматизации также является дизайнерским решением.

Копируемые шаблоны

# Контрольный список проверки (после генерации выходных данных) 1) Верна ли схема? (проверка структурированного вывода)2) Имеют ли значения смысл? (проверка правил: диапазон, дата, перечисление)3) Основано ли утверждение на источнике? (отклонить, если этого нет в документе) 4) Насколько велико влияние? → отправить на одобрение человека5) Если все пройдено → разрешить действие, сохранить

# Системное приглашение, которое заставляет полагаться на источник. Полагайтесь только на информацию в предоставленном документе. Не добавляйте ничего, чего нет в документе. Если информации нет в документе, напишите «Не найдено в документе». Никогда не гадайте и не придумывайте что-то.

# Порог одобрения человека (правило принятия решения)ЕСЛИ тип_решения в [деньги, контракт, удаление, здоровье] → обязательное одобрение человекомЕСЛИ модель_доверие < пороговое значение ИЛИ проверка «неопределенно» → отправить на одобрение человекаДРУГОЕ → автоматическое применение + контроль выборки

# Шаблон журнала трассировки (запись конфиденциальных данных) { "time":"...", "model":"...", "input_token":..., "output_token":..., "delay_ms":..., "stop_reason": "...", "authentication":"passed|rejected|human", "cost_usd":... } // персональные данные и ключ НИКОГДА не записываются

Слабая подсказка/Сильная подсказка (надежность производства)

# WEAK (нет проверки, нет источника, применяется автоматически). Рассмотрите этот запрос, примите решение о возврате средств и подайте заявку.

# СИЛЬНЫЙ (на основе источника, генерирует рекомендации, оставляется на одобрение человека) Оценивайте этот запрос на возврат только на основе документа о политике возврата. Рекомендовать решение с обоснованием, но не реализовывать: {"рекомендация":"одобрить|отклонить","причина":"...","policy_clause":"..."}. Если в политическом документе нет четкой основы, укажите «неясно». Представитель одобрит окончательное решение.

Мощная версия; Он приписывает решение источнику, позиционирует модель как «предлагающую», а не как «действующую», и ставит важный шаг за одобрение человека. В этом суть надежности производства.

Три мини-кейса

Случай 1 — день сохранения слоя проверки. Финтех-компания использовала модель, которая классифицировала описания транзакций и создавала автоматические учетные записи. Добавили проверку правил: как только модель неправильно выводила сумму (12 500 вместо 1 250 в документе), правило «сумма не соответствует документу» отклоняло вывод и запись доставалась человеку. Если бы не было проверки, неверная запись молча вошла бы в систему.

Случай 2 — Беглец пойман слежкой. Команда SaaS создала панель мониторинга; Однажды утром дневная стоимость утроилась. Из журналов было видно, что клиент вошел в цикл и отправил один и тот же запрос тысячи раз. Они добавили квоту и дедупликацию; Проблема была решена в течение нескольких часов. Без отслеживания счет станет сюрпризом в конце месяца.

Случай 3 — Принятие лимита. Стартап в сфере здравоохранения планировал полностью автоматически давать рекомендации по диагнозу и показывать их пациенту. В ходе обзора этики и ответственности они решили, что это запрещено: модель предоставляет врачу только сводку и возможные баллы, врач ставит диагноз. Отказ от автоматизации работы также является зрелым дизайнерским решением.

Распространенные ошибки

  • Пропуск проверки: слепое применение результатов со словами «модель хорошая».
  • Автоматизация высокоэффективных решений: одобрение человека важно в вопросах денег/здоровья/закона.
  • Отсутствие мониторинга: проблемы с ценами и качеством обнаруживаются поздно.
  • Запись конфиденциальных данных в журналы: нарушение конфиденциальности; Сохраните его, замаскировав.
  • Не пытайтесь полагаться на источник: модель может содержать то, чего нет в документе.
  • Игнорирование ограничений. Не автоматизировать некоторые задачи — правильное решение; Прозрачность и ответственность – ваши.

Глубже: управление релизами, откат и поэтапное развертывание

Внедрение функции LLM в производство — это не значит настроить ее и забыть о ней; заключается в безопасном изменении работающей системы с течением времени. Он имеет три столпа.

Версионирование. Подсказка вашей системы, правила выбора модели и проверки со временем меняются. Версия каждого существенного изменения и записывайте, какая версия актуальна. Если однажды качество упадет, «что мы изменили?» Вы сможете ответить на вопрос в течение нескольких минут. В системе без версий поиск основной причины регрессии занимает несколько дней.

Откат. Если новая подсказка или модель в реальном времени ведет себя хуже, чем ожидалось, вы сможете быстро вернуться к предыдущей, хорошо известной версии. Изменение без плана отката — это слепое принятие реального риска. «Я что-то поменял, стало плохо, я не могу вернуться» — самый дорогой производственный сценарий.

Постепенное внедрение. Вместо того, чтобы применять изменение ко всему трафику сразу, вы сначала распространяете его на небольшой процент (например, 5%) и отслеживаете показатели (качество, стоимость, ошибки). Если все хорошо, вы увеличиваете процент; Если все плохо, вы получите его обратно, затронув лишь небольшой участок. Это существенно ограничивает риск.

Эти три практики сочетают в себе методы всех предыдущих модулей: оценка (блок 5) измеряет изменения заранее, мониторинг (этот модуль) дает раннее предупреждение во время распространения, уровень проверки улавливает ошибочные выходные данные до того, как они станут применимыми. Производство – это не одна правильная установка; Это непрерывная дисциплина, которая измеряет, контролирует и может уверенно меняться. Весь модуль предназначен для того, чтобы вы установили эту дисциплину.

В заключение

Производство — это больше, чем рабочая демонстрация: это конвейер входных данных, моделей, уровней проверки, действий и мониторинга. Выходные данные ненадежны без проверки; высокоэффективные решения привязаны к одобрению людей; Каждый звонок контролируется на предмет стоимости, ошибок и качества. Этика, прозрачность, контроль предвзятости, подотчетность и принятие ограничений являются неотъемлемой частью технических решений. Каждая часть, изученная в этом модуле, объединяется в этот целостный дизайн.

Задача приложения

Комплексно спроектируйте функцию LLM. (1) Заполните пять уровней (ввод, модель, проверка, действие, мониторинг) для вашей конкретной задачи. (2) Отметьте по степени воздействия, какие решения потребуют одобрения человека. (3) Напишите как минимум три проверки достоверности (схема, правило, источник). (4) Определите ключевые показатели, которые вы будете отслеживать, а какие не будете фиксировать. (5) Напишите в этой функции ограничение и этический принцип, который вы принимаете.

контрольный список

  • [ ] Я могу спроектировать пять уровней производственного конвейера.
  • [ ] Я могу проверить выходные данные на соответствие схеме, правилу и источнику.
  • [ ] Я могу установить порог человеческого одобрения в зависимости от последствий решения.
  • [ ] Я отслеживаю стоимость, ошибки и качество и стараюсь не записывать конфиденциальные данные в журналы.
  • [ ] Я могу трансформировать этику, ответственность и границы в производственные решения.

Модульный экзамен

1. Что делает роль «система» в API чата LLM?

  • А) Дает модели постоянные инструкции и правила поведения, действующие на протяжении всего разговора ✔
  • Б) Сохраняет последний вопрос, написанный пользователем
  • C) Сохраняет ответ, полученный моделью.
  • D) Шифрует ключ API

Описание: Системная роль дает модели постоянные инструкции, индивидуальность и правила, которые применяются на протяжении всего разговора; Это перенаправление высокого уровня, отдельное от сообщений пользователя.

2. Почему история разговоров (предыдущие сообщения) каждый раз отправляется заново в запросе API?

  • А) Необходимо сделать бэкап, так как сервер удаляет историю
  • Б) вызовы API не сохраняют состояние; ✔ Контекст повторно отправляется при каждом запросе, поскольку модель не запоминает историю.
  • C) Требуется только для выставления счетов, не влияет на модель.
  • Г) История отправки обязательна, чтобы не замедлять ответ.

Объяснение: вызовы API LLM не сохраняют состояние; Модель не запоминает предыдущие раунды, поэтому вся соответствующая история повторно отправляется при каждом запросе для сохранения контекста.

3. Что такое «токен» в ценообразовании LLM?

  • А) Одноразовый пароль, используемый для входа в API
  • Б) Фиксированная плата, выплачиваемая за каждый запрос.
  • В) Наименьший блок, в котором модель обрабатывает текст; обычно соответствует части слова ✔
  • Г) Единица, измеряющая только длину продукции.

Описание: Токен — это наименьшая единица, в которой модель обрабатывает текст; Обычно он соответствует фрагменту слова, и плата за ввод и вывод взимается в зависимости от количества токенов.

4. Почему у большинства поставщиков LLM выходные токены дороже, чем входные токены?

  • А) Выходные токены всегда длиннее входных
  • Б) Входные токены бесплатны.
  • C) Выходные токены отправляются дважды через Интернет.
  • D) Стоимость единицы продукции выше, поскольку создание выходных данных требует дополнительных расчетов для каждого токена ✔

Описание: Каждый из выходных токенов требует, чтобы модель выполняла пошаговую генерацию (вычисление); Эти производственные затраты выше, чем стоимость одновременной обработки всех входных данных, поэтому цена за единицу продукции обычно выше.

5. В какой ситуации использование стриминга наиболее выгодно?

  • А) В длинных ответах; Уменьшает воспринимаемую задержку и предотвращает тайм-аут ✔
  • Б) Только в очень коротких, односложных ответах
  • В) Свести затраты к нулю
  • D) Чтобы скрыть ключ API

Описание. В длинных ответах потоковая передача уменьшает воспринимаемую задержку, заставляя первые слова появляться немедленно, и предотвращает тайм-ауты HTTP при больших значениях max_tokens.

6. На что вообще влияет увеличение параметра «усилие» в современных моделях?

  • А) Всегда сокращайте ответ
  • Б) Автоматически меняет ключ API
  • C) Это только снижает цену входного токена.
  • D) Увеличивает глубину мышления и трату жетонов; Это может улучшить качество, но также увеличивает задержку и стоимость ✔

Описание: Параметр усилий регулирует, насколько глубоко модель будет думать о задаче и сколько токенов она потратит; Обновление может улучшить качество, но оно также увеличивает задержку и стоимость. Для простых задач достаточно небольших усилий.

7. Какой в ​​целом наиболее экономичный подход к простой задаче классификации большого объема?

  • А) Всегда используйте самую дорогую и самую мощную модель.
  • Б) Вызов всех моделей одновременно по каждому запросу
  • В) Выбор самой легкой/дешевой модели, которая справляется с поставленной задачей, путем ее небольшой проверки ✔
  • D) сохранение слишком высокого значения max_tokens

Пояснение: Если задача несложная, выбор более быстрой и дешевой модели, которая легко выполняет задачу (например, класса Haiku), вместо использования самой дорогой и мощной модели, значительно снизит стоимость.

8. В каком сценарии кэширование запросов снижает затраты больше всего?

  • А) Когда большой и фиксированный контекст используется повторно во многих запросах ✔
  • Б) Когда с каждым запросом отправляется совершенно другой текст
  • В) Когда делается только один запрос
  • D) Уменьшить выпуск токенов

Описание. Кэширование — это совпадение префиксов; В тех случаях, когда большой неизменяемый контекст (системное приглашение, документы) повторно используется во многих запросах, чтение из кеша составляет небольшую часть (~ 0,1x) полной стоимости.

9. Как мне отредактировать подсказку, чтобы попадал в кеш подсказок?

  • А) Размещение переменного содержимого в начале и фиксированного содержимого в конце.
  • Б) Встроить текущую дату и время в системное приглашение для каждого запроса.
  • В) Размещение фиксированного контента (системное приглашение, документы) в начале и переменного контента в конце ✔
  • Г) Изменение порядка списка инструментов при каждом запросе

Объяснение: поскольку кэш соответствует префиксу, инициализируется фиксированное/неизменное содержимое (системное приглашение, документы); содержимое переменной (дата, вопрос пользователя, идентификатор запроса) помещается в конце. Даже изменение одного байта в начале сделает кэш недействительным.

10. Для какого типа рабочей нагрузки лучше всего подходит пакетная обработка?

  • А) Живой чат, где пользователь ожидает мгновенного ответа на экране
  • Б) Всего один короткий вопрос
  • В) Генерация ключа API
  • D) Работы, допускающие задержки, большие объемы и не требующие немедленных результатов ✔

Описание: Пакетная обработка подходит для больших объемов заданий, не требующих немедленного ответа и терпимых к задержкам; результаты достигаются через некоторое время, но стоимость единицы продукции обычно ниже.

11. Что используется для уверенного сопоставления запроса, которому принадлежат результаты в пакете?

  • А) Порядок отправки (позиция) запросов
  • Б) Длина ответов
  • В) Последние 4 цифры API-ключа.
  • D) Уникальный custom_id, присваиваемый каждому запросу ✔

Примечание. Массовые результаты могут быть возвращены в порядке, отличном от порядка отправки; поэтому необходимо сопоставлять результаты по идентификатору, а не по местоположению, с уникальным идентификатором custom_id, присвоенным каждому запросу.

12. Каково рекомендуемое поведение при получении ошибки 429 (ограничение скорости) от API?

  • А) Форсирование путем одновременной отправки большего количества запросов
  • Б) Повторная попытка с экспоненциальной задержкой после повторной попытки после заголовка ✔
  • В) Полностью отменить запрос и показать пользователю ошибку как сбой.
  • Г) Изменение ключа API

Объяснение: 429 — это ошибка, которую можно повторить; Правильный подход — повторить попытку с экспоненциальной задержкой, учитывая заголовок retry-after. Большинство официальных SDK делают это автоматически.

13. Какие из следующих кодов ошибок HTTP обычно считаются повторными?

  • А) 400 (неверный запрос)
  • Б) 401 (ошибка аутентификации)
  • В) 529 (сервер перегружен) ✔
  • Г) 404 (не найден)

Объяснение: 429 (ограничение скорости), 500 (ошибка сервера) и 529 (перегрузка) являются временными ошибками, и их можно повторить, откатившись. Ошибки, подобные 400 и 401, связаны с проблемами запроса/идентификации; Повторная попытка не решит проблему.

14. Что из перечисленного является безопасным способом управления ключами API?

  • А) Хранение в переменной окружения/скрытом менеджере, не встраивание его в код и регулярная ротация ✔
  • Б) Запишите ключ прямо в исходный код и отправьте его в репозиторий.
  • В) Размещение ключа в клиентском (браузерном) JavaScript
  • D) Распространение единого ключа всей командой по электронной почте.

Описание. Ключи никогда не записываются в исходный код или репозиторий; Он хранится в переменной среды или в скрытом инструменте управления, ему предоставляются минимальные привилегии и он регулярно меняется.

15. Каков наилучший подход к интеграции LLM с инструментом автоматизации (n8n, Zapier, Make) с точки зрения конфиденциальности?

  • А) Отправка всех необработанных данных в модель, даже если в этом нет необходимости
  • Б) Запись ключа API в виде обычного текста внутри шага потока.
  • В) Минимизация и маскирование конфиденциальных данных и хранение ключа в качестве секретных учетных данных ✔
  • Г) Постоянное хранение персональных данных в истории потоков.

Описание. Поскольку автоматизация ввода данных проходит через сторонние системы и модели, конфиденциальные/персональные данные необходимо минимизировать, замаскировать и отправлять только обязательные поля; Ключ API также хранится в инструменте как секретные учетные данные.

16. Почему проверка результатов обязательна для производственной функции на основе LLM?

  • А) Требуется только форматирование, поскольку модель никогда не допускает ошибок
  • Б) Потому что модель может работать плавно, но иногда неправильно; Схема/правило должны быть проверены с одобрением ресурсов и людей ✔
  • В) Валидации следует избегать, поскольку она только увеличивает затраты.
  • Г) Верификация предназначена только для уменьшения количества токенов

Описание: LLM могут производить беглый, но иногда неточный (галлюцинаторный) вывод; так это вылилось в важные решения; Его следует проверять путем проверки схемы/правил, проверки источника и, при необходимости, одобрения человека.