DeFi

Как Engine Labs Создал Лучший Терминал для LLM и Занял Второе Место в Terminal Bench

DeFi
We built better terminal use than Claude Code (and scored #2 on Terminal Bench)

Подробный разбор инновационных подходов Engine Labs к использованию терминала для языковых моделей, превзошедших Claude Code по эффективности и стабильности, а также анализ технических сложностей и решений при работе с Bash-сессиями.

Использование больших языковых моделей (LLM) для программирования и взаимодействия с терминалом становится все более востребованной областью в индустрии искусственного интеллекта. Компания Engine Labs недавно продемонстрировала значительный прорыв в этом направлении, достигнув второго места на престижном рейтинге Terminal Bench. Их терминальный инструмент превзошел популярное решение Claude Code приблизительно на 25%, что эквивалентно улучшению на 10 процентных пунктов — впечатляющее достижение для небольшой, но опытной технической команды. В данной статье мы подробно рассмотрим эволюцию разработки терминального инструмента Engine Labs, основные вызовы и методы, которые позволили добиться таких успехов, а также причины, почему эта разработка стала важной в контексте современных AI-агентов для программирования. Современные AI-агенты все чаще нуждаются в возможности взаимодействовать с операционной системой через командную строку, в частности с Bash.

Такие решения есть у OpenAI Codex, Google Jules и Devin, однако реализация каждого из них имеет свои особенности. Например, Anthropic предлагает создавать постоянную Bash-сессию, с которой языковая модель взаимодействует без прерывания, тогда как OpenAI запускает каждую команду в отдельном дочернем процессе. Engine Labs взяли этот вопрос как отправную точку для исследований, и с течением времени пришли к выводу, что постоянная сессия обладает рядом преимуществ. Первоначальная реализация Engine Labs была похожа на подход OpenAI: команды, генерируемые языковой моделью, запускались как отдельные дочерние процессы через Node.js модуль child_process.

Такой подход был прост и достаточно эффективен для базовых задач, однако вскоре проявились ограничения. Команды, требующие взаимодействия с пользователем, например, запрос пароля или выбор параметров установки, приводили к зависаниям или тайм-аутам, так как процесс ожидал ввода, которого не было. Кроме того, запуск REPL-сред, таких как Python или Node.js интерактивные интерфейсы, вообще не работал в таком режиме, ведь каждая команда запускалась отдельно и не могла сохранять контекст. Чтобы избежать подобных проблем, команда Engine Labs вводила различные профилактические меры — устанавливали переменные окружения, запрещающие интерактивное взаимодействие, например DEBIAN_FRONTEND=noninteractive, и давала агенту рекомендации избегать команд, требующих ввода пользователя.

Несмотря на эти меры, решение оставалось неудобным и ограниченным, особенно для задач, где необходимо выполнение длительных или непрерывных процессов. Помимо этого, не предлагая возможности запуска постоянных сессий, инструмент сталкивался со сложностями при работе с командами, которые не завершались самостоятельно, например, веб-серверами или процессами, ожидающими сетевого ответа. Работа над тайм-аутами частично решала проблему, но ограничивала возможности агента запускать длительные операции, такие как компиляция больших проектов или сборка Docker-образов. Следующим этапом стала попытка реализовать постоянную Bash-сессию с использованием библиотеки node-pty, которая имитировала терминал и обеспечивала стабильный интерфейс для взаимодействия с оболочкой. Это позволяло сохранению состояния между командами и давало возможность работать с интерактивными процессами.

Однако это сразу породило новую проблему — как определить, что команда завершена и терминал готов принять следующий ввод? Практически это была усеченная версия классической задачи останова (halting problem), известной своей вычислительной сложностью и невозможностью гарантированного решения для всех случаев. Решение Engine Labs при этом не стремилось найти универсальный ответ, а использовало набор эвристик и практических трюков, направленных на покрытие наиболее частых сценариев взаимодействия. Одним из таких приемов было отслеживание «стабильности» вывода — если вывод не изменялся в течение определенного времени, прогнозировалось, что команда завершена или ожидает ввода. В работе с короткими командами, вроде ls, это давало отличный результат. Для долгого выполнения, например запуска Python REPL, агент наблюдал за появлением характерного приглашения >>>, после чего считал сеанс готовым к следующему действию.

Другой важной практикой была имитация подхода, используемого в демонстрациях Anthropic — после каждой выполненной команды автоматически добавлялся echo с уникальным сигнальным значением. Поиск этого значения в выводе помогал идентифицировать момент окончания обработки команды. Однако такой подход не работал с интерактивными средами, запускаемыми в терминале. Engine Labs пытались углубиться в системное программирование, чтобы с помощью утилиты strace отслеживать системные вызовы терминала и определять, ожидает ли процесс ввод. Это могло бы теоретически решить вопрос с зависаниями, но практика показала, что сложность решения и технические ограничения перевесили потенциальные выгоды, и этот путь был оставлен.

Особое внимание в разработке уделялось управлению временем ожидания вывода, ведь слишком короткая задержка могла приводить к ошибочным срабатыванием на команды с долгим молчанием, а слишком длинная — к замедлению работы агента в целом. В итоге, разработчики пришли к компромиссным настройкам, способным балансировать между задержкой и отзывчивостью, учитывая реальные ограничения среды, в которой исполняются команды — далеко не всегда оптимальной мощности. Стоит отметить, что в отличие от других решений, Engine Labs уделили внимание обработке управляющих символов и клавиш со стрелками, что позволило более реалистично имитировать поведение терминала и работы пользователя внутри сессии. Несмотря на то, что компания не раскрывает деталей коммерческих наработок, упомянуто, что в их текущей реализации отсутствуют субагенты или дополнительные терминальные инструменты — все построено вокруг одного Bash-инструмента. Такое решение принесло значительный успех — Engine Labs заняли второе место в Terminal Bench, уступив только компании, основным продуктом которой является терминал.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
FTX to Start Next Round of Creditor Repayments on Sept. 30
Воскресенье, 02 Ноябрь 2025 FTX Начинает Новый Раунд Выплат Кредиторам с 30 Сентября: Что Нужно Знать

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

Ripple’s XRP Crashes Double Digits – $90M in Long Positions Wiped Out
Воскресенье, 02 Ноябрь 2025 Крах Ripple XRP: Почему криптовалюта потеряла двузначный процент за считанные часы и кто оказался в зоне риска

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

Altcoin-Rallye geht weiter: Tezos, Conflux, Ethena & Snorter explodieren
Воскресенье, 02 Ноябрь 2025 Продолжается альткоин-ралли: взрывной рост Tezos, Conflux, Ethena и Snorter

Альткоин-рынок демонстрирует впечатляющий рост, в центре внимания находятся Tezos, Conflux, Ethena и Snorter, которые показывают значительный скачок капитализации и инновационные возможности. Анализ трендов и перспектив криптовалют.

Messi-Content bringt 1,8 Mio. Dollar
Воскресенье, 02 Ноябрь 2025 Как контент о Месси приносит 1,8 миллиона долларов и меняет цифровой ландшафт

Исследование феномена контента о Лионеле Месси, который генерирует доходы в размере 1,8 миллиона долларов, раскрывает секреты успешного онлайн-маркетинга и показывает, как спортивные звезды влияют на цифровую экономику.

The FDA Just Approved Juul’s E-Cigarettes. Does That Make Altria Stock a Buy Here?
Воскресенье, 02 Ноябрь 2025 Одобрение FDA для Juul: стоит ли покупать акции Altria после новостей?

Обсуждение последствий одобрения FDA для электронных сигарет Juul и влияние этого события на перспективы акций компании Altria на фондовом рынке.

Why Northrop Grumman Stock Is Up Today
Воскресенье, 02 Ноябрь 2025 Почему акции Northrop Grumman растут сегодня: анализ и перспективы

Подробный обзор факторов, влияющих на рост акций Northrop Grumman, включая финансовые показатели компании, текущие проекты и рыночные тенденции, а также рекомендации для инвесторов в сфере оборонной промышленности.

OpenAI's Sam Altman warns of AI voice fraud crisis in banking
Воскресенье, 02 Ноябрь 2025 Голосовой мошенничество в банковской сфере: предупреждение Сэма Олтмана из OpenAI о кризисе безопасности

Современные технологии искусственного интеллекта создают новые угрозы для финансовой безопасности, особенно в банковской сфере, где голосовая биометрия становится уязвимым звеном в системе защиты клиентов.