Опыты и материалы

Один обработчик, несколько программ: что меняется при обновлении

В Extella программа сохраняется с названием своего языка, а обработчик на устройстве исполняет все программы этого языка. Поменяли обработчик, и все сохранённые программы языка сразу ведут себя по-новому: до всех доходит исправление, но и ошибка тоже. Здесь собраны опыты, на которых стоит статья об этом, для разработчиков, которые хотят проверить числа или повторить запуск.

Ссылка на текст статьи появится здесь после публикации. Ниже опыты в порядке статьи.

01 · 2 октября 2026

Ledger: четыре короткие программы и замена обработчика

Вопрос
Если заменить обработчик языка, выполнятся ли сохранённые программы этого языка под новым без повторного сохранения?
Условия
Игрушечный язык ledger из двух инструкций; четыре программы на нём и один текст, который программой ledger не является. Ноутбук и Linux-сервер. Каждый шаг — вызов инструментов MCP save_expert и run_expert, вызовы делал скрипт.
Результат
  • Под обработчиком 1 четыре программы дали ожидаемые итоги (10, 99, 42, 21); текст с import os обработчик отклонил.
  • После регистрации обработчика 2 те же четыре программы, не сохранённые заново, выполнились под ним с теми же итогами и с новыми полями, которые он добавляет.
  • В то же время сервер с обработчиком 1 выполнил две из программ по-старому.
Ограничения
Один день, один ноутбук и один сервер, игрушечный язык. Песочницы нет: обработчик работает с правами пользователя, под которым запущена Extella. Версий обработчиков платформа не хранит.
02 · 2 октября 2026

Десять программ через платформу и простой MCP-сервер

Вопрос
Чего стоит добавить новую программу как инструмент: неизменные инструменты MCP-сервера, универсальный исполнитель с хранилищем программ или Extella?
Условия
Одни и те же десять маленьких функций на Python добавлены тремя способами. Все вызовы делал скрипт, модель серверами не управляла. Два локальных способа работали как локальные процессы; Extella передавала вызов на устройство, этим устройством был тот же ноутбук. На второй машине запускали только Extella.
Результат
  • Неизменные инструменты: 10 правок и 10 перезапусков. Универсальный исполнитель и Extella: 0 и 0.
  • Повторный вызов: 0,0014 с, 0,025 с и от 6 до 14 с через Extella (медиана около 9 с, 30 вызовов).
  • На второй машине Extella верно ответила на 30 вызовов из 30 без повторного сохранения, за 5–9 с.
Ограничения
Универсальный исполнитель на второй машине не запускали, поэтому преимущества перед ним там опыт не показывает. Секунды сравнивают локальные процессы с удалённым сервисом. О продуктах Anthropic и Cloudflare опыт ничего не говорит.
03 · 3 октября 2026

Изменение оформления одного отчёта

Вопрос
Куда ложится новое оформление отчёта, если отчёт — программа на языке презентаций, и сколько стоит такая правка?
Условия
Одна и та же правка в двух сборках одного приложения: A на Extella (оформление задаёт обработчик языка презентаций), B — обычная программа на Python. Каждую правку делал новый ИИ-помощник, не видевший код.
Результат
  • Обе сборки поменяли оформление в одном месте и сохранили содержание отчёта: в A один файл, обработчик (+21/−9 строк), в B два файла (+22/−11).
  • На одном отчёте экономии не получилось: 93 734 токена и 2,3 минуты против 81 191 токена и 1,7 минуты; пересборка отчёта 10,3 с против 0,23 с.
Ограничения
По одному прогону на сборку: наблюдение, а не среднее. Выигрыш от одного обработчика появляется, когда им пользуется много программ, см. следующий опыт.
04 · 14 октября 2026

Обновление 40 отчётов

Вопрос
Один обработчик обслуживает 40 сохранённых программ. Что происходит при его новой версии, в том числе сломанной, и можно ли проверить обновление до замены?
Условия
Ожидаемый итог каждой программы скрипт заранее посчитал прямо из строк программы, независимо от обработчика. В версию 3 внесён дефект: она отбрасывала копейки у каждой суммы и при этом не вызывала ошибок.
Результат
  • Новое правило: одна регистрация, 8,5 с; все 40 программ ответили по новой версии без пересохранения.
  • Сломанная версия, зарегистрированная без проверки, тихо исказила итоги 35 программ из 40, без единой ошибки на экране.
  • Проверка перед заменой прогнала все 40 программ на кандидате за 10 с, нашла 35 расхождений и не дала его зарегистрировать. Возврат прежней версии через ту же проверку: 10 с, 40 из 40 верны.
