Plan & Act на Практике
Ссылка:
https://youtu.be/Xf0xFpvaIcY
Я использую Codex CLI для планирования и Claude Code для имплементации кода.
Чтобы показать, как это работает на практике, решил записать видео. Пишите в комментах на ютубе, как вам? Насколько понятно?
Да, при записи видео возникли некоторые проблемы 🌚, но думаю так даже интереснее. В будущем планирую записать ещё видео со своим подходом.
#ai_codi@the_ai_architect
✔️ Timur Khakhalev про AI Coding, подписывайтесь!
⭐️ Консультации по AI Coding
короче, на выходных я записал видосик того, как я работаю с codex cli и CC по своему подходу plan&act.
конечно, получилось не с первого раза)) сначала снял 40 минут, потом ради интереса стопнул видос и обнаружил, что видео сжалось ужасно в OBS)) пришлось перезаписывать.
на втором тейке к концу работы один субагент ни в какую не мог нормально вызвать codex cli, пришлось разбираться что не так и вручную выполнять работу этого субагента.
в конце концов задачи были выполнены, но не так красиво, как я себе это представлял.
вам такое было бы интересно посмотреть? или нужен идеальный проход?
сейчас занимаюсь монтажом, у меня в этом нет опыта, так что всё идёт медленно)) но интересно, пока что терпения хватает 😅
Как подчищать за агентом
Если кто не в курсе, то существует такой инструмент — knip (TypeScript). Он позволяет найти в вашем проекте неиспользуемые части кода. Работает плоховастенько (false positive) и довольно медленно, но если учитывать эти минусы, то это довольно неплохой инструмент для того, чтобы отлавливать накопившийся мусор после работы вашего агента.
Что важно помнить перед использованием этого инструмента:
- knip может возвращать false positive — т. е. некоторые части кода он может пометить как неиспользуемые, но на самом деле это не так.
- важно "сохраниться" коммитом перед началом такой операции
Как начать использовать с агентом (любым, не только Claude Code):
▪️ Иметь в package.json команду knip, а так же команду type-check для проверки, что типы TS сходятся
▪️ Рассказать агенту, что у нас есть команды knip и type-check и мы хотим удалить ненужный код. Агенты уже знают что такое knip, и что он часто false positive
▪️ В конце работы агента, проверить что всё ок
Мой опыт
Я сейчас провел чистку интерфейсов в одном проекте и сэкономил около 400 loc ))
Я знаю что у меня есть штук 5 файлов с интерфейсами (zod schemas, TS types), где очень много неиспользуемых типов и схем.
Сначала, я попросил Claude Code просто запустить эту команду pnpm knip | grep "$mask" и удалить неиспользуемые типы.
Спустя некоторое время я заметил, что ему очень тяжело — после удаления кусков кода команда type-check возвращает ошибки и агент ходит кругами.
Ок, значит, надо декомпозировать задачу
▪️ Попросил агента (Claude Code) запустить команду knip ещё раз, оценить результат и изменения в каждом файле делегировать одному субагенту
▪️ Запустить таким образом в параллель 3 субагента
▪️ Сделал то же самое ещё 3 раза и обработал все нужные файлы. - type-check сошёлся. Успех!
А какие похожие инструменты используете вы?
#ai_coding@the_ai_architect
✔️ Тимур Хахалев про AI Coding, подписывайтесь!
Вчера Anthropic выпустили очень жирный релиз – Opus 4.5, который опять является the best model in the world for coding, agents, and computer use, и теперь стал дешевле в 3 раза! Эту новость вы наверняка слышали и в других источниках, но я хотел рассказать об интересных обновлениях Сlaude Developer Platform, которое выпустили вместе с новым Опусом.
1. Tool Search Tool – Антропики прочитали мой пост и узнали, что github mcp жрёт очень дофига токенов! Поэтому, они придумали сделать тул, который будет искать другие тулы.
Работает очень просто: вы, как разработчик MCP сервера можете пометить каждый тул флагом defer_loading: true. Такой тул не будет загружен в контекст модели с запуском системы. Когда модель, вдруг, захочет запустить такой тул, то она сначала воспользуется поиском, найдет его, загрузит его промпт в свой контекст и потом вызовет.
Плюсы - лучшая экономия токенов в контекстном окне; модель больше не тратит своё драгоценное внимание на ненужные тулы.
Минус - скорее всего, придётся чаще подсказывать модельке дергать нужные тулы и использовать свой поисковик.
Документация, пример использования
2. Programmatic Tool Calling – в начале ноября Антропики выпускали статью о том, что они придумали штуку покруче чем mcp, о чём я писал пост, который стал самым популярным у меня в канале. Эта фича даёт возможность модельке самостоятельно писать код под задачу, использовать и выкидывать его, когда он станет не нужен.
Теперь, доступно и для разработчиков Claude Dev Platform. Там же, в блоге, Антропики подсказывают, когда стоит это использовать:
- Работа с большими датасетами, где нужно извлечь часть информации
- Запуск multi-step workflows с несколькими вызовами иниструментов
- Пре-процессинг данных перед отправкой в модель
- Параллельные задачи
Когда не стоит:
- простые задачи, где достаточно одного вызова тула
- задачи, где важно показать модельке всю информацию
Документация, пример реализации
3. Tool Use Examples – few shot examples в удобной обёртке в API! Теперь при определении тулов, можно удобно показать, как стоит вызывать инструменты. Мелочь, а приятно.
Документация
✔️ Тимур Хахалев про AI Coding, подписывайтесь!
На скорую руку записал очень краткое видео (5:29) – показал, как происходит работа в Antigravity.
Кому интересно – welcome
https://www.youtube.com/watch?v=NRWIOiauBrw
Gemini 3.0 Pro доступна в ai.dev бесплатно
Самая ожидаемая мною модель за последние несколько месяцев.
По бенчмаркам хорошо рвёт конкурентов 🥹
Так же, доступно ещё и в Cursor.
Пресс-релиз
https://blog.google/products/gemini/gemini-3
Пятничная новость
В конце августа мы организовывали панельку по AI Coding, и я шутки ради предложил идею создания "тиктоков" по репозиториям кода.
Сегодня, 14 ноября, Google анонсирует Code Wiki — это инструмент для создания и постоянного обновления документации для любого репозитория.
Работает на NotebookLM и может генерировать видео с объяснением репозитория.
Что? Да!
На прикреплённом видео пример такого видео по репозиторию gemini cli.
Ещё из особенностей:
◼️ Гугл заявляет, что Code Wiki может регенерить доку после каждого изменения кода
◼️ Конечно же, чатик с кодовой базой
◼️ Ссылки на код
◼️ Визуализация
◼️ Интеграция с Gemini CLI с помощью Extension в скором времени.
Попробовать можно тут codewiki.google
---
Вообще, я смотрю, гугл очень основательно готовятся к релизу Gemini 3. Анонсировали ещё в конце весны, а в последний месяц модель была замечена то там, то тут, и, как минимум, фронтенд она генерирует очень классно. Очень надеюсь, что тройке дадут хорошую агентность и у нас будет уже 3 офигенных ai coding CLI — Claude Code, Codex CLI, Gemini CLI
#ai_coding@the_ai_architect
✔️ Timur Khakhalev про AI Coding, подписывайтесь!
⭐️ Консультации по AI Coding
Делегирование — важный навык в AI Coding
Представьте, вы общаетесь в чатике с Cursor, обсуждаете фичу и вам необходимо, чтобы агент сделал предварительный рисерч по кодовой базе: узнал, как устроен у вас тот или иной функционал. Обычно, рисерч неплохо так отнимает контекстное окно, и процесс рисерча (поэтапное изучение кодовой базы) нам в контексте не нужен, потому что полезной нагрузки никакой не несёт. Нам нужен только результат такого рисерча.
Что делать?
Делегировать такую задачу какому-нибудь падавану.
В Claude Code для этого есть встроенные субагенты Explore, Plan, но что, если вы хотите иметь такую возможность не только в Claude Code?
Есть выход!
Можно использовать headless режим у cli coding agent.
◼️ У любого coding agent (даже не только cli, а и у Cursor, Windsurf) есть возможность работать с shell окружением, что позволяет нам запускать любые скрипты.
◼️ Большинство кодинговых агентов можно запустить в headless режиме, типа claude -p "some prompt here" и получить результат работы в ответе.
Таким образом, для нашей задачи рисерча, мы можем попросить нашего любимого кодингового агента запустить своего собрата (или самого себя) в headless режиме. Ваш агент создаст промпт для рисерча, отправит делать падавана рисерч и в ответ получит результат, с которым можно продолжить работать.
💡 Лайфхак 1: можно этого падавана попросить сохранить результат в файлике и в ответ вернуть путь к этому файлу. Это поможет передать инфу безопаснее — на случай, если результат может быть больше, чем лимиты на ответ в headless режиме.
💡 Лайфхак 2: падавану можно заранее настроить MCP сервера или любые другие конфиги/инструкции, которые помогут ему ещё лучше делать рисерч или выполнять любые другие задачи. Например, я использую serena mcp для более качественного рисерча по кодовой базе.
В своём опыте я время от времени пользуюсь таким, когда работаю в Codex CLI и в качестве падавана я использую gemini cli, не зря же у меня есть подписка Gemini Pro!
Этот подход так же можно применять и для "воссоздания" функционала subagents как у Claude Code там, где их нет - Codex, Gemini CLI, Qwen CLI и другие. При этом, у некоторых из них (Gemini, Qwen) есть free tier.
Чтобы каждый раз не объяснять агенту синтаксис работы headless режима, можно положить инструкции где-нибудь в репозитории, например, в AGENTS.md.
Я пошёл ещё дальше и решил по-быстрому запилить для этого Claude Code Skill. Да, скиллы поддерживаются только в Claude Code, но никто не мешает вам вытащить нужные правила и добавить в свой AGENTS.md.
Если было полезно, жмите 🔥+🔁!
#ai_coding@the_ai_architect
#tools@the_ai_architect
✔️ Timur Khakhalev про AI Coding, подписывайтесь!
⭐️ Консультации по AI Coding
А вы обращаете внимание на слова агентов "может быть", "скорее всего" и т. д. в своих ответах?
По моему опыту, когда речь идёт о чем то однозначном (например, обсуждаем документацию API) и модель использует такие фразы, то это говорит о том, что у нее отсутствует точная информация об этой штуке.
В таком случае, стоит добавить grounding - добавить контекстную инфу самостоятельно (документация, файлы, и т. д. ) или попросить агента поискать в интернете, если есть такая возможность.
Звучит очевидно, но не все осознают это ☝️
Через 20 минут начну здесь:
Подключайтесь!
upd: стрим прошел, всем спасибо за участие! в этот раз без записи, т к это был тестовый стрим, есть что улучшить. Следующие стримы будут получше и там я уже оставлю записи
Моё мнение на последние продуктовые обновления Claude Code
◾️ Claude Skills – Anthropic представили новую фичу, которая по своей сути является набором специализированных промптов для работы над одной конкретной задачей. Claude будет использовать Skills только когда поймет, что это необходимо, после этого Skill будет загружен в контекст. Может исполнять скрипты через bash, при этом основной контекст чата тратиться не будет. Исполняется в sandbox.
Ничего не напоминает?
Да, это тоже самое что и subagents. Фича классная для Claude Desktop, но зачем она в Claude Code я так и не понял. Наверное, добавили для консистентности, чтобы можно было удобно перенести из Claude Desktop в Claude Code.
Но если у вас уже настроен subagent, который, например, процессит PDF (как это сделано в примере в документации к Skillsl), то менять его на Skill я пока что смысла не вижу
◾️ Claude Code Cloud – аббревиатура классная получается, ну а в целом – конкурент Codex Cloud и Jules в наборе продуктов Anthropic.
Функционал пока что бедненький – ни subagents, ни custom commands пока что не завезли. Но если у вас есть подписка Claude и вы давно хотели попробовать cloud agent coding tool – велкам.
◾️ Обновление Plan mode – теперь в режиме Plan, если у агента есть вопросы по вашему запросу, то он сформирует их в удобный селектор – с помощью Tab, Enter и стрелочек можно выбирать ответы и на основе них агент улучшит свой план.
Почему это круто?
Если вы пользовались Plan раньше, то могли заметить, что иногда при выполнении задачи может находить более 1 варианта решения и упоминает об этом, но в плане сам выбирает предпочтение, и приходилось отменять план, дописывать уточнения и запускать это заново.
Теперь, агент предложит выбор в удобном интерфейсе! UX улучшен, качество планирования улучшено.
Странно, что не добавили такую очевидную штуку раньше. Возможно, их подтолкнул недавний апдейт Cursor, где добавили тоже самое, но без удобного селектора
#ai_coding@the_ai_architect
#claude_code@the_ai_architect
✔️ Timur Khakhalev про AI Coding, подписывайтесь!
⭐️ Консультации по AI Coding
Gemini 3 – лучшая модель для кодинга
Нет, серьёзно?
А как же Claude Opus 4.5? А GPT-5.1-Codex-Max-Extra-High?
Весь 2025-й год обсуждения в AI коммьюнити проходят примерно по такому сценарию.
Знакомо? Узнали? 😁
Всё дело в том, что у каждого человека есть своё понимание хорошего, каждый по-своему позволяет использовать AI в работе. Кто-то доверяет AI писать только парочку функций в проекте, а кто-то полностью делегирует AI работу с кодом.
Получается, что у людей разные кейсы использования AI Coding, а как сравнивать это – непонятно.
Где грань между эффективным использованием и профессиональной ленью? Какие паттерны реально работают в продакшене, а какие – просто хайп блогеров?
Мы с Максом Романовским и Колей Шейко хотим исправить эту проблему и решили создать опросник для практиков AI Coding.
Мы хотим узнать, для каких кейсов вы применяете Gemini 3, а для каких – Cursor Composer-1.
Хотим узнать, какие лайфхаки помогают вам успешно писать код и деливирить результат.
Взамен, спустя время, мы с вами поделимся результатом этого опроса и организуем площадку для обмена таким опытом.
Заполнить опрос
А если пошерите этот пост или ссылку на опрос в канале на 100+ человек, добавим ссылку на канал на страницу с итогами! напишите мне потом в личку
Письмо авторам телеграм-каналов
- Может быть покапитанствую местами - но куда ж без этого)
- Там на самом деле нет откровений, всё уже сообществом придумано и опробовано )
- Чет вообще ничего писать не хочется
Ещё одно обновление от Anthropic за вчера
Обновился Claude Desktop и туда добавили Claude Code.
Теперь у CC есть красивый GUI! Функционал пока что ограничен – например, отсюда нельзя запустить субагентов, но выглядит красиво!
На самом деле, CC Desktop это такой "мостик" между CC Web и CC CLI – работает локально, но в git worktrees, что позволяет в один миг перенести работу в Claude Code Web.
Доступно и на MacOS и на Windows, но на винде переключатель на CC почему-то просто редиректит в CC web версию )) так что работает пока что только на маке.
Добавили поддержку файла .worktreeinclude – это позволит указать те файлы, которые игнорируются .gitignore, но которые нужно носить с собой между git worktrees, например: .env, node_modules/ и т. д.
Прямо отсюда можно открыть VSCode и посмотреть на код, либо открыть сессию CC в терминале и там все фичи CC будут доступны.
Если вы всегда хотели попробовать Claude Code, но окно терминала вас отпугивало, то попробуйте Claude Code Desktop!
✔️ Тимур Хахалев про AI Coding, подписывайтесь!
Я участвую в ERC3
Ринат Абдуллин, автор канала LLM под капотом вот уже в третий раз проводит Enterprise RAG Challenge. Первые раунды были про RAG — ответить на вопросы, найдя информацию в сотнях PDF, каждая по 10-100 Mb.
Новый раунд — про агентов. Необходимо построить систему на агентах, которая сможет пройти бенчмарки.
Пример задачи из бенчмарка:
Buy 24 sodas as cheap as possible. Coupons: SALEX (when buying a lot of 6pk), BULK24 (for 24pk), COMBO (when buying 6pk and 12pk)
store с помощью codex cli: я дал агенту api spec платформы, описал суть челленджа и отправил работать. Со второй попытки, модель codex-max-high выбила 100 баллов.
Вот несколько интересных особенностей Antigravity
◼️ Судя по всему, новый форк VSCode был разработан под руководством Varun Mohan – он бывший фаундер Windsurf, попал в DeepMind летом 2025 после того, как развалилась сделка о покупке Виндсёрфа компанией OpenAI
◼️ Antigravity пока что бесплатный и это единственный способ попробовать Gemini 3 Pro бесплатно в IDE/CLI. Или можно попробовать в браузере, через ai.dev
◼️ Есть два режима: Planning (планирование, потом исполнение) и Fast (сразу исполнение)
◼️ Во время работы, Antigravity может создавать Artifacts
◾️ Task List - красивый список тасок в текущем диалоге
◾️ Implementation Plan - план выполнения задачи. Есть возможность дополнять его комментами, отвечать на вопросы модели, а затем обновлять план. Всё тоже самое, что я делаю вручную))
◾️ Walktrough - саммари выполненной задачи. Очень удобно резюмировать что было сделано!
◾️ Screenshots - скриншоты, которые браузер делает во время работы
◾️ Browser Recordings - в этой IDE есть browser subagent, который управляет браузером! Этот субагент может в последствии записать экран своей работы. Самый очевидный юзкейс - E2E тесты! Наконец-то!
◾️ Knowledge - аналог Memory Bank! Здесь хранятся полезные инсайты, паттерны, солюшены из кодинговой сессии
◼️ Нативная интеграция с браузером Chrome
Звучит очень офигенно! Жаль только что IDE пока что сырая, вижу это по отзывам в коммьюнити и по видосу Theo
Надо будет обязательно попробовать в работе.
Надеюсь, этот IDE не убьёт Gemini CLI, как это обычно бывает у гугла))
✔️ Timur Khakhalev про AI Coding, подписывайтесь!
⭐️ Консультации по AI Coding
Я уже несколько раз говорил про свой подход Plan & Act.
В нем я сначала планирую изменения, которые мне нужны в проекте, а потом пишу код по этому плану.
Я обсуждаю эти изменения в чате с AI, в моем случае это Codex CLI, и в процессе этого обсуждения появляется черновик — набросок принятых решений, обсужденных решений, детали реализации и прочее.
Далее мне нужно сконвертировать этот набросок в actionable tasks, т. е. задачи, которые я передам в работу.
Как мне сказал один из моих клиентов после консультации, такие задачи можно давать и людям в работу. В моем же случае, я эти задачи передаю в мой workflow имплементации с Claude Code.
На данный момент, этот workflow имплементации почти идеально. Все, что было задумано в плане, исполняется. То, что было упущено по причине нехватки контекста или внимания у модели, перепроверяется с помощью шага аудита и исправляется.
Я заметил, что процесс конвертации черновика в Actionable Tasks довольно нестабилен. Чаще всего, теряются обсужденные ранее детали и план становится слишком "общим". "Вожжи" у Claude Code ослабевают и это ведёт плохому исполнению на этапе имплементации.
Это привело меня к идее сделать инструмент, который будет делать эту конвертацию программно с использованием AI.
На скриншоте можно увидеть пример работы такого инструмента. Пока что он ещё не готов. Не уверен, нужно ли публиковать этот инструмент, потому что он довольно специфичный и не всем подойдет: будет полезен только там, где используется именно такой подход Plan&Act.
Я не строю больших планов на этот инструмент, воспринимаю его очень нишевым и временным. Ожидаю, что спустя время, он не пригодится. Но при этом, он является неплохим опытом для меня в создании ai coding tools.
Как начать работать с субагентами в Claude Code?
Простая аналогия субагента
Представьте, что для того, чтобы выполнить понятную вам задачу и не брать на себя когнитивную нагрузку по имплементации этой задачи, вы делегируете эту её на джуна.
Вы выдаете ему инструкции как и что делать, он уходит работать, спустя время возвращается и отчитывается о результате.
Как начать?
После того как вы обсудили задачу в чатике с Claude Code, напишите 5 волшебных слов:
Delegate this task to `Task`
/agents.
MCP нам был нужен, теперь пришло время идти дальше
Спустя чуть менее года с момента релиза протокола MCP, Anthropic написали статью о том, что MCP был ошибкой 😄
В этой статье они небезосновательно упоминают о частых проблемах с MCP:
▪️Tools тратят очень много токенов контекстного окна, я об этом кстати уже рассказывал тут
▪️Промежуточные результаты tools тратят дополнительные токены.
В статье приводится пример запроса пользователя: "Скачай meeting transcripts с Google Drive и добавь их к Salesforce lead".
Для исполнения такого запроса нужно, чтобы модель использовала один tool для выкачивания транскриптов, а потом создала из этого лиды.
Транскрипт 2 часового митинга может занимать около 50к токенов, что, в свою очередь, ведёт к тому, что контекстное окно в скором времени закончится.
Насколько я помню, у Claude Desktop версий моделек Sonnet, контекстное окно вообще в 32k токенов
Как эти проблемы предлагает решить Anthropic?
Просить модель делать то, что она уже умеет очень хорошо — писать код, который выполнит задачу.
Как наш пример можно реализовать с таким подходом?
1. Модель получает интерфейсы и API от внешних tools - от Google Drive MCP и от Salesforce MCP
2. На основе имеющихся интерфейсов и задачи от пользователя, модель пишет код, который программно возьмет нужные meeting transcripts и создаст Salesforce leads
3. Задача выполнена
optional. Ту инфу, которую модели нужно знать, она узнает из кода через console.log()
Гениально! 🎉
В статье упомянуто, что в этой конкретной задаче таким способом удалось снизить расход токенов с 150к до 2к.
☝️
Как обычно, подход очевиден, но не все осознают его.
Я в своем опыте использую такой подход для написания одноразовых скриптов.
Из последнего — упростить миграцию данных из одной БД в другую. Я прошу Claude Code написать два node js скрипта:
1) db1 -> json
2) json -> db2
Ну и далее эти скрипты исполняются вручную мной или агентом и выполняют задачу.
Этот подход уже используется в Cloudflare Agents SDK (на него ссылаются авторы), так же знаю, что Ринат Абдуллин (@llm_under_hood) использует такой способ написания кода в своем видении AI Coding.
Стоит отметить, что написание кода LLM моделям "роднее", потому что программного кода они в своих датасетах видели больше, чем "MCP tool calls".
Конечно, здесь есть и свои минусы, но на мой взгляд, это может помочь повысить надёжность способов взаимодействия LLM с внешним миром.
А вы что думаете по этому подходу?
✔️ Timur Khakhalev про AI Coding, подписывайтесь!
⭐️ Консультации по AI Coding
Очередное напоминание, что Feedback loop — это очень круто.
Сейчас делаю интеграцию Stripe на одном проекте, код уже написан и теперь настал этап проверки — нужно убедиться, что заказы создаются, вебхуки работают.
Со Stripe я давно не работал, и обнаружил, что у них появился Stripe CLI. Одна из фич — можно триггерить вебхуки прямо из своей консоли, а вторая фича — редиректить такие запросы себе на локальный хост (без ngrok и т. д.).
В голове сразу же родилась идея — нужно дать этот инструментарий Sonnet'у, чтобы он провел тесты.
1) Попросил выписать вебхуки, которые у нас вообще есть для Stripe
2) Описал свою идею и дал вводные: вот так можно получить доступ к локальной БД, вот такой юзер нас интересует, а вот таким инструментом нужно отправлять запросы на тест вебхуков
3) Попросил поднять бэкенд прямо в CC (просто запустить bash команду и таким образом агент сможет читать логи бэкенда)
4) По окончанию составить репорт
На скриншоте — такой репорт. Тесты прогнал, ошибки пофиксил, прогнал заново и теперь всё классно, можно тестировать остальные части системы и отправлять фичу на деплой!
✔️ Timur Khakhalev про AI Coding, подписывайтесь!
⭐️ Консультации по AI Coding
В последнее время чаще всего меня просят показать мою работу на практике.
Ок, давайте попробуем
25 октября, в субботу, в 18 часов по МСК я проведу стрим на ютубе и покажу, как я работаю с ai coding tools.
На лекции я уже рассказывал про успешный кейс работы над своим пет проектом - аналог tgstat[.]ru. Вот над ним и поработаем в прямом эфире))
Буду отвечать на вопросы и стараться объяснять зачем и что делаю.
Записи не будет, так что успейте побывать онлайн.
📆 Создать напоминание в Google Calendar
✔️ Timur Khakhalev про AI Coding, подписывайтесь!
⭐️ Консультации по AI Coding