← Назад к статьям

// ОБРАЗОВАНИЕ

«ИИ не выбирает ваш маршрут» — что на самом деле делает ИИ Cambio, а чего нет

June 9, 2026·8 мин чтения·Команда Cambio
«ИИ не выбирает ваш маршрут» — что на самом деле делает ИИ Cambio, а чего нет

Cambio — это продукт для обмена с использованием ИИ. ИИ также намеренно находится под строгим контролем. Этот пост представляет собой исчерпывающий список того, за что отвечает ИИ, чего ИИ не разрешено касаться, и обоснование каждой строки в обоих списках.

В основополагающем посте этой серии были широко определены понятия «AI swap» в Cambio: парсер плюс объяснитель, при этом все решения принимаются детерминированным кодом. Этот пост — исчерпывающий список. За что на самом деле отвечает ИИ? Чего ему не разрешено касаться? Почему именно такие границы? Если вы запомните одно из всего этого цикла, то это будет следующая структура.

Список «делает»

ИИ в Cambio отвечает за четыре задачи. Все они являются диалоговыми. Все они ограничены.

1. Преобразование намерения, выраженного естественным языком, в структурированные поля

Когда вы вводите «обменять 0.3 BNB на USDT в BSC» в композер, ИИ является частью стека парсера, который преобразует эту строку в структурированный запрос: category=Swap, from=BNB, fromNetwork=BSC, to=USDT, toNetwork=BSC, amount=0.3. Большинство парсингов успешно выполняются на уровне регулярных выражений без вызова ИИ. ИИ обрабатывает случаи, когда сообщение сформулировано странно, содержит опечатки, смешивает естественный язык с сокращениями или неоднозначно указывает на отсутствующее поле.

2. Задавать уточняющие вопросы при отсутствии полей

Если сообщение преобразуется в «обменять 100 USDT на BTC» без указания сети для USDT — которая может быть в Tron, Ethereum, BSC или Solana — ИИ генерирует последующий вопрос. Он не выбирает сеть молча. Он не предполагает наиболее популярную. Он задает вопрос простым языком в ветке диалога.

3. Описывать котировку при ее получении

Когда приходит котировка, ИИ пишет её краткое объяснение словами. Текст ограничен фактами из структурированного объекта котировки и никогда не повторяет числа — все цифры находятся в карточке котировки. Он ничего не приукрашивает, не высказывает мнения о том, стоит ли принимать котировку, и не придумывает сравнений.

4. Возвращать стандартные ответы на вопросы из категории «Помощь»

Когда пользователь задаёт вопрос из категории Help — «Как указывается комиссия сети?», «Какие лимиты у этой пары?», «Сколько времени занимает обмен?» — ИИ выдаёт заранее написанный ответ из отобранного списка. Ответы статичны. Они не зависят от пользователя, формулировки, времени суток или того, что нам захотелось сказать в этот час. ИИ сопоставляет вопрос с нужным ответом; он не генерирует ответ.

Список «не делает»

Вот что ИИ делать не разрешается, даже когда он мог бы правдоподобно попытаться. Каждое из них — сознательный выбор с конкретной причиной.

1. Выбирать маршрут

Путь котировки детерминирован: проверить, что пара обслуживается, запросить у выбранного маршрута исполнения котировку на вашу точную сумму, добавить указанную комиссию сети и датированные справочные данные, вернуть котировку. Каждый шаг — это код, который при тех же входных данных каждый раз работает одинаково. ИИ получает объект котировки как структурированные входные данные; он не может повлиять на её содержание.

2. Хранить ключи или подписывать транзакции

У ИИ нет доступа к средствам. Вы отправляете монеты на адрес депозита, указанный для вашего заказа, и выплату производит выбранный маршрут исполнения. У ИИ нет API для запроса подписей или перемещения средств, и у него нет доступа к ключам. Созданием заказа и выплатой занимаются детерминированный код и маршрут исполнения, а не модель.

3. Получать цены

