Как подойти к задаче без лишней магии
Что бы я делал, если бы мне показали пять фиксированных шагов и назвали это агентом. Я бы спросил: может ли система выбрать другой инструмент, если ситуация изменилась? Если нет — это workflow, и это совершенно нормально.
Ошибка, которую я бы сразу убрал: Добавить десять инструментов «на будущее» — самый быстрый способ получить непредсказуемую систему. Агенту нужен не максимальный доступ, а одна задача и короткий список разрешённых действий.

Что подготовить и какой результат ждать
- На выходе: Вы поймёте, нужен ли агент вообще, какие права ему дать и какие действия оставить только после approval.
- Нарисуйте схему цель → контекст → инструменты → проверка → действие и отдельно укажите, где требуется подтверждение человека.
- Сохраните исходные данные и права доступа отдельно от результата, чтобы можно было проверить, что сделал AI-агент с инструментом.
- Проверьте три запроса: вопрос без действия, запрос на чтение и запрос на изменение записи. Агент должен различать их.
Соберите первого агента без лишних прав
- Опишите цель одним предложением
Запишите: «Помочь менеджеру разобрать заявку и предложить следующий шаг». Не начинайте с «сделай универсального агента для бизнеса».
Проверьте: У цели есть понятный результат, который можно принять или отклонить.
Если не сработало: Сузьте цель до одной роли и одного процесса.
- Создайте ассистента с ограниченной инструкцией
В интерфейсе AI-сервиса откройте Create assistant/agent и задайте: «Собери данные о заявке, предложи следующий шаг, не отправляй сообщения без подтверждения».
Проверьте: Инструкция отдельно перечисляет, что разрешено и запрещено.
Если не сработало: Перепишите запреты как проверяемые условия, а не как пожелания.
- Подключите один инструмент
Начните с read CRM record или поиска по базе. Опишите входы record_id и requested_fields и запретите доступ ко всей CRM.
Проверьте: Инструмент возвращает только нужные поля и не имеет write-доступа.
Если не сработало: Замените реальную CRM тестовой таблицей.
- Поставьте approval перед действием
Включите журнал запусков и подтверждение перед записью, отправкой, удалением или изменением прав. Сохраняйте план действия рядом с итогом.
Проверьте: Без подтверждения агент физически не может выполнить чувствительное действие.
Если не сработало: Не надейтесь на промпт: уберите инструмент или ограничьте его чтением.

Проверка на одном workflow
Нарисуйте цепочку цель → контекст → выбор инструмента → проверка → действие → лог. Пример: новая заявка → прочитать текст → найти дубль в CRM → проверить email → создать черновик задачи. Если убрать инструмент и результат не меняется, агент вам не нужен.
Каждый tool опишите как контракт: название, входные поля, допустимые значения, что возвращает и при какой ошибке остановиться. Не подключайте агенту весь Google Drive или CRM целиком.
- Сначала read-only, потом draft, и только потом ограниченное действие.
- Не путайте способность вызвать API с правом самостоятельно принимать бизнес-решение.
Тест, который быстро показывает риск
Дайте агенту обычный вход, пустое поле, конфликт данных, просроченный документ и запрос вне области. Правильный результат — не всегда действие: часто это отказ, needs_human или уточняющий вопрос. Именно эти ветки нужно показывать владельцу до запуска.
Контракт инструмента важнее красивого демо
Для каждого tool опишите название, вход, допустимые значения, ответ и условие остановки. Начните с `find_contact`, `get_open_deal`, `get_last_meeting` и `draft_followup`; отправку писем пока не подключайте. В `allowed_tools` держите только этот список.
Поля запуска: `run_id`, `goal`, `allowed_tools`, `max_steps`, `tool_calls`, `requires_approval`, `final_output`, `error_code`, `started_at` и `finished_at`. Для первого пилота поставьте `max_steps = 6`, `max_retries_per_tool = 2` и сохранение состояния во внешней таблице.
{
"type": "function",
"name": "find_contact",
"strict": true,
"parameters": {
"type": "object",
"properties": {"email": {"type": ["string", "null"]}},
"required": ["email"],
"additionalProperties": false
}
}Пять входов, на которых агент должен остановиться
Проверьте обычный запрос, пустое поле, конфликт данных, просроченный документ и задачу вне области. Правильный результат — не всегда действие: это может быть `needs_approval`, `needs_clarification` или `failed` с понятной причиной.
Что должно измениться после настройки
Вы поймёте, нужен ли агент вообще, какие права ему дать и какие действия оставить только после approval.

Где автономность превращается в риск
Называть любой чат-бот агентом, даже если он только генерирует текст.
Давать агенту широкие права и надеяться, что промпт его остановит.
Добавлять память и пять инструментов до проверки одного.
Не записывать, какое действие агент выбрал и почему.
Когда эксперимент уже требует инженерного контура
Подключайте специалиста, когда агент должен работать с несколькими системами, иметь долгую память, выполнять действия по расписанию или обрабатывать чувствительные данные.
Что выяснить до подключения инструментов
Агент всегда работает автономно?
Нет. Автономность задаётся инструментами, правами, правилами и точками согласования.
Когда хватит обычного workflow?
Когда путь известен заранее: событие → фильтр → действие. Агент нужен там, где есть выбор следующего действия.
Нужна ли агенту память?
Только если прошлый контекст действительно влияет на решение. Иначе храните данные в системе, а не в скрытой памяти.
Какой первый инструмент подключить?
Один инструмент чтения, который легко заменить тестовой таблицей и проверить на десяти примерах.







