Один мой день
Меня зовут Максим Кочурин, я основатель EasyRecode. Вместо громких слов расскажу, как проходит мой обычный день и почему из него вырос этот сервис.
Утро: ставлю задачу
Я вайбкожу каждый день. Утром пишу агенту, что нужно сделать: пара предложений в чате, как обычно. Агент отвечает «понял» и скоро присылает готовый код.
День: смотрю, что получилось
Открываю результат и часто вижу одно и то же: сделано аккуратно, но не то. И дело не в агенте. В моей задаче не хватало одной детали, а другая противоречила тому, о чём мы договорились раньше. Агент этого не заметил и решил задачу ровно так, как я её написал.
Я правлю задачу, агент переписывает код. Потом то же самое случается в другом месте.
Вечер: понимаю, в чём дело
Если подвести итог дня, больше всего времени уходит не на код. Оно уходит на то, чтобы понять, что именно я хотел. Код агенты пишут быстро. Медленно выясняется условие задачи.
Так я пришёл к главной мысли: решить задачу важно, но выяснить условие задачи важнее. Если условие неверное, даже идеальное решение даст неверный результат.
В маленьком проекте такую ошибку я ловлю глазами. В большом сервисе неверное условие успевает попасть в другие модули, и ошибку приходится искать уже по последствиям.
Что я с этим делаю
Я строю EasyRecode, сервис, где условие задачи проверяют до того, как его решать. Вот как он устроен.
- Все договорённости проекта лежат в одной спецификации. Это главный документ, и код пишется по нему.
- Перед тем как задача уйдёт агенту, сервис сверяет её со спецификацией: с терминами, принятыми решениями и соседними модулями. Проверяет сам сервис, а не агент.
- Если найдено противоречие или открытый вопрос, задача агенту не уходит. Сервис спрашивает человека и предлагает варианты ответа.
- Если ошибку нашли уже в работе, её исправляют в спецификации, а не обходят в коде.
- Агент сначала показывает план правок и только потом правит. Доступы у него только те, что выданы под задачу.
А если документов нет
У многих проектов спецификации нет вообще, есть только сайт, репозиторий или игра. Я хочу, чтобы этого хватало. Вы даёте ссылку на сайт или репозиторий, сервис сам разбирает проект и собирает спецификацию. Приложения и игры добавим позже: в них поиграет робот.
Код показывает, что система делает, но не говорит, что она должна делать. Поэтому у каждого пункта такой спецификации будет сказано, откуда он взялся. Чего сервис не увидел, то станет вопросом к вам, а не догадкой.
Что я обещаю
- Говорить об ошибках в условии до того, как по нему напишут код, даже если это замедлит старт.
- Не выдумывать. Чего сервис не знает, то он так и помечает.
- Оставлять решения за вами.
- Не учить модели на данных ваших проектов.
- Хранить ключи от репозитория и сервисов в сервисе и не выдавать их агентам.
- Строить сам EasyRecode по тем же правилам. У сервиса есть своя спецификация, и мои решения записаны в ней.
Чего не обещаю
- EasyRecode не пишет код сам. Его пишут ваши агенты и ваша команда.
- Быстрее будет не всегда. Иногда сервис остановит работу и задаст вопрос, так задумано.
Если вы узнали себя
Если вы тоже вайбкодите и хоть раз получали аккуратный код, который делает не то, мы думаем об одном и том же. Приходите в EasyRecode.
Максим Кочурин, основатель EasyRecode