Мой путь к использованию ИИ

Мой путь к использованию ИИ

@ai_longreads

Автор делится поэтапным путём освоения ИИ-инструментов — от скептицизма до ежедневного использования агентов, описывая каждую фазу и практические уроки.

Это AI-перевод статьи, сделанный каналом Про AI: Лучшие Статьи и Исследования.


Мой путь к использованию ИИ

My AI Adoption Journey Автор: Mitchell Hashimoto Оригинальный текст

Мой опыт освоения любого значимого инструмента неизменно проходит через три фазы: (1) период неэффективности, (2) период адекватности и, наконец, (3) период открытий, меняющих рабочий процесс и жизнь.

В большинстве случаев мне приходится заставлять себя пройти через первую и вторую фазы, потому что обычно у меня уже есть рабочий процесс, который меня устраивает. Освоение инструмента ощущается как работа, и я не хочу прикладывать усилия, но обычно делаю это, стремясь быть разносторонним профессионалом своего дела.

Это мой путь к тому, как я нашёл ценность в ИИ-инструментах и что пробую с ними дальше. В океане чрезмерно драматичных, хайповых мнений надеюсь, что это представляет более взвешенный подход к моим взглядам на ИИ и тому, как они менялись со временем.

Этот пост полностью написан вручную, моими словами. Ненавижу, что приходится это говорить, но учитывая тему — хочу быть в этом явным.

Шаг 1: Откажитесь от чатбота

Немедленно прекратите пытаться выполнять значимую работу через чатбот (например, ChatGPT, Gemini в браузере и т.д.). У чатботов есть реальная ценность, и они — ежедневная часть моего ИИ-рабочего процесса, но их полезность в программировании сильно ограничена. Вы в основном надеетесь, что они выдадут правильные результаты на основе предварительного обучения, а исправление ошибок требует от человека (вас) многократно указывать им на ошибки. Это неэффективно.

Думаю, первый опыт каждого с ИИ — это чат-интерфейс. И первый опыт программирования с ИИ у каждого — это просьба к чат-интерфейсу написать код.

Пока я ещё был заядлым ИИ-скептиком, мой первый момент «ух ты» случился, когда я вставил скриншот командной палитры Zed в Gemini и попросил воспроизвести её на SwiftUI — и был по-настоящему поражён, что он сделал это очень хорошо. Командная палитра, которая сейчас поставляется для macOS в Ghostty, лишь слегка изменена по сравнению с тем, что Gemini выдал мне за секунды.

Но когда я попытался воспроизвести это поведение для других задач, меня ждало разочарование. В контексте существующих проектов я обнаружил, что чат-интерфейс часто выдаёт плохие результаты, и я очень разочаровывался, копируя код и вывод команд туда-сюда. Это было очевидно гораздо менее эффективно, чем если бы я делал работу сам.

Чтобы найти ценность, вы должны использовать агента. Агент — это принятый в индустрии термин для LLM, которая может общаться и вызывать внешние действия в цикле. Как минимум агент должен уметь: читать файлы, выполнять программы и делать HTTP-запросы.

Шаг 2: Воспроизведите свою собственную работу

На следующем этапе пути я попробовал Claude Code. Сразу к сути: поначалу я не был впечатлён. Просто не получал хороших результатов из своих сессий. Чувствовал, что приходится дорабатывать всё, что он производит, и этот процесс занимал больше времени, чем если бы я просто сделал всё сам. Читал посты в блогах, смотрел видео, но так и не впечатлился.

Вместо того чтобы сдаться, я заставил себя воспроизвести все свои ручные коммиты агентными. Буквально делал работу дважды. Делал работу вручную, а затем бился с агентом, чтобы он произвёл идентичные результаты по качеству и функциональности (без возможности видеть моё ручное решение, разумеется).

Это было мучительно, потому что мешало просто делать дела. Но я достаточно опытен с не-ИИ инструментами, чтобы знать: трение естественно, и я не могу прийти к твёрдому, обоснованному выводу, не исчерпав своих усилий.

