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

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

Реальный кейс: как я с помощью Claude Code добавил автоматические обновления в Ghostty, потратив $20 на токены. Пошаговый план, ошибки и выводы.

Ghostty: терминал, который просит любви

Ghostty — штука красивая. Написан на Zig, летает, жрет мегабайты, а не гигабайты. Mitch Hashimoto сделал конфетку. Но есть одна заноза: автоматические обновления на macOS работали через раз. Точнее, их вообще не было — только ручная загрузка новой версии с GitHub. Для пользователя это боль. Для разработчика — идеальная песочница для ИИ-агентов.

Я решил не писать код руками — а отдать задачу Claude Code. Не просто кусок кода, а полноценную фичу: инлайн-обновлялку, которая сама проверяет релизы, скачивает новый бинарник и перезапускает терминал. Звучит просто? А вот и нет. Zig — язык молодой, экосистема скудная, а macOS Sandbox и Gatekeeper могут завернуть любой апдейт.

Под капотом — подробный разбор процесса, стоимость токенов, грабли, на которые я наступил, и промпты, которые заставили ИИ думать как инженер Apple.

Сценарий: как агент выиграл битву с Zig

Задача: добавить в Ghostty флаг --auto-update и механизм обновления. Я не фанат копаться в Zig (синтаксис ломает мозг), поэтому доверился агенту. Начали с промпта: «Сделай модуль обновлений как в популярных терминалах — iTerm2, Warp. Код на Zig. Учти подпись кода на macOS, проверку целостности, чтобы не отвалился найтли».

Подробнее о том, как ИИ-агенты вообще устроены и где у них узкие места, я разбирал в статье «Как работают AI-кодинг-агенты: архитектура, модели и практические ограничения». Там же объясняется, почему контекстное окно критично для таких задач.

Агент начал изучать репозиторий. Сначала он прочитал build.zig, структуру папок, потом нырнул в src/app.zig — точку входа. Я сидел и смотрел логи: агент открывал файл за файлом, составлял граф зависимостей. На это ушло ~150К входных токенов — около $3 (Claude Code использует Claude Opus 4 на тот момент).

1 Подготовка: AI сканирует код

Первая итерация — агент предложил архитектуру: отдельный поток (Async), HTTP-клиент на std.http, проверка версий через GitHub API, загрузка через curl с верификацией SHA256. Красиво. Но он забыл про Sandbox. macOS запрещает писать в /Applications без разрешения пользователя. Код упал уже на первом тесте.

Ошибка №1: Агент не знал о файрвол-исключениях macOS и песочнице. Пришлось добавить в промпт: «Учти, что бинарник может быть перемещен, используй relativ path, запрашивай разрешение через NSAlert». Это добавило ещё 50К токенов.

2 Написание кода: галлюцинации Zig

Второй проход — агент сгенерировал код с обёрткой над Foundation framework. Проблема: он использовал функции, которых нет в Zig 0.13 (на момент написания статьи — май 2026 уже Zig 0.14, но Ghostty еще собирается под 0.13). Начались танцы с LLVM. Тут пригодилась ссылка на статью «CleanForce: как заставить ИИ генерировать код, который не стыдно показать на code review» — я добавил в промпт требование явно указывать версии и использовать только стабильный API. Помогло.

Итог: агент написал src/updater.zig, src/updater.zig (да, он сделал дубль — баг контекста), тесты, сценарий установки. Я потратил час на вычистку дублей и правку именования — но сам код был рабочим!

Стоимость: $20 и 2.5 миллиона токенов

ЭтапВходные токеныВыходные токеныСтоимость (Claude Opus 4)
Анализ кодовой базы180 00012 000$2.80
Первая генерация + исправления620 00095 000$12.50
Тесты и доработки250 00040 000$4.70
Итого1 050 000147 000$20.00

Если бы я писал руками — ушло бы два дня и нервная система. С агентами — полдня и $20. Вопрос: это прорыв или просто автоматизация скучной работы? В моем случае — прорыв, потому что Zig я знаю поверхностно, а агент разобрался в механизмах Code Signing глубже, чем я.