Ограничения
Проверка ловит только то, что покрывают ожидаемые результаты. Большая часть 10 с — дорога через платформу. Ту же схему можно построить с общей библиотекой и тестами без Extella; это не исключительное свойство Extella.
05 · 6–7 октября 2026

Расчёт фонда на ноутбуке и сервере

Вопрос
Одной операцией пользуются трое: двое на ноутбуке, один на сервере. Что будет, если заменить её с Python на Go, пока идёт вызов?
Условия
Тот же контракт, вызов на 30 секунд в полёте во время замены, затем откат. Три способа: программа Extella с обработчиком языка Go, обычная программа, разложенная на обе машины, и Windmill CE v1.825.0 в локальном Docker на одной машине.
Результат
  • Замена: одно действие за 2,4 с на Extella, восемь действий за 15 с у обычной программы, одно действие за 0,54 с у Windmill. Вызов в полёте во всех трёх закончился на старой реализации.
  • На Extella замена дошла и до сервера, где нет компилятора Go, и третий пользователь там сломался. Обычная программа увезла готовый файл и продолжила работать; у Windmill среда Go входит в образ исполнителя.
  • Вызов: 9,5–11 с на Extella, 0,4–0,9 с у обычной программы и 0,57–0,69 с у Windmill. Откат на Extella удался только потому, что прежний текст лежал локально: версий платформа не хранит. Windmill хранит версии по хешу.
Ограничения
По одному прогону на конфигурацию. Windmill на второй машине не запускали: в бесплатной редакции удалённый исполнитель без доступа к базе сервера не подключился («Agent mode is only available in the EE»). Extella работала на второй машине за роутером.
06 · 1 октября 2026

Сайт из блоков

Вопрос
Выполняется ли одна сохранённая программа без изменений под разными обработчиками?
Условия
Один эксперт на языке block (JSON-документ, описывающий цитату на веб-странице). Три обработчика на двух Linux-серверах, шесть запусков. Два обработчика выдают HTML, третий — отдельно написанный код, который выводит простой текст.
Результат
  • Одна и та же программа выполнилась под всеми тремя обработчиками без правок. Регистрация обработчика заняла от 6,8 до 7,9 с.
  • Счётчик обращений к модели был 0 в каждом запуске; хеш обработчика, который вернуло устройство, совпал с опубликованным файлом во всех шести.
Ограничения
Одна программа и шесть запусков. То, что так же ведут себя все программы языка, — заявленное устройство среды исполнения; на большем наборе здесь не измеряли.

Живой пример со временем обновляется; результаты описывают запуск в указанную дату.

07 · 14–15 октября 2026

Расписания и маленькая модель

Вопрос
Чаще ли маленькая модель составляет верный график смен на коротком проверяемом языке, чем на Python с теми же проверками?
Условия
Шесть задач. A: Python, одна попытка, без проверок. B: Python, правила проверяются после каждой попытки и ошибки возвращаются, до 3 попыток. C: маленький язык графиков, правила в обработчике на устройстве через Extella, до 3 попыток. Маленькая модель qwen-flash, три прогона; большая Qwen max, один прогон. Повторено 15 октября после разбора Эллы: проверка покрытия сделана точной, инструкции B и C выровнены.
Результат
  • Маленькая модель: A 2 из 18 (47 тыс. токенов), B 6 из 18 (154 тыс.), C 10 из 18 (27 тыс.). B потратил в 5,7 раза больше токенов, чем C.
  • Большая модель: 6 из 6 любым способом, без разницы в токенах.
Ограничения
Задачи и обработчики составляли мы, и оценщик проверяет те же правила, что обработчик. Шесть задач, две модели одного семейства. Опыт не разделяет вклад языка и места проверки. В одном прогоне B решил задачу, которую не решил C. Каждый шаг через платформу медленнее на 7–17 с.