Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Навыки

Навык — это имя, однострочное описание и тело-инструкция, всё в SQLite. Список name: description висит в системном промпте (дёшево и кэшируется); когда задача совпала, модель зовёт skill и получает полное тело — progressive disclosure, отдельный роутер не нужен. Если у навыка задана model, тело исполняется этой моделью изолированно (без истории чата, как code_task) и назад едет результат; иначе инструкции следует основная модель со всем контекстом и инструментами. Заводить и править навыки может только Господин (skill_create / skill_edit / skill_delete) — я учусь на ходу, без редеплоя.

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

У самого списка тоже есть потолок — доля окна модели (2%, но не больше 16000 символов) на ВСЕ каталожные блоки разом, а не «сколько навыков завели, столько и платим». Доля нужна, чтобы список ужимался у маленькой модели; потолок — чтобы у миллионника он не разросся до десятков тысяч символов, оплачиваемых каждым запросом. Пока всё влезает, список едет целиком; стало тесно — описания ужимаются по кругу, по символу с каждого, чтобы многословный навык не выедал бюджет соседей; не влезают даже имена — хвост списка выбрасывается, и об этом говорит warning в логе. Имя держится до последнего: навык, о котором модель не знает, для неё не существует. Тот же распределитель держит списки наборов и реестр скрытых инструментов.