Навык для агентов: архитектурные основы
Я прочитал на Хабре статью «Программирование как экспериментальная метафизика», написанную nifigase. Это увлекательный, но непростой текст: он рассматривает архитектуру программ через набор философских различений. Я попросил Codex-агента превратить его практическое ядро в навык для анализа реальных проектов. Так появился architecture-foundations, первая экспериментальная публичная версия.
Навык не призван доказывать, что какая-то архитектура всегда верна. Он помогает агенту выявлять вопросы, скрытые внутри проектных решений: где находятся состояние и тождество сущности, кто владеет состоянием и может его менять, что граница действительно гарантирует, как компоненты координируются и где представлены полномочия и цели.
Один из полезных выводов: конкурентность становится сложной, когда несколько исполнителей разделяют изменяемое состояние. Эту сложность можно независимо уменьшать двумя путями: свободно разделять неизменяемые значения или передать изменяемое состояние одному владельцу и взаимодействовать через явные сообщения. Тот же взгляд помогает отличить интерфейс как узкий контракт от наследования, передающего готовую реализацию и связанность.
Навык особенно актуален для систем с ИИ-агентами. У языковой модели инструкции, данные и цели могут приходить в одном виде — как текст. Поэтому сообщение способно менять не только сохранённое состояние, но и интерпретацию правил и целей. Одного обмена сообщениями на внутренних границах недостаточно: нужны явно заданные типы сообщений, разделение инструкций и данных, проверка содержимого сообщений, ограниченные возможности, журнал аудита и осознанная процедура изменения полномочий или целей.
В навыке три режима: анализ существующей системы, построение желаемой модели её работы и переход от текущей модели к желаемой. Он предлагает фиксировать основания для выводов, допущения, неизвестное, компромиссы и условия пересмотра, чтобы человек мог оценить вывод, а не принимать непрозрачный вердикт.
Навык можно установить совместимым средством управления навыками:
npx skills add flancer32/skill-architecture-foundations --skill architecture-foundations
Либо скопируйте каталог architecture-foundations в каталог, где агент ищет навыки, например
~/.agents/skills/. Исходный код, инструкции по установке, примеры и ограничения собраны в
репозитории GitHub.
Это версия 0.1.0: рабочая основа, а не законченная теория. Следующий шаг — пробовать навык на реальных проектах, сравнивать работу с ним и без него и проверять, помогают ли эти архитектурные оси находить возможности упростить дальнейшее развитие.