Декларативное программирование пользовательского web-интерфейса (GUI)

Искусственный интеллект и нейросети. Общие вопросы.
Ответить
Аватара пользователя
SQL*Plus
Сообщения: 354
Зарегистрирован: Ср апр 20, 2022 1:09 pm

Декларативное программирование пользовательского web-интерфейса (GUI)

Сообщение SQL*Plus »

Пробую разрабатывать с помощью нейросетевой модели Qwen3-Coder
пользовательский web-интерфейс (GUI) на основе фреймворка FastAPI.

Делаю это так:
- описываю, что я хочу получить в результате работы,
- даю это задание (промпт) нейросети,
- получаю от нейросети ответ,
- выполняю действия по инструкциям, которые мне даёт нейросеть.

То есть работаю в режиме декларативного программирования GUI.
Пишу, что мне требуется получить, а не что нужно сделать, чтобы это получить.

Технологии:
[*] СУБД SQLite 3 - язык SQL
[*] Язык HTML
[*] Framework FastAPI
[*] Java Script - библиотека Bootstrap
[*] Язык Python
[*] Стили - библиотека Bootstrap

Первые две технологии выделил зеленым, поскольку я их знаю. :-)
Четыре последние технологии выделил бордовым, так как я их не знаю. Совсем-совсем. :-(

Это удивительно, но мне удалось за день сделать:
1) Общее меню
2) Форма для работы с Master-таблицей - добавление, выборка с сортировкой, изменение, удаление строк (CRUD).
3) Форма для работы с Detail-таблицей:
--- выборка строки из Master-таблицы
--- отображение строк из Detail-таблицы, соответствующих строке Master-таблицы, выбранной ранее
--- добавление, изменение, удаление строк (CRUD).
4) На всех страницах имеется Breadcrumb (иерархический навигационный элемент)

И всё это работает!

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

Класс! Я в восторге!

А вы пробовали использовать ИИ для подобных целей?

P. S. CRUD = Create, Read, Update, Delete.
Последний раз редактировалось SQL*Plus Пн ноя 17, 2025 4:54 pm, всего редактировалось 2 раза.
Аватара пользователя
SQL*Plus
Сообщения: 354
Зарегистрирован: Ср апр 20, 2022 1:09 pm

Re: Декларативное программирование пользовательского web-интерфейса (GUI)

Сообщение SQL*Plus »

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

А началось это после того, как чат (беседа, сессия) Qwen3-Coder превзошла некий лимит
и мне потребовалось открыть новую сессию (чат).
Хорошо, что большинство моих требований и заданий были записаны
в текстовые файлы - это позволило просто "скормить" эти файлы новому чату.

Дальше я предположил, что в результате генерации кода,
будет получено примерно такое же приложение, как ранее.
Но не тут-то было - приложение получилось другое,
но ко всему прочему страшное с виду и кривое по содержанию. :-)

И решил я от Qwen'а отстать со своей разработкой и перейти к использованию другой нейросети.

P. S. Теперь я понимаю, что нужно было загрузить не только промпты и требования,
но и полученный ранее программный код. Возможно, это помогло бы продолжить работу.
Аватара пользователя
SQL*Plus
Сообщения: 354
Зарегистрирован: Ср апр 20, 2022 1:09 pm

Re: Декларативное программирование пользовательского web-интерфейса (GUI)

Сообщение SQL*Plus »