Цены берутся из котировки, которую выбранный маршрут исполнения даёт на вашу точную сумму. AI не обращается к этому сервису. Он не интерпретирует рыночные данные. Он не предсказывает, куда пойдёт цена. Если вы спросите в композере «что будет с BTC завтра», категория Help вернёт заготовленный ответ о том, что мы не прогнозируем цены, и укажет на внешние ресурсы.

4. Устанавливать политики

Цена Cambio (0.38% на большинстве маршрутов), список доступных маршрутов, минимум и максимум каждого маршрута, правила проверки — всё это находится в детерминированном коде. ИИ не обращается к ним, не переопределяет и не интерпретирует их. Если запрос выходит за их пределы (например, сумма больше максимума маршрута), код отклоняет его ещё до того, как ИИ его увидит.

5. Принимать решения по безопасности

Если депозит не поступил вовремя, заказ истекает по детерминированным правилам. Если выплату невозможно завершить, случаем занимаются код и люди, а не модель. Если ни один маршрут исполнения не котирует пару, запрос отклоняется. ИИ получает сведения об этих исходах (чтобы объяснитель мог описать их простым языком), но не принимает ни одного из лежащих в их основе решений.

Почему именно такие границы

Три причины. Это те же три причины, по которым мы каждый раз сужаем область применения ИИ в Cambio.

Проверяемость

Пользователь, который хочет проверить котировку Cambio, может обратиться к публичному API на api.cambio.one с той же парой и суммой и получить котировку, рассчитанную тем же кодом, без участия ИИ. Публичный API не вызывает языковую модель. Если бы ИИ участвовал в принятии решений, такая проверка была бы невозможна — языковая модель выдаёт невоспроизводимые результаты даже при одних и тех же входных данных.

Надежность

Языковые модели выходят из строя. Пограничные модели иногда имеют длительные простои — инциденты у поставщиков, проблемы с мощностью, региональные ограничения скорости, устаревание версий моделей. Если бы наш маршрутизатор зависел от ИИ для выбора маршрутов, каждый сбой модели был бы сбоем Cambio. Изолируя ИИ в диалоговой поверхности, мы можем плавно деградировать: когда служба модели работает медленно, композер переключается на парсинг по ключевым словам и детерминированное шаблонное повествование. Обмен все равно происходит. Пользователи Cambio во время инцидента у поставщика модели даже не заметят этого, если только внимательно не посмотрят на стиль ответа композера.

Ответственность

Когда сделка имеет необычный исход — пользователь получает другую сумму, чем ожидал, пара отклоняется, хотя, по его мнению, должна была быть поддержана, обмен занимает больше времени, чем ожидалось — мы должны иметь возможность ответить на вопрос пользователя «почему». При детерминированном коде «почему» всегда можно ответить: сработало это правило, вот путь выполнения кода, вот квитанция. При участии ИИ в процессе принятия решений «почему» становится «потому что модель так сказала», что неприемлемо для пользователя, потерявшего деньги или время на сделке.

Серые зоны

Стоит явно указать случаи, когда мы могли бы предоставить ИИ больше полномочий, но решили этого не делать.

Когда сумма неоднозначна — например, пользователь вводит «обменять немного BNB на USDT» — мы не позволяем ИИ интерпретировать «немного». Он запрашивает сумму. Мы рассматривали возможность установки значения по умолчанию, равного небольшой доле типичного недавнего обмена пользователя, но вывод намерения относительно средств — это именно та правдоподобная помощь ИИ, которая приводит к несчастным случаям.

Когда пара не поддерживается — скажем, пользователь просит пару, которую не обслуживает ни один маршрут исполнения, — мы не позволяем AI предлагать «ближайшую» альтернативную пару. Возвращается детерминированное сообщение «не поддерживается», и выбор остаётся за пользователем. Соблазн сказать «а может, лучше BNB?» велик, но это уже переход от уточнения к рекомендации, а рекомендации по финансовому продукту — регуляторная мина, на которую мы не наступим.

Когда котировка выглядит необычно широкой — например, на малоликвидной паре, — ИИ не смягчает объяснение и не добавляет собственных причин. Мы не позволяем ИИ добавлять «этот курс шире обычного, потому что…», если именно эта фраза не была заранее написана, проверена и одобрена как готовое объяснение.