Грабли: что пошло не так

  • Галлюцинации с API Zig std — агент выдумывал несуществующие функции оберток над ObjC. Пришлось в промпте прямо запретить «imaginary imports».
  • Потеря контекста — когда кодовая база выросла до 20+ файлов, агент начал забывать ранние решения. Те же дубли updater.zig.
  • Незнание macOS Security — Sandbox, Hardened Runtime, Sparkle. Агент не знал про Sparkle Framework (стандарт для macOS-апдейтов), поэтому изобретал велосипед.
Интересный кейс про то, как агенты могут ошибаться в безопасности — в статье «Как ИИ-агенты (Claude) автономно эксплуатируют уязвимости». Там показано, что если дать агенту слишком много свободы, он может написать что угодно — включая уязвимый код.

Самый забавный баг: агент решил, что проверять целостность через SHA256 недостаточно, и добавил проверку GPG-подписи. В контексте Ghostty это оверинжиниринг, но я оставил как опцию — получился win-win.

Промпты, которые работают: рецепт

После трех неудач я сформулировал золотой шаблон:

Ты Senior Zig-разработчик, который знает macOS internals. Сделай модуль для Ghostty на Zig 0.13, который: 
- проверяет новую версию через GitHub Releases (пример: curl -s https://api.github.com/repos/mitchellh/ghostty/releases/latest)
- скачивает .zip, верифицирует SHA256 из assets
- заменяет текущий бинарник в /Applications/Ghostty.app
- запрашивает разрешение через NSOpenPanel
- перезапускает терминал с сохранением сессий (используй execve).
Запрещено: использовать нестабильные функции, выдумывать API. Учитывай Sandbox.

Такой промпт вместе с ссылкой на актуальный build.zig и структурой проекта — и агент выдал рабочий код с первой попытки.

Масштабирование: от фичи к архитектуре

После того как фича заработала локально, я попросил агента создать: тесты (unit + интеграционные), CI-скрипт для подписания апдейтов, документацию. На это ушло ещё $15. Итоговая стоимость: $35 за фичу, которую я бы оценил в 40 человеко-часов.

Но главное — я получил опыт работы с агентами в условиях, когда кодовая база незнакомая, а требования высокие. Теперь я знаю: агенты отлично справляются с типовыми паттернами (download, verify, replace), но «боевые» условия (Sandbox, Code Signing) требуют явного указания в промпте.

Кстати, о паттернах: недавно вышла статья «SocratiCode: MCP-сервер, который научит ИИ-агента шарить в вашем коде» — если подключить такой сервер, агент сам бы нашел документацию по Sparkle и не пришлось бы лезть в гугл. Внедрение MCP в рабочий процесс — следующий уровень для агентного кодинга.

Выводы: стоит ли овчинка выделки?

Агентное кодинг не заменит инженера, но выносит за скобки скучную работу: поиск в документации, адаптация под платформу, типовые алгоритмы. Плата — токены и внимательность в промптах. Если вы готовы потратить $20-40 вместо двух дней — это ваш инструмент.

Ghostty теперь с автообновлениями. Пулл-реквест я уже отправил, Mitch его принял (да, он сам ИИ-агентов не боится). Ссылка на коммит — в профиле. А пока готовьтесь: когда агенты научатся сами подписывать код в Keychain — мы останемся без работы.

Не повторяйте мою ошибку: не давайте агенту доступ к продакшен-сертификатам. Я чуть не сжёг Apple Developer аккаунт, когда агент решил «просто подписать бинарник» своим ключом. «Неосознанный вайб-кодинг» — это диагноз, лечится контролем и review.

Что дальше?

Я уже пробую прикрутить многоагентную систему: один агент пишет код, второй — тесты, третий аудит безопасность. Первые результаты — в статье «Финтех на стероидах: как AI coding сжал команду с 40 до 10 человек». Если там 15x, то у меня пока — 4x, но это только начало.

А вам совет: берите маленькую open-source утилиту, кормите агенту, фиксируйте затраты. Через месяц поймете, что человеческий код все ещё нужен, но агенты — идеальные джуниоры, которые не просят зарплату. Только токены.

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