Nit: Замена Git на Zig, Оптимизированная для Эффективности Токенов ИИ-Агентов

Nit — это замена Git, написанная на Zig, оптимизированная для ИИ-агентов в программировании за счёт сокращения потребления токенов и повышения скорости выполнения. Инструмент был создан после анализа 3156 реальных сессий программирования, где Git генерировал примерно 459 000 токенов вывода (7,4% от всех команд оболочки).
Улучшения производительности
Экономия токенов в компактном режиме nit по сравнению со стандартным Git:
status: ~125 токенов → ~36 токенов (экономия 71%)log -20: ~2273 токена → ~301 токен (экономия 87%)diff: ~1016 токенов → ~657 токенов (экономия 35%)show --stat: ~260 токенов → ~118 токенов (экономия 55%)
По данным реальных сессий, компактные настройки по умолчанию в nit позволили бы сэкономить 150–250 тыс. токенов. Результаты бенчмарков производительности из 100 прогонов hyperfine на реальном репозитории:
status: 13,7 мс → 8,4 мс (в 1,64 раза быстрее)diff: 14,3 мс → 9,9 мс (в 1,44 раза быстрее)show: 10,2 мс → 7,3 мс (в 1,39 раза быстрее)
Техническая реализация
Nit использует нулевую стоимость взаимодействия с C в Zig для @cImport заголовков libgit2 и прямого вызова функций, исключая накладные расходы на подпроцессы и парсинг текста. Он нативно читает базу объектов Git. Для команд, которые nit ещё не оптимизировал, он переключается на Git через execvpe(), полностью заменяя процесс nit без каких-либо накладных расходов на обёртку.
Такая конструкция с передачей делает alias git=nit безопасным — вы никогда не теряете функциональность, и по мере добавления нативных реализаций для большего числа команд передача автоматически сокращается.
Ключевые проектные решения
Самым спорным проектных решением стало сокращение контекста diff с 3 строк (стандарт Git) до 1 строки (U1). Тестирование на 27 прогонах многофайловых diff, вложенных управляющих конструкций, перемещений кода и неоднозначных похожих блоков показало, что Claude справился на 4/4 при контекстах U0, U1 и U3. Анализ 561 вызова Git diff/show из реальных сессий Claude Code показал, что только 3,9% агентов читали исходный файл сразу после diff, что позволяет предположить, что сам diff предоставляет достаточный контекст.
Nit предлагает два режима:
- Компактный (по умолчанию): Вывод, оптимизированный для машин, только с данными
- Человеческий (
-H): Цветной, сгруппированный вывод для удобства чтения человеком
Трудности разработки
Самым сложным было тестирование на соответствие — Git имеет десятилетия наработок по краевым случаям, включая detached HEAD, коммиты слияния, переименованные файлы, бинарные diff и подмодули. Разработчик написал 78 тестов на соответствие, охватывающих все эти случаи, исправляя расхождения в выводе с Git там, где это было значимо.
Установка: brew install fielding/tap/nit
Примеры использования:
- Для агентов:
nit log - Для людей:
nit log -H - Полная замена:
alias git=nit
📖 Read the full source: HN AI Agents
👀 Смотрите также

Извлечение кода для ИИ-агентов: почему векторные эмбеддинги не работают и как побеждают графы LLM на уровне файлов
Потратив год на создание системы индексации кода, команда Bytebell обнаружила, что векторные эмбеддинги на фрагментах кода и Tree-sitter AST имеют критические недостатки, в то время как LLM-сводки по файлам, хранящиеся в графе Neo4j с семантическим полнотекстовым поиском, значительно повышают точность поиска.

Термрендер: 6-кратно эффективная по токенам ASCII-визуализация интерфейса для Claude
Termrender — это инструмент с открытым исходным кодом на Python, который генерирует ASCII-визуализации интерфейсов с эффективностью использования токенов в 6 раз выше по сравнению с исходным выводом Claude. Он создаёт диаграммы и панели, используя минимальное количество токенов для более быстрой генерации и редактирования.

Локальный ИИ-агент достигает задержки STT и TTS менее секунды с использованием открытых серверов.
Разработчик достиг задержки STT ~0,2 с с использованием Whisper large-v3-turbo с гибридной архитектурой управления потоками GPU и задержки TTS ~250 мс с Coqui-TTS, оптимизированным для синтеза с низкой задержкой. Обе реализации полностью саморазмещаемые и имеют открытый исходный код.

CopilotKit: открытые компоненты React для пользовательских интерфейсов агентов
CopilotKit (30k звезд, MIT) предоставляет React-компоненты для слоя пользовательского интерфейса агентов: чат, потоковая передача, вызовы инструментов, участие человека в цикле и генеративный UI, с поддержкой протокола AG-UI в LangGraph, ADK, CrewAI и других.