Объявление: веб-артефакты ИИ

Я попробовал локально, и вот большинство encountered проблем:

  • В полноэкранном режиме иногда панель Escape перекрывает контент, из-за чего невозможно с ним взаимодействовать.
  • Иногда «Run Artifacts» не появляется сразу, но всё же возникает, например, при наведении на иконки поста (кажется, так).
  • Был лишь один случай, когда результат не отображался. Я видел индикатор, но дальше ничего не происходило.

В целом, всё работает очень хорошо. :+1:

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

Мне очень понравилось пользоваться этой функцией. :smile:

Промпт (симуляция движения снаряда)

Создайте страницу для симуляции движения снаряда. Страница должна:

  1. Позволять пользователям вводить начальную скорость, угол и высоту снаряда.
  2. Отображать живую анимацию траектории снаряда.
  3. Включать рассчитанные значения времени полёта, максимальной высоты и дальности.
  4. Использовать ползунки для изменения входных параметров в реальном времени.
  5. Включать кнопку «Сброс» для начала заново.
Видео


Промпт (игра с падающими эмодзи)

Создайте страницу, где пользователи выбирают своё настроение, и эмодзи начинают падать с экрана. Страница должна:

  1. Предоставлять варианты настроения, такие как «Счастливый», «Злой» или «Пицца».
  2. Заставлять эмодзи, например :smile:, :angry: или :pizza:, бесконечно падать сверху экрана.
  3. Позволять пользователям кликать по эмодзи, чтобы «собирать» их со смешным звуковым эффектом.
  4. Включать забавный счётчик, например «Собрано долек пиццы: 27».
  5. Использовать HTML, CSS и JavaScript для анимированного веселья.
Видео


Промпт (простой визуализатор Солнечной системы)

Создайте страницу для визуализации Солнечной системы. Страница должна:

  1. Отображать уменьшенную, анимированную и детализированную модель Солнечной системы с орбитами планет.
  2. Позволять пользователям кликать на планету, чтобы увидеть информацию, такую как размер, расстояние от Солнца и период обращения.
  3. Позволять пользователям приближать и отдалять изображение.
  4. Включать ползунок для ускорения или замедления орбитального движения.
  5. Использовать HTML, CSS и JavaScript для интерактивности и анимации.
  6. Убедиться, что контейнер использует 100% ширины и высоты.
Видео


Промпт (песочница CSS-анимаций)

Создайте страницу, где пользователи могут экспериментировать с CSS-анимациями и переходами. Страница должна:

  1. Отображать различные элементы (например, кнопки, div), которые пользователи могут анимировать с помощью CSS.
  2. Позволять пользователям выбирать из списка свойств анимации (например, transform, opacity, translate, rotate).
  3. Предоставлять ползунки для настройки длительности, функции времени и задержки анимаций.
  4. Позволять пользователям просматривать анимации в реальном времени и видеть, как изменения влияют на анимацию.
  5. Использовать JavaScript для динамического обновления свойств CSS и HTML/CSS для стилизации.
Видео


Промпт (интерактивная панель данных)

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

  1. Отображать несколько графиков, таких как столбчатая диаграмма, линейный график и круговая диаграмма, каждый из которых представляет различные наборы данных (например, продажи, население, погодные данные).
  2. Позволять пользователям фильтровать данные по диапазону времени, категории или местоположению с помощью выпадающих меню или ползунков.
  3. Обновлять графики в реальном времени при взаимодействии пользователей с фильтрами.
  4. Отображать описательную статистику (например, среднее, медиану, моду) для выбранных данных.
  5. Использовать Chart.js или D3.js для отрисовки графиков и JavaScript для обработки фильтрации данных и статистических расчётов.
Видео

3 лайка

Да, согласен, это раздражает. Отслеживаем здесь: Exiting expanded artifacts is tricky on tablets

Мне тоже удалось воспроизвести это один-два раза, пытаюсь разобраться в причине. @david, подозреваю, что это связано с ember decorator.

Интересно… Дайте знать, если удастся получить стабильные случаи воспроизведения.

3 лайка

Сработает ли это с общедоступными (уровень доверия 0) запросами в Data Explorer, доступными через API? Если да, то это может дать потенциал для создания весёлых и динамичных визуализаций активности форума.

У меня не было времени проверить это самостоятельно, но, возможно, кто-то захочет попробовать в этом сценарии :slight_smile:

3 лайка

Вы можете подключить это с помощью пользовательского инструмента, но это потребует значительной координации. Я бы, вероятно, просто настроил пользовательский инструмент так, чтобы он каким-то образом отображал диаграмму. Для этого случая мы можем поэкспериментировать с этой идеей.

