📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Matt Pocock’s Agentic Engineering Workflow (just copy him)

David Ondrej1:02:25

Transcription

Все одержимы моделью, и я думаю, им следует больше интересоваться "обвязкой" (harness), тем, как получить максимум от этой "обвязки", давая ей правильные запросы, давая ей правильные навыки для работы и улучшая среду, в которой работает модель. Как я уже говорил про Fable, модель полезна, но я думаю, что "обвязка" требует не меньше усилий, и у вас гораздо больше контроля над "обвязкой", чем над моделью. Люди сосредоточены не на том. Они смотрят на большую блестящую новую вещь, когда на самом деле достаточно сосредоточиться на том, что работает уже 30-40 лет, знаете ли, и это действительно работает. Люди постоянно спрашивают меня, как оптимизировать расходы на токены? Имейте кодовую базу, в которую легче вносить изменения, >> верно, Мэтт? Так в чем же будет основное различие между людьми, которые используют ИИ, чтобы безумно продвинуться вперед, и большинством людей, которые получают от него лишь небольшой прирост? В своей книге "Философия проектирования программного обеспечения" Джон Астерут говорит о разнице между тактическим и стратегическим программированием. Я нахожу это различие очень полезным при размышлении об ИИ, потому что тактическое программирование — это все, что касается повседневной работы на местах, фактического написания кода, фактического копания в синтаксисе, выяснения ошибок по мере их возникновения и фактического создания кода, создания коммитов. Стратегическое программирование — это победа в войне, а не в битве. Это долгосрочное мышление. Это генерал, сидящий наверху. Как должна выглядеть кодовая база, какие >> стратегии я могу использовать для повышения нашей скорости? И для меня стратегическое программирование всегда было самым интересным, самым захватывающим. Так я думал, даже когда был младшим разработчиком. Как мы можем увеличить нашу скорость? Как мы можем сделать больше с меньшими затратами? И ИИ, по сути, поглотил тактическое программирование. Его больше нет, >> верно? Его больше нет. Так что ИИ просто лучше справляется с тактическим программированием, чем вы, потому что он может делать это дешевле, >> верно? И поэтому вам нужно быть отличным в стратегическом программировании, чтобы получить максимум от этого бесконечного флота тактических программистов, к которым у вас теперь есть доступ. >> Значит ли это, что нужно знать, как оркестрировать этих агентов, плюс некоторые основы проектирования программного обеспечения, архитектуру кодовой базы, как бы вы разбили это на такие конкретные навыки, которые люди могут изучить? >> Да, отличный вопрос. Стратегическое программирование в ИИ действительно не изменилось, >> верно? ИИ — это просто >> все, что мы делаем, это вместо того, чтобы делегировать младшим или средним программистам, мы делегируем ИИ. Так что вещи, которые вам нужны для хорошего делегирования, остаются прежними. Вам нужно заранее спроектировать сложные части. Вам нужно убедиться, что эти задачи действительно, действительно хорошо определены. Вам нужно думать об интерфейсах между всеми модулями в вашей кодовой базе. Знаете, вам нужно думать о тестировании и хороших тестах. Вам нужно, по сути, спроектировать кодовую базу, в которой легко работать, и иметь достаточно документации, чтобы указать ИИ на правильные места, где он будет вносить эти изменения и делать это эффективно. >> Я думаю, все в данный момент согласны с тем, что прогресс ИИ очень быстр, если не ускоряется. Поэтому я думаю, что многие люди также упускают часть повышения своей квалификации, >> верно? Потому что, да, вы можете платить за подписки, вы знаете, вы можете получить новейшие инструменты, но в конечном итоге это может сделать любой, но все равно будут люди, которые используют эти инструменты для массового роста своего бизнеса, знаете ли, для выпуска большего количества и лучшего программного обеспечения, чем когда-либо прежде, и будут люди, которые попробуют немного и, знаете ли, возможно, используют бесплатную версию или более дешевую модель. Так как бы вы посоветовали людям начать учить себя, чтобы стать лучше? >> Да. >> Люди постоянно спрашивают меня, потому что, знаете ли, я продаю курсы для разработчиков, >> верно? Так что, знаете ли, вы можете принять мой совет с щепоткой соли, но лично я считаю, что мои навыки являются множителем для ИИ, >> верно? Если я могу контролировать кодовую базу и думать о том, как следует строить вещи, и просто говорить ИИ, как это сделать, тогда ИИ имеет гораздо более богатый контекст для работы. И я думаю об этом, я вижу это повсюду, и люди >> вроде CTO и люди, с которыми я разговариваю на конференциях, говорят мне это постоянно: ИИ делает старших разработчиков в 10 раз лучше. И нет смысла нанимать так много младших разработчиков, потому что младшие получают небольшой прирост от ИИ, но старшие получают от него просто смехотворно огромный прирост, и они могут сделать с ним гораздо больше. Так что ваши навыки — это потолок того, что может сделать ИИ. И если ваши навыки низкие, то ИИ не сможет пройти дальше этого, >> знаете ли. Так что стать хорошим в ИИ — это действительно стать хорошим в своей области, стать хорошим в том, что >> ИИ будет делать для вас. Так что лучший учитель может использовать ИИ, чтобы учить людей лучше, чем >> случайный человек, >> знаете ли. Так что я думаю, что навыки сейчас важнее, чем раньше, потому что, опять же, у вас просто есть этот множитель, доступный вам, и вы можете делегировать больше. Так что вы недавно выпустили новый навык "учить" (teach), >> верно? Можете ли вы рассказать нам больше об этом? Если вы когда-либо пытались извлекать данные поиска из Интернета в больших масштабах, вы знаете, что это кошмар. Вы пишете скрейпер, он работает неделю, но потом меняется макет. Затем вы сталкиваетесь с капчами, ваши прокси блокируются, везде ограничения скорости, и внезапно вы обнаруживаете, что поддерживаете инфраструктуру скрейпинга вместо создания фактического проекта. Вот где приходит SER API. Он предоставляет вам чистые структурированные результаты поиска из Google, Bing, Yahoo и других источников через один вызов API. Вы отправляете запрос, и получаете чистый JSON-объект с именно теми данными, которые вам нужны. Никакого решения капч, никаких вращающихся прокси, никакого сломанного HTML. Они справляются со всем этим. И для работы с ИИ это огромный плюс. Скажем, вы создаете агента, которому нужна актуальная информация. Просто используйте их API поиска Google. Или, возможно, вы обучаете модель ИИ, которой нужен набор данных. Их API изображений Google предоставляет вам предварительно классифицированные заголовки, URL-адреса и миниатюры, готовые к использованию. Множество производственных агентов уже используют SER API в качестве одного из своих основных инструментов, и вы можете начать с 250 бесплатных кредитов. Кредитная карта не требуется. Просто отсканируйте QR-код на экране или нажмите первую ссылку под видео. О, и огромное спасибо Surf API за спонсорство этого видео. >> Да, я много знаю об обучении. Я был учителем в течение 10 лет, на самом деле. Я преподавал >> пение и вокал, когда >> только что закончил университет. Затем я стал разработчиком, а теперь я учу разработчиков. Я занимаюсь этим последние четыре года. Так что я много знаю об обучении, и я подумал: хорошо, что, если я возьму некоторые из принципов обучения, которые я знаю, такие как зона ближайшего развития, такая как разница между знаниями, навыками и мудростью, и закодирую это в навык, и, по сути, использую это для создания курса на лету по любой теме, и это то, что я сделал, и это чрезвычайно эффективно. Я на самом деле учусь, я учу себя кубику Рубика с помощью этого. Я могу решить кубик Рубика теперь по памяти благодаря этому навыку. И я использовал это для всяких вещей. Так вчера я >> копался в том, как может выглядеть запрос к навыку "учить" (teach) о том, как стать старшим разработчиком. И он, по сути, проделал большое путешествие, изучая кучу доверенных ресурсов, собирая большую учебную программу, и просто выдал что-то великолепное. И так >> абсолютно, давайте попробуем. >> Да. Да, я думаю, людям понравится это увидеть. >> Определенно. Хорошо, так >> Дэвид, чему ты хочешь научиться? >> Давайте займемся системным дизайном. >> Знаете что, я >> у меня есть идея: многие люди приходят ко мне. Я >> преподаю курсы для инженеров, на самом деле, для людей, которые уже знают, как быть инженером. >> Меня интригует, может ли этот навык научить вас, по сути, основам инженерии, >> понимаете? Чтобы заполнить пробелы, которые у вас могут быть, если вы "вайб-кодер", >> понимаете? Так что я собираюсь притвориться, что я "вайб-кодер". Я собираюсь вызвать навык "учить" (teach). Я нахожусь в пустом каталоге, и я просто позволю ему работать. Так что я продиктую кое-что, и посмотрим, как пойдет. Я "вайб-кодер", и я хочу заполнить пробелы в своих знаниях, чтобы выпускать лучшее программное обеспечение. Я знаю очень, очень простые команды CLI и знаю достаточно, чтобы читать код и использовать терминал, но это все. Что, по вашему мнению, мне следует изучить, чтобы >> развивать свои навыки дальше? >> Итак, я собираюсь >> простой запрос, простой английский. Любой может задать вам это. >> Точно. И это просто очень, очень простой запрос. И я на самом деле не говорю о предмете, который я пытаюсь изучить. Я говорю о своей миссии, о том, чего я хочу добиться, о причине, по которой я прихожу на эту сессию с учителем сегодня. И вы можете думать об этом как о совместном усилии. По сути, я разговариваю с учителем, а агент — мой учитель. и он должен знать, как лучше всего меня учить. >> И хорошо, что вы упомянули об этом и создали навык недавно, потому что буквально вчера я думал об этом, >> верно? Особенно когда вышел Fable. Я подумал: как мне повысить свою квалификацию, чтобы получить от него максимум, потому что, я знаю, я не там, где могу быть. >> Знаете, есть люди гораздо лучше меня, гораздо более квалифицированные, чем я. Так что, это >> отличное время, что у вас есть этот навык сейчас. >> Хорошо. Ну, это >> по сути, говорит: хорошо, я проверил рабочее пространство. Это чистый лист. Навык "учить" (teach), вам нужно запустить его в рабочем пространстве, потому что он сохраняет кучу информации в этом рабочем пространстве. Хорошо? >> И для "вайб-кодера", который может читать код и использовать базовый терминал, самый высокий рычаг пробела — это почти никогда не больше синтаксиса. Это то, что вокруг кода, что позволяет вам выпускать без страха. Это 100% правда. Так что Git, чтение ошибок, отладка, как на самом деле выпускается программное обеспечение, тестирование, абсолютно Git — это то, с чего мы начинаем. Хорошо, >> но сначала миссия. Я не хочу угадывать. Три быстрых вопроса. Первое, что делает навык, — это, по сути, согласовывается с тем, что вы хотите сделать. Я думаю об обучении и изучении не как о получении информации в голову, а как об ориентации в мире, помещении вас в новое место в мире. И это своего рода немного абстрактно и немного, знаете ли, почти духовно, но на самом деле это не так. По сути, вам нужно изучить эти навыки, чтобы что-то сделать в мире, и это ваша миссия, >> верно? Так что это вроде: что вы строите, что означает "выпускать лучшее программное обеспечение" для вас прямо сейчас, над каким конкретным проектом вы работаете? >> Итак, давайте представим, что я отвечу на это. Давайте представим, что я был >> тренером по вокалу, который хочет научиться лучше кодировать, >> понимаете, это на самом деле то, кем я был тогда. Я >> учитель вокала и пения. Я хочу создать приложение для планирования, чтобы помочь мне планировать занятия со студентами, помогать мне вести записи о своих студентах, лучше их обучать и, знаете ли, создавать что-то, с чем они могут практиковаться. Это тот тип приложения, на который я смотрю. Так что, вероятно, полнофункциональное веб-приложение с базой данных, с какой-то аутентификацией, но это намного превосходит мои возможности прямо сейчас. Кстати, я использую Whisper Flow для диктовки. Это очень хорошо. >> Да. Так что это тоже будет игра: как быстро вы можете выводить свои токены из мозга и возвращать их обратно в мозг. >> Абсолютно. Да, я имею в виду, диктовка — это, если мы немного отойдем от темы диктовки, любой, кто не использует диктовку, просто намного быстрее, >> верно? Для меня это очень быстро, потому что я довольно бегло говорю. Так что я могу довольно эффективно переводить свой мозг в слова. >> Но это навык, >> знаете ли, это навык в конце концов, и люди могут >> научиться лучше и быстрее вербализовывать ложь. >> Точно. И это навык, который на самом деле переоценен, если вы >> разработчик. Это действительно, действительно так. >> Мне кажется, что способность общаться и способность говорить была чем-то, что было просто смехотворно переоценено в мире разработки, и поэтому это оказалось >> создало mission.md здесь. Так что, по сути, это говорит: хорошо, кто этот человек? Что он хочет построить? Почему это важно? Как выглядит успех? Возможность выпустить это приложение, не сломать его, запустить его вживую и быть уверенным, что оно работает для реальных студентов. Это теперь будет ориентировать все, что делает этот навык и что он делает дальше. Так что вы можете видеть, что он выполняет некоторые >> поиски. Так что он ищет некоторые доверенные ресурсы. Как создать полнофункциональное веб-приложение, фронтенд, бэкенд, бла-бла-бла-бла-бла. Позвольте мне настроить ваши ресурсы, запись обучения, справочный лист и ваш первый урок. Так что он начнет выдавать некоторые материалы, которые запускаются локально. И это идея этого: я думаю, что есть навыки, которые являются без состояния (stateless), которые не нуждаются в состоянии на локальной системе или каком-либо >> типе памяти о том, что было сделано раньше. А затем есть навыки с состоянием (stateful). Так что навыки, которые полагаются на информацию, работающую локально. И этот навык "учить" (teach) является навыком с состоянием, потому что если вы думаете о работе с отличным учителем, учитель помнит, что вы делали раньше. Учитель знает, куда вам >> нужно идти дальше. Знает, в чем ваша миссия, все такое. И поэтому он сохраняет кучу состояния локально, чтобы помнить все. И он, прежде всего, создал справочник. Так что у нас есть справочный лист. Теперь он создаст первый урок. И они создаются как HTML. Это означает, что мы можем открыть их в браузере и иметь что-то богатое для просмотра, потому что изучение вещей в терминале — это просто жестоко. >> Да. Так что вы используете >> cl code с Fable, >> верно? >> Я использую claw code с opus 4.8 со средним усилием. Так что я не использую Fable. Пока еще нет. Я не решил, хочу ли я вообще заниматься Fable. >> >> действительно >> Я, ну, я имею в виду, да, я я не >> действительно верю во все эти >> вчера, разве это не вчера, когда он был выпущен? Это просто огромное количество шума. Люди говорят, что они сделали это с одного раза, сделали то с одного раза. И да, это кажется шагом вперед. Это кажется немного лучше. Но затем вам нужно сопоставить это с стоимостью токенов и доступностью, задержкой. >> Я предпочитаю, по сути, не пробовать новую модель, когда она выходит, а подождать около месяца, чтобы увидеть, как все сложится. Вот что я сделал с >> Opus 4.5, который был >> последний раз, когда у меня было огромное >> новое ощущение от модели, и это сработало нормально. >> Знаете, вы не >> вы не так много теряете, просто подождав немного, чтобы увидеть, как все сложится. >> Хорошо, так это файл, который он создал. >> Это урок первый. Получите кнопку "отменить" для ваших проектов. Так что мы можем видеть, что он использует более богатый >> как на самом деле видеть это в HTML гораздо богаче и >> приятнее, чем делать это в терминале. Это сохранено локально, так что вы всегда можете вернуться и обратиться к этому, и он дает вам фактические вещи, которые вы можете сделать в терминале, дает вам настоящие упражнения, которые нужно выполнить. Так что вы создаете папку, переходите в нее, начинаете ее инициализировать, создаете файл, проверяете статус, добавляете его в индекс, сохраняете снимок, и поскольку он, конечно, работает на моей системе, он знает мою настройку. Он, вероятно, уже проверил, установлен ли у меня Git, и тому подобное. Так что это, знаете ли, идеально >> персонализированное образование, >> знаете ли. >> Точно. Полностью персонализированное. Так какая команда сохраняет снимок ваших добавленных изменений? Дэвид, думаешь, ты ответишь мне на этот вопрос? >> команда git сохранить снимок ваших добавленных изменений >> get commit >> get commit >> бам. Так что снова он использует методы, хорошо известные в образовании для увеличения >> силы запоминания, >> верно? Так что викторины — это такая неловкая вещь, я вроде как ненавижу викторины, но викторины просто необоснованно эффективны для >> увеличения силы, с которой что-то хранится. >> Какая команда показывает, что изменилось прямо сейчас, Дэвид? >> good status >> Get status. >> Да. О, черт. Я нажал не то. >> Что делает git add с изменением? >> Стадии изменений. >> Стадии изменений. Коммит лучше всего представить как >> безопасную точку. >> Безопасная точка. Вы сломали файл, но еще не закоммитили. Чтобы восстановить его, вы запускаете >> >> um get restore. >> Да, я думаю, это git restore, >> верно? Да, вот оно. Очень хорошо. >> Хорошо. И затем он отправляет вас читать первоисточник, если вы хотите. Так что >> книга progit >> >> и затем предлагает вам задать учителю последующие вопросы и создать следующий урок. И идея в том, что вы, я думаю о знаниях как о графе, >> верно? Это как большой лес, по которому вы исследуете. И то, что это делает, это создает линейный путь через этот граф. Он, по сути, говорит: хорошо, вы узнали это. Теперь, я знаю, что вы узнали это. Это в вашей записи обучения. Мы можем видеть, что он сохраняет список записей обучения в правом верхнем углу, это ваша миссия и ваша отправная точка. Так что он зафиксировал вашу миссию, решение начать с зоны ближайшего развития Git, текущие оценки, вы поняли. Так что это здорово. Я чертовски люблю это. И это то, что я бы рекомендовал всем, кто начинает, особенно с разработкой, потому что это вроде как, я имею в виду, я разработчик. Я знаю, что такое образование для разработчиков. И поэтому я вроде как вложил это в этот навык "учить" (teach). И я думаю, я всегда думал, что кодирование довольно легко изучить. >> Как будто у меня не было особых проблем, когда я учился сам. И я думаю, что это отличный способ сделать это. >> Так это доступно в GitHub где-нибудь? Где люди могут это найти? >> GitHub Matt Pokco skills. И если вы зайдете туда, вы просто запустите эту >> команду CLI npx skills latest add map skills. Вы можете выбрать навык "учить" (teach), и он просто сохранится в вашей локальной настройке. Так что, используете ли вы claw code, используете ли вы codex, он будет работать, и вы сможете затем просто вызвать teach в свежем рабочем пространстве. >> Итак, у вас есть, возможно, самый, по крайней мере, один из самых известных и популярных репозиториев навыков. Что отличает хороший навык агента от плохого? >> Это такой глубокий вопрос. Это такой глубокий вопрос, потому что это зависит от того, чего вы хотите. >> Вы можете думать о том, что есть два типа навыков. Есть навыки, которые являются процедурами, навыки, которые вы намерены >> запускать сами, а затем есть навыки, которые больше похожи на способности. Это способности, вроде вещей, которые вы намерены, чтобы модель вызывала сама. И поэтому хороший навык, например, может быть >> ваши стандарты кодирования, скажем. Так что, скажем, ваш агент вроде как делает свое дело, работает, и ему нужно проверить, как >> вы пишете свой React-код. Так что он напишет какой-то React-код, вы вызовете способность >> отличные стандарты кодирования React, скажем, а затем прочитаете его и поймете: хорошо, я не должен использовать use effect, я должен использовать что-то другое. Процедура — это скорее что-то >> вот как я предпочитаю, чтобы мои навыки были написаны, это что-то, что вы вызываете сами, чтобы модель вела себя определенным образом. Это то, что я люблю, мой навык "grill me", это один из моих самых популярных навыков. Что он, по сути, делает? Он превращает модель в противника-интервьюера. Так что это находится в разделе "продуктивность" под "grill me". Он невероятно короткий, и вы можете видеть, что он буквально всего четыре предложения, я думаю, этот навык, может быть, пять предложений, и он необоснованно эффективен, потому что он просто превращает агента в противника-интервьюера, задающего вам вопросы, проводящего собеседование и предлагающего идеи, которые вы могли бы не рассматривать, пока не достигнете общего понимания. Я использовал это для кодирования, прежде всего, просто как замену режиму планирования. Так что, прежде чем вы фактически приступите к реализации кода, вы говорите: хорошо, вот моя идея. >> Интервьюируй меня об этом. Давайте достигнем общего понимания. Давайте проясним любые странности или любые неожиданные вещи, прежде чем мы приступим, насколько это возможно. И это просто необоснованно эффективно. И это процедура. Это не способность. >> Я, как правило, предпочитаю, чтобы мои навыки были процедурами. Я люблю быть тем, кто контролирует. Я люблю говорить: хорошо, мы сделаем "grill me", а затем мы скажем: давайте напишем документ с требованиями к продукту. Так что мы используем два PRD, например. Затем давайте возьмем этот PRD и превратим его в отдельные задачи, чтобы мы могли их проработать. Это просто лично то, как я люблю это делать. Но другие навыки, такие как "superpowers" от Opera, который, вероятно, является самым популярным репозиторием навыков, подходит к противоположному подходу и предпочитает, чтобы вещи были больше похожи на то, что модель контролирует. Но я всегда предпочитал, чтобы я лично контролировал, потому что я знаю свои навыки, я знаю свои способности. Я не хочу делегировать свое мышление модели. >> Да. Я имею в виду, я думаю, это одна из >> Смотрите, я играю с этой идеей списка. Это вроде списка способностей, >> знаете ли, знаний. По сути, что-то вроде того, что если бы вы могли взять среднего, >> 100-кратного разработчика, который использует ИИ, по сравнению с >> 1-кратным разработчиком, >> верно? Каким был бы список различий, >> верно? Вы можете сказать: хорошо, некоторые из них — это сырой интеллект, >> знаете ли, бла-бла-бла, но большинство из них, вероятно, обучаемы, большинство из них — это некоторые навыки, некоторые знания, что-то вроде этого. Так что я одержим этой идеей, и я думаю, что одна из них — это, своего рода, знание, когда нужно, чтобы ИИ задавал вам вопросы, >> верно? >> вроде этого навыка "grill me", потому что лично я обнаружил, что >> самое большое различие вместо того, чтобы говорить "сделай это приложение с одного раза", я описываю свое видение этого приложения и говорю: перечислите 10 самых значимых решений, >> верно? Решения по проектированию программного обеспечения, архитектурные решения, продуктовые решения, которые будут формировать этот проект, и интервьюируй меня, пока ты не поймешь 98% этого. >> Верно. Так что, своего рода, это то, что я бы добавил в список. Какие вещи, по вашему мнению, есть в списке? >> Ну, можем ли мы >> могу ли я оспорить идею, что это возможно? Правильно ли я, если я возьму этот вопрос по-другому? Потому что >> навыки очень трудно писать, >> особенно потому, что каждый навык, который вы пишете, утекает описание, это описание здесь, в контекстное окно. >> Верно. >> И вы можете отключить это. Так что есть некоторые навыки здесь, я думаю, в моем "engineering zoom out", я думаю, который имеет >> disable model invocation true. Так что этот навык >> может быть вызван только пользователем, и это означает, что его описание не утекает в контекст. Каждая способность, >> скажем, у нас есть список. Скажем, у нас есть 100 различных навыков. Вы будете утекать 100 описаний в контекстное окно. >> Верно. >> Хорошо, может быть, позвольте мне перефразировать. Я не имел в виду это для ИИ. Я имел в виду, что список — это человек, >> верно? Как если бы вам пришлось сказать: я знаю, что трудно, >> это, возможно, редукционистски, чтобы взять кого-то, кто >> действительно очень продуктивен, >> знаете ли, может быть, как >> некоторые из лучших людей в OpenAI, которые стоят как сотни обычных разработчиков, >> верно? Каким был бы список их способностей, навыков, знаний, которые сравнивают их с обычным разработчиком? >> Да, понял. Ну, это, я имею в виду, вы вроде как идете в моем направлении, я думаю, что я предпочитаю скрывать большинство этих описаний от самого ИИ и сохранять все эти знания внутри человека, >> верно? Внутри разработчика. И поэтому я предпочитаю, чтобы мои навыки использовались именно так: вы, по сути, водитель. >> Знаете, вы берете руль. И поэтому я думаю, что это такое захватывающее время быть старшим разработчиком и >> иметь возможность делиться и >> процедуризировать, возможно, >> свою работу на многоразовые части, >> верно? Как в кодовой базе у вас есть функция, которая повторяется три раза. >> вы берете эту функцию и выносите ее в общую функцию, которая затем, >> знаете ли, >> уменьшаете дублирование, по сути, и мы можем сделать это сейчас с нашими собственными процедурами, с тем, как мы строим программное обеспечение, мы можем взять эти, вроде, хорошо, я >> знаете ли, >> составил этот план 100 раз, я знаю, как составлять хорошие планы, я могу превратить это в навык, распространить его среди своей команды, и каждый сможет планировать одинаково, внося свой вклад в тот же навык, делая каждого в команде лучше. Так что вы поднимаете планку, действительно, для того, что могут делать инженеры. Это такое захватывающее время. И что я бы сказал, так это то, что навыки, вроде, есть, знаете, я немного запутаю нашу терминологию. Я думаю, что есть три вещи, которые вам нужно быть хорошим в чем-либо, это то, что вам нужны знания. Вам нужно фундаментальное, вроде, >> что это такое, вроде, понимание этого в вашей голове. Вам нужны навыки. Вам нужно уметь делать это много раз, чтобы, вроде, >> знаете ли, в мышечной памяти. И тогда вам нужна мудрость. Вам нужно знать, когда это делать. Вам нужно знать, как это вписывается в реальный мир. И мудрость почти невозможно получить без того, чтобы фактически сделать это в точном контексте, где вам это нужно. Так что, если вы хотите быть кем-то вроде человека в Anthropic, конечно, вы можете получить знания, вы можете получить навыки, но тогда как вы получите мудрость, >> верно? >> Вам, вероятно, нужно пойти в Anthropic, чтобы получить мудрость, чтобы фактически понять, как это сделать, >> знаете ли? Но я думаю, что это вроде как возможность упаковать первые два, знания и навыки, во что-то многоразовое — это такой увлекательный >> результат этого странного века, в котором мы живем. >> Итак, в настоящее время мы говорили о навыках. Какова ваша настройка агентной инженерии? Какие инструменты вы используете? Какие модели? Сколько агентов? >> Да. >> Итак, моя настройка — это >> я использую claw code, по сути, для планирования и для >> некоторой реализации локально. Так что я использую Opus 4.8 с >> средним усилием — это то, на чем я остановился, и это работает нормально. Я делаю большую часть своей >> разработки и большую часть своей работы теперь >> AFK, то есть без меня за клавиатурой, и я делаю это с помощью инструмента, который я построил, который называется >> sand castle, и sand castle, по сути, является способом запуска агентов в песочницах. >> Хорошо. >> Так что вы можете >> внутри, вроде, если вы не запускаете агента в песочнице, то он будет делать странные вещи. Так что он может, >> знаете ли, случайно удалить ваш домашний каталог или >> знаете ли, эксфильтровать ваши >> переменные среды на >> плохие сайты и т. д. С помощью Sand Castle вы, по сути, можете подключать такие вещи, как Docker или Podman, и запускать агентов, запускать либо >> вот как это выглядит, запускать clawed code >> внутри какой-то песочницы, что чрезвычайно круто, чрезвычайно эффективно, и это означает, что вы можете параллелизовать кучу агентов одновременно либо на своей собственной машине, либо вы можете использовать, вроде, песочницы Versel, например, чтобы просто поднять удаленный агент и затем вернуть коммиты в ваше локальное рабочее пространство. Я делал это, и я на самом деле комбинировал это с GitHub actions. Так что мы можем видеть, например, здесь, в разделе actions моего sand castle, вот это, это было действие обзора агента, которое произошло некоторое время назад, которое проверяет ветку. Это запускается на PR. Он >> запускает агент обзора, который является просто локальным для меня запросом. Мы можем видеть все >> вещи, которые сделал агент. Он проверяет различные вещи, бла-бла-бла-бла-бла >> type check round clean, а затем отвечает: круто, все выглядит хорошо. Так что в основном я так и делаю: запускаю >> агентов, используя sand castle на GitHub actions, и, по сути, просто говорю им делать вещи, и это было чрезвычайно необоснованно эффективно, потому что вы просто можете параллелизовать столько, сколько хотите, вы не беспокоитесь об ограничении ресурсов на вашей локальной машине, и да, это просто очень, очень быстро, чтобы просто запустить агента и заставить его что-то сделать. >> Так в плане моделей, это 5.5 экстра хай, это другой claw code, что вы предпочитаете? >> Это, я думаю, >> снова просто claw code >> opus 4.8 >> восемь, средний. Я думаю, я не >> сильно от этого отличался, честно говоря. В основном я не беспокоюсь о моделях. >> Я в основном просто использую >> >> вроде, я думаю, да, это мой своего рода горячий хит, я полагаю, который >> все одержимы моделью. Все одержимы двигателем гоночного автомобиля Формулы-1, тогда как на самом деле двигатель — это лишь часть всей системы. >> Верно? У вас есть все шасси. У вас есть, как оно >> как оно движется по воздуху. Все одержимы >> моделью, и я думаю, им следует больше интересоваться "обвязкой" (harness), тем, что вы можете сделать, чтобы получить максимум от "обвязки". >> Давая ей правильные запросы, давая ей правильные навыки для работы и улучшая среду, в которой работает модель, улучшая кодовую базу и все такое. Так что да, как я уже говорил про Fable, модель полезна, но я думаю, что "обвязка" требует не меньше усилий, и у вас гораздо больше контроля над "обвязкой", чем над моделью. >> Это правда. Я бы, возможно, немного оспорил вас в этом, потому что я не вижу, почему вы не можете делать и то, и другое, потому что, очевидно, я >> согласен, что вам нужны правильные навыки, вам нужна правильная настройка, все это имеет значение, но затем, если вы замените лучший двигатель, все это мгновенно станет лучше. Нет. >> Да, это абсолютно так. >> Но я думаю, что вам нужно думать о них как о 50/50, >> верно? Так вместо того, чтобы >> модель была вроде 90%, а >> 10% оптимизация "обвязки", как все так сосредоточены на модели, люди не так >> заинтригованы, так, хорошо, давайте вернемся на шаг назад. Есть известная идея в ML, это "горький урок" (bitter lesson). Вы слышали о "горьком уроке"? >> да >> да "горький урок" — это идея, что >> что бы вы ни делали в исследованиях машинного обучения, вычислительная мощность, сырая вычислительная мощность всегда победит вас, потому что вычислительная мощность увеличивается с такой высокой скоростью, что вы можете просто полагаться на то, что лежащая в основе вещь станет лучше, и это >> победит любые оптимизации, которые вы на нее наложите. И есть >> своего рода идея здесь, что, возможно, я попадаю в "горький урок", что вместо того, чтобы вроде как оптимизировать свою настройку, оптимизировать свою "обвязку", я должен просто ждать, пока модели станут лучше, ждать, пока двигатель станет лучше, и тогда моя машина будет быстрее. Я не знаю. Я все еще думаю, что есть много чего можно получить, просто оптимизируя "обвязку" и сосредоточившись на создании >> хороших кодовых баз, в которых агент может работать хорошо, вместо того, чтобы сдерживать агента еще до того, как он начнет. Я бы сказал, вероятно, я >> согласен, что вы не должны ждать. >> Это была очень глупая идея. Люди просто ждут AGI или ничего не делают. Очевидно, я полностью согласен с вами. Я бы сказал, что я где-то посередине. Я бы сказал, что я активно пытаюсь улучшить свою настройку каждый день, пытаясь, >> знаете ли, стать быстрее в использовании этих агентов. Выяснить, хорошо, должен ли я использовать Cmax здесь? Должен ли я использовать, должен ли я разместить это на VPS? Должен ли я использовать Tailscale здесь? пытаясь активно улучшить все, кроме модели, но также пытаясь использовать лучшую возможную модель, потому что, по сути, как вы сказали, вы можете попасть в это. Я бы сказал, может быть, если это 50/50 сейчас, для простоты этого аргумента, что, если >> модель действительно станет намного лучше, >> верно? >> Давайте предположим следующее поколение, >> верно? >> Opus 6, Fable 6, GPD 6, что угодно, 7, >> разве вы не думаете, что эти модели потребуют меньше управления и >> меньше помощи, по мере того как они станут более компетентными, или нет? >> Я не пророк, >> верно? Это то, что я говорю на каждый из этих вопросов. Я пытаюсь сделать лучшее с тем, что у меня есть сейчас, и я не >> у меня нет понимания, чтобы знать, станут ли эти вещи лучше. Я на самом деле не хочу делать прогнозы о будущем. Я думаю, что если я постараюсь сохранить свое >> рабочее пространство и свою "обвязку" агента как можно более независимыми, если я постараюсь применять хорошие фундаментальные принципы программного обеспечения к тому, что я делаю, если я делаю вещи, которые всегда работали, то это, вероятно, будет продолжать работать и в будущем. >> Знаете, что я имею в виду? >> Так что, если я попытаюсь чрезмерно оптимизировать вокруг модели, если я слишком сосредоточусь на модели, я потеряю фокус на >> фундаментальных принципах. Это >> это моя точка зрения. >> Да. Так что, по сути, вы сосредоточены на, хорошо, что было истинным в течение последних 10, 20, 30 лет, >> знаете ли, >> действительно лучшие принципы отличного программного обеспечения, и это, вероятно, выдержит следующую модель, а не люди, которые идут от модели в первую очередь и вроде как, хорошо, эта модель, возможно, требует более коротких запросов, эта модель >> терпит неудачу в этой части, позвольте мне исправить эту часть, вроде как построить >> правильный фундамент, а не вроде как начинать с модели, может быть. >> Точно. Люди сосредоточены не на том. Они смотрят на большую блестящую новую вещь, когда на самом деле просто сосредоточьтесь на том, что работает уже 30-40 лет, >> знаете ли, и это действительно работает, >> знаете ли, если у вас есть кодовая база, которую легко изменить. Как люди, вроде, люди постоянно спрашивают меня, как оптимизировать расход токенов, >> верно? Как оптимизировать расход токенов? Имейте кодовую базу, в которую легче вносить изменения? Потому что тогда вы можете использовать более глупую модель. Если архитектура вашей кодовой базы лучше, то вы можете использовать более дешевую модель для выполнения той же работы, потому что ваши >> ограждения лучше, ее легче исследовать, ей нужно тратить меньше токенов, ударяясь головой о стену. Если вы сдерживаете свою модель с первого дня, то вам понадобится умная модель, чтобы получить от нее максимум. >> Um, но да, так что я думаю, что мышление от модели в первую очередь — это неправильный путь. >> Да. Так что, по сути, я бы сказал, что точная противоположность вам — это квинтэссенция "вайб-кодера", который вроде как переключает инструменты каждую неделю, >> верно? >> есть новое обновление replit, переходит на replit agent, переключается на lovable, переключается на это и то, постоянно переключается и никогда не изучает никаких принципов программирования, ничего о разработке программного обеспечения, ничего. Ваш подход — это, по сути, разница в подходе. Это не значит, что вы не верите в ИИ, очевидно, >> верно? Сейчас вы активно пытаетесь быть на переднем крае ИИ и обучать людей, как его использовать. Это больше о разнице в подходе. Это вроде: "Слушайте, ребята, изучите основы. Изучите, как работает код, как выглядит хорошее программное обеспечение, и это будет ценно независимо от чего. Независимо от того, опережает ли OpenAI, опережает ли Anthropic, опережает ли Gemini." По сравнению с противоположным подходом, который, к сожалению, я думаю, большинство людей, новичков в ИИ, принимают: это прыгать на последнюю тенденцию и вроде как переключать все, как только, >> знаете ли, выходит какое-то новое обновление или инструмент. >> Абсолютно. И я думаю, знаете ли, вы можете сделать это, и это захватывающе. >> Um, но вы на самом деле не улучшаете свои навыки таким образом. И это ваши навыки. Я твердо верю, что они являются потолком того, что может сделать ИИ. Вам следует сосредоточиться на себе. >> Знаете ли, повышать свою квалификацию для этого нового мира, вместо того, чтобы думать >> верно? Как мне делегировать свое мышление? Как мне больше делегировать? >> Знаете ли, вам следует больше вникать в свою область и делегировать только тактические вещи. Сохраняйте стратегическое мышление. Продолжайте думать о, >> знаете ли, следующих >> месяцах и неделях, дорожной карте того, куда вы движетесь в своем коде, вместо того, чтобы просто >> пытаться делегировать это >> людям, одержимым идеей, что, >> знаете ли, вы можете просто делегировать все ИИ, и вы не можете, вы действительно не можете, и я не вижу, я имею в виду, опять же, я не пророк, >> знаете ли, я просто смотрю на то, что у нас есть сейчас, и это не >> да, да, я >> человек в реальном мире, который движет этим. Мне нужно принимать продуктовые решения. Я знаю, куда я иду. И я думаю, что я, как разработчик, должен контролировать, и мне нужны навыки, чтобы иметь возможность это делать. >> Я согласен. Одна заметка, которой я поделюсь о Fable, это то, что произошло вчера, что немного пугает и определенно не соответствует практикам безопасности: я настраивал новый >> вроде, новый агент для >> Twitter, и, по сути, API Twitter был багнутым. Консоль разработчика не загружала некоторые кнопки, и я попробовал в другом браузере. Это все равно не работало. Я отключил все расширения. Это все равно не работало. Так что я дал ему несколько солидных минут, чтобы попытаться отладить это, и потерпел неудачу. Я имею в виду, я не >> это не было главной задачей, которую мне нужно было выполнить, поэтому я на самом деле не старался изо всех сил, но я дал это Cursor, работающему на Fable. Он использовал встроенный браузер внутри Cursor. >> Знаете, мне пришлось войти, очевидно, в консоль, но кроме этого, он начал кликать. Он создал API-ключи, скопировал их. Опять же, я не рекомендую это для производственных приложений. Это просто простая вещь для меня. А затем он выяснил, когда он тестировал, что эти API-ключи находились в другом >> приложении в консоли, и они на самом деле не использовали кредиты, которые я пополнил. Так что он снова переместил приложение, используя встроенный браузер внутри Cursor, и, знаете ли, для меня я действительно почувствовал: что я здесь делаю? >> Очевидно, я описал, что мы строим, почему мы это строим, некоторые из, >> знаете ли, своего рода моего видения "grill me" в начале, но затем я почувствовал: хорошо, я просто вошел в консоль, и я просто пополнил несколько долларов, но все остальное делал ИИ, >> верно? Так что, вроде, я почувствовал, что моя ценность в этом проекте была намного ниже, чем с предыдущими моделями. Так каковы ваши мысли по этому поводу? Я имею в виду, если вы думаете о выводе ИИ, >> верно? Что он >> делал в конце, >> ему нужно, как ИИ знает в конце, что он сделал хорошую работу, >> верно? Что это такое, теория, что вы можете полностью исчезнуть из проекта. Нет, вы все еще нужны, >> верно? >> Все, что мы делаем здесь, это то, что мы дали ИИ набор инструментов, и мы >> дали ему ограниченную задачу, и он выполняет эту задачу, >> верно? >> вы знаете, мы дали ему цель и сказали: >> сделайте бла-бла-бла-бла-бла. Я не думаю, что это особенно волшебно, >> знаете ли, это то, что >> агенты могут делать сейчас, вы просто даете им инструменты, и они идут и делают это. Но чтобы решить, правильно ли это, чтобы >> >> протестировать безопасность в конце этого, это то, что вам нужно, >> верно? Вы, Дэвид, нужны для этого, чтобы знать, сделал ли он хорошую работу. И так, да, мы можем делегировать больше, но я не думаю, что это причина начинать думать >> знаете ли, или иметь ИИ-психоз или что-либо еще. Это просто, да, это разумная вещь, которую ИИ может делать с использованием компьютера. >> Я также видел, как многие люди сообщали, что они, >> знаете ли, возможно, искали оптимизации или делали какую-то функцию, а затем снова, я говорю о Fable, потому что он только что вышел. Это актуально, >> верно? Так что это у меня на уме. Но многие люди сообщали, что он находил более глубокие ошибки, которые они вообще не замечали. В то время как другие модели полностью упускали их. И я бы снова, я бы немного оспорил вас, что это признак того, что ИИ может делать больше. Я не говорю, что мы должны быть полностью исключены из цикла, но, если ИИ >> перепроектирует фронтенд, и он находит проблему в одном из >> серверных API-эндпоинтов, серьезную проблему безопасности, я бы утверждал, что это >> ИИ становится более вовлеченным. Это не 50/50 в этот момент. >> Да. Так что вы говорите, что >> чем лучше, тем лучше >> движок, тем больше ценности вы можете принести бизнесу просто благодаря движку, и эти эффекты являются эмерджентными. Вы не знаете, что вы получите, увеличивая мощность >> его. >> Он все равно будет знать видение, >> верно? Он все равно будет знать, что вы здесь делаете. >> Это образовательный репозиторий для моих студентов в моем платном сообществе, или это что-то просто для моей команды. Им будет пользоваться примерно пять человек. Цель этого — XY Z. Он все равно будет знать основную идею, инициативу, которая исходит от вас. Но в плане действий и того, что происходит, мой аргумент будет заключаться в том, что по мере того, как модели становятся мощнее, все больше и больше этого будет делаться ИИ. Но не только это, ИИ будет замечать, что нужно сделать, например, пример с >>, знаете ли, глубокими ошибками, которые пользователь даже не отлаживал. >> Абсолютно. Но я думаю, что мы думаем, что модель — это единственный способ достичь этого, >> верно? Что вы могли бы сделать, это в вашем репозитории, вы могли бы запустить >> cron job, который запускается каждый день, скажем, и выполняет обзор безопасности, и каждый день он проверяет новую часть репозитория, >> верно? И вы могли бы использовать относительно простую модель для этого, и вы, вероятно, получите некоторые приличные результаты. Я имею в виду эту идею, что есть глубокие ошибки, которые >>, знаете ли, или глубокие, вроде, вещи безопасности внутри вашего приложения, которые >> модель могла бы заметить, а другие нет, >> знаете ли, конечно, это вроде как звучит привлекательно, но вы, вероятно, также могли бы обнаружить эти ошибки с помощью более дешевых моделей, если бы вы просто искали в правильных местах, >> знаете ли, и дали бы ей правильный запрос, скажем, для лучшего слова, или правильную "обвязку". Так что я не думаю, что есть что-то особенное в модели, которая делает эти вещи, или, >> знаете ли, и я думаю, что это снова 50/50. Если бы у вас была "обвязка", которая вроде как искала бы конкретно эти вещи, тогда вы бы их нашли, и я думаю, что мы отстаем в наших практиках и ожидаем, что модель просто заполнит пробел. >> Вы абсолютно можете просто запустить Opus и заставить его делать эти вещи. >> Знаете ли, люди говорили об этом, когда вышел Opus 4.5, вау, все эти вещи безопасности, которые Opus, это просто, конечно, он нашел их, и вы можете просто получить это с "обвязкой" и просто заставить его делать это снова и снова. >> Мне нравится >> Да, я понимаю. Я понимаю, >> вы вроде как толкаетесь против волны хайпа, >> знаете ли, вы пытаетесь вроде как внедрить какой-то смысл, какую-то мудрость в это. Скажем, ребята, хорошо, модели становятся лучше. Да. Но в то же время, давайте не будем терять очевидные, >> знаете ли, оптимизации, очевидные вещи, которые всегда, всегда были правдой. Может быть, если бы у вас была лучшая "обвязка", вы могли бы поддержать ее даже в предыдущем поколении модели. Или, может быть, вам не пришлось бы тратить 2000 долларов на API-токены, может быть, только 200, >> знаете ли, такие вещи. Так что да, я >> полностью согласен с вами. Вы пытаетесь быть вроде >> одна вещь, одна вещь, просто чтобы закончить там, которая заключается в том, что >> что это такое, что вы узнали из Fable, глядя на свой код и замечая проблему безопасности? Что вы на самом деле узнали? Конечно, вы узнали, что Fable хорош, определенно, но вы также узнали

