# ИИ-генерация кода: новые интерфейсы программирования от исследователей Беркли

Источник: https://www.youtube.com/watch?v=mGqQGFZ6ve4
Канал: Stanford Online
Опубликовано: 14.10.2025

---

Генеративный искусственный интеллект стремительно меняет ландшафт разработки программного обеспечения, заставляя исследователей переосмыслять базовые принципы взаимодействия человека и компьютера. На научном семинаре Stanford CS547 докладчик из Калифорнийского университета в Беркли представил комплексный взгляд на развитие систем человеко-компьютерного взаимодействия (HCI) в эпоху ИИ-генерации кода. В центре внимания аналитиков оказались четыре амбициозных исследовательских проекта, призванных превратить ИИ из простого исполнителя текстовых команд в полноценного и безопасного партнера по проектированию сложных цифровых сред.

## 🌊 Волна генеративного ИИ в HCI-исследованиях
[[JUMP:0:10]]

По оценке спикера, отправной точкой, когда волна генеративного искусственного интеллекта окончательно захлестнула исследовательское сообщество в сфере HCI, стала конференция UIST 2023 года в Сан-Франциско. Именно там дискуссии об использовании больших языковых моделей (LLM) стали повсеместными, а специализированные воркшопы предопределили вектор развития академических работ на годы вперед. К 2025 году ландшафт настолько насытился ИИ-ориентированными проектами, что исследователи Парк, Форлиззи и Циммерман опубликовали масштабный метаанализ, обобщающий опыт интеграции предобученных моделей в интерфейсы.

Параллельно с академией коммерческий сектор развернул агрессивную гонку инструментов автоматизации программирования. На рынке закрепился внушительный стек продуктов:

* GitHub Copilot
* Claude Code
* AWS CodeWhisperer
* Replit Ghostwriter
* Kite
* Tabnine
* Cursor
* Windsurf

Хотя вендоры активно декларируют впечатляющие метрики вроде «ускорения разработки в 10 раз» или «тысяч сэкономленных часов рабочего времени», исследовательское сообщество относится к этим заявлениям более взвешенно. По мнению докладчика, текущие инструменты ИИ-генерации кода эффективнее всего проявляют себя в руках автономных разработчиков экспертного уровня. 

Спикер проводит прямую аналогию с феноменом массовых открытых онлайн-курсов (MOOC) десятилетней давности: они обещали перевернуть систему образования, но стали идеальным инструментом лишь для тех, кто уже обладал высочайшей культурой самообучения, показав скромные результаты для всех остальных.

На текущий момент выделяются три парадигмы взаимодействия с ИИ-генерацией кода:

1.  **Тонкие интерфейсные оболочки (Thin Wrappers):** Системы вроде базового интерфейса ChatGPT, которые принимают промпт пользователя, отправляют его к LLM и возвращают изолированный фрагмент кода (например, HTML-страницу), оторванный от реального рабочего окружения.
2.  **Глубокая интеграция с IDE:** Редакторы нового поколения (такие как Cursor), где модели имеют доступ ко всей кодовой базе проекта, а их ответы напрямую модифицируют состояние редактора и файлы.
3.  **Скрытая генерация внутри приложений:** Подход, зародившийся в рамках проекта ReactGenie в Стэнфорде, при котором генерация и выполнение кода происходят «под капотом» для решения прикладных задач обычного пользователя, не умеющего программировать[7:38].

Спикер напоминает, что идея генерации кода не нова: предыдущая технологическая волна опиралась на строгий математический синтез программ (например, система Sketch 2013 года Армандо Солар-Лезамы или образовательный проект AutomataTutor)[10:38]. Однако если классический синтез выполнял жесткий поиск по пространству валидных программ в узких программных доменах, то современные LLM работают на основе вероятностного предсказания токенов, что открывает гибкость, но порождает проблемы доверия и контроля.

## 🎨 Проект PAIL: Программирование как процесс проектирования
[[JUMP:11:47]]

Проект PAIL (Beyond Code Generation), представленный на конференции CHI 2025, смещает фокус с генерации тела конкретных функций на поддержку высокоуровневого дизайна программ. Как утверждает докладчик, современные ИИ-помощники исходят из ложной предпосылки, будто у разработчика изначально есть безупречно точное и финальное определение проблемы. В реальности же программирование — это во многом дизайнерская деятельность, ключевым этапом которой является постоянное переосмысление (рефрейминг) задачи и поиск компромиссов между альтернативными решениями.

