# Agentops Canary

> Ставит канарейку контекста на длинную сессию: короткий байт-стабильный маркер в начале каждого ответа, по деградации которого видно, что агент теряет хватку за инструкции. Плюс протокол выхода — чекпоинт, пере-якорение, осознанный рестарт. Используй, когда пользователь говорит «длинная сессия», «поставь канарейку», «следи, чтобы ты не поплыл», «разбор инцидента надолго», «контекст скоро кончится», «ты начал забывать инструкции». Уместно в начале долгих SRE-сессий и больших рефакторингов, до того как деградация началась.

- Skill: `jtprogru/agentops-canary` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add jtprogru/agentops-canary`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jtprogru/agentops-canary/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jtprogru (https://skillmd.com/u/jtprogru)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jtprogru/agentops-canary

---


<!-- СГЕНЕРИРОВАНО bin/mirror.js. Не редактировать: правки затрёт следующая генерация.
     Источник правды — domains/<домен>/. -->

# agentops-canary — Канарейка контекста

Контекст не заканчивается резко. Он деградирует: агент начинает игнорировать часть инструкций, забывает договорённости из начала сессии, теряет формат вывода. Заметно это становится по плохому результату — то есть с задержкой, уже после того как работа испорчена.

Канарейка делает деградацию видимой раньше, чем она испортит работу.

## Как это работает

В начале **каждого** ответа идёт одна строка фиксированного формата:

```
[🐤 <обращение> · ход <N> · <самопроверка>]
```

- `<обращение>` — как пользователь просил себя называть, байт-в-байт
- `<N>` — номер хода в сессии, монотонно растёт
- `<самопроверка>` — три символа состояния: помню ли контракт сессии, помню ли текущую задачу, помню ли ограничения. `✓✓✓` или, честно, `✓✓?`

Смысл в байт-стабильности. Пока хватка держится, строка воспроизводится точно. Когда внимание начинает плыть, канарейка ломается раньше содержательной части ответа: сбивается формат, теряется счётчик, обращение меняется на общее. Это дешёвый и ранний сигнал.

Самопроверка должна быть честной. `?` в третьей позиции — полезная информация, а `✓✓✓` из вежливости обесценивает весь механизм.

## Установка канарейки

Когда скилл вызван, спроси и зафиксируй:

1. как обращаться к пользователю
2. контракт сессии: что делаем, чего не делаем, что требует подтверждения
3. где лежит чекпоинт-файл (по умолчанию `./.session-checkpoint.md`)

Дальше отвечай с канарейкой в первой строке до конца сессии.

## Признаки того, что канарейка сработала

- счётчик хода сбился или перестал расти
- обращение изменилось или исчезло
- формат строки поехал: другие разделители, пропавшие поля
- самопроверка ушла в `?` по любой позиции
- ты поймал себя на том, что переспрашиваешь про уже согласованное

Любой из признаков — повод объявить trip, а не продолжать.

## Trip-протокол

Сработала — не «постарайся собраться». Внимание уже деградировало, и попытка компенсировать его усилием не работает.

**1. Чекпоинт.** Запиши в файл всё, что нужно для продолжения с нуля:

```markdown
# Чекпоинт сессии <дата>

## Задача
<что делаем, одним абзацем>

## Сделано
<по пунктам, с путями к изменённым файлам>

## Не сделано
<по пунктам>

## Решения и договорённости
<что уже решено и не подлежит пересмотру>

## Следующий шаг
<конкретное действие>
```

Пиши так, чтобы это прочитал агент, не видевший сессии. Ссылки на «как договорились выше» бесполезны — «выше» не будет.

**2. Пере-якорение.** Перечитай контракт сессии и текущее состояние файлов. Не по памяти — по файлам.

**3. Осознанный рестарт.** Скажи пользователю прямо: контекст деградировал, чекпоинт записан туда-то, дальше лучше начать новую сессию с него. Это не отказ от работы, это её сохранение.

## Чего не делать

- Не прячь деградацию за уверенным тоном. Уверенный ответ из поплывшего контекста дороже честного «я потерял нить».
- Не ставь `✓` там, где на самом деле `?`.
- Не откладывай чекпоинт до момента, когда контекст кончится совсем: тогда его будет писать нечем.
- Не превращай канарейку в ритуал на коротких сессиях — три хода не деградируют, а строка стоит токенов в каждом ответе.
- Не переписывай чекпоинт-файл поверх, если в нём чекпоинт другой сессии: добавляй новый ниже.

