CodeVROOM: я-таки написал свой AI-редактор
От: bazis1 Канада  
Дата: 29.07.25 03:40
Оценка: 87 (7)
Всем привет. Давненько я не появлялся на этом форуме. Если чего, я тот чувак, который 13 лет назад написал VisualGDB, пока VS не умела в Линукс от слова совсем. Ну а потом вырастил из этого огромный мультитул с кучей функционала.

Но сегодня не об этом. Где-то полгода назад я попробовал в работе AI, и сразу понял, что чаты и CLI — жутко неэффективные способы с ним работать. Большую часть контекстного окна занимают мало релевантные вещи, AI часто галлюцинирует фигню, редактирует чего не просили, или в случае с CLI, тормозит и жрет токены, как не в себя.

В общем, я вдохновился этим делом, и написал CodeVROOM. Это написанный с нуля на дотнете кросс-платформенный редактор, который работает на уровне символов. Т.е. если, скажем, ткнуть его носом в недоделанную функцию, он сбросит модели сильно обрезанный вариант файла и обернет это фразой "пока ничего не делай, но скажи, какие символы нужны, чтобы это выполнить". Дальше нужные символы подключаются в контекст, и чат начинается с начала. Все это по одному нажатию, при желании можно настраивать. По ссылке сверху пример, как итеративное добавление контекста вообще без единого слова промпта в 3 шага делает ответ гораздо более разумным. Это работает в разы быстрее, чем если кидать модели целые файлы, и надеяться, что она там что-то найдет.

Тут еще железо от Cerebras подоспело, которое гоняет Ламу с абсолютно космической скоростью, и в итоге получилась гремучая смесь. Т.е. реально кучу рутинного кода больше можно не писать вообще. Даются промпты типа "сделай обертку вокруг этого класса, и добавь туда статус", "вынеси абстрактный класс с X, Y и Z", "добавь еще вариант для foo", и оно через считанные секунды выдает вменяемый код, которым с минимальными доработками можно пользоваться.

Дальше — больше. Раз уж писать редактор с нуля, можно сделать разые крутые вещи, которые не потянет архитектура существующих редакторов. Например, если AI предложил правки в 3 разных класса из 20, можно свернуть классы (и группы методов), не затронутых правками. Т.е. не нужно бегать по всему файлу, и в то же время, железно понятна структура, что правка внутри конструктора вложенного класса, а не черт знает где.

Ну, плюс, сессии редактирования можно шагать вперед/назад, менять модели на ходу, или дать модели одну и ту же задачу 5 раз, потом выбрать лучший вариант, и продолжить с ним.

Или еще фишка — AI techniques. Когда один раз описывается типовая задача, типа как портировать WPF-свойства в Avalonia, и потом можно просто ткнуть в класс и сказать "примени технику @PortProperties к свойствам размеров". И через пару секунд будет результат, на который руками ушли бы минуты.

Впереди еще много всего, типа высокоуровнего дизайна классов на уровне требований, но даже в текущем состоянии редактором можно пользоваться для кучи мелких задач (тут есть примеры).

Сам редактор платный, но не привязан к конкретным моделям, и пока не будет функционала типа сборки и отладки, работает неограниченный триал.

Комментарии и пожелания приветствуются.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.