Как это выглядит на практике

Рабочий пример. Пользователь вводит «обменять 100 USDT на 0.0001 BTC на Ethereum» в композер. По текущим рыночным курсам 100 USDT стоят около 0.0014 BTC — таким образом, пользователь просит получить десятую часть справедливой стоимости.

Парсер успешен: category=Swap, from=USDT, fromNetwork=Ethereum, to=BTC, toNetwork=Bitcoin, amountOut=0.0001, direction=amount-out. Запускается код политики: путь Execute вычисляет подразумеваемую сумму from-amount, необходимую для этой суммы получения, которая составит около 7 USDT — значительно ниже минимума в $1, который требует пара. Политика возвращает жесткую ошибку: «Сумма ниже минимума для этой пары (USDT на Ethereum до BTC имеет минимум $20, вы запросили ~$7)». ИИ получает ошибку и озвучивает ее: «Эта сумма получения ниже минимума пары в $20. Не могли бы вы попробовать большую сумму получения или другую пару?»

Что ИИ не сделал: он не округлил сумму вверх без уведомления, чтобы достичь минимума, не предположил, что пользователь имел в виду 0.001 BTC, не предупредил пользователя, что курс выглядит отклоняющимся от рыночного. Код политики вернул детерминированный ответ; ИИ перевел его в предложение. Пользователь точно знает, что произошло.

Где мы бы расширили сферу применения ИИ (и где бы сопротивлялись)

Заглядывая вперед, есть места, где добавление возможностей ИИ улучшает продукт, не переходя на территорию, нарушающую вышеуказанные правила.

Более сложный разбор неоднозначных запросов — например, распознавание «конвертировать» и «обменять» как синонимов «swap», поддержка неанглийских фраз, разбор сленга («слить мой BNB в стейблкоины»). Все это по-прежнему разбор. Они преобразуют ввод пользователя в структурированные поля. Решения маршрутизатора остаются детерминированными.

Многоязычная поддержка — запуск того же парсера/объяснителя на испанском, русском и китайском языках. Маршрутизатор не заботится о том, на каком языке ввел пользователь. Композер — заботится. Это в нашей дорожной карте.

Где мы не будем расширять сферу применения ИИ, даже когда соблазн возрастет: выбор маршрута, прогнозирование цен, принятие решений по политике, решения по безопасности. Эти границы постоянны. Будущий пост о чем-либо, что выглядит так, как будто ИИ принимает какие-либо из этих решений, будет предательством рубежа доверия, который мы установили при запуске.

Почему эта дисциплина важна

ИИ — это движущаяся цель. Модели улучшаются каждые несколько месяцев. Категория вещей, которые ИИ может правдоподобно делать хорошо в контексте обмена, постоянно расширяется. Давление на расширение сферы применения ИИ, чтобы соответствовать технически возможному, будет неустанным.

Мы не поддадимся этому давлению в отношении частей системы, которые касаются пользовательских средств, безопасности пользователей или операционной политики. ИИ делает то, что указано выше. Все остальное детерминировано. Это контракт. Мы не будем удивлять пользователей, тихо перенося принятие решений в модель и объявляя об этом позже.

Следующий пост в серии посвящен выбору модели — почему мы выбрали Gemini 2.5 Flash Lite вместо GPT-5 или Claude для задач парсинга и повествования, и что должно измениться, чтобы мы пересмотрели этот выбор.

Ещё статьи

What $200 and $1,000 of BTC → USDT on Tron really cost: 716 checks of five exchanges’ own websites
Research

What $200 and $1,000 of BTC → USDT on Tron really cost: 716 checks of five exchanges’ own websites

Читать →
Фиксированный или плавающий курс: какой тип обменного курса выбрать?
Образование

Фиксированный или плавающий курс: какой тип обменного курса выбрать?

Читать →
Как проверить адрес вашего кошелька перед каждым обменом
Безопасность

Как проверить адрес вашего кошелька перед каждым обменом

Читать →

// ГОТОВ

Попробуйте обмен. AI объясняет себя сам.

Начать обмен →