Классическая разработка программного обеспечения мыслит прежде всего интерфейсами: список клиентов, страница проекта, кнопка загрузки, форма счёта, представление календаря. Для людей это разумно. Для AI-агентов, автоматизаций и внешних систем — это неверная модель абстракции.
Агент не должен знать, на какой странице находится кнопка.
Что на самом деле нужно агенту
Агент не навигирует по интерфейсам. Он вызывает возможности. Релевантные вопросы таковы:
- Какие действия существуют?
- Какие входные данные ожидает действие — какие выходные данные оно возвращает?
- Какие права необходимы?
- Какое действие рискованно или необратимо?
- Когда нужно задать вопрос пользователю?
- Что аудируется?
UI-first программное обеспечение не отвечает ни на один из этих вопросов. MCP-first — отвечает на все.
Klassisch
- Webapp
- Mobile App
- Admin UI
- API
- Automation
- AI-Integration
MCP-first
- Domain Model
- Action Layer
- Permission Layer
- MCP Tools
- MCP Resources
- MCP Workflows
- Audit Layer
- Webapp · Mobile · Admin · API · Automation
Тезис 1: AI-агенты используют ПО не так, как люди
Люди кликают, прокручивают, читают и интерпретируют. Агентам нужны структурированные возможности, которые можно вызвать напрямую и безопасно.
Второй путь детерминирован, типизирован, с проверкой прав и аудируем. Первый создаёт хрупкую браузерную автоматизацию, которая ломается при каждом обновлении UI.
-
schedule_follow_up(contactId, projectId, datetime, note) -
contacts.search(query, tenantId) -
reminders.create(contactId, datetime, note, assignedTo) -
calendar.find_free_slot(participantIds, duration, after)
Тезис 2: Пользовательский интерфейс становится одним из многих клиентов
В прошлом UI был основным способом доступа к ПО. В будущем появится несколько равноценных точек доступа, использующих одни и те же возможности:
- Человек через веб-приложение
- Человек через мобильное приложение
- AI-агент через MCP
- Автоматизация через Worker
- Сторонний провайдер через API
- Внутренние системы через Events
- CLI через Action Layer
Кто строит веб-приложение первым и тянет остальное за ним, реализует один и тот же Action Layer несколько раз — каждый раз немного иначе, каждый раз со своей логикой прав.
Тезис 3: ПО без агентных возможностей трудно интегрировать
Если ПО работает только через интерфейсы, неизбежно возникают хрупкие обходные решения:
- Браузерная автоматизация и парсинг экрана
- Импорт CSV и ручные процессы копирования
- Полуавтоматические рабочие процессы
- Специальные решения для каждого клиента или интеграционного проекта
Эти обходные решения ломаются при изменениях UI, не масштабируются и не поддаются аудиту. MCP-first устраняет причину их существования, делая систему структурированно управляемой с самого начала.
Тезис 4: Лучший интерфейс для многих задач — никакой интерфейс
Многие задачи диалоговые, контекстуальные и основаны на рабочих процессах — им больше не нужна страница:
«Создай сводку всех открытых сделок.»
«С какими клиентами мне стоит связаться сегодня?»
«Проверь, не хватает ли документов у этого сотрудника.»
«Создай отчёт по всем проектам с рисками.»
«Сравни последние два расчёта зарплат.»
Для этих задач диалоговый агент с доступом к слою возможностей эффективнее, чем любая страница с фильтрами и таблицами. Условие: возможности чётко смоделированы, типизированы и снабжены уровнями риска.
Low Сгенерировать сводку — Medium Создать документ — Critical Экспорт расчёта зарплат — эти различия система должна знать.
Тезис 5: MCP-first сокращает дублирование разработки
Если фича сначала реализуется как Action, каждый клиент может использовать её же — без двойной реализации:
create_project(name, templateId, ownerId, tenantId)
Это одно Action можно использовать из:
- Веб-приложения
- Мобильного приложения
- Admin UI
- MCP Agent
- CLI
- Worker
- Процесса импорта
- Интеграции
- Тест-набора
Это не только сокращает затраты — это устраняет несоответствия между клиентами, которые иначе накапливаются со временем.
Тезис 6: MCP-first принуждает к лучшей архитектуре
Кто строит MCP-first, вынужден автоматически моделировать чище. Каждая возможность требует:
- чётких Domain Actions с однозначным намерением пользователя
- типизированных схем входных и выходных данных
- чётких прав и обработки ошибок
- определённых побочных эффектов
- Audit Events и уровней защиты
Это вынуждает чётко распределять ответственность предметной области до того, как будет написана хоть строчка UI-кода.
-
Input Schema — типизированный, валидированный -
Output Schema — детерминированный -
Permission Scopes — какая роль может вызывать -
Risk Level — low / medium / high / critical / forbidden -
Side Effects — внешнее воздействие, да или нет -
Audit Event — что логируется -
Confirmation Policy — автономно или с разрешения человека
API-first был для разработчиков. MCP-first — для агентов.
ПО, которое с самого начала строится как полностью описанная, с проверкой прав и аудированная система возможностей, одновременно лучше для людей, лучше для агентов и лучше для всего, что между ними.