Завтра выходит первый за несколько лет существенный апдейт седьмой Gran Turismo, и я уже знаю, на что уйдут мои выходные. Буду экспериментировать с телеметрией! Жаль, что её, скорее всего, не получится просто выгрузить, поэтому протестируем, как LLM-ки справятся с фотками экранов с этой телеметрией. Интересно, что из этого получится!
PS: Ну и да, ребята, как всегда, молодцы — умудряются продавать одно и то же несколько раз. Вместо шин Michelin теперь везде будут шины Dunlop. А на управление это как-то повлияет, как думаете?
Вы когда-нибудь задумывались о том, что AI‑assisted IDE — это не только инструменты вайб-кодинга, но и очень мощные тулы для работы с требованиями и для решения операционных задач? 🤔
Я долго смотрел на Cursor исключительно как на инструмент разработки. И даже когда кто-то говорил, что в нём можно собрать классного бизнес-ассистента, мой мозг сопротивлялся и говорил — ну это же вообще для другого!
А потом я наткнулся на GitHub spec-kit — и всё внезапно сложилось. Использовать такие IDE (или даже CLI-утилиты Gemini и Claude Code) для ведения документации оказалось удивительно удобным. Мне давно хотелось иметь интерфейс, в котором LLM задаёт уточняющие вопросы, а затем аккуратно интегрирует ответы в существующую базу знаний в репозитории. И это прям оно! ✨
Я разобрался, как устроен spec-kit, и — спойлер — там нет никакого rocket science 🚀. Просто набор шаблонов, промтов для разных этапов discovery и скриптов, которые запускаются в нужные моменты: что-то копируют, что-то обновляют, что-то коммитят.
Когда у нас появилась задача сопоставлять вакансии с матрицей компетенций — небольшая операционная задача, на которой было не страшно экспериментировать — я понял, что пора собрать свой маленький репозиторий и начать онбордить коллег в GitHub и AI‑IDE. Сейчас там всего два воркфлоу:
- проанализировать вакансию по URL;
- предложить обновления для матрицы компетенций.
Даже этого уже хватает, чтобы экономить массу времени:
- Не нужно вручную копировать промты, матрицы и тексты вакансий — просто запускаешь команду с адресом вакансии.
- Не нужно думать, куда сохранять результаты — воркфлоу делает это сам.
- Не нужно бояться сломать что-то коллегам — всё работает локально, а Git всегда позволит откатиться. 🙌
Да, продактам придётся освоить пару новых инструментов. Ладно IDE, с ней всё просто, а вот Git… коммиты, ветки, пулл-пуш, вот это всё — удовольствие ниже среднего, особенно на старте 😅. Но для регулярных задач этот подход настолько эффективен, что окупается мгновенно.
Если развивать дальше мысль о том, что можно управлять требованиями непосредственно в репозитории проекта, то слово "монорепозиторий" начинает играть новыми красками.
И на первый взгляд всё выглядит прям прикольно:
- продакт написал требования, сделал Pull-Request;
- LLM'ка его обработала, проверила консистентность с другими требованиями и текущей реализацией, предложила варианты, как именно это запилить;
- я уточнил план реализации и запустил агентов его имплементить.
🤖 На практике первый же вопрос, который вводит меня в лёгкий ступор: а какой флоу выбрать в этом случае для работы с гитом?
Второй вопрос связан с первым, но ещё более практический: а где гонять и как управлять теми агентами, которые должны обрабатывать пулл-реквесты?
Пока у меня в голове есть два варианта:
🔧 Костыльный:
- каждый член команды работает в своей ветке;
- не реже, чем раз в неделю, коммитит изменения в GitHub;
- я (ну не прям ручками, а, например, локальным курсором и скриптами) раз в неделю собираю всё в Pull-Request в основную ветку и на нём уже гоняю агентов.
⚙️ Системный:
- объяснить команде концепции веток, push/pull, ревью и CI/CD;
- настроить автоматизацию в GitHub.
С технической точки зрения мне второй путь ближе. С практической — выглядит как два отдельных больших проекта (обучение коллег и реализация всей этой системы) вместо того, чтобы заниматься непосредственно развитием продукта.
Собственно, у меня к вам два вопроса:
1. Какой бы путь выбрали вы? Или, если уже выбрали, — поделитесь с чем столкнулись
2. Как вы решаете, сколько времени тратить на автоматизацию и настройку процессов, а сколько — на текущие задачи? ⚖️
В начале этого года у меня довольно спонтанно случился горнолыжный отпуск (🏂 на самом деле ) — и он в очередной раз продемонстрировал разницу между hard skills и soft skills.
Я всю жизнь занимался каким‑нибудь спортом: плаванием, стрельбой, баскетболом, теннисом, картингом, сноубордом, велосипедом. С разной степенью серьёзности и регулярности, но почти все время как-то тренировался. При этом я несколько раз начинал ходить в тренажёрный зал — и каждый раз быстро забрасывал. Потому что скучно. Не скучно стало ровно в тот момент (3,5 года назад), когда стало понятно, что это нужно для здоровья:
— не сходил в зал две недели — болит спина;
— ходишь регулярно — чувствуешь себя заметно лучше.
В этот момент мотивации ходить в зал стало больше, а времени на остальные виды спорта — меньше. Но я сделал интересное наблюдение.
Каждый раз, когда я возвращаюсь к тому, чем занимался раньше, я вижу прогресс даже без регулярных занятий. Почему? Потому что раньше мне тупо не хватало базовой физической подготовки, чтобы перейти на следующий уровень.
В прошлом году на сноуборде я заметил, что мне наконец хватает кора, чтобы кататься без перепрогиба в пояснице — и она перестала уставать. В этом году я почувствовал, что спина и плечи закачаны достаточно, чтобы любые движения рук и корпуса не создавали паразитных нагрузок 💪
Банально, но неважно, как быстро ты принимаешь решения и реагируешь на ситуацию, если физухи не хватает. И неважно, насколько ты мощный, если ты не понимаешь, как этим пользоваться в конкретном виде спорта. В общем, тренажёрка качает hard skills. Остальные виды спорта — soft skills. А чтобы не упираться в потолок, нужно регулярно качать и то, и другое.
С AI сейчас ровно та же история 🤖
Есть куча инструментов — и каждым из них нужно учиться пользоваться. Это, на мой взгляд, софт‑скиллы. Но если ты:
— не понимаешь, чего именно хочешь получить;
— не знаешь, как должен быть устроен итоговый процесс;
— не осознаёшь ограничения систем
то никакое владение инструментами
Мой главный лозунг прошлого года - забудь то, как ты работал раньше!
Для меня это не только про AI-тулы, но и про то, что работа в корпорациях сменилась своим стартапом. И в связи с этим надо сильно менять майндсет. Не всегда нужны масштабируемые решения с огромным запасом прочности. Чаще всего не нужны супер оптимальные решения. Зато нужны гибкие и быстрые.
Первая моя поделка совместно с AI — serverless бекенд для телеграм-бота. Мне казалось это очень прикольной идеей — у тебя нет крутящегося где-то сервера. Нет клиентов — нет оплаты. Придёт много клиентов — оно отмасштабируется полностью само. И поэтому первый бекенд для aivaly я собирал по той же схеме: DynamoDB в качестве базы данных, lambda — в качестве обработчиков, API Gateway в роли маршрутизации. 🛠
Работает стабильно, управляемо и даже курсору довольно несложно разобраться, где что лежит и как это правильно развивать. Но есть проблема — без поллитра годов опыта в AWS ни в чём не разберешься. Если хотя бы месяц не залезал в проект, то погрязнешь в логах и т.д. А главное — когда кофаундеры приходят с радостной новостью, что они что-то навайбкодили в lovable и уже можно показывать клиенту, то ты с кислым лицом отвечаешь, что их вот этот модный supabase нам не подходит для прода. 😐
На Новый Год у меня было время немного остановиться и подумать — а что я делаю не так? Что нужно поменять, чтобы не лишать коллег возможности вайбкодить? Как сделать нашу инфраструктуру более дружелюбной и прозрачной для всех? Ну и заодно — как сделать так, чтобы мы безболезненно могли быстро поднимать какие-то региональные сервисы, где будут учтены особенности местного законодательства?
В общем, я пошёл смотреть на supabase и понял, что он офигенный! В нём есть всё, что нужно для простого CRUD-бекенда из коробки. Остаётся только аккуратно управлять схемой данных и правами через миграции. Заводишь таблички — и к ним уже можно делать фронт хоть через REST, хоть через GraphQL.
Но у нас всё-таки не просто CRUD-бекенд. Есть ещё аси
Давно вы сталкивались с продуманным UX в мире обычных вещей вне девайсов и приложений? 🤔
Вещь, которая заставила меня написать этот пост — маленькая наклейка. Мне, правда, не удалось сделать фото — в фокусе оказался 🐶 (положу его в комменты). Да, это рулон пакетов для прогулок с пёселями, а в конце рулона — наклейка с предупреждением: "осталось 3 пакета!". И, блин, это офигенно удобно. Все, у кого есть собака, знают, как бывает сложно понять перед прогулкой, сколько там осталось пакетиков — один, два, а может, ещё четыре?
Сижу и не могу вспомнить ещё хотя бы один пример из недавнего, чтобы какая-то продуманная мелочь в "реальном" мире меня так же приятно удивила. В гаджетах и приложениях - да, вот тут даже про это писал.
А у вас как? Делитесь, что вас приятно удивляло в последнее время👇
На прошлой неделе созвонился с товарищем поделиться своими вайб-кодерскими подходами, лайфхаками и находками. И первый раз услышал персональный и очень положительный отзыв на то, что называется skills 🤔
Я про них слышал и до этого, но немного пропускал мимо ушей. Как бы я ни старался быть открытым всему новому, мозг на самом деле сопротивляется и старается придерживаться привычных паттернов, подходов и инструментов. А тут целая новая концепция. Мы освоили в команде использование workflows и ладно. Кажется, вполне достаточно.
А в выходные у меня обновился Cursor и тоже что-то написал про skills. Ну, тут я уже не выдержал и пошёл смотреть, что же это такое и как это работает 👀
Оказалось, что это дополнительные инструкции, которые агент сам находит и применяет, если считает, что они релевантны задаче. Но можно и в явном виде указать skill при написании промта. Окей, звучит неплохо.
Когда мне чаще всего приходится поправлять агента? Когда он пытается гонять python-тесты и не использует для этого venv. Ну, что ж, отличный способ понять работает или нет — завести скилл testing. Завёл, сказал, где лежит venv и что надо его использовать. Поставил следующую задачу, в которой тесты надо было прогнать. Переключился на другие задачи, вернулся к курсору — смотрю, опять пытается запускать тесты и ничего у него не получается 😑
Ну, думаю, не работают эти ваши скиллы. Но! После двух неудачных попыток вижу в чате с агентом сообщение со скриншота и замечаю, что он исправился.
Реально, как в Матрице: "Я знаю кунг-фу" 🥋✨
P.S. Ссылки на документацию про скиллы в разных инструментах в комментарии.
У меня всегда была странная привычка: когда я набирал «ok», я обязательно переключался на английскую раскладку. Это не очень удобно и тормозит процесс, но мне было важно, чтобы это было именно «ok», а не куцый русский «ок». 🤷♂️
Рационального в этом было немного. Но благодаря таким людям как я, теперь примерно в половине случаев, когда я прошу gemini на русском поставить таймер, то в ответ слышу не "ока", потому что кто-то писал ОК заглавными буквами в русской раскладке, а полноценное "окей". 😄
Я давно понял (и, кажется, уже писал об этом не раз), что в вайб-кодинге главная проблема — не что-то собрать, а не сломать то, что уже работает.
Сначала довольно быстро получается что-то рабочее, но как только начинаешь это развивать — всё разваливается. И не всегда получается быстро понять и объяснить своему тулу, что именно сломалось.
Поэтому я довольно давно перенёс TDD-подход в работу с Codex, Claude Code и Cursor (если ваша вайб-кодинг-тула не начинается на C — даже не предлагайте мне её 😄) — и вижу, насколько стабильнее получается результат, если система нормально покрыта тестами на разных уровнях (а не просто “написали миллион юнит-тестов”).
Но я также понимаю, что выше написано что-то на эльфийском для большинства вайб-кодеров 🙂
Поэтому у меня просьба: если вы не инженер, но при этом вайбкодите и уже сталкивались с ситуацией
попросил новую фичу → всё сломалось
давайте созвонимся и поговорим про это.
Хочу понять, как вы с этим справляетесь
Вот здесь можно забронировать слот на 20-минутный созвон: https://calendar.app.google/eueW7N9Sn2YDLu8XA
А я в качестве благодарности с удовольствием проконсультирую вас по инженерным практикам поддержания качества и поделюсь опытом их внедрения в работу с агентами.
С конца января я почти перестал сюда писать, но не потому что ничего не происходило, а наоборот, потому что происходило слишком много всего.
Кажется, пришло время написать немного апдейтов. И начну с того, что я больше не часть команды Aivaly.
Когда я уходил из Tabby заниматься фуллтайм техническими задачами в небольшой стартап моих друзей, это выглядело как очень логичный шаг:
— есть идея и первые версии продукта
— есть первые продажи и тёплые клиенты
— нужно прямо сейчас делать много технических задач
Но на самом деле всеми этими аргументами я скорее рационализировал не самое прагматичное желание — мне хотелось почувствовать себя CTO и стартапером.
И первые месяцы это действительно было драйвово.
Погружение началось с параллельной подготовки к WebSummit и проекта у клиента — это был офигенный опыт командной работы, где чувствуется вклад каждого. Нужно было заниматься тем, что ты умеешь, тем, что тебе интересно, и чем-то ещё.
Но довольно быстро это веселье сменилось рутиной еле-тёплых и совсем холодных продаж. И вот к этому я уже не был готов. А чтобы попробовать вернуть стартаперские вайбы, я подался с нашим проектом в акселератор AltaLab. И уже первое онлайн-занятие подсветило то, на что я старательно закрывал глаза.
Один из первых вопросов, на которые Игорь Рябенький просил честно себе ответить, звучал очень просто: "Готов ли ты заниматься этим 10 лет?" Я честно ответил "нет". Но попытался себя убедить, что, возможно, достаточно того, что другие ребята из команды готовы.
Вопрос, который окончательно расставил всё по местам: "Какое unfair advantage я даю команде?" И когда я стал искать на него ответ, мне стало понятно, откуда берётся моё внутреннее сопротивление в каких-то задачах. Я не видел, какой именно вклад даю, который принципиально усиливает команду и почему меня нельзя взять и просто заменить. Даже наоборот, я вспомнил, что ещё в новогодние каникулы у меня появилось ощущение: в том режиме, в котором мы работаем, я скорее торможу остальных, чем уско
Начну издалека. Жизнь в эмиграции очень нестабильная штука. От твоего работодателя (при его наличии) во многом зависит твоё право жить в конкретной стране. Можно, конечно, самостоятельно заниматься легализацией, и я как раз так и делал на Кипре последние полтора года. И, да, это одна из причин, по которой я смело ушёл от настоящего работодателя с регулярной зарплатой в несуществующую компанию мечты.
Но когда реальность с мечтой разошлись, выяснилось, что не так страшна привязка к стране работодателем (или к работодателю страной 🤔), как стремительно худеющая финансовая подушка. И вот я уже формулирую два главных требования для очередной смены деятельности:
— регулярная зарплата;
— закрытие вопросов легализации за меня.
Ну и, да, легализация должна быть не на Кипре. Потому что тут мы уже все винодельни объехали
А возвращаясь к мысли из прошлого поста про unfair advantage, я понял, что моя ценность в финтехе сильно выше, чем вне его, так что это точно должен быть финтех. Но не совсем же отказываться от своих мечт? Так что это должен быть финтех, который готов строить агентские процессы разработки, переосмыслять привычные штуки и не тащить за собой тонны legacy.
А такое точно бывает? Вот и я думал, что нет и собесился в разные большие компании с релокацией в Лондон.
И вот мне предложили пообщаться с крипто-стартапом. Честно скажу, я был (и до сих пор) далёк от крипты, а смысла в её широком распространении не особо видел. Но после разговоров с фаундерами и командой я внезапно понял, насколько это может быть актуально и интересно, если посмотреть под правильным углом. А ещё — насколько много ограничений классических финтехов можно не тащить за собой.
При этом мой опыт в традиционных финансах оказался очень полезным. Потому что, несмотря на весь хайп вокруг нового банкинга, реальный мир всё ещё состоит из айбанов, свифтов, ERP-интеграций, карточек VISA и всей этой legacy-инфраструктуры, с которой надо как-то взмыть в прекрасное крипто-будущее 🙂
В итоге я решил,
Это скриншоты из Riptide, которым я активно пользуюсь последние три недели. Он помогает разрабатывать новую функциональность, основываясь на уже применяемых в репозитории паттернах. И по моим ощущениям это не просто ещё один тул для spec-context-younameit-driven development, а прям другой уровень. Тот случай, когда бейджик YC F24 не врёт.
Первые вау-эффекты заставили меня буквально раз в 5 минут слать скриншоты и md-файлы другу, с которым мы за пару дней до этого по телефону обсуждали, как должна выглядеть AI-driven разработка. Да, тут было всё именно так как мне хотелось. И, да, всё, что написано на скриншотах - правда. Из "мелочей" - все дизайн-документы в облачном воркспейсе доступны сразу всей команде, они цепляются к Linear или Jira тикетам, их можно комментить, а агент эти комменты будет читать и принимать к сведению. В общем, несмотря на всю мою насмотренность на самые разные тулы и твердое решение не бросаться ставить новые, если они как старые, но немного лучше, в riptide я сразу поверил.
Впрочем, дьявол, как всегда оказался в деталях. Хотя, наоборот, не в деталях, а в конценпциях. С одной стороны, я делаю большую фичу, проходящую через много разных сервисов, требующую разработки новых и мне надо быстро построить её PoC. С другой стороны, чтобы построить хороший PoC с архитектурной точки зрения, мне нужно каждый из этих слоёв продумать на несколько шагов вперёд, а не только для самой ранней стадии, чтобы потом не пришлось всё переписывать или мучительно поддерживать то, что в новые требования не вписывается. А вот на такой послойный рисёрч эта штука в своём прямом виде оказалась не рассчитана.
В итоге я нашёл хак, про который даже разработчики этой тулы сказали, что оно так не может заработать. Сначала я для себя разбил свою большую фичу на горизонтальные слои. Описал требования к ним и этапы развития. И запустил riptide устраивать со мной design discussion по этим слоям. Потом я создал отдельный тикет уже на первый вертикальный слой, прилинковал ему б
Судя по наличию 🤯 под предыдущим постом, надо про что-то менее узкоспециализированное написать. Ну, тогда пришло время поделиться впечатлениями и методами использования Claude Dispatch.
Но начну, как обычно, издалека. Я давно наблюдал за несколькими ребятами, которые продвигают концепцию second brain и советуют все записи вести в репозитории, к которому у AI есть доступ, а вы с этим AI общаетесь через чат. Кажется, первым, у кого я это увидел, был Сева Устинов. Концепция мне понравилась, но надо было думать, как это и где разворачивать, и я решил дождаться коробочных решений.
Коробочное решение не заставило себя долго ждать. Когда появился OpenClaw, вокруг того, чтобы все задачи поручать агентам, развернулся дикий хайп. Но примерно каждый пятый пост был про то, как все данные были уничтожены, ключи утекли и вот это вот всё. FOMO, что я этим не пользуюсь, было сильное. Но опасения по поводу того, чтобы дать доступ вообще ко всему на своём компьютере какой-то непонятной субстанции, сильнее.
А потом Anthropic сделал Claude Dispatch. Это такой оркестратор агентов внутри приложения Claude Desktop с единым окном чата с ним, к которому можно подключиться в том числе из приложения на телефоне. Я подключил и попробовал между подходами в тренажёрке позадавать вопросы Claude Code по своей кодовой базе и написать пару планов в виде md-шек. Мне понравилось.
Потом я понял, что он может работать не только с локальными файлами, но и с сервисами через MCP. Подключил Linear и попробовал голосовой ввод в приложении на ноуте. Вот тут меня ждало полное разочарование. Не знаю почему, но Claude на телефоне отлично распознаёт русский, а на десктопе вообще его не понимает. Поэтому теперь, когда я хочу что-то длинное наговорить ассистенту, я беру телефон и кричу в него. Уверен, это добавляет мне важности для наблюдателей со стороны. Жаль, что работаю я из дома, и важным становлюсь в основном в глазах собственной собаки.
Так вот, работа с таск-трекером стала одним из основных воркфлоу ис
Моя роль в Squads - Fullstack Product Engineer. Я отвечаю за фичи, над которыми работаю, end-to-end: начиная с первой строчки продуктовых требований и заканчивая последней строчкой кода багофиксов после релиза. У такого подхода есть самые разные плюсы и минусы, но чем мне сразу концептуально понравилось предложение так работать, так это возможностью самому решать в зависимости от стадии проработки продукта, где срезать углы, а где упарываться в грамотные технические решения.
Например, понятно, что схему данных нужно проработать настолько хорошо, насколько это возможно сразу. У неё всегда самый длинный хвост проблем (если, конечно, мы не говорим о встраиваемых куда-то библиотеках, привет, коллеги из АппМетрики) и лишних миграций данных хочется избежать. А вот на разные грязные хаки в том, кто тригерит обновления и в каких ситуациях, я готов с радостью пойти, зафиксировав переход на нормальную фоновую синхронизацию, как техдолг. Это же Proof of Concept. Мы пока не знаем, что именно изменится после первых тестов, а значит смысла делать сразу всё идеально не очень много.
Так я думал, пока не настало первое код-ревью, на котором мне прилетела куча комментов, что мы так не делаем, так у нас не принято, а вот это мы договорились всегда делать по-другому. Во мне долго горело желание отстаивать свои хаки, но я пошёл исправлять код согласно замечаниям, решив, что первый раз сделаю как принято, а все свои идеи по социально-одобряемому говнокодингу оставлю при себе до ретро.
А потом я заметил, как AI радостно ссылается на кусок кода из моей экспериментальной ветки и говорит мне, что нашёл подходящий паттерн в репозитории, поэтому будет делать по образу и подобию. И тут мне стало ясно, что любой сделанный на скорую руку хак с точки зрения AI моментально превращается в паттерн, который можно повторять. И вся моя концепция про то, что с AI-driven разработкой можно сначала быстро наговнокодить, а потом рефакторить фичи, когда накопаем реальных данных о продукте, упёрлась в реаль
А вот и пост, на котором во вторник сломался Claude Code и сломал мне план публикаций 😅
Иногда Claude Code, когда делает что-то под ключ, приносит очень прикольные сервисы, о которых я раньше не слышал. Например, в одном микро-проекте, который я его попросил реализовать в выходные, ему нужно было навставлять кучу картинок для примеров. Так я узнал про picsum.
Сначала я не понял, что это за фотобанк такой и почему по всем адресам, которые вполне соответствуют будущему контенту, уже есть картинки, причем они разные. Ну, вот, сами посмотрите
https://picsum.photos/seed/tsiakkas/640/440https://picsum.photos/seed/vasilikon/640/440https://picsum.photos/seed/zambartas/640/440https://picsum.photos/seed/vouni/640/440
( Да-да, жители Кипра наверняка узнали в url'ах названия местных виноделен 🍷)
Но стоило зайти на главную сервиса и увидеть "Lorem Ipsum for photos" и всё стало на свои места. И нейминг, и идея сервиса сразу стали очевидны. Причём забавно, что как раз для текстов, к которым идёт отсылка в названии, невозможно придумать настолько же простой и лаконичный в использовании аналог. А этот сервис по сути не требует документации — просто берёшь и пользуешься. Мастхев для прототипирования без регистрации, СМС и рекламы. Интересно, если сервис популярный, то сколько они тратят на CDN? 🤔
А вам агенты что-нибудь полезного приносили, чем вы потом начинали постоянно пользоваться?
Вот вам ещё одно открытие из уроков испанского. На самом деле соевые либералы — это никакое не пренебрежение, а каламбур про либералов переехавших в Испанию. Ведь soy liberal это буквальный перевод фразы я либерал.
А с вами снова пятничные откровения об испанском языке!
То, насколько сильно испанцы не любят работать, можно понять по тому, что слово «переживание» по-испански — preocupación.
То есть буквально — предзанятость.
Ещё работать не начали, а уже переживают об этом.
Всем привет, я Дима, и я ИИголик. Это осознание пришло ко мне сегодня в районе 4 утра. Да, я знал, что испанский, домашку по которому я не сделал, уже через 6 часов. А ещё, что начинается рабочая неделя, в которой должен быть важный релиз, которым я плотно занимаюсь последние недели. И есть ещё несколько давно начатых пет-проектов, которые я никак не доведу до ума. Но ничто из этого не могло в последние несколько часов вытащить меня из дофаминовой ловушки, в которую меня затащил новый проект, который я делаю силами LLM'ок вот уже третий (или уже четвёртый?..) день.
Ну, подумайте сами, я нашёл проект, где моя «насмотренность» — важнейшая составляющая, всё, что в нём нужно разрабатывать, получилось быстро и достаточно понятно декомпозировать, а к тому же всё это покрывается красивой объектной моделью. А ещё в диалоге с Fable родился классный нейминг, который сразу превратился ещё и в офигенный фирменный стиль с пасхалками.
Плюс, когда я первый раз показал наши с Кодексом наработки Клод Коду, он сказал, что «Инженерная культура репозитория заметно выше среднего». И это очень мне польстило. Потом, правда, я перечитал фразу целиком и после похвалы там стояло «для проекта трёхдневного возраста» — и это превратилось во что-то в духе «ты неплохо пишешь код для гуманитария».
Представьте себе, даже купленный Heroes Olden Era, запущенный в триалке Crossover, часики у которой беспощадно тикают, не смог меня заставить отвлечься от разработки тулы для тестирования платёжных сценариев. И это при том, что на моей day-job я сейчас решаю очень похожую задачу. Но так как там надо её решить сразу для многих провайдеров и с кучей сценариев, это давит. А тут я для себя нашёл своеобразный safe-space для тестирования подхода, который мне кажется перспективным.
В общем, надеюсь, что на этой неделе отправлю первую версию тулы в Chrome Web Store.
А пока для вас небольшая картинка-тизер. И, конечно, вопрос — с какими самыми неудобными сценариями при тестировании интеграций PSPшек (платёжн
Довольно продолжительное время, лет 6–7, я всё делал на AWS. Там есть сервисы на все случаи жизни. Они не всегда самые удобные (никогда, если честно), но когда ты уже понял логику того, как оно в этом облаке устроено, переключаться на что-то альтернативное не хочется. А на самом деле даже не не хочется, а кажется ненужной тратой времени. Ну, вы знаете, когда микроскоп уже есть и ты знаешь, за какую часть его поднимать, проще забивать гвозди им, чем бегать в поисках действительно удобного молотка.
Но когда пришли сначала просто чаты с LLM'ками, а потом и агенты, это очень сильно поменяло как раз вот это ощущение огромного налога на поиск и погружение. Теперь можно не самому искать инструмент, а попросить агента найти подходящий под конкретную задачу. Не самому искать инструкцию, а поручить агенту найти именно для твоего случая. А иногда можно просто пустить его в браузер и попросить сделать что-то за тебя. Ну, это если сервис ещё не настолько современный, чтобы предоставить ему MCP.
Я постоянно всем говорю про Linear, но мне хочется повторяться, потому что это лучший пример того, как новый инструмент стремительно влетает в мою жизнь благодаря LLM'кам. Но не единственный. За последнее время благодаря агентам в мою жизнь вошли Supabase, Vercel, а совсем недавно ещё и Cloudflare. Причём последний — совершенно случайно. Я спросил — где мне лучше купить домен: на GoDaddy или в AWS Route 53, — а агент предложил Cloudflare Registrar, потому что там дешевле (на горизонте 2–3 лет), да ещё и много чего можно сделать буквально в пару кликов. И оказалось, что зарегать домен, положить туда небольшой лендинг, настроить редиректы, поставить форвардинг почты с нового домена — занимает там в разы меньше времени и усилий, чем если бы я это делал в знакомых местах.
В общем, спасибо агентам — благодаря им я ощущаю себя более открытым ко всему новому. И вместо старпёрского «вот поиграетесь, а потом всё равно на AWS переедете» стал сам постоянно внедрять новые сервисы там, где это умес