Но экспертиза сформировалась. Я быстро открыл для себя из первых принципов то, что другие уже говорили, но самостоятельное открытие привело к более глубокому фундаментальному пониманию.

В более общем плане я также нашёл границы того, в чём агенты — на тот момент — были хороши, в чём не были, и для задач, в которых они были хороши — как достигать желаемых результатов.

Всё это привело к значительному росту эффективности, до такой степени, что я начал естественно использовать агентов так, что чувствовал: это не медленнее, чем делать самому (но всё ещё не чувствовал, что быстрее, поскольку в основном «нянчился» с агентом).

Негативное пространство здесь стоит повторить: часть роста эффективности — понимание того, когда не обращаться к агенту. Использование агента для того, в чём он, вероятно, провалится — очевидно большая трата времени, и знание, как полностью этого избежать, ведёт к экономии времени.

На этом этапе я находил достаточную ценность в агентах, чтобы с удовольствием использовать их в рабочем процессе, но всё ещё не чувствовал, что получаю чистый прирост эффективности. Впрочем, мне было всё равно — на тот момент я был доволен ИИ как инструментом.

Шаг 3: Агенты в конце дня

Чтобы попытаться найти некоторую эффективность, я начал новый паттерн: выделять последние 30 минут каждого дня, чтобы запустить одного или нескольких агентов. Моя гипотеза была в том, что возможно я смогу получить некоторую эффективность, если агент сделает какой-то позитивный прогресс во время, когда я всё равно не могу работать. По сути: вместо того чтобы пытаться делать больше в имеющееся время — попробовать делать больше в то время, которого у меня нет.

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

Уточню: я не зашёл так далеко, как другие, чтобы агенты работали в циклах всю ночь. В большинстве случаев агенты завершали свои задачи менее чем за полчаса. Но в конце рабочего дня я обычно устаю и выхожу из потока, и нахожу себя слишком лично неэффективным, так что переключение усилий на запуск этих агентов давало мне «тёплый старт» на следующее утро, позволяя начать работать быстрее, чем иначе.

Я был доволен и начинал чувствовать, что делаю больше, чем делал до ИИ, пусть и незначительно.

Шаг 4: Отдайте на аутсорс лёгкие задачи

К этому моменту я стал очень уверен в том, какие задачи мой ИИ хорошо решает, а какие — нет. У меня была очень высокая уверенность в определённых задачах, что ИИ достигнет почти правильного решения. Следующий шаг на моём пути: пусть агенты делают всю эту работу, пока я работаю над другими задачами.

Точнее, я начинал каждый день с того, что брал результаты моих ночных триаж-агентов, вручную фильтровал их, чтобы найти проблемы, которые агент почти наверняка решит хорошо, а затем держал их работающими в фоне (по одному, не параллельно).

Тем временем я работал над чем-то другим. Я не залипал в соцсетях (не больше обычного без ИИ), не смотрел видео и т.д. Я был в своём обычном, до-ИИ режиме глубокого размышления, работая над тем, над чем хотел или должен был работать.

Очень важно на этом этапе: выключите десктопные уведомления агента. Переключение контекста очень дорого обходится. Чтобы оставаться эффективным, я понял, что моя работа как человека — контролировать, когда я прерываю агента, а не наоборот. Не позволяйте агенту уведомлять вас. Во время естественных пауз в работе переключитесь и проверьте его, затем продолжайте.

Важно, что, думаю, «работа над чем-то другим» помогает противодействовать широко освещённому исследованию Anthropic о формировании навыков. Ну, вы делаете обмен: не формируете навыки для задач, которые делегируете агенту, продолжая формировать навыки естественным образом в задачах, которые продолжаете делать вручную.

На этом этапе я твёрдо был в территории «нет пути назад». Чувствовал себя более эффективным, но даже если бы не был — больше всего мне нравилось то, что теперь я мог фокусировать своё программирование и мышление на задачах, которые по-настоящему любил, при этом адекватно выполняя задачи, которые не любил.

Шаг 5: Разрабатывайте обвязку

