Checkpoint (чекпоинт) - сохранённый снимок состояния, который позволяет вернуться к известной точке, а не начинать работу заново. Представьте заполнение длинной анкеты: если прогресс сохранён после третьего раздела, после сбоя можно продолжить оттуда. В AI термин встречается в двух разных ситуациях: при выполнении задачи агентом и при обучении модели.
У агента checkpoint хранит состояние конкретного процесса: какие сообщения уже получены, что найдено в документах, какой шаг выполнен и чего система ждёт. Например, помощник подготовил письмо по заявке 42 и остановился перед отправкой. Контрольная точка сохраняет черновик и статус «ждём подтверждения». После подтверждения система может продолжить работу, если её программа поддерживает такое восстановление.
У модели checkpoint означает сохранённые параметры на определённом этапе обучения. Для продолжения обучения могут дополнительно сохранять состояние оптимизатора и номер этапа. Для получения ответов нужны подходящие веса, архитектура и настройки. Такой файл не является сохранённой беседой с пользователем. Название checkpoint само по себе не говорит ни о качестве модели, ни о размере её памяти.
Контрольные точки полезны при долгих задачах и паузах на согласование: повторная обработка всего входа тратит время и может дать другой результат. Например, после чтения пяти документов система сохраняет найденные факты и текущий этап. Если генерация черновика завершилась ошибкой, восстановление может начать с сохранённых фактов, а не снова читать документы. Какие шаги действительно повторятся, определяет программа: произвольную ошибку checkpoint автоматически не исправляет.
В LangGraph компонент checkpointer сохраняет состояние графа в рамках одной цепочки взаимодействий. Он может обеспечивать краткосрочную память диалога. Но долговременные сведения о пользователе между разными цепочками - другая задача, для которой используют отдельное хранилище. Поэтому неверно всегда противопоставлять checkpoint любой памяти: это способ сохранять определённое состояние, а не универсальная замена всех видов памяти.
Checkpoint отличается от журнала действий: журнал объясняет, что произошло, но не обязательно содержит всё для продолжения. Он отличается и от резервной копии: backup восстанавливает данные системы в более широком смысле. Сохранённое состояние не отменяет уже выполненное внешнее действие. Если письмо ушло до сбоя, восстановление checkpoint не заберёт его у получателя и при неосторожном повторе может отправить второе.
Важна также долговечность хранения. Контрольная точка, сохранённая только в RAM, исчезнет после завершения процесса; для восстановления после перезапуска нужен подходящий постоянный backend. Перед продолжением проверяют актуальность данных и уже выполненные действия: статус заявки мог измениться, а подтверждение - устареть. Не храните в снимках лишние персональные данные и секреты. Старые точки удаляют по правилам хранения, а защиту от повторных действий проектируют отдельно.
Примеры
- Помощник сохранил черновик письма и статус «ждём подтверждения», чтобы продолжить после решения менеджера.
- Обучение модели остановили после этапа и сохранили веса вместе с состоянием оптимизатора для продолжения.
- В LangGraph сохранённое состояние потока помогает продолжить диалог; постоянный backend нужен для переживания перезапуска.
Где используется
- продолжение задачи после паузы
- восстановление состояния процесса после сбоя
- согласование действия человеком
- сохранение и продолжение обучения модели
- проверка промежуточного состояния
Связанные термины
Частые вопросы
Что такое чекпоинт простыми словами?
Это сохранённая точка состояния: система знает, до чего дошла и что было известно в этот момент. Это похоже на сохранение прогресса, но возможность восстановления зависит от программы и места хранения.
Checkpoint агента и checkpoint модели - одно и то же?
Нет. У агента это состояние задачи или диалога. У модели - сохранённые параметры, а для продолжения обучения иногда и дополнительное состояние обучения. Файл весов не является историей переписки.
Checkpoint - это память агента?
Он может быть механизмом краткосрочной памяти. Например, checkpointer LangGraph сохраняет состояние одного потока. Для долговременных сведений между разными потоками используют отдельное хранилище.
Контрольная точка переживёт перезапуск?
Только если состояние записано в подходящее постоянное хранилище. Если оно было лишь в RAM процесса, после завершения процесса сохранённые точки пропадут.
Checkpoint отменяет отправку письма или платёж?
Нет. Восстановление состояния не откатывает внешние действия. Перед повтором нужно проверить, не выполнено ли действие, и использовать отдельную защиту от дублирования.