В агентских системах checkpoint нужен, чтобы не начинать процесс заново после сбоя, паузы или ожидания человека. Например, агент подготовил действие, остановился на approval, сохранил state, а после подтверждения продолжил с того же места.
В LangGraph и похожих graph-based фреймворках checkpoint помогает сохранять состояние между узлами: какой node уже выполнен, какие сообщения были в контексте, какие tool calls вернулись и куда граф должен перейти дальше. Это особенно важно для долгих сценариев и multi-step агентов.
Checkpoint отличается от обычной памяти. Память чаще хранит факты и контекст на будущее, а checkpoint хранит состояние конкретного выполнения: где остановились, что уже сделано, какие данные получены и что будет следующим шагом.
Хороший checkpoint должен быть безопасным и воспроизводимым: не хранить лишние секреты, иметь версию схемы, время создания, owner, ссылку на trace и понятный TTL. Если состояние устарело, агент должен переспросить данные, а не продолжать рискованное действие по старому снимку.
Примеры
- Агент дошел до шага "отправить письмо клиенту", сохранил checkpoint и ждет approval менеджера.
- LangGraph сохраняет state после каждого node, чтобы можно было продолжить выполнение после перезапуска сервера.
- Workflow в n8n завершился ошибкой на API-запросе, но checkpoint помогает понять, какие шаги уже выполнены.
- Агент для CRM сохранил найденного клиента, черновик задачи и pending tool call, но не выполнил запись без подтверждения.
- После сбоя модели система восстанавливает контекст из checkpoint и повторяет только последний безопасный шаг.
- Если checkpoint старше суток, агент не использует его для отправки сообщения и просит пользователя подтвердить актуальность данных.
Где используется
- продолжение долгого workflow после паузы
- ожидание human approval без потери контекста
- восстановление после сбоя сервера или API
- сохранение состояния graph-based агента
- отладка agent trace и последовательности действий
- rollback или повтор безопасного шага
- проверка промежуточных результатов перед tool call
- multi-step обработка документов, CRM и задач
- разделение памяти агента и состояния конкретного запуска
- контроль TTL и актуальности данных перед продолжением
Связанные термины
Частые вопросы
Checkpoint и память агента - это одно и то же?
Нет. Память хранит полезные факты и контекст на будущее. Checkpoint хранит состояние конкретного выполнения: где остановились, что уже сделано и какой шаг следующий.
Зачем checkpoint нужен при human approval?
Агент может подготовить действие, сохранить state и ждать подтверждения. После approval он продолжит с того же места, а не будет заново восстанавливать весь контекст по диалогу.
Что обычно хранится в checkpoint?
ID запуска, текущий шаг, сообщения, промежуточные данные, результаты tools, pending approval, ссылки на trace, время создания, версию схемы и служебный статус.
Можно ли хранить в checkpoint секреты и токены?
Лучше не хранить. В checkpoint не должны попадать API-ключи, пароли и лишние персональные данные. Секреты хранят отдельно в credentials или secret manager.
Когда checkpoint считается устаревшим?
Когда данные могли измениться: сделка обновилась, слот календаря занят, документ переписан, approval просрочен или TTL истек. В таких случаях агент должен перепроверить состояние.
Как checkpoint помогает отлаживать агента?
Он показывает, на каком шаге агент был, какие данные видел и почему пошел дальше. Вместе с trace это помогает найти ошибку в flow, prompt, tool call или guardrail.