Следующей была опробована нейросеть Google Gemini ( https://gemini.google.com/ ) в редакции Gemini Flash.
Подключение не требовало "виртуальной сетеконспирации" (я выбирал для работы исключительно такие нейросети).

Не понравилось, что в отличие от Qwen-Coder в интерфейсе Gemini-Flash не было очень удобной кнопки "Сохранить файл",
поэтому приходилось обновление файлов выполнять исключительно
через кнопу "Copy" с последующим "Пэйст" в открытый текстовым редактором файл.
Gemini попросил меня писал(а): Прежде чем я смогу генерировать код, мне нужны данные из вашей БД для тестового вывода и валидации.

Скрипт создания таблицы: Вы предоставили DDL.

Тестовые данные: Мне нужно несколько строк для проверки отображения, сортировки и корректности метаданных.

Пожалуйста, предоставьте мне SQL-скрипт с 3-5 командами INSERT INTO ... (чтобы я мог быстро создать свою тестовую БД).
Это уже был шаг вперед - хочет что-то сам отлаживать и просит тестовые данные.

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

Успешно создал тестовые данные и показал мне, какие именно.
Аватара пользователя
SQL*Plus
Сообщения: 354
Зарегистрирован: Ср апр 20, 2022 1:09 pm

Re: Декларативное программирование пользовательского web-интерфейса (GUI)

Сообщение SQL*Plus »

Подолжаю описание работы с Google Gemini Flash.

Обнаружилась засада:
Gemini Бежит вперед, не убедившись, что я применил его предыдущие скрипты.
Я задаю ему вопрос по теме интерфейса, он отвечает на вопрос и продолжает:
"А теперь давайте сделаем задание №5..."
Хотя я еще не сделал задание №2.

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


Это помогло:
Gemini Flash писал(а): Сейчас вы находитесь на этапе реализации Задания №4 (EDIT/DELETE) для таблицы FTYPE.

Ваша текущая задача: Заменить и создать 4 файла, которые я предоставил в предыдущем ответе:
crud/crud_ftype.py (Замена)
routes/routes_ftype.py (Замена)
templates/edit_ftype.html (Создание)
templates/index_ftype.html (Замена)

Я терпеливо жду вашего подтверждения о том, что эти файлы интегрированы и функционал CRUD для FTYPE полностью работает.
Казалось, что вроде бы дело пошло на лад...
Аватара пользователя
SQL*Plus
Сообщения: 354
Зарегистрирован: Ср апр 20, 2022 1:09 pm

Re: Декларативное программирование пользовательского web-интерфейса (GUI)

Сообщение SQL*Plus »

(Продолжаю описание работы с Google Gemini Flash.)

Но вдруг наступил момент, когда Gemini запутался и начал чертыхаться:
"Чёрт, я вас понял. Мы столкнулись с проблемой того, как лучше всего управлять объектом Jinja2Templates в структуре, разбитой на маршруты."
"И снова здравствуйте! Теперь мы официально работаем с маршрутизацией, и система говорит: "Я не знаю, что такое 'home'!""

Ну столкнулись и столкнулись. Работа наша такая. Давай разбирайся.
Я же сразу тебя предупредил, что в технологиях разработки пользовательского web-интерфейса я мало, что понимаю.

"Ах, ну вот! Это была последняя заноза в ноге маршрутизации."
Оказалось, что не последняя.

В итоге мы с Гемини друг друга затрахали. Я пошел домой. Была пятница 7 ноября (в прошлом "красный день календаря")

В субботу 8 ноября вечером продолжил тягомотное бодание с Gemini.
Успеха не добился. Но обнаружил, что максимальная длина вводимого текста примерно 32К.
Начал искать подходы к решению этой проблемы:
Например, сообщения об ошибках передавать в виде текстовых файлов, чтобы они не обрезались...
Но я всё же стал склоняться к тому, что Gemini не очень мне подходит.
И тут...

И тут наступило "И ТУТ".
Примерно в 00:02 9 ноября 2025 г. я обнаружил, что окно диалога с Gemini не реагирует на посылаемые сообщения.
Тогда я сделал обновление страницы и...

Увидел надпись:
Gemini
Работайте креативнее и продуктивнее
Пишите, планируйте, учитесь и не только – в чате с ИИ от Google

Gemini пока не поддерживается в вашей стране. Мы сообщим, когда это изменится.
Я предположил, что что-то автоматически сработало в 00:00 и отключило доступ к Gemini,

Покопался в интернете.
Нашел информацию, что Gemini давно блокировала посетителей из РФ,
но примерно в августе 2025 появились сведения, что кое где эта блокировка не работает.
Предполагали, что это было по недосмотру Google.
Наверное, недосмотр кончился и Gemini без "виртульносетевой конспирации" не доступна.

Это событие автоматически решило вопрос "Продолжать ли мне работать с Gemini?"
Я решил не продолжать, а перейти к другой нейросети.
Аватара пользователя
SQL*Plus
Сообщения: 354
Зарегистрирован: Ср апр 20, 2022 1:09 pm

Re: Декларативное программирование пользовательского web-интерфейса (GUI)

Сообщение SQL*Plus »

Следующей нейросетью для моих изысканий стала Kimi
https://kimi.com

Как шла и завершилась наша работа расскажу позже.
Ответить