Статьи/Архитектура
ЭссеАрхитектура

Меньше контролов — лучше контроль

Парадокс управления агентами: больше настроек ведёт к менее предсказуемым результатам. Как проектировать через ограничения.

20 января 20269 мин

В дизайне агентов есть контринтуитивная истина: чем больше контролов, тем меньше контроля.

Ловушка конфигурации

Когда агент ведёт себя не так — инстинкт добавить настройку. Каждая настройка кажется усилением. В реальности — комбинаторный взрыв.

5 булевых настроек = 32 конфигурации. Кто тестировал все 32? Эффекты взаимодействия? Точно нет.

Дашборд, который всё сломал

Код-ревью агент. V1: одна настройка — репозиторий. Работал.

Потом: строгость (3), типы файлов (6), стиль комментариев (4), окно контекста (1-100), фокус (5 чекбоксов). V2: 2000+ конфигураций. Тикеты утроились.

Альтернатива: ограничения

КонтролОграничение
«Температура 0.3»«Вывод детерминирован»
«Только .ts»«Фокус на изменённых в PR файлах»
«Строгость: высокая»«Помечать код без тестов»

Контролы — как. Ограничения — что. Агент сам решает как.

// На контролах (хрупко)
agent.configure({
  temperature: 0.3,
  maxTokens: 4000,
  strictness: 'high',
});

// На ограничениях (устойчиво)
agent.constrain({
  deterministic: true,
  scope: 'changed-files-with-dependencies',
  requirements: ['all-flagged-code-must-have-tests'],
});

Почему ограничения побеждают

1. Тестируемы

«Детерминированный вывод» — запусти дважды, сравни. «Температура 0.3» — нетестируемо.

2. Чисто компонуются

Новое ограничение не ломает существующие.

3. Модель-агностичны

Смена модели ломает настройки. Ограничения остаются.

4. Снижают нагрузку на поддержку

Нельзя неправильно настроить то, что нельзя настроить.

V3: самая простая версия

Один вход: URL пулл-реквеста. Всё из ограничений. Удовлетворённость: 62% → 91%. Тикеты -80%.

«Лучший интерфейс — тот, где неправильная конфигурация невозможна.»

Меньше контролов. Лучше контроль.

CatoCut
CatoCut
Agent-First инженерия