Теперь я AI agent prompt manager
Все говорят, что скоро разработчиков заменит AI. Что скоро написание кода будет автоматизировано прям на 146%, и нам останется только говорить "сделай хорошо". OpenAI планируют запустить в продажу, а точнее в помесячную аренду, агенты, один из которых будет работать разработчиком за 10000$ в месяц. Из хорошего, работает бедолага 24/7 без выгорания и смузи. Из плохого… Да вот пока не ясно.
Тем временем, я решил проверить, а каково это будет работать в компании, где не будет отдела разработки, а, скажем, будет ряд агентов и какой-нибудь супервайзер (не знаю, как назвать эту должность, пускай будет AI agent prompt manager, почему бы и нет?) И так, давайте знакомиться, я - Игорь, AI agent prompt manager, и я сделал продукт за 3 уикенда. Заинтересовало? Ну что ж, давайте по порядку, как водится, с конца
Вот готовый сервис по планированию путешествий. Без регистрации и смс!!!
Что же это такое?
Это полноценное PWA (Progressive web app), которое позволяет запланировать отпуск или путешествие, добавить точки на карте, посмотреть календарь, таймлайн событий. Конечно же тут уже в коробке поддержка LLM, вы можете попросить чат создать вам план путешествия куда-либо, и он автоматически появится в списке ваших планов (бета фича!). Данные не покидают браузер: статика хостится на Netlify, добавил Google аналитику, запросы уходят только в LLM провайдеры, если вы ими пользуетесь.
Что под капотом:
- React
- JS (обошлись без TS)
- CSS (обошлись Tailwind и прочего)
- Service Worker
- openrouter.ai и arliai.com в качестве бесплатных провайдеров API для LLM (не уверен в доступности из РФ). Лучше сгенерировать свои API key - мой тестовый как-будто уже протух...
- А можно просто скопировать системный промпт и вставить в любую LLM, на выходе будет большой JSON, который можно вставить руками
- leaflet.js
- fullcalendar.js
Встречайте главного инженера: Claude Sonnet 3.7
Для создания этого приложения использовал платный (по подписке) Claude Sonnet 3.7 с функцией думания (extended режим). В основном по выходным. Промпты были простые, без деталей, в основном описание функционала и поведения. В этом недостаток: UI Claude выбирает сам, и цветовая палитра по умолчанию во всех приложениях у него сине-бело-голубая, а еще он выбрал сам писать на JS рекате, а не TS, и использовал react-scripts. Но это в целом можно тоже промптом редактировать. Использовал проекты, чтобы было проще группировать чаты и использовать общие данные, например описание проекта, системный промпт и все такое. Каждый чат я начинал с того, что скидывал все исходники. Поэтому кроме самого кода ещё появилось несколько питонских скриптов: который собирает все исходники в один большой файл, который делает структуру проекта в текстовом файле, в формате как обычно делает Клод, другой скрипт из этого структуру создаёт (для начала проекта) и один для ресайза картинок, чтобы сгенерировать иконки.
Делал функционал и юнит-тесты. Скармливал ошибки из консоли если что-то падало, и просил исправить. Обычно на одну фичу - один чат. Фикс тестов - новый чат. Какие-то большие баги - отдельный чат. Все они начинаются с того самого гигафайла со всеми исходниками и промптом с задачей, которую будем решать сейчас. Конечно, исходники растут, и каждый новый чат достигал лимитов все раньше и раньше.
В какой-то момент, если фича в конкретном месте, то скармливал только структуру проекта и необходимые файлы, например если надо что-то на картах поменять.
Можно ли лучше? Наверняка
Что о качестве решения. Я бы оценил его на 3-ку, но не забывайте, что я отправлял текущие исходники, и вопрос, который надо решить. Все было очень быстро. Но если мы в этой части придираемся, то давайте придираться:
- дублирующиеся CSS стили
- ненужные переменные
- странная логика (например throw error в блоке catch)
- многие места можно было бы написать получше
В целом код мидла, но, конечно, мидл не напишет это за несколько дней, наверное понадобилось бы 1-2 рабочих недели, если писать руками.
Вывод
Что в сухом остатке: ну, для прототипов и маленьких MVP очень здорово, с большой кодовой базой работать трудно, галлюцинаций нет, но иногда просто забывает использовать код или пишет лишний. Для критических проектов наверное не стал бы использовать пока. Почему пока - полгода назад я делал с Клодом фичу для основого продукта, где я работаю, на хакатоне. Это была фри-форм рисовалка на канвасе. Тогда я потратил два рабочих дня, без юнит-тестов, и последние часы кодил уже сам, исправляя ошибки ЛЛМ. В этот раз личное участие было совсем минимально. Прогресс за полгода - грандиозный, посмотрим, что принесет следующая версия.
Заменит ли AI всех-всех-всех? Скорее нет, и у меня целый ворох аргументов, почему нет. Но, наверное, главный - это безликий голубоватый UI, который Клод делает по умолчанию во всех своих приложениях. Шутка конечно же. На самом деле, в этом проекте я использовал AI только для разработки, а во всяких бизнесах есть еще маркетинг, бухгалтерия, лигалы, hr и прочее. Технически, заменить всех реально, правда, кто будет нести ответственность за факапы? AI плевать на мотивацию, это инструмент, который может помочь увеличить продуктивность компании, и там, где трудилось 3 джуна, будет трудится 1 агент. Это похоже на правду. Но, в тот день, когда все CTO умрут, а все сеньоры станут CTO, то вдруг выяснится, что не осталось сеньоров, чтобы стать AI agent prompt manager.
Буду ли я продолжать эксплуатировать его? Определенно да, скоро я перепишу весь софт, который мне нужен ва-ха-ха-ха. Ох, но куда я денусь от любимых Google Sheets... Но теперь я даже чаще делаю всякие штуковины с Клодом, чем играю в компьютерные игры.
P.S. Что-то arliai.com вообще не работает, так что может и не в ключе дело.