agentops-canary
Skill1 starsChanged 3 months agoMITView on GitHub
Ставит канарейку контекста на длинную сессию: короткий байт-стабильный маркер в начале каждого ответа, по деградации которого видно, что агент теряет хватку за инструкции. Плюс протокол выхода — чекпоинт, пере-якорение, осознанный рестарт. Используй, когда пользователь говорит «длинная сессия», «поставь канарейку», «следи, чтобы ты не поплыл», «разбор инцидента надолго», «контекст скоро кончится», «ты начал забывать инструкции». Уместно в начале долгих SRE-сессий и больших рефакторингов, до того как деградация началась.
In this repository47 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agentops-brevitySkill
- agentops-compressSkill
- agentops-delegateSkill
- analysis-kitSkill
- bear-doctorSkill
- bear-helpSkill
- bear-new-skillSkill
- bear-statsSkill
- book-highlights-processorSkill
- code-grillSkill
- code-last-mileSkill
- code-review-lineSkill
- code-senior-reviewSkill
- content-article-draftSkill
- content-humanizerSkill
- content-tg-postSkill
- content-tutorial-structureSkill
- git-backlog-triageSkill
- git-conventional-commitSkill
- git-monorepo-releaseSkill
- git-pr-descriptionSkill
- git-release-tagSkill
- knowledge-structuresSkill
- note-templatesSkill
- obsidian-add-summarySkill
- obsidian-daily-appendSkill
- obsidian-emotion-logSkill
- obsidian-enrich-noteSkill
- obsidian-inbox-reviewSkill
- obsidian-ingestSkill
- obsidian-journal-reviewSkill
- obsidian-note-criticSkill
- obsidian-refactor-inboxSkill
- obsidian-refactor-lectureSkill
- obsidian-split-noteSkill
- obsidian-untangle-knotSkill
- sre-k8s-triageSkill
- srekit-postmortemSkill
- srekit-runbookSkill
- srekitSkill
- teach-ruSkill
- telegram-chat-digestSkill
- vault-archivingSkill
- vault-mermaidSkill
- vault-statsSkill
- vault-tasksSkill
The file
Files
<!-- СГЕНЕРИРОВАНО bin/mirror.js. Не редактировать: правки затрёт следующая генерация.
Источник правды — domains/<домен>/. -->agentops-canary — Канарейка контекста
Контекст не заканчивается резко. Он деградирует: агент начинает игнорировать часть инструкций, забывает договорённости из начала сессии, теряет формат вывода. Заметно это становится по плохому результату — то есть с задержкой, уже после того как работа испорчена.
Канарейка делает деградацию видимой раньше, чем она испортит работу.
Как это работает
В начале каждого ответа идёт одна строка фиксированного формата:
[🐤 <обращение> · ход <N> · <самопроверка>]<обращение>— как пользователь просил себя называть, байт-в-байт<N>— номер хода в сессии, монотонно растёт<самопроверка>— три символа состояния: помню ли контракт сессии, помню ли текущую задачу, помню ли ограничения.✓✓✓или, честно,✓✓?
Смысл в байт-стабильности. Пока хватка держится, строка воспроизводится точно. Когда внимание начинает плыть, канарейка ломается раньше содержательной части ответа: сбивается формат, теряется счётчик, обращение меняется на общее. Это дешёвый и ранний сигнал.
Самопроверка должна быть честной. ? в третьей позиции — полезная информация, а ✓✓✓ из вежливости обесценивает весь механизм.
Установка канарейки
Когда скилл вызван, спроси и зафиксируй:
- как обращаться к пользователю
- контракт сессии: что делаем, чего не делаем, что требует подтверждения
- где лежит чекпоинт-файл (по умолчанию
./.session-checkpoint.md)
Дальше отвечай с канарейкой в первой строке до конца сессии.
Признаки того, что канарейка сработала
- счётчик хода сбился или перестал расти
- обращение изменилось или исчезло
- формат строки поехал: другие разделители, пропавшие поля
- самопроверка ушла в
?по любой позиции - ты поймал себя на том, что переспрашиваешь про уже согласованное
Любой из признаков — повод объявить trip, а не продолжать.
Trip-протокол
Сработала — не «постарайся собраться». Внимание уже деградировало, и попытка компенсировать его усилием не работает.
1. Чекпоинт. Запиши в файл всё, что нужно для продолжения с нуля:
# Чекпоинт сессии <дата>
## Задача
<что делаем, одним абзацем>
## Сделано
<по пунктам, с путями к изменённым файлам>
## Не сделано
<по пунктам>
## Решения и договорённости
<что уже решено и не подлежит пересмотру>
## Следующий шаг
<конкретное действие>Пиши так, чтобы это прочитал агент, не видевший сессии. Ссылки на «как договорились выше» бесполезны — «выше» не будет.
2. Пере-якорение. Перечитай контракт сессии и текущее состояние файлов. Не по памяти — по файлам.
3. Осознанный рестарт. Скажи пользователю прямо: контекст деградировал, чекпоинт записан туда-то, дальше лучше начать новую сессию с него. Это не отказ от работы, это её сохранение.
Чего не делать
- Не прячь деградацию за уверенным тоном. Уверенный ответ из поплывшего контекста дороже честного «я потерял нить».
- Не ставь
✓там, где на самом деле?. - Не откладывай чекпоинт до момента, когда контекст кончится совсем: тогда его будет писать нечем.
- Не превращай канарейку в ритуал на коротких сессиях — три хода не деградируют, а строка стоит токенов в каждом ответе.
- Не переписывай чекпоинт-файл поверх, если в нём чекпоинт другой сессии: добавляй новый ниже.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

