История про косяки и разработку агентов для контента, написанная во время перелёта в Москву без доступа к ИИ
То, о чём я сейчас буду рассказывать, наверняка очень хорошо известно любому разработчику. И даже может вызвать у них улыбку. Итак, первую половину года я постоянно писал агенты для контента. Проектировал, вайбкодил, дописывал руками, что не нравилось, снова вайбкодил. Постоянно хотелось что-то улучшить, ускорить, оптимизировать, а затем опять усложнить. На каком то этапе там появился пайтон, экшены в гитхабе, синхронизация с другими репозиториями. И в какой-то момент для меня самого стало казаться, что этот процесс бесконечный.
Почему я вспомнил разработку в начале. Довольно часто знакомые программисты рассказывали, что долго не решались показать какой-то новый продукт, потому что опасались критики и провала. Процесс доработки становился бесконечным, а пока они стремились к идеалу, конкуренты выпускали сырую версию и уже начинали на ней зарабатывать.
Я свой mvp, конечно, раскатал на коллег практически в первые месяцы, но ситуация похожая. От той первой версии, которую забрали коллеги, до следующей анонсированной прошло три-четыре месяца. По своей внутренней нумерации я скакнул от v.1 до 4.55. Это приблизительно, в самолёте не посмотришь ченжлог, да и смысла в этом нет. То есть после первой раскатки я просто ушёл в лютые доработки и не смотрел по сторонам.
К чему это привело лично для меня:
Сложность и монструозность системы. Для всех кроме меня
Я то знаю, почему и зачем все эти проверки и экшены. И даже документацию написал, но кто её читает. Система, которую нельзя объяснить за десять минут, принадлежит одному человеку, даже если лежит в общем репозитории.
Я оптимизировал то, что видел сам
Да, видел много, но только по своим направлениям. Четыре месяца я честно доводил систему до идеала на выборке, которую сам же и составил. В ML для этого есть точное определение: переучился на тестовом наборе. Загуглите сами, что это.
Коллеги остались с v.1
Вот, кстати, это больнее всего. Пока я разгонялся, у них работала первая версия и они к ней приспособились. Придумали обходные пути, завели свои агенты и скиллы, привыкли к её странностям. Моя новая версия для них стала не улучшение, а ломкой того, что уже как-то жило. Чем дольше пауза, тем дороже обходится каждое обновление.
Точка остановки не наступила сама.
Я почему-то ждал, что в какой-то момент станет «готово» и я сам это почувствую. Не чувствуется. Список идей не заканчивается никогда, каждая следующая выглядит как последняя недостающая. Остановиться можно только решением, а не ощущением.
Следующие пару месяцев я не трогал ничего. Просто работал с системой как обычный пользователь, слушал коллег и смотрел по сторонам.
Первое, что выяснилось: половина того, что я написал, используется только мной. Не потому что плохо сделано, потому что не нужно. Я решал задачи, которые люди предпочитают решать другими способами. А то, что реально болит, казалось мне скучным, и я это четыре месяца обходил стороной. Теперь нагоняю.
Второе: пока не трогаешь, наконец видишь, что ломается. Когда каждую неделю выкатываешь новую версию, любой сбой списывается на свежие правки. Когда система стоит неподвижно, становится ясно, что она разваливается стабильно и в одном и том же месте.
Третье, и самое неприятное. За эти два месяца вышло столько всего нового, что какие-то мои проверки и промпты просто перестали иметь смысл. Я месяцами обходил ограничения, которое теперь снято на уровне инструмента. Смотреть по сторонам тоже работа, и я её не делал, потому что был занят.
Так что пауза оказалась не простоем. Она оказалась единственным способом узнать, что строить дальше. Разработка ослепляет: пока пишешь, видишь только следующий шаг.
Теперь стараюсь держать ритм: месяц строю, месяц живу с тем, что построил. Второй месяц даёт больше, чем первый, хотя это до сих пор кажется мне контринтуитивным.
P.S.: А ещё в канале выложил два скилла в опенсорс для поиска ИИ-паттернов в тексте и оптимизации текстов под ИИ-выдачу. Забирайте.