Мнение
Ваше периферийное устройство было протестировано на одном прямом проходе. Ваш агент будет выполнять цикл.

Разговор о аппаратном обеспечении для edge‑AI стал гораздо более откровенным за последний год. Недавняя статья на этом сайте утверждала, что прежняя иерархия проектирования — «максимизировать пропускную способность, а затем управлять питанием и тепловыми характеристиками» — перевернулась, и что для промышленных развертываний теперь в первую очередь важна энергия, а сырая пропускная способность отходит на второй план. Это подтверждает аргумент, который мы продвигаем уже некоторое время: edge‑устройства являются «ограниченными теплом, а не MIPS/вычислительными ресурсами», и смартфоны уже находятся на этих границах. Оба исправления реальны и давно назрели.
Но в этом всё ещё сохраняется одно предположение из мира, который он исправляет. Каждый элемент этой иерархии оценивается исходя из предполагаемой нагрузки, а нагрузка, против которой почти все всё ещё планируют, — это один прямой проход: модель получает входные данные, выдаёт результат, и кремний получает момент для остывания.
Это не то, что делает агент. Агент принимает решение, вызывает инструмент, читает полученный ответ и снова принимает решение. Количество проходов этого цикла не является свойством вашего аппаратного обеспечения и, по сути, не является свойством вашей модели. Это свойство задачи, которую кто‑то поставил утром. У меня есть агенты, работающие на периферийном оборудовании, и то, что заняло у меня больше всего времени для принятия, было не то, что они медленные. А то, что стоимость выполнения задавалась где‑то, где я не имел видимости во время проектирования.
Цикл не ограничен, пока кто‑то не задаст число
Это не риторическое построение; так действительно построены фреймворки. В OpenAI’s Agents SDK исполнитель «запускает цикл», и когда модель генерирует вызовы инструментов, среда «выполняет эти вызовы, добавляет результаты и повторно запускает цикл». Единственное, что останавливает процесс, — ограничение количества ходов: при превышении max_turns генерируется исключение, а в документации указано, что можно передать max_turns=None, чтобы полностью отключить ограничение.
На сервере это число — решение о выставлении счёта. Кто‑то замечает invoice.
На устройстве это число — тепловое решение, потому что длина цикла равна рабочему циклу. И рабочий цикл — единственная переменная, с которой пассивное охлаждение не может спорить.
Продолжительная нагрузка делает с телефоном то, чего не делает бенчмарк
Бенчмарк марта 2026 года подверг четыре платформы именно такой нагрузке: квантизированная модель с 1,5 млрд параметров, фиксированный запрос в 258 токенов, двадцать последовательных запусков с измерением пропускной способности, потребления энергии и температуры в каждом случае. Это препринт, в котором одна модель тестируется на четырёх устройствах, поэтому рассматривайте конкретные цифры как характеристику этих платформ, а не как закон природы. Важна форма полученного результата.
iPhone 16 Pro достигал пика в 40,35 токенов в секунду, но не смог удержать его. Деградация проявилась уже после двух выводов. Затем он стабилизировался на уровне 22,56 токенов в секунду — снижение на 44 % — и оставался ограниченным 65 % времени бенчмарка. Динамическое регулирование напряжения и частоты, механизм, который понижает тактовую частоту при росте температуры перехода, делал ровно то, для чего был создан.
Galaxy S24 Ultra потерпел неудачу иначе и хуже. Вместо постепенного падения Android‑термальный регулятор на шестой итерации установил жёсткий минимум частоты GPU при 78,3 °C, и выводы прекратились. Авторы подчёркивают, что для развертываний агентов это «более разрушительно, чем грациозная деградация», потому что система не замедляется, а становится непригодной.
Теперь обратим внимание на деталь, делающую это осуждающим, а не просто интересным. Каждый из тех двадцати запусков использовал один и тот же запрос. Это самая дружелюбная нагрузка, которую когда‑либо увидит оборудование агента, и два флагманских телефона не смогли поддержать её двадцать раз подряд. Это тоже не новое открытие — в работе MELTing point, представленной на MobiCom в 2024 году, было сделано заключение, что с точки зрения энергии и тепла «непрерывное выполнение LLM остаётся недостижимым». Два года и несколько технологических узлов спустя — та же стена.
Две кривые сходятся, и ваш продукт ломается там, где они пересекаются
Цикл агента хуже, чем повторный запрос, в определённом механическом смысле.
Декодирование ограничено пропускной способностью памяти: пропускная способность определяется тем, как быстро модель может читать свой кэш ключ‑значений, а не тем, сколько операций чип теоретически способен выполнить. Этот кэш растёт вместе с контекстом. Каждый шаг цикла добавляет результат инструмента, наблюдение, частичный план — поэтому на десятом шаге генерируются токены против существенно большего кэша, чем на первом.
Тем временем устройство нагревается, а регулятор понижает частоты.
Таким образом, стоимость каждого шага растёт именно в тот момент, когда способность устройства её покрыть падает. Две кривые сходятся, и в точке их пересечения ваш продукт выходит из строя. Это никогда не первый шаг. Первый шаг — это то, что вы тестировали.
Под этим также скрывается проблема масштаба. Генеративные задачи просто представляют иной порядок расходов по сравнению с тем, чем занимался edge‑кремний десятилетие назад: измерено по 88 моделям, стоимость классификации текста около 0,002 кВт·ч за тысячу выводов против 0,047 кВт·ч за генерацию текста — примерно в двадцать раз больше, ещё до того как любой цикл умножит её. Эти измерения проводились на GPU дата‑центра, а не на смартфоне, поэтому их следует воспринимать как отношение между типами работ, а не как показатель мощности вашего устройства. Для масштаба то же исследование ставит полную зарядку смартфона в 0,022 кВт·ч.
Покупайте по джоулям за завершённую задачу, а не по токенам в секунду
Самый полезный результат того бенчмарка 2026 года выглядит наименее впечатляющим.
NPU Hailo‑10H справлялся с 6,9 токенами в секунду при мощности менее 2 Вт. Медленно — действительно медленно, и авторы так и говорят. Но коэффициент вариации его пропускной способности составлял 0,04 %, то есть в два порядка стабильнее любого другого тестируемого устройства. GPU ноутбука в том же исследовании выдавал 131,7 токенов в секунду при 34,1 Вт.
Сравним их по энергии, а не по скорости: 270,5 мДж на токен у небольшого NPU против 297,3 мДж у GPU. Несмотря на девятнадцатикратный разрыв в пропускной способности, маленькая часть выполняла чуть больше вычислений на джоуль — и делала это практически без вариаций.
Если вы выбираете оборудование по токенам в секунду, вы покупаете быстрый вариант. Если же вы отбираете по способности завершать ограниченный цикл с предсказуемой стоимостью — то, что действительно нужно агенту, — рейтинг меняется. В спецификации должно указываться количество джоулей на завершённую задачу с указанием вариации. Бенчмарк, сообщающий о пиковой пропускной способности, описывает лишь первый вывод дня.
Честное возражение и то, что оно не решает
Очевидный ответ: это временная проблема: кремний совершенствуется, NPU развиваются, и всё, что написано о телефоне 2026 года, будет выглядеть устаревшим. Или, более практично, перенести тяжёлые шаги на сервер.
Я бы сам поставил ставку на оборудование. Но перенос нагрузки — это тот обратный путь, который вы переместили к edge, чтобы его избежать, а агент платит не один раз, а за каждый шаг цикла, а длина цикла — то, что вы не можете предсказать. Гибридные решения не устраняют вариацию; они просто переносят её в сеть.
Глубокая асимметрия не меняется с процессными узлами. Бюджет устройства фиксирован на этапе проектирования. Требования агента определяются во время выполнения, в зависимости от того, что запросил пользователь. Лучший кремний повышает потолок, но не указывает агенту, где находится этот потолок.
Поэтому укажите его. Задайте ограничение количества ходов в спецификации продукта, а не в ходе ревью кода, и выберите число из теплового конверта: решите, сколько шагов помещается, затем сконструируйте агента так, чтобы он выдавал лучший доступный ответ в этих границах, а не идеальный ответ в произвольных условиях. Рассматривайте это как дедлайн, а не как цель.
Затем передайте агенту бюджет как входные данные. Оставшийся запас, состояние батареи, факт того, что платформа уже начала троттлинг — всё это должно быть в контексте, так же как текущее время. Агент, знающий, что он находится на восьмом из десяти шагов, может подвести итоги и зафиксировать результат. Агент, который этого не знает, будет продолжать исследовать, пока операционная система не вмешается.
И тестируйте хвост, а не медиану, что на реальном устройстве означает тестирование в симуляции. Сценарий отказа никогда не является чистым запуском. Это запуск, который занял четырнадцать шагов, потому что инструмент вернул неоднозначный результат на третьем шаге, и вы не сможете перечислить такие случаи вручную на телефоне, которому нужно остывать между попытками. Я сам обучаю системы в основном на симуляциях именно по этой причине: интересное поведение проявляется в длительных запусках, а длительные запуски — именно то, чего оборудование не позволит вам отобрать вручную.
Ни одно из этого не требует более быстрого чипа. Требуется признать, что форма нагрузки изменилась. Никто не выпускает устройство, батарея которого рассчитана на одну фотографию. Мы всё ещё выпускаем устройства, тепловой бюджет которых рассчитан на один вывод.












