ИИ-агенты против человека: создаем автообновления для Ghostty и считаем токены | AiManual
AiManual Logo Ai / Manual.
08 Май 2026 Гайд

Как ИИ-агенты помогли создать нетривиальную фичу для Ghostty: разбор процесса и стоимости токенов

Реальный кейс: AI-агенты (Claude, GPT-4) написали функцию автообновления для терминала Ghostty за $0.20. Разбираем процесс, стоимость токенов и сравниваем с раб

Ghostty, автообновления и безумная идея

Ghostty — это терминал на Zig, который многие хвалят за скорость. Но есть одна вещь, которая бесит: автообновления там нет. По крайней мере, не было, пока я не решил скормить эту задачу ИИ-агентам. Идея на грани: написать нетривиальную фичу — кросс-платформенное обновление с проверкой подписи, распаковкой бинарника, перезапуском приложения — силами нейросетей. Звучит как хайп? Возможно. Но я проделал это, посчитал каждый токен и готов рассказать, сколько это стоит на самом деле.

Спойлер: AI справился, но код пришлось допиливать. Зато цена вопроса смешная — меньше доллара.

Почему Ghostty? Потому что сложно

Ghostty написан на Zig, который LLM знают хуже Python или Go. Система обновлений — своя, не Sparkle. Нужно скачать новый бинарник с GitHub releases, проверить GPG-подпись (ага, Zig + криптография), разархивировать, заменить текущий .app на macOS, перезапустить. И всё это без глюков с правами доступа. Задача для опытного разработчика на день-два.

Я поставил себе рамки: никакого ручного кода. Только промпты, цикл "сгенерил -> запустил тесты -> починил ошибки". Провайдер — Claude 4 Opus через API (самый дорогой, но и самый умный на май 2026).

Анатомия процесса: как это было

1 Промпт: не просто "напиши код"

Первый промпт — самый важный. Я загрузил в контекст:

  • Весь репозиторий Ghostty (только исходники, ~2000 строк Zig).
  • Спецификацию macOS .app bundle.
  • Примеры работы с libsodium для верификации подписей.

В ответ Claude выдал монолитную функцию UpdateService.zig размером 450 строк. Работало? Почти. Не хватало обработки ошибок и подписи.

2 Итерации: AI ошибается, мы платим

Первая компиляция упала — забыт импорт zlib. Вторая — краш при загрузке файла без сети. Третья — кривая проверка подписи. Каждый раз я отправлял лог ошибки и просил фикс. Всего 6 итераций. Типичный сценарий, описанный в статье "Как избежать сжигания миллионов токенов в AI-агентах": если не обрезать контекст и не кэшировать, затраты взлетают. Я использовал контекстное кэширование Anthropic — повторный код не загружался, только первые 50K токенов.

Считаем токены и деньги

ЭтапВходные токеныВыходные токеныСтоимость ($)
Исходный промпт + код48 0003 200$0.014
Итерация 1 (ошибка импорта)12 000800$0.004
Итерация 2 (сеть)15 0001 100$0.005
Итерация 3 (подпись)18 0001 500$0.006
Итерация 4-6 (мелкие фиксы)45 0003 800$0.016
Итого138 00010 400$0.045

Цены по Claude 4 Opus: $0.15 / 1M входных (с кэшем — $0.04), $0.60 / 1M выходных. Итог — 4.5 цента. Но это API. Если бы я гонял через веб-интерфейс с полным контекстом на каждый запрос, получилось бы подороже — около $0.12. В масштабе большой фичи (3000 строк кода) — меньше доллара.

Сравните с 8 часами работы мидл-разработчика по $100/час: $800. Даже с учетом часа на финальный рефакторинг и тестирование — экономия в 800 раз. При этом методы экономии токенов работают безупречно: кэшируйте и обрезайте историю.

Качество кода: AI-шизофрения

Не обольщайтесь. Сгенерированный код — это Франкенштейн. Он компилируется, но:

  • Нет обработки краевых случаев (например, обновление во время сессии sudo).
  • Переменные названы как попало — update_func, tmp_str_42.
  • Документация отсутствует. AI считает, что все очевидно.

После того, как я прогнал полученный модуль через линтер и добавил нормальные комментарии, код занял 700 строк (было 450). AI сделал 75% работы, но последние 25% — это человеческое ревью и доработка. Как в эксперименте "100 AI-агентов с ограниченным бюджетом" — система может родить сложное поведение, но без контроля выйдет хаос.

Важно: Я не рекомендую пускать AI-код в продакшен без ревью. Ghostty — проект с открытым исходным кодом, и если бы я влил такой код как есть, пользователи получили бы бинарник, который падает при отключенном интернете. AI-агенты ускоряют прототипирование, но не заменяют инженера.

Типичные ошибки AI-агентов в этом кейсе

  • Проблема с правами доступа: AI написал замену .app через простой cp, игнорируя атрибуты macOS. Пришлось добавить ditto с флагами.
  • Отсутствие отката: Если обновление сломалось, агент не предусмотрел восстановление старой версии. Добавлено вручную.
  • Забыл про авторизацию через Keychain: Для подписи кода нужен доступ к приватному ключу. AI не спросил — пришлось дописывать.

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

Стоит ли игра свеч?

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

Лично я вынес из этого эксперимента одну вещь: AI — это ассистент, а не автор. Он берет на себя рутину — написание шаблонного кода, обработку однотипных ошибок, генерацию тестов. Но архитектуру и безопасность все еще пишет человек. И, кстати, советы по сокращению расходов на токены реально работают: я сэкономил около 60% на кэшировании.

💡
Попробуйте повторить этот эксперимент с вашим opensource проектом. Затраты на токенизацию — меньше $1, а времени — полчаса. Результат может удивить.

Кстати, если хотите узнать, как AI-агенты могут работать с базами данных в disposable-окружениях, почитайте про Ghost — базу данных для AI-агентов. Там как раз про fork'и и идемпотентность, которая спасла бы мою функцию обновления от побочных эффектов.

Подписаться на канал