В каждой компании есть главный бухгалтер. Но произнося эти два слова, люди имеют в виду четыре разных вещи — и даже не замечают этого.
Должность — позиция в штатном расписании. Право подписи, доступ к счетам, бюджет на трёх подчинённых. Должность существует, даже когда на ней никого нет.
Роли — функции, которые человек на этой должности выполняет. Мария Ивановна на должности главного бухгалтера играет непосредственно роль бухгалтера или роль налогового отчётчика в конце квартала, роль финансового контролёра каждый день и роль подписанта по запросу. Несколько ролей — одна должность.
Агент — тот, кто исполняет. Конкретный человек: Мария Ивановна в кабинете 312. Завтра на её место придёт Иван Петрович — должность и роли останутся.
Описание — содержание: что делать, как, в каких случаях. Оно записано в документе (должностной инструкции на 12 страницах), но описание — это суть, а документ — просто носитель этого содержания. Они вместе, но необходимо различать одно от другого.
Мария уволилась — должность осталась. Пришёл Иван — роли те же, агент другой. Инструкцию переписали — должность и роли не изменились. Роль «финансовый контролёр» передали отдельному специалисту — должность потеряла одну роль, но сама осталась.
Четыре объекта. Одно слово. Пока мы их путаем — путается всё.
Мы строим экосистему и платформу, где ИИ помогает непрерывно развиваться. На платформе есть несколько систем: «Стратег» каждое утро готовит план дня; «Экстрактор» извлекает знания из текстов; «Наладчик» находит и чинит ошибки.
Обычно каждую такую систему называют «агентом» и дают отдельный репозиторий. DS-strategist-agent, DS-extractor-agent, DS-fixer-agent… Шесть штук.
А что будет, когда Стратегом станет GPT вместо Claude? Вы понимаете, что вышеперечисленные — не агенты?
Вот что на самом деле лежит в этих репозиториях: тексты-промпты, описывающие что делать и как. Настройки входов и выходов. Скрипты запуска.
Это описания. Содержание: какие роли выполнять, какие ресурсы использовать, в каких ситуациях действовать. Записано в файлах — но файлы лишь носители.
А агент — тот, кто это описание исполняет. Сегодня Claude, завтра GPT, послезавтра — то, чего ещё нет. Агент сменится. Описание останется.
Те же четыре вещи — как в бухгалтерии:
Должность. «Стратег» — позиция на платформе: доступ к данным пользователя, право писать планы, уровень автономии. Должность определяет, что можно делать и какими ресурсами распоряжаться.
Роли. На должности Стратега — несколько ролей: планировщик дня (утром), рецензент заметок (вечером), подготовитель сессии (в понедельник). Одна должность — несколько ролей, каждая в своём контексте.
Агент. Кто исполняет — Claude, запущенный в 4 утра по расписанию. Завтра это может быть GPT или что-то совсем новое. Агент приходит и уходит — должность и роли остаются.
Описание. Суть каждой роли: что делать, какие входы, какие выходы, что считать хорошим результатом. Записано в промптах и конфигах — но описание это содержание, а файлы лишь место хранения.
Что это меняет практически?
Пока я думал, что у меня шесть агентов — я создал шесть отдельных репозиториев. Каждый со своей структурой, своим README, своими правилами. Добавить новую систему — целый ритуал.
Когда различение стало явным — решение пришло само. Один репозиторий, внутри — папка на каждую систему. В каждой папке — описания ролей и паспорт: какие полномочия, какие ресурсы, какой уровень автономии.
Добавить систему — создать папку. Добавить роль — написать описание. Заменить агента — поменять промпты, не трогая определение ролей. Передать роль от одной системы другой — переместить файл.
Когда мы путаем эти четыре вещи, мы не можем:
- заменить агента — потому что кажется, что «это же Claude, а не должность»
- масштабировать — потому что каждая новая роль выглядит как новая сущность
- перераспределить роли — потому что роли приклеены к агенту, а не к должности
- видеть целое — потому что шесть репозиториев прячут факт, что агент один
Сейчас я объединяю все системы платформы в одно место. У каждой — паспорт: какие полномочия, какие роли, кто исполняет, какой уровень автономности (от 0 — чистый инструмент до 4 — полностью автономный). Когда система эволюционирует из инструмента в самостоятельного агента — меняется одна строка в паспорте, а не адрес репозитория.
Изначально многие строят архитектуру, не различая эти четыре вещи явно. Когда называешь вещи правильно, архитектура упрощается сама.
Когда различение стало явным, появился и формальный шаблон описания роли:
- Имя и тип — функциональная (исполняет по алгоритму) или агентская (автономно решает КАК делать)
- Надсистема — в какой системе эта роль существует
- Обязательства — что роль ДОЛЖНА делать
- Ожидания — что другие роли ждут от этой
- Методы — КАК роль выполняет обязательства
- Рабочие продукты — ЧТО создаёт и КОМУ передаёт
- Исполнители — кто СЕЙЧАС играет эту роль и с каким уровнем автономности
- Режимы отказа — что может сломаться
Заметьте: ни слова о технологии, LLM, промптах или API. Это описание функции в организации. Человек, скрипт или ИИ — неважно. Шаблон один.
А как роли соотносятся со «скиллами» (Skills) — термином, который Anthropic и другие используют для описания способностей ИИ-агентов?
Skill — это атомарная способность: «найти файл», «отправить сообщение», «выполнить SQL-запрос». Вход → выход. Скилл существует сам по себе — он ни перед кем не отчитывается, ни от кого ничего не ждёт и не знает, зачем его вызвали.
Роль — это позиция в системе. У неё есть обязательства (что ДОЛЖНА), ожидания (что ждут другие роли), рабочие продукты (что создаёт и кому передаёт) и режимы отказа (что может сломаться).
Скилл отвечает на вопрос «что умеет?». Роль — «что должен и для кого?».
Агент обладает скиллами и играет роли. Скиллы — его инструменты. Роли — его место в системе. Скилл «отправить сообщение в Telegram» есть у многих агентов. Но роль «Синхронизатор» — с обязательством держать представления в согласованности, с ожиданиями от Стратега и Экстрактора, с конкретными рабочими продуктами — это организационная единица, а не техническая.