Концептуально PAIL опирается на классическую методологию «двойного алмаза» (Double Diamond) Британского совета по дизайну. Вместо линейного пути от промпта к коду система заставляет разработчика двигаться по этапам дивергенции и конвергенции:

* **Исследование пространства проблем:** ИИ помогает абстрагироваться и сформулировать высокоуровневые требования.
* **Создание интерактивного документа требований:** Вместо эфемерного чата формируется стабильный разделяемый документ, где зафиксированы проектные цели.
* **Генерация альтернатив и их обоснований:** Система предлагает до полудюжины вариантов реализации с эксплицитным объяснением архитектурных компромиссов[20:58].

В ходе пользовательского исследования с участием 11 практикующих специалистов было доказано, что PAIL значительно ускоряет и расширяет циклы проектирования[22:20]. Однако исследователи зафиксировали и фундаментальный вызов — феномен «рассеивания внимания» (information quantity explosion). 

Когда одно действие пользователя приводит к синхронному изменению нескольких интерактивных панелей и генерации новых сущностей, когнитивная нагрузка резко возрастает. По словам участников теста, потеря ментальной модели генерируемого кода обходится слишком дорого, так как на ее повторное выстраивание уходит критически много времени. Докладчик констатирует: мы перешагнули исторический Рубикон — теперь ИИ способен генерировать артефакты быстрее, чем человек успевает их осмыслить.

## 🧩 Проект Ply: Создание программ без отображения кода
[[JUMP:24:37]]

Проект Ply, подготовленный к презентации на конференции UIST в Южной Корее, исследует радикальный сценарий взаимодействия: как должна выглядеть генерация кода, если сам код полностью скрыт от пользователя?. Целевая аудитория проекта — это миллионы людей, обладающих алгоритмическим мышлением (так называемые end-user programmers), но не имеющих профильного инженерного образования[32:20].

В качестве базиса разработчики взяли концепцию триггерного программирования (Trigger-Action Programming), популяризированную сервисом IFTTT («если это, то то»). Стандартный подход жестко ограничен набором событий, заложенных инженерами платформы. Ply использует мощь больших языковых моделей, чтобы создавать гибкую логическую прослойку между аппаратными сенсорами и актуаторами на основе инструкций на естественном языке.

Ключевые инженерные решения в Ply:

* **Архитектурные слои (Layers):** Пользователь может создавать сенсоры более высокого порядка (например, направить камеру на рисоварку и описать словами три ее состояния: «готовит», «подогрев», «выключена»)[31:18].
* **Автоматическая визуализация состояний:** Система сама генерирует графический интерфейс, демонстрирующий текущие показания сенсора, чтобы пользователь понимал, как ИИ интерпретирует реальность[29:19].
* **Генерация параметрических интерфейсов контроля:** На основе сгенерированного кода ИИ создает привычные ползунки и переключатели (например, для изменения шага счетчика), структура и названия которых служат для пользователя лакмусовой бумажкой правильности работы алгоритма[29:33].

Несмотря на технологический оптимизм, докладчик признает: Ply не решает самую сложную задачу программирования — декомпозицию. Способность делить комплексную проблему на независимые составляющие блоки остается дефицитным человеческим навыком, и текущая версия системы лишь предоставляет инструмент для выражения готовой мысли, но не помогает пользователю ее структурировать.

## 🎮 Проект GROMIT: Генерация поведения на лету в видеоиграх
[[JUMP:33:53]]

Если процедурная генерация контента (текстур, ландшафтов, звуков) давно стала стандартом игровой индустрии (яркий пример — Minecraft), то проект GROMIT, представленный на UIST 2024, переносит этот принцип на генерацию интерактивного поведения объектов непосредственно во время игры (в рантайме)[34:32]. Инструмент разработан для игрового движка Unity.

Название проекта отсылает к знаменитой сцене из анимационного фильма «Уоллес и Громит», где пес Громит лихорадочно укладывает рельсы прямо перед движущимся игрушечным поездом. В игре это работает аналогично: когда пользователь пытается совершить действие, не предусмотренное разработчиком, GROMIT анализирует иерархию сцены, метаданные объектов, формирует промпт для LLM, компилирует C#-скрипт и мгновенно внедряет его в работающую игровую сессию[36:07].

В качестве демонстрации авторы создали игру в жанре «побег из комнаты». Если игрок решает применить горящий факел к старому деревянному книжному шкафу, стандартная игра выдала бы ошибку. GROMIT же на лету генерирует логику: шкаф сгорает (удаляется со сцены), открывая скрытую за ним нишу с ключом, необходимым для завершения квеста[38:08]. Сгенерированный скрипт кэшируется, предотвращая повторные задержки при аналогичных действиях.

