Habr AI→ оригинал

Разработчик поселил агентов Claude Code и Codex в чёлке MacBook за 0,5% CPU

Когда параллельно работают три-четыре сессии Claude Code и Codex, время уходит на переключение между окнами. Автор разбора на Habr написал для macOS приложение, которое выводит статусы агентов в чёлку MacBook. Чёлка светится, когда агент ждёт человека, а каждая сессия превращается в человечка в пиксельном офисе на SpriteKit. Claude Code отслеживается через хуки, Codex через чтение журналов без API. Свечение на Core Animation занимает около 0,5% процессора. • Claude Code: статусы через хуки • Codex: чтение журналов без API • Свечение чёлки: около 0,5% CPU

AI-обработка оригинала Habr AI; редакция Hamidun News
Разработчик поселил агентов Claude Code и Codex в чёлке MacBook за 0,5% CPU
Источник: Habr AI. Коллаж: Hamidun News.
◐ Слушать статью

Три-четыре параллельные сессии Claude Code и Codex быстро превращают рабочий день в беготню между окнами: один агент закончил, второй ждёт подтверждения, третий завис. Автор разбора на Habr решил это небольшим приложением для macOS. Оно выводит статусы всех агентов в чёлку MacBook и подсвечивает её, когда кому-то нужен человек. Каждую сессию приложение рисует как человечка в пиксельном офисе. Свечение, по словам автора, обходится примерно в 0,5% процессора.

Проблема: много агентов и нет панели управления

Параллельный запуск кодинг-агентов стал обычной практикой. Один рефакторит модуль, другой пишет тесты, третий разбирается с багом. Инструменты для этого пока рассчитаны на одно окно терминала и одного человека, который смотрит именно на него. Если агент остановился в ожидании разрешения на команду, он простаивает, пока вы не заметите. На длинных задачах эти паузы набегают в часы.

Чёлка здесь выбрана логично. Это единственная зона экрана, которую не перекрывают окна, и она всегда в поле зрения. Приложение занимает пустое место и не конкурирует за пространство с редактором.

Как это устроено

Для Claude Code автор использует хуки. Это механизм, который запускает ваши команды на событиях жизненного цикла сессии, например при остановке или запросе внимания. Приложение получает сигнал в момент события и не опрашивает процессы в цикле.

С Codex схема другая. Автор читает журналы сессий, которые инструмент пишет на диск, и обходится без API. Решение прагматичное, но с оговоркой: формат журналов не является публичным контрактом. Обновление Codex может изменить структуру файлов, и парсер придётся чинить.

Визуальная часть собрана из двух слоёв:

  • пиксельный офис отрисован на SpriteKit, одна сессия соответствует одному человечку;
  • свечение чёлки сделано на Core Animation, а не через постоянную перерисовку сцены.

Второй пункт объясняет цифру в 0,5% CPU. Анимация, которую ведёт система композитинга, дешевле покадрового рендера. Для приложения, которое висит открытым весь день, это принципиально. Утилита-индикатор не должна сама отъедать ресурсы у агентов и IDE.

Ключевые параметры

  • Платформа: macOS, область чёлки MacBook.
  • Claude Code: статусы приходят через хуки.
  • Codex: чтение журналов, без API.
  • Визуализация: пиксельный офис на SpriteKit.
  • Сигнал ожидания: свечение на Core Animation, около 0,5% CPU.
  • Статистика: автор заявляет, что собирает её без единого счётчика внутри приложения. Подробности он раскрывает в полной статье.

Что можно взять в работу

Если вы гоняете несколько агентов одновременно, начинать с чёлки необязательно. Минимальная версия умещается в один вечер: хук Claude Code на событие остановки пишет статус в файл или отправляет системное уведомление. Уже это снимает половину проверок окон.

Дальше стоит решить, чему доверять. Хуки лучше парсинга журналов, потому что это документированная точка расширения. Журналы удобны, когда у инструмента нет внятного события, но закладывайте время на поддержку. Если читаете файлы чужого CLI, держите проверку формата и показывайте в интерфейсе ошибку разбора, а не молча считайте агента зависшим.

Отдельный урок касается потребления ресурсов. Любой фоновый индикатор к агентам, которые и так грузят процессор и память, должен укладываться в доли процента. Анимацию лучше отдавать системе композитинга, а не рисовать сцену заново каждый кадр.

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

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 50+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
✦ Автономные AI-агенты

Делегируйте ресёрч, код и рутину автономному AI-агенту

Интеллектуальная агентная среда NomadNet Agent (agent.nomadnet.ai) выполняет многошаговые задачи: глубокий веб-ресёрч, анализ данных, написание кода и автоматизацию браузера.

Запустить NomadNet Agent →Платформа NomadNet AI
Что вы думаете?
Загружаем комментарии…