Ask HN: Кто-нибудь выпускал самоизменяющееся приложение с LLM?
Ask HN: Has anyone shipped a self-modifying application with LLMs?
Раньше модель ПО обычно предполагала выпуск фиксированного приложения, а если пользователям нужна какая-то кастомная функциональность, им приходилось устанавливать плагин или создавать свой. Для нетехнических пользователей это означало поиск существующего плагина или, если его нет, они застревали. Но я не могу не думать: почему бы, например, приложению не иметь поле ввода, которое динамически создает расширение на лету (например, «сделай мне панель с кнопками, которая делает X»)? Очевидно, это было бы «на свой страх и риск». Делали ли какие-то компании или приложения что-то подобное? Я думаю, что изменение реального исходного кода вышло бы из-под контроля, но, возможно, просто генерация расширений с доступом к ограниченному набору безопасных API.
Да, на самом деле, в моем аккаунте GitHub я поделился самоизменяющейся IDE (она может сломать себя). Вы можете подключить модель через open router или Anthropic app key, и создавать тикеты для LLM, чтобы он «разошелся» и редактировал саму IDE. Весь код IDE доступен для редактирования (все) в самой IDE.
Можно утверждать, что это делают BI-инструменты, такие как Tableau и Looker. Или продвинутое использование Excel, в чем может помочь LLM. У пользователя есть данные, и он хочет нарезать их и увидеть в определенном виде, и иметь какие-то ручки, чтобы поиграться с ними и найти ответы на вопросы как специалист по данным.
Я размышлял о создании среды, в которой языковая модель может изменять приложение в реальном времени, пока оно работает. Я спрашивал ChatGPT, и он сказал про hot reloading в браузере, но это не то, о чем я говорю. Я имею в виду высокопроизводительные десктопные приложения реального времени, которые пользователь может попросить изменить в реальном времени, пока они работают. Ближайшее, что я видел, это что-то под названием VibeOS, но это целая операционная система.
Это существует уже много десятилетий: https://www.youtube.com/watch?v=eEz08IlcNMg
Я думаю, вы говорите о Smalltalk или любом другом языке программирования, основанном на образе.