Автопилот · технический разбор
Обещание «заблокируют одну модель — переключим на другую» стоит ровно столько, сколько стоит проверка за ним. Поэтому — разбор: где переключение реально ломается, что у нас собрано, и что мы пока не проверили.
Это не гипотеза с рынка, а история нашего же клиента. Человек настроил личного агента, месяц спокойно им пользовался — потом доступ к модели из России отвалился, и агент замолчал. Работа встала не потому, что что-то сломалось в самом агенте: сломался канал к «мозгам».
Вывод простой: модель должна быть сменной деталью, а не фундаментом. Дальше — что мешает сделать её сменной на самом деле.
Агент без памяти диалога бесполезен — каждый раз объяснять контекст заново никто не будет. У разных движков память устроена по-разному: одному идентификатор разговора можно назначить заранее, другой чеканит его сам, и подставить свой нельзя.
Схема «сгенерировали номер разговора заранее и работаем с ним» на втором движке просто не запускается. Правильно так: первый ход идёт без номера, номер вылавливается из ответа движка и сохраняется, дальше разговор продолжается по нему. Мелочь на словах — но именно на ней ломается перенос.
Самая неприятная ловушка, и мы в неё попались на первой версии. Один движок при провале авторизации возвращает код успеха — формально «всё хорошо». Другой возвращает код ошибки, но текст ошибки кладёт туда же, куда обычные ответы.
Обвязка, которая верит кодам возврата, в первом случае отдаст клиенту служебное «Вы не авторизованы» как реплику агента. Человек увидит, что его умный помощник несёт техническую чушь, и потеряет к нему доверие за одно сообщение. Мы это поймали у себя и закрыли отдельным тестом — до того, как это увидел бы клиент.
Агент работает с вашими файлами и данными, поэтому важно, что ему разрешено. Здесь движки честно неравноценны: у одного есть точный список разрешённых действий, у другого — только грубые режимы: «только чтение», «запись в рабочей папке», «полный доступ».
Это значит, что на резервном движке тонкую настройку прав по каждому инструменту мы обещать не можем — только режим песочницы целиком. Пишем прямо, чтобы это не всплыло потом.
8 августа мы запустили сборку не против эмулятора, а против настоящего движка. И увидели то, чего не видел ни один тест.
Сценарий самый обычный: агента поставили, вход в аккаунт модели ещё не сделали, человек написал первое сообщение. Ход не проходит — это нормально и ожидаемо. Ненормально другое: номер разговора при этом уже «занят» движком, а бот продолжал предлагать его как новый. Второе сообщение, третье, перезапуск бота, перезапуск сервера — чат оставался сломанным навсегда, и текст ошибки больше не упоминал вход в аккаунт. Человек видел просто молчащего агента, за который заплатил.
Починили двумя слоями: неудавшийся первый ход больше не оставляет за собой занятый номер разговора, а уже сломавшиеся установки распознают эту ошибку и восстанавливаются сами, без вмешательства. Проверено на живом движке; на старом коде новые тесты краснеют, на новом — зелёные.
Вывод, который мы забрали себе: зелёные тесты против эмулятора ничего не гарантируют, если эмулятор мягче реальности. Наш теперь строже — он отвергает то же, что отвергает живой движок.
Вся цепочка проверена против эмулятора. Не проверено ровно одно: что живой резервный движок с настоящим платным доступом вернёт осмысленный ответ в этой обвязке. Ждём оформления доступа.
Мы пишем это на странице, а не умалчиваем, по простой причине: если завтра выяснится, что здесь есть подвох, вы узнаете об этом от нас, а не из собственного сломавшегося агента. Пока звено не закрыто — резервный движок считаем заявленным, но не сданным.
Пакеты и цены — на странице услуги. Если хотите обсудить свой случай, напишите пару слов о том, чем занимаетесь.
Личный AI-агент: пакеты и цены