что есть проблемы с безопасностью в вашем коде, верно? И вам, вероятно, понадобится что-то, что будет работать и проверять на наличие других проблем безопасности в будущем. Нам нужно встроить циклы в наши, э-э, циклы, ради всего святого, э-э, в наши, я имею в виду, мы можем поговорить и об этом, если у меня есть некоторые мнения на этот счет. Э-э, вам нужно создавать эти, э-э, системы, которые просто проверяют ваш, как вам нужно, что я пытаюсь сказать? >> Вам нужно выяснить, почему это произошло, почему это вообще дошло до этого места. Знаете, это как если кто-то постоянно крадет ваш велосипед, может быть, купите замок. >> Да, именно. Может быть, нам нужно, э-э, разрабатывать системы, которые самосовершенствуются со временем, верно? И это то, что мы делаем как инженеры-программисты уже давно. Мы пишем наборы тестов, чтобы мы могли тестировать свой собственный код. Мы проводим человеческие обзоры, чтобы убедиться, что все выглядит так, как должно. Мы рефакторим, чтобы мы могли лучше менять код в будущем. И, конечно, модель обнаружила, что нам нужно делать это немного больше. Так что давайте делать это немного больше. Но нам не нужно использовать модную модель, чтобы получить эти выводы. Видите ли, вот что, одна из вещей, которую я бы включил в список, это то, что действительно отличает людей, которые собираются двигаться очень быстро с помощью ИИ и создавать лучшую и более качественную программу, от людей, которые этого не делают. Как и большинство людей в такой ситуации, они просто сказали бы: "О да, Fable отлично подходит. Исправь ошибку. Она исправляет ошибку". Но как бы люди, я не знаю, это как 10-кратный разработчик, это почти как 10-кратный строитель ИИ, знаете ли, потому что все становятся больше строителями, будь то дизайнерский фон, разработческий фон. Это как если бы этот человек посмотрел на основные проблемы. Это как, как это вообще произошло? Как у меня была эта ошибка так долго, что я ее не заметил и попытался исправить основную проблему? Знаете ли, будь то новый навык, новая система, лучший процесс тестирования, что угодно, что, я думаю, я бы включил в список ваших человеческих возможностей или вещей, которые у вас должны быть, чтобы получить максимум от ИИ. Полностью согласен. >> Хорошо. Итак, вы упомянули циклы. Это было супервирусным в Твиттере. Может быть, до сих пор, но, знаете ли, неделю назад. Э-э, я думаю, что это началось с Питера Стэнбергера, если я не ошибаюсь. Но, по сути, люди одержимы агентскими циклами. Э-э, половина этого, я бы сказал, это исследовательские лаборатории, продающие больше токенов. Знаете, по сути, вы должны запускать циклы, чтобы платить нам больше бесконечных токенов. Прекратите подсказывать своим агентам. Выясните, какие циклы он может запускать вечно, постоянно. Половина этого может быть полезной. Что вы думаете? >> Итак, мы, по сути, говорим здесь о разнице между работой "человек в цикле" и работой "AFK". Верно? Работа "человек в цикле" — это когда вы находитесь с агентом, разговариваете вместе и, э-э, выясняете что-то. Так что очень полезно для планирования, очень полезно для некоторой более сложной реализации, э-э, очень полезно для не ограниченной работы, знаете ли, вещей, которые вам просто нужно, э-э, выяснить локально с агентом. А затем мы говорим о AFK-вещах. Итак, AFK — далеко от клавиатуры, вы пингуете агента, и он идет и делает что-то. Теперь я думаю, что, я имею в виду, в тот момент, когда я открыл для себя AFK, это был момент, когда я действительно занялся кодированием с помощью ИИ, и момент, когда я действительно смог значительно увеличить свой объем работы, потому что тогда, вместо того, чтобы мне приходилось сидеть в цикле, обрабатывать все запросы разрешений, обрабатывать все, знаете ли, все, что агент должен меня спросить. В тот момент, когда я могу просто исключить себя из уравнения, я парализовал себя. Внезапно появляется два меня, знаете ли, или три меня, четыре меня, пять меня, способных создавать гораздо больше кода, который я затем просматриваю. Эта идея, что циклы — это единственный способ сделать это, — это безумие, знаете ли, как мы, по сути, говорим об истории этого, она восходит к Джеффри Хантли. Э-э, где это? Г. Хантли Ральф, э-э, восходит к Ральфу. Вы помните Ральфа? >> Да. >> Я говорил о Ральфе в январе, кажется. Э-э, оригинальная статья от 14 июля прошлого года. И, по сути, это цикл. Так что это идея, где у вас есть цикл while, который говорит: "Хорошо, передайте этот запрос Claude Code", а затем, э-э, в конечном итоге вы закончите. Теперь это, по сути, просто повторное выполнение Claude Code снова и снова. Такова идея цикла Ральфа, о котором я говорил некоторое время. И я понял, что мне на самом деле не нужно запускать это как цикл, верно? Единственное, что мне нужно из этого, это AFK-агент, который возьмет на себя конкретную задачу и выполнит эту задачу. >> То, как я в основном думаю об этих вещах, это очереди, хорошо, очереди, а не циклы. Очередь — это, по сути, бэклог задач, которые мне нужно выполнить. Я смотрю на проблемы Sand Castle прямо сейчас. Это отчеты об ошибках, касающиеся запросов на функции Sand Castle, подобные вещи. Мне нужно определить объем задачи. Допустим, это, например, вот это. Итак, я провел некоторую сортировку здесь. Это, э-э, своего рода исследование. Хорошо, тривиально ли это? Возможно ли это? Это, э-э, было сделано AFK, верно? Итак, этот пункт был снят с очереди. Он был исследован, возвращен в очередь. Мне, возможно, придется пойти и реализовать это. Э-э, похоже, да, это выглядит довольно хорошо. Я добавлю метку "агент implement" и пойду и реализую это в моей настройке GitHub Actions sand castle, о которой я говорил ранее. >> Теперь это не совсем цикл, как бы, это просто, э-э, это очередь, которая в конечном итоге будет решена. Она будет снята с очереди, когда будет, э-э, э-э, когда пул-реквест будет объединен. И это, по сути, вся разработка. У вас просто есть очередь задач, которые вам нужно выполнить. Менеджеры проектов добавляют больше вещей в очередь. Вы выполняете задачи в очереди. Вот как мы всегда это делали. И есть несколько узлов, снимающих задачи с очереди, несколько разработчиков. И поэтому идея, что существует один цикл, который просто идет и выполняет все задачи, на самом деле не соответствует тому, как, например, ваши команды разработчиков обычно работают, когда все это, как бы, внутри GitHub Actions, как это. Э-э, любой разработчик может добавить одну из этих меток, может что-то запустить и просто начать работу. Так что да, я думаю, идея цикла полезна, но это не вся картина. И я думаю, что идея очереди, из которой вы снимаете задачи, лучше. Но в основном это просто как бы бессмысленно, действительно. Как когда люди говорят, что вам нужен цикл, подсказывающий вашему агенту, >> мы действительно говорим об AFK-агентах. >> Да. Я полагаю, когда вы говорили, я не знаю почему, но образ, который пришел мне в голову, — это как средневековый король, управляющий королевством с какими-то министрами или чем-то в этом роде. И, по сути, предполагая, что король знает лучше, имеет больше всего контекста, а не король, который просто случайно унаследовал империю, верно? Так что, если вы отправили министра в какой-то регион, далекий регион, и вы никогда не слышали от него, никогда не давали ему команд, он бы работал в цикле, и это могло бы пойти не так или пойти правильно, в зависимости от того, насколько сложны проблемы в этом регионе, насколько умный министр, что угодно. Но в конечном итоге, как король в этом средневековом королевстве, вы хотите использовать подход очереди. Вы хотите, чтобы люди приходили к вам и говорили: "У нас проблема, надвигается вторжение", знаете ли, или "в этом регионе голод", и у вас есть эта очередь проблем, и вы все еще главный, так что это было бы эквивалентом человека здесь с, знаете ли, кучей агентов, кучей ИИ, все равно вы бы расставляли приоритеты: "Хорошо, у нас есть эти 50 отчетов об ошибках, только три из них критичны, давайте сначала исправим их. Хорошо, у нас есть эти ресурсы, эта сделка с брендом, эта компания хочет работать с нами, проверьте их репутацию сначала. Это хороший способ думать об этом? >> Полностью. И то, что мы делаем здесь, это как бы вы все еще можете встроить тонны автоматизации. Допустим, у меня была бы какая-то телеметрия, настроенная для песочницы, для песочницы, или инструмент наблюдения, такой как Sentry или что-то в этом роде. Я мог бы получить отчет об ошибке из живого приложения, немедленно создать проблему из него, пометить эту проблему как "исследовать проблему". Может быть, агент мог бы вернуть некоторые структурированные данные из исследования, говоря: "Можем ли мы исправить это немедленно, или это требует участия человека в цикле?" Он идет и реализует это. Он идет и просматривает это. А затем, возможно, у него будет небольшая метка: "Можем ли мы автоматически объединить это, или это, наконец, э-э, уведомит пользователя, чтобы он сделал это?" Я вижу эти системы как необходимость иметь контрольные точки "человек в цикле", и вам нужно продвигать их все дальше и дальше, э-э, все дальше и дальше к финальному результату, насколько это возможно. Так что вы, по сути, получите эти, э-э, вместо того, чтобы видеть отчет об ошибке, вы увидите отчет об ошибке, вы увидите, э-э, исследование кодовой базы, вы увидите исправление и увидите, э-э, можем ли мы это просмотреть? >> Да. Точно так же, это то, что вы получаете как человек, вместо того, чтобы видеть отчет об ошибке, и это намного богаче, и это означает, что это на расстоянии одного клика, а не на расстоянии целой сессии отладки. >> Так что это, я имею в виду >> так что тогда вопрос здесь >> где Да. Да. Так что вопрос в этой ситуации становится, потому что это не цикл, он работает только тогда, когда ошибка приходит туда, нет смысла в том, чтобы он работал бесконечно, просто платя OpenAI или Anthropic бесконечно, но мой вопрос был, знаете ли, опять же, поскольку ИИ становится мощнее, где, потому что вы упомянули, что вы продвигаете себя все дальше и дальше к правому, к последнему шагу — это вывод в продакшн, когда эти типы вещей, будь то небольшое изменение пользовательского интерфейса, знаете ли, пользователь запрашивает новую цветовую схему, что угодно, — это может быть одобрено автоматически, верно? А затем, возможно, мы пойдем дальше и дальше. Так как это выглядит? Вы понимаете, к чему я клоню? >> О, как вы убираете контрольные точки "человек в цикле", это то, что вы >> Да. Как бы вы решаете, по сути, где это, это достаточно тривиально, чтобы вы даже не смотрели на это, верно? Как, возможно, все ваши агенты, которые, опять же, вы настроили интерфейсы, у них есть ваши навыки, вы используете хорошую модель, и все агенты говорят: "Хорошо, это небольшая ошибка, это был просто смещенный элемент пользовательского интерфейса. Нет, э-э, вредоносного намерения со стороны пользователя. Пользователь не пытается взломать приложение. Мы просто объединим это в продакшн прямо сейчас. Это, предположительно, будет расти, как бы, объем вещей, которые могут быть объединены в продакшн прямо сейчас. Так как бы вы об этом думали? >> Ну, я бы сказал, что вы получаете от обзора, верно? >> Конечно. Вы получаете, хорошо, как вы получаете возможность контролировать вещи, контролировать опасные вещи от попадания в продакшн. Так что предотвращайте, э-э, безопасность, плохие вещи, происходящие, вы Да. >> предотвращаете, знаете ли, э-э, скажем, утечку исходного кода Claude Code миру, знаете ли, вы предотвращаете эти плохие вещи. Э-э, но вы также получаете, э-э, понимание вашей собственной системы, э-э, в сантехнику, верно? Так что вы наблюдаете, как вещь делает свою работу, и оцениваете, хорошо ли она справилась. И так, второе, вы не хотите терять, потому что, опять же, мы говорим о интерфейсе, верно? Вы хотите улучшать свой интерфейс со временем и хотите некоторого наблюдения за ним. Теперь вы можете убрать некоторые контрольные точки "человек в цикле". Так что вы можете сказать: "Хорошо, этот, э-э, этот PR — это просто внутренний рефакторинг. Он просто перемещает некоторый код. Он на самом деле не меняет никакого поведения". И вы можете иметь ИИ, который как бы говорит: "Хорошо, вам действительно не нужно это просматривать". Но тогда кто просматривает ИИ, который это делает, верно? Как вы даете обратную связь ему со временем? Вам, вероятно, нужно проверять некоторые из PR, которые агент считает подходящими для просмотра, чтобы проверить, действительно ли они подходят для просмотра. А затем вы улучшаете это со временем. И поэтому нам нужно подумать об этом. Мы не просто просматриваем код. Мы также просматриваем систему, которая производит код, и это важно и полезно, но я согласен, что цель — убрать контрольные точки "человек в цикле", где это возможно, определенно. Так что, возможно, лучший способ, вместо того, чтобы, хорошо, скажем, в среднем за день для этого приложения ИИ автономно исправляет 20 вещей и сразу же отправляет их в продакшн, потому что они были очень маленькими, в конце дня, вместо того, чтобы вы просматривали все это, потому что это было бы скучно и медленно, может быть, вы получите пользовательский, знаете ли, файл HTML с навыками и скажете: "Хорошо, это общие шаблоны в исправленных ошибках, верно?" Так что, вместо того, чтобы вам пришлось проходить через все коммиты GitHub, PR, что угодно, что на самом деле не оптимизировано для этой агентской эры. Я имею в виду, опять же, GitHub был создан давно. Это было бы пользовательское программное обеспечение, пользовательский HTML-файл, что угодно, что, знаете ли, знает вас, ваш стиль обучения, ваши распространенные ошибки. У него есть история прошлых ошибок, знаете ли, что угодно. И это было бы более оптимизировано для того, чтобы помочь вам улучшить себя и систему. >> Полностью. Я имею в виду, одна действительно классная вещь, как бы, то, о чем мы здесь говорим, это сделать обзор бесшовным и убрать, э-э, убрать человеческие усилия из обзора. Одна вещь, которую я видел, которую люди делают, э-э, что безумно, это при любом изменении фронтенда, ИИ записывает видео, как он проходит по коду и, э-э, по тому, что изменилось. Затем он вызывает API преобразования текста в речь и накладывает некоторую речь. Так что это как бы ИИ разговаривает с вами, пока он проходит по коду, и у вас просто есть видео в PR, где вещь работает, как бы, такая насыщенность — это то, что мы должны встраивать во все, что мы делаем, и пытаться оптимизировать для человеческого обзора и сделать человеческий обзор быстрее, потому что все как бы стонут о, знаете ли, как бы, о, чувак, у нас так много кода для обзора, но, вероятно, вы могли бы использовать ИИ, чтобы помочь вам просмотреть код, верно? Как бы, во всех интересных способах, которые, я думаю, мы только начинаем осваивать. Абсолютно. Итак, многие люди хотят создавать что-то с помощью ИИ, верно? Будь то, вы можете начать с некоторых личных инструментов, чего-то для вашей команды, но многие люди хотят создать, как бы, бизнес, будь то стартап ИИ, будь то какой-то другой бизнес. Как бы вы об этом думали? Как бы, знаете ли, многие люди, есть, есть группа людей, которые говорят: "О да, SaaS", знаете ли, подписки, они будут более ценными, чем когда-либо, потому что вы будете добавлять больше мест для агентов. Есть группа людей, которые говорят: "SaaS мертв". Как вы думаете о создании бизнеса, создании программного обеспечения в эпоху ИИ? >> Ну, я не думаю, что многое изменилось, честно говоря. Э-э, как бы, опять же, я не оракул. Я не особо слежу за рынками. Мне не особо важно, умрет ли SaaS или будет процветать. Э-э, как бы, если вы строите бизнес, вам нужно делать фундаментальные вещи. Вам нужно пойти и поговорить с клиентами. Вам нужно выяснить, что им нужно. А затем вам нужно создавать прототипы, которые выглядят так, как им нужно, и решают их реальную проблему. Я не думаю, что что-то изменилось, и я думаю, что вы можете научиться делать это и стать лучше в этом, но я не думаю, что ИИ дает вам какое-либо особое преимущество, потому что вам нужно выйти в реальный мир, вести разговоры и выяснять, что на самом деле нужно людям. Так что я думаю, что все классические книги по дизайну продуктов по-прежнему будут иметь смысл здесь. Просто у вас есть огромный перевес, когда дело доходит до фактической реализации, и процедуры, о которых они говорят, вы можете начать делегировать их ИИ. Так что в основном это просто о наличии правильной идеи и создании правильной вещи. И это то, с чем ИИ не может помочь. Если вы не разговариваете с реальными людьми и не выясняете, чего они хотят, как только вы выясните, чего хотят люди, э-э, вы готовы к работе. >> Да, я думаю, что это на самом деле то, в чем ИИ известен своей плохостью — это как бы оригинальные идеи "из коробки". И, да, как бы, это, вероятно, будет одним из основных советов, которые я бы дал людям: вам нужно выбирать функции, которые добавляются, верно? Если вы видите кого-то, кто как бы делегирует все это, это как бы, что дальше, большая вещь, которую мы должны добавить? Это как бы, нет, вы должны быть во главе продукта. Вы можете, да, очевидно, вам не нужно, как бы, изучать точный синтаксис или что-то в этом роде, вам не нужно читать каждый файл, но как бы, вы не можете просить ИИ создавать ваше приложение. Вам нужно иметь видение. Вам нужно знать, почему вы его создаете и какую проблему оно решает. >> Абсолютно. Вам следует спрашивать ИИ, что вы можете убрать из своего приложения. По сути, вам следует спрашивать: "Как мне сделать это проще? Как улучшить пользовательский опыт? Как мне на самом деле сосредоточиться на том, чего хотят люди, вместо того, чтобы в конечном итоге стать, знаете ли, одним из тех ужасных, э-э, приложений, финансируемых венчурным капиталом, которые мы все видели, где есть тысяча функций, и вы не можете найти то, что хотите сделать". Так что опять же, это просто основы дизайна продукта. >> Мы упомянули, что старшие разработчики получают 10-кратное улучшение и, знаете ли, ускорение. Как вы, потому что по моему опыту это правда, но только если они на самом деле используют инструменты ИИ. Есть группа разработчиков, которые все еще отказываются в это верить или, знаете ли, ИИ не так хорош. Они пробовали это год назад, два года назад, они были, знаете ли, разочарованы, но, очевидно, инструменты, интерфейсы, модели намного лучше. Но мой контраргумент или, может быть, это не контраргумент: что насчет просто найма настоящих, если бы вы нанимали молодых людей, которые являются истинными верующими в ИИ, которые знают эти инструменты вдоль и поперек. Они используют их все время. Они знают, какая модель лучшая, какой навык лучший, какой, знаете ли, агент лучший в каждой ситуации. И, очевидно, им нужны некоторые технические основы. Но как бы вы примирили это напряжение: вот старшие, у которых 10, 15, 20 лет опыта, и они получают 10-кратное увеличение, против этих настоящих верующих в ИИ, у которых может быть не так много опыта, как у старших, но которые лучше работают с ИИ? Ну, наем отличных младших всегда был целью любой компании, по сути, потому что если вы найдете отличного младшего, то любой, кто энтузиаст, будет работать лучше, чем кто-то более опытный, по сути, энтузиазм превосходит опыт в чистом объеме работы, и потому что они развиваются так быстро и учатся так быстро. И поэтому люди, которые действительно, э-э, взволнованы этой новой эрой и много знают об этом, если вы просто сочетаете это с небольшим количеством программных основ, потому что то, о чем мы здесь говорим, я думаю, есть разница между DX — опытом разработчика и AX, верно? Опыт агента. И поэтому опыт агента — это опыт, который агент имеет при работе с кодовой базой. И все, что вы можете сделать, будь то, э-э, э-э, лучшие навыки, э-э, увеличение мощности модели, конечно, э-э, улучшение интерфейса и улучшение кодовой базы, также, как бы, это потрясающе, часто люди забывают об улучшении кодовой базы на самом деле для лучшего AX, знаете ли, улучшение, э-э, они забывают обо всех краях, которые вы можете получить с помощью хороших программных основ. И вот где старший будет полезен, потому что старший знает, как создавать хороший DX, верно? Они знают, как, если они хорошие старшие, они знают, как создать кодовую базу, которая может хорошо работать с людьми. И есть огромное совпадение между хорошим DX и хорошим AX, но они просто подходят к этому, как младший, который отлично разбирается в ИИ, просто подходит к проблеме с другой точки зрения, чем, э-э, старший. Э-э, каким был ваш первоначальный вопрос? Как их нанимают или как вы, или как вы нанимаете из обоих? >> Конечно. Но не то, как вы нанимаете, а скорее, кто, возможно, получит больше альфы, знаете ли, кто будет более ценным? Это как старший, у которого много такого опыта, знаете ли, правильный способ мышления о программном обеспечении, но, возможно, не такой истинный верующий в ИИ, по сравнению с кем-то, кто полностью принимает ИИ в максимальной степени и знает, как использовать его в полной мере. >> Я думаю, если у вас есть экспериментальный склад ума, и вы взволнованы ИИ, то вы получите от этого массу, независимо от того, являетесь ли вы младшим или старшим. И я думаю, опять же, если вас интригует интерфейс, прежде всего, и интригует улучшение AX везде, где это возможно, то вы будете процветать и любить это. Теперь, очевидно, есть много, э-э, веских причин, по которым люди не хотят садиться на поезд ИИ. Вы знаете, они могут, э-э, просто быть немного, знаете ли, брезгливыми с этическими вопросами. Вы знаете, как Anthropic крадет все романы и просто как бы впихивает их в Claude. Э-э, но как бы, это здесь, и это то, как выглядит работа сейчас. Вы знаете, если вы просто тактический программист, просто копающийся, делающий свою работу, вы ушли, верно? Это вне игры. Вы не можете быть обезьяной-кодером больше. Вам нужно мыслить стратегически. И поэтому старшие могут абсолютно максимально использовать это. Но младшие тоже могут этому научиться. >> Хорошо. Мой заключительный вопрос будет практическим для людей, которые смотрят. Если бы вы могли взять среднего энтузиаста ИИ и дать ему один или два практических шага, чтобы сделать сегодня, чтобы улучшить свою настройку, улучшить свой интерфейс, узнать что-то, что бы это было за один или два шага? >> Первое, что я бы сделал, это удалил каждый навык, каждый плагин, каждый сервер MCP. Я бы вернулся. Я бы удалил ваш claw.md, удалил ваши agents.mmd, вернулся бы к абсолютно ничему, а затем наблюдал бы за агентом. Посмотрите, что он делает. По моему опыту, все раздувают свое контекстное окно слишком большим количеством вещей, слишком большим количеством инструкций. Вернитесь к чистому листу и посмотрите, что делает агент. Как только вы увидите, что делает агент в этом базовом, э-э, своего рода режиме, затем накладывайте вещи поверх него и убедитесь, что эти вещи являются процедурами, процедурными навыками, а не навыками способностей. Накладывайте вещи, которые вы сами решаете. И мой репозиторий навыков — это отличное место для начала. Если вы действительно что-то пропустили, если вы действительно пропустили, скажем, мозговой штурм из суперсил, тогда верните это. Если вы пропустили это, если вы пропустили то, и убедитесь, что вы устанавливаете их таким образом, чтобы вы могли настраивать их, вы могли играть с ними и экспериментировать, знаете ли. Э-э, если вы замечаете проблемы, тогда попытайтесь найти решения для их устранения и постарайтесь максимально делегировать реализацию AFK-агенту. Э-э, AFK — это просто невероятный способ работы. Это требует немного настройки, но как только она настроена, она просто сходит с ума. >> Хорошо, Ви? Спасибо за ваше время. Где люди могут найти вас? >> Э-э, найдите меня в Твиттере, найдите меня на aihero.dev, и у меня есть информационный бюллетень, где я публикую обо всем этом. Так что aihero.dev, особенно если вы хотите узнать о моих навыках и узнать об обновлениях к ним, тогда перейдите на aihero.dev/skills. >> Хорошо, я все это свяжу ниже. Еще раз спасибо за ваше время, Мэтт, и хорошего дня. А теперь где Дэвид?