AI写出死代码?Go团队的deadcode工具一条命令就能发现
ИИ-агенты отлично генерируют код, но они также отлично оставляют мёртвый код — неиспользуемые функции, недостижимые ветви и осиротевшие помощники, которые раздувают кодовую базу и сбивают с толку будущих читателей. Инструмент deadcode от команды Go находит его одной командой.
Что такое deadcode?
deadcode — это официальный инструмент Go (часть golang.org/x/tools), который выполняет анализ недостижимости всей программы. Он сообщает о функциях и методах, которые никогда не могут быть вызваны ни из одной точки входа вашей программы. Это не просто линтер — он выполняет реальный анализ потока управления и указателей для определения достижимости.
Как найти мёртвый код, написанный ИИ
Запустите это из корня модуля:
go run golang.org/x/tools/cmd/deadcode@latest ./...Это сканирует весь модуль и выводит список недостижимых функций, например:
deadcode: unreachable: main/helpers.go:23:7:func helperNeverCalled()Вы также можете передать конкретные пакеты или флаги:
-test: включить тестовые файлы в анализ-filter: сообщать только о функциях, соответствующих регулярному выражению (например,-filter '_dead')-json: вывод в формате JSON для интеграции с CI-инструментами
Почему ваш ИИ-агент оставляет мёртвый код
LLM-агенты генерируют код вероятностно — они часто пишут служебные функции, которые никогда не вызывают, или создают резервную копию старого кода при рефакторинге. Поскольку код компилируется и тесты проходят, это легко пропустить. deadcode ловит это детерминированно.
Безопасное удаление мёртвого кода
После запуска deadcode проверьте каждую недостижимую функцию вручную. Функция может быть недостижимой, потому что она используется через рефлексию, вызывается из go:linkname или является частью публичного API — у инструмента есть флаг -reflect для учёта рефлексии. Но в большинстве случаев, если она не вызывается из main (или тестов), её можно безопасно удалить.
Затем запустите go test ./..., чтобы убедиться, что ничего не сломалось. Устранение мёртвого кода — один из самых лёгких способов поддержания чистоты кодовой базы — и это делает вывод вашего агента чище для следующей итерации.
📖 Читайте полный источник: HN AI Agents
👀 Смотрите также

Реляционная память для LLM: Трехуровневая система моделирует взаимоотношения с пользователем
Инструмент с открытым исходным кодом на Python, который добавляет реляционную память к LLM, моделируя отношения пользователь-ИИ по семи психологическим измерениям, используя трёхуровневую нарративную структуру вместо плоского хранения фактов.
Claude Code v2.1.239: смета расходов включает надбавку 1.1x, обновление /claude-api и крупные исправления
Claude Code v2.1.239 добавляет премию за инференс только для США в оценку стоимости, вводит команду /claude-api upgrade для Python 1.x и исправляет ошибки прокси Bedrock, памяти WebFetch и многое другое.

Многократные сбои в работе агентов — это сбои в организации, а не в подсказках
Агентные циклы между равноправными узлами — это не баги промптов, а проблемы оргструктуры. Рассматривайте сети агентов как иерархии с четкой властью остановки.

Использование нескольких сеансов Claude Code параллельно с Git Worktrees
Разработчик рассказывает, как использовать git worktrees для запуска нескольких сессий Claude Code на отдельных ветках без stash и переключения контекста. Просматривайте diff, сливайте ветки и двигайтесь дальше.