Впрочем, вы определённо можете делиться визуализациями — я покажу вам, как это сделать.

4 лайка

Да, это верно не только для веб-артефактов ИИ, но и при использовании LLM для создания HTML, JavaScript и CSS.

Если можно вести разработку на чистом/ванильном HTML, JavaScript и CSS, то есть без включения внешних библиотек, шансы получить рабочий и свободный от ошибок код резко возрастают. Кроме того, чем менее известна библиотека, тем меньше данных для обучения получил модель, и тем выше вероятность, что модель начнет галлюцинировать, чтобы завершить ответ, что приведет к большему количеству ошибок.

2 лайка

Думаю, это происходит при истечении времени ожидания (timeout) на конечной точке.
Единственная ошибка в логе:

Однако сегодня всё странно. Я снова протестировал: каждый запрос завершался неудачей.
Статус OpenAI зелёный. Пока я спал, ничего не изменилось, поэтому непонятно, что происходит.

Кнопка «Run Test» также выдаёт ошибку 500, а в логах видно тайм-аут.
image

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

1 лайк

Может быть связано с OpenAI 12 дней кораблей?

Как постоянный участник форума OpenAI, я наблюдаю взлёты и падения моделей. За последние две недели количество сообщений о проблемах возросло, но эти проблемы напоминают те, что возникали перед крупным релизом или выходом новых моделей.

3 лайка

Похоже, что часть кода в артефактах этой страницы влияет на весь сайт:

5 лайков

Очень простой вопрос… как поделиться артефактом на форуме? Достаточно просто скопировать и вставить что-то вроде <div class="ai-artifact" data-ai-artifact-id="XX"></div>? В таком случае его увидит и сможет использовать только я.

Вы поделились беседой?

2 лайка

Нет. И я совершенно пропустил тот пост. Спасибо!

4 лайка

Моя программа отображает только серию символов «/n». Я прикрепил скриншот. Почему это происходит?

1 лайк

Какой это Илм?

1 лайк

Я использую Gemini 1.5 Pro

О, я видел это — это их ошибка. Попробуйте версию 2.0 flash и переключитесь на XML-инструменты.

3 лайка

Исходя из моего небольшого опыта работы с Claude 3.5 Sonnet: я перебираю варианты с Web Creator и добиваюсь некоторого прогресса, но в итоге он начинает забывать контекст, и мне приходится начинать всё сначала в новой сессии. Мне кажется, что вручную править код проще, чем тратить промпты и рисковать потерей контекста.

Могу ли я редактировать сгенерированный код?

Могу ли я начать новый контекст с существующим артефактом? (Я спросил об этом Web Creator, и он ответил, что нет.)

3 лайка

Да, Марк, это сложная задача. Я работаю над переделкой внутренней части артефактов:

Нестабильные правки тоже меня бесили до предела. Пока ещё не решил, сколько параметров предоставить.

Я перенёс систему на подход, похожий на Architect с использованием Aider: инструмент вызывает LLM для выполнения обновлений, поэтому это происходит гораздо надёжнее, и проблема расхождений больше не возникает. Однако у новой системы есть недостаток — она может потреблять больше токенов из-за неизбежного дублирования.

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

3 лайка

Я остановился на следующем рабочем процессе для сохранения артефакта и внесения текущих или ручных изменений на данный момент:

  • Работайте с Web Creator, пока артефакт не будет в хорошем состоянии.
  • Попросите Web Creator вывести код — HTML, CSS и JS — без каких-либо комментариев.
  • Скопируйте/вставьте код в офлайн-режиме.
  • При желании отредактируйте код.

Затем, если создатель начинает забывать или оказывается в плохом состоянии, я могу начать новый чат со следующим сообщением:

Привет, у меня есть этот код артефакта. Это рабочий код, поэтому используйте его дословно. Затем внесите следующие изменения… [вставьте код]

Обычно при работе с Web Creator он пишет что-то вроде: «Я обновлю артефакт новой функцией», затем генерирует блоки HTML, CSS и JavaScript и показывает обновлённый артефакт, чтобы я мог запустить его через «Run Artifact».

Сегодня он неизменно пишет: «Я обновлю артефакт», генерирует блоки кода, но затем удаляет и код, и артефакт (если он вообще был создан). В итоге остаётся только фраза «Я обновлю артефакт». Даже если я отредактирую сообщение создателя, больше ничего нет.

Я ничего не обновлял и не менял. В консоли ошибок нет. Используется Claude 3.5 Sonnet.

Обновились до последней версии? Я только что завершил крупный рефакторинг системы: появилось множество новых настроек и инструмент для чтения артефактов.

3 лайка