Про то, как работают скиллы в разных агентах
Я вот в прошлом посте вспомнил, что для Claude Code мне приходилось писать хаки на хуках, чтобы напоминать модели, что у неё есть скиллы. Потом перешёл на OpenCode уже с GPT. И продолжил замечать, что это делать нужно и там, иначе вполне подходящие под описание скиллы всё равно не читаются. И тоже какие-то скрипты в нужное место подкладывал.
В Pi я этого не делал, потому что скиллы читаются довольно стабильно. И мне очень интересно почему. Идей очень мало, поэтому если знаете — расскажите.
Кажется, что фундаментальная разница только в том, что в Claude Code и OpenCode вызов скиллов — это отдельный инструмент типа invoke/skill. Связано это с тем, что там у скиллов есть всякие настройки: пермишны, кастомные агенты и так далее, для которых перед чтением файла должен ещё код поработать. Из-за этого модель должна прям серьёзно быть настроена запустить кастомный тул харнеса, вместо того, чтобы решить "мне и так достаточно инфы, иду делать". И проблема не столько в вызове тулов, сколько в решительности модели. С хаками-то тулы запускаются.
А в Pi в системном промпте написано: "вот тебе файлы, если что-то кажется полезным прочитай". То есть это просто тупейший read, который не может не работать. Потому что для модели read файла — это стандартнейший флоу решения любой задачи. Они этому обучены.
Неужели так всё просто? Неужели если не изобретать велосипеды поверх понятной моделям минимальной базы, то они начинают приходить к правильным выводам? И стоят ли вот эти харнесовые энтерпрайз фишки типа пермишнов в скиллах того, что сама базовая концепция скилла работает в них нестабильно?