Интервьюирование 13 профессиональных геймдизайнеров выявило глубокий экзистенциальный конфликт[38:50]. Разработчики высказали серьезные опасения по поводу потенциального «перехода границ» со стороны ИИ (overreach). По их мнению, передача генерации механик на откуп ИИ размывает авторскую идентичность, идентичность создателя вселенной, и ставит под угрозу цельность игрового опыта. 

Вместе с тем индустрия видит колоссальный потенциал GROMIT на этапе альфа-тестирования в открытых «песочницах». Наблюдая за тем, какие безумные сценарии генерирует ИИ в ответ на действия игроков, студии могут точнее понимать паттерны поведения аудитории и эффективнее распределять дефицитные ресурсы на создание финального, отполированного продукта. 

В связи с этим спикер разделяет код на две категории (концепция профессора Армандо Фокса из Беркли):

* **Одноразовый код (Disposable code):** Эпистемический код, создаваемый на быструю руку ради эксперимента и проверки гипотез.
* **Долговечный код (Durable code):** Надежная, тщательно отрецензированная кодовая база, управляющая критическими системами.

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

## 🏥 Проект CARE: Безопасный ИИ в медицинской реабилитации
[[JUMP:47:39]]

Проект CARE, созданный в тесном сотрудничестве с шестью профильными неврологами из Стэнфордского медицинского центра, переносит ИИ-генерацию кода в область с высочайшей ценой ошибки — физическую реабилитацию пациентов после перенесенного инсульта[48:08]. 

Сегодня физиотерапевты вынуждены либо выписывать пациентам стандартные бумажные памятки упражнений вручную, либо использовать жесткий софт, где параметры тренировок ограничены стандартными выпадающими списками[48:36]. Цель CARE — дать врачу возможность записать индивидуальный, гибкий комплекс упражнений естественным языком, после чего ИИ автоматически компилирует персонализированное интерактивное приложение для конкретного больного[49:18].

Критическое отличие CARE от игрового движка GROMIT заключается в жесткой архитектуре безопасности:

* ИИ категорически запрещено генерировать произвольный, неконтролируемый код.
* Разработчики совместно с медиками спроектировали узкоспециализированный интерфейс программирования приложений (API) и язык DSL, описывающий исключительно безопасные биомеханические паттерны движений[50:00].
* На выходе модель компилирует Python-код, состоящий строго из разрешенных комбинаций этих валидированных блоков.

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

## 🤔 Будущее HCI-систем: Вызовы и методология
[[JUMP:42:25]]

В финальной части семинара докладчик поднял фундаментальный методологический вопрос: продолжает ли работать классическая исследовательская стратегия системного HCI в эпоху тотального доминирования промышленных ИИ-моделей?. Традиционный академический цикл всегда строился по понятной схеме: обнаружение неудовлетворенной потребности человека, доказательство несостоятельности наивных решений, предложение уникального технического инсайта силами аспирантов, создание прототипа и его валидация по человеческим метрикам[43:45].

Сегодня академическая наука столкнулась с кризисом уникального рычага (unique leverage). Университетские лаборатории не обладают тысячами GPU для обучения базовых моделей с нуля. В то же время коммерческие ИИ-модели доступны любому инженеру в мире по нулевой или минимальной стоимости. Быть просто downstream-потребителями готовых API от технологических гигантов — это, по образному выражению спикера, «переставлять шезлонги на палубе корабля, который построил кто-то другой, вместо того чтобы строить собственную лодку».

Кроме того, генерация кода вошла в клинч с базовой догмой классической инженерии — принципом DRY (Don’t Repeat Yourself / «Не повторяйся»). Вместо создания абстракций, рефакторинга и переиспользования элегантных архитектурных компонентов, современный генеративный ИИ делает ровно противоположное: он бесконечно и бездумно штампует миллионы слегка измененных копий одних и тех же функций по всему миру. Выход из этого «инженерного тупика» через автоматическое обобщение сгенерированного хаоса в чистые абстракции видится докладчику одним из самых перспективных направлений будущих исследований.

Наконец, серьезное беспокойство вызывает образовательный разрыв. Нынешнее поколение ученых и инженеров сформировало свои жесткие ментальные модели исполнения программ в ходе многочасового ручного дебаггинга. Каким станет следующее поколение разработчиков, выросшее с Copilot в руках и лишенное опыта преодоления базовых ошибок компиляции, остается открытым и тревожным вопросом для всего мирового IT-сообщества.