Рискуя сказать очевидное: агенты гораздо эффективнее, когда выдают правильный результат с первого раза или, в худшем случае, выдают результат, требующий минимальной доработки. Самый надёжный способ достичь этого — дать агенту быстрые, качественные инструменты, автоматически говорящие ему, когда он неправ.

Не знаю, есть ли для этого общепринятый термин в индустрии, но я стал называть это «harness engineering» (разработка обвязки). Это идея, что каждый раз, когда вы обнаруживаете ошибку агента, вы находите время разработать решение, чтобы агент никогда больше не совершал эту ошибку.

Это бывает в двух формах:

Лучшее неявное промптирование (AGENTS.md). Для простых вещей, например, когда агент постоянно запускает неправильные команды или находит неправильные API — обновите AGENTS.md (или эквивалент). Вот пример из Ghostty. Каждая строка в этом файле основана на плохом поведении агента, и это почти полностью решило все проблемы.

Настоящие, запрограммированные инструменты. Например, скрипты для снятия скриншотов, запуска отфильтрованных тестов и т.д. Это обычно сопровождается изменением AGENTS.md, чтобы агент знал об их существовании.

Вот где я сейчас нахожусь. Я прилагаю искренние усилия каждый раз, когда вижу, что агент делает Плохую Вещь — предотвратить это в будущем. Или, наоборот, прилагаю искренние усилия, чтобы агенты могли проверить, что делают Хорошую Вещь.

Шаг 6: Всегда держите агента запущенным

Параллельно с шагом 5 я также работаю над целью всегда иметь запущенного агента. Если агент не запущен, я спрашиваю себя: «Есть ли что-то, что агент мог бы делать для меня прямо сейчас?»

Мне особенно нравится сочетать это с более медленными, вдумчивыми моделями вроде deep mode от Amp (который по сути просто GPT-5.2-Codex), которым может требоваться 30+ минут на небольшие изменения. Обратная сторона в том, что они обычно выдают очень хорошие результаты.

Я [пока?] не запускаю несколько агентов и сейчас не особо хочу. Нахожу, что один работающий агент — хороший баланс для меня между глубокой ручной работой, которая мне нравится, и присмотром за моим довольно тупым и всё же загадочно продуктивным роботом-другом.

Цель «всегда иметь агента запущенным» — всё ещё только цель. Сейчас, я бы сказал, эффективно имею фонового агента запущенным 10-20% обычного рабочего дня. Но активно работаю над улучшением этого.

Я не хочу запускать агентов ради запуска агентов. Хочу запускать их только когда есть задача, которая, думаю, будет мне по-настоящему полезна. Часть сложности этой цели — улучшать свои рабочие процессы и инструменты, чтобы иметь постоянный поток качественной работы для делегирования. Что важно и без ИИ!

Сегодня

Вот где я нахожусь сегодня.

Через этот путь я лично достиг точки, где успешно использую современные ИИ-инструменты и верю, что подхожу к этому с правильным взвешенным взглядом, укоренённым в реальности. Мне правда всё равно, останется ИИ с нами или нет — я софтверный ремесленник, который просто хочет создавать вещи из любви к делу.

Весь ландшафт движется так быстро, что уверен: скоро оглянусь на этот пост и посмеюсь над своей наивностью. Но, как говорится, если тебе не стыдно за своё прошлое «я» — ты, вероятно, не растёшь. Просто надеюсь, что буду расти в правильном направлении!

У меня нет здесь личной заинтересованности, и конечно есть другие причины помимо полезности, чтобы избегать использования ИИ. Полностью уважаю индивидуальные решения каждого по этому поводу. Я не здесь, чтобы вас убеждать! Для тех, кому интересно — просто хотел поделиться своим личным подходом к навигации в этих новых инструментах и дать представление о том, как я подхожу к новым инструментам в целом, независимо от ИИ.


Подпишитесь на канал и каждый день читайте лучшие материалы про AI переведенные на русский!

Нашли интересную статью для перевода? Пришлите нашему боту: @ailongreadsbot

Report Page