Обновить

Claude Code на Windows: что я прописал агенту, чтобы он перестал спотыкаться

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели10K
Всего голосов 11: ↑9 и ↓2+10
Комментарии12

Комментарии 12

Ага, вечно они думают, что у них есть bash и git)).
Когда я только начинал возиться с OpenCode, обратил внимание, что он в каждой новой сессии начинал grep'ать и glob'ить (ага, на винде) -- и сдуру задал ему промпт, "посмотри все свои прошлые сессии и запиши, на чём спотыкался и как этого избежать". Дальше у агента (к счастью, не у меня) приключился геморрой на пару часиков: "прошлые"-то сессии OpenCode хранит в какой-то "дазе банных", чтоб в них залезть ему пришлось кодить, питона на компе не нашлось (но нашелся node.js), и для задачи "посмотри свои прошлые сессии" появился десяточек JSных скриптов (которые я на всякий случай прикопал как отдельный скилл). А уж с этими скриптами агент сам сумел разобраться, каких инструментов у него нет, какие есть, и какой должен получиться AGENTS.md.
Получился, кстати, похожий на тот, что у автора статьи.
(А скилл "посмотри прошлые сессии..." оказался полезен и для других задач на поддержке крупного проекта. И чтобы подобрать наилучшую стратегию анализа логов, и чтобы запоминать, какие именно места приходится часто искать в репозитории).

У меня как-то было что в длинном чате claude потерял контекст и ничего не смог найти. Выгружал чат и отдавал в виде файла, чтобы он вспомнил.

а, ну это и с дикПик регулярно бывает. Упёрся в ограничение контекста (или начал повторять одни и те же рассуждения) -- вручную выдираешь ключевые моменты, и начинаешь новый чат. Но сейчас я чаще тем самым скиллом "посмотри прошлую сессию" (удобная оказалась штука), мол, "глянь, что уже выяснили, что ещё осталось -- и продолжи".

Проще, наверное, самому ИИ этот скилл и поручить, такскзть изгнать бесов силою князя бесовского. У меня OpenCode, в нём сессии хранятся в sqlite -- а из инструментов на компе нашелся (незнамо откуда) node.js; у Вас может оказаться и другой способ хранения сессий (claude), и другие инструменты. Пусть лучше сам агент разбирается: один раз напишет, пару раз прогонит на реальном анализе, выловит все баги...

Я полагаю, все идут схожим путем. У меня есть скилл retro, который делает тоже самое - анализирует сессию и дает рекомендации, что нужно поправить в AGENTS.md или скилах.

появился десяточек JSных скриптов (которые я на всякий случай прикопал как отдельный скилл). А уж с этими скриптами агент сам сумел разобраться, каких инструментов у него нет, какие есть

Мне кажется, было бы проще и правильнее установить bash. Да, на винду, никаких проблем с этим нет.

Так уж получилось, что агент заточен под работу с bash – зачем усложнять жизнь себе и агенту, когда можно просто дать тот инструмент, который ему нужен?

ну, например, git я ему никак не установлю (ну нет его у нас в конторе), т.е. отучать его каждый раз лазать в git (и говорить "ой, а git'a-то нету") всё равно бы пришлось. Так что по-любому надо было точить агент под существующие инструменты; к тому же, сделать это один раз.

Git вполне себе portable – можно просто скачать бинарники. Ну и это неважно – мой тэйк был именно про bash. Что надежнее\безопаснее использовать инструменты под которые агент заточен, а не прокладывать какие-то обходные пути.

Гм, а что, собственно, мешает просто поставить WSL и PS7? В особенности, WSL: у меня, например, в нём поднята копия серверного сетапа – соответственно, можно локально пропустить все тесты перед пушем в git.

согласен, для бэкенда WSL с копией серверного сетапа - отличный вариант, тесты перед пушем так и надо гонять. У меня есть часть работы - браузерная автоматизация с живыми профилями гугла, и её удобнее держать нативно: окна, CDP, профили на диске Windows. Через WSL это ещё один слой, который тоже надо отлаживать.

PS7 поставить можно, и он закроет первый пункт. Но остальные четыре (имена процессов, PATH агента, localhost, диск) от версии PowerShell не зависят

PS7 поставить можно, и он закроет первый пункт. Но остальные четыре (имена процессов, PATH агента, localhost, диск) от версии PowerShell не зависят

Ни с одной не сталкивался. Если питон из MS Store не годится – опять таки, поставьте тот, что подходит. У меня стоят нормальные python.exe под виндой и python3 под WSL, оба отлично находятся. С PATH вообще не понял – шелл Клода наследует PATH юзера, он точно такой же. Но даже если почему-то нет – это ровно одна строчка в CLAUDE.md. localhost vs 127.0.0.1 – либо прописать на странице Allow-Origin, либо опять же одна строчка. Скорость чтения диска – проблема конкретного компа.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации