Как я использую AI в работе и жизни
Содержание
У меня начали вырабатываться паттерны в работе с ИИ, которые мне кажутся эффективными. Хочу ими поделиться.
Мой стиль использование ИИ сильно зависит от работы, выполнения которой я ожидаю от ИИ (JTBD). Но почти всё сводится к тому, что я пошагово работаю над документами в формате Markdown в системе контроля версий.
1) Брейнстормы на ходу
Когда я не за компьютером и мне нужно что-то побрейнстормить, я коммуницирую с приложением ChatGPT на айфоне через аудиосообщения.
Структура моего промпта такая (по аудио я обычно использую русский):
Я хочу сделать ХХХ (объясняю детально задачу). Я тебе буду слать аудио сообщения, ничего с ними не делай, пока я не дам отмашку. Когда дам, создай детальный Markdown с такими-то разделами
Дальше я шлю ему аудио сообщения в течение какого-то времени, он их транскрибирует и накапливает в памяти. Потом я даю команду сформировать Markdown и читаю, что он прислал в ответ.
Дальше я даю фидбек по аудио и прошу внести изменения в Markdown. Когда я удовлетворён, я копирую Маркдаун одним нажатием и сохраняю в Bear, либо в *.md файле на компьютере.
Часто эти файлы служат входными данными для следующего шага.
2) Брейнстормы на компе
На компе мой подход похож, но с двумя важными отличиями: я печатаю (так получается быстрее и точнее, чем аудио) и вместо графического интерфейса я использую Claude Code CLI и мы пишем содержимое в маркдаун файлы в git-репозитории на диске (даже если это не код, нет ничего лучше git для контроля изменений).
Если работа связана с конкретным проектом, у которого уже есть git репозиторий, работаю прямо там. Для всего остального у меня есть отдельный git-репо (AI assistant repo).
Я включаю Claude Code в plan mode, чтобы он не начал раньше времени писать в файлы и объясняю ему задачу.
Промпт такой:
We'll work on XYZ. I want you to come up with ... in this structure: ...
Create a markdown file in projects/xyz/plan.md
Далее он думает и даёт мне план того, что он собирается сделать. Я его корректирую, дополняю до тех пор, пока не убеждаюсь, что он движется в нужном мне направлении.
Затем я включаю auto-accept edits и даю ему отмашку на создание файла.
Смотрю на созданный файл в маркдауне. Если меня всё в целом устраивает делаю git add, чтоб сохранить рабочую версию.
Далее прошу Claude изменить то, добавить это и т.п. Что-то редактирую сам прямо в файле и прошу его обновить контекст из файла. После каждого изменения, которое меня устраивает — git add.
В итоге получается документ в маркдауне, с которым можно работать.
У меня два типа документов:
- "Бизнес-документ" — его я копирую в Bear, Google Docs или почту.
- План работы над кодом — добавляю его в GitHub Issue и перехожу к третьему стилю использования ИИ.
3) Работа с кодом с нуля
Я беру документ из предыдущего шага. Если он в том же репозитории, я просто говорю Claude, что мы сейчас начнем это имплементировать.
Если это другой репозиторий, то я говорю Claude использовать CLI гитхаба (gh) и вытащить инструкции из GitHub Issue во временный файл. Я пробовал использовать MCP, но Claude лучше работает с gh, чем с MCP.
Я прошу его проанализировать решение и дать фидбек в новой, независимой сессии. Обычно там вылазят невыявленные ранее проблемы. Потом прошу составить план имплементации — я сам говорю ему, что будет MVP и как мы будем делать всё пошагово.
Мы формируем план в маркдауне и далее я уже просто даю ему команды типа "implement phase 1", чтобы начать имплементацию супер маленькими кусками. Я проверяю код, тестирую его (сам, никогда не доверяю Claude Code гонять тесты, он начинает загоняться, если не понимает весь контекст), добавляю его в staged (git add), вношу изменения сам и т.п.
На этой стадии происходит очень много фидбека и рефакторинга. Если код — скрипты на выброс, я оставляю как есть, а если на долгосрок, я, как дирижер, говорю ИИ, что нужно сделать. В итоге получается безопасный, эффективный и красивый код. Сам он с этим справиться не может, к сожалению, даже если в репозитории уже есть явно выраженные паттерны.
При создании кода очень важно двигаться миниатюрными инкрементами. Иначе получится полный репозиторий говна.
4) Работа с пулл-реквестами
При помощи Claude Code я создал воркфлоу (набор shell-скриптов), который определяет какой PR привязан к текущей ветке, вытаскивает все комменты и смотрит, на какие последний ответ — не от текущего пользователя (то есть меня).
Он создаёт чеклист в маркдаун файле, по которому мы вместе проходимся и фиксим проблемы. Комменчу я либо сам, либо прошу Claude откомментить от меня при помощи CLI гитхаба.
5) Праздное любопытство
Единственная JTBD, для которой я не использую макдаун — это вопросы типа "как удаляют родинки" и "какого цвета был ти-рекс".
Это всё голосом в ChatGPT, там полный хаос, но это норм, потому что эфемерно, ни на что серьёзное не влияет и легко воспроизводимо заново.
Надеюсь, было полезно.