mirror of
https://github.com/bpmbpm/doc.git
synced 2026-04-29 12:00:42 +00:00
43 lines
7.6 KiB
Markdown
43 lines
7.6 KiB
Markdown
### DSL & program language
|
||
Как будет развиваться vibe coding? Code Review (CR) глазами человека на "много букф" JS/Java etc? Точно нет.
|
||
Краткие промпты (issue) vs детальные спецификации (многостраничные требования)? Один агент пишет код (Pull Request, PR), второй за ним делает CR?
|
||
Может быть даже:
|
||
- первый агент ставит общую задачу проекта \ типа аван-проект (привет от ГОСТ 24.). Агент формирует общий замысел, разбивает всю систему на части, пишет бизнес-требования и т.п.
|
||
- второй детализирует требования к каждой части (ТЗ) и формирует проектное решение - как потом собрать все эти части, но уже в коде (бизнес-логики) снова в одну систему, но уже "закодированную" (исполняемую)
|
||
- третий будет solution architect (технологический концепт, выбор технологического стека, интеграции и т.п.), data architect
|
||
- четвертый формирует issue для отдельной подзадачи, пятый делае PR, шестой по нему CR, седьмой - тестер и т.д.
|
||
|
||
Только все эти этапы - это повтор классики system \ software engineering (SE\SWE), а для AI-coding нужен видимо "более свежий" концепт разработки.
|
||
|
||
### revision
|
||
Комментарий к [Архитектура вместо синтаксиса: CodeSpeak — язык разработки следующего поколения, использующий силу LLM спецификаций](https://habr.com/ru/articles/1010082/#comment_29674904), [Новый язык программирования эпохи ИИ](https://codespeak.dev/)
|
||
Полагаю, что нужно идти параллельно двумя путями:
|
||
- DSL для каждого класса ПО
|
||
- верхнеуровнеывый JS/Java (условно) для каждого языка программрования - возможно единая оболочка, транслирующая верхнеуровневый код в классический язык программирования JS/Java (условно), как и компилятор в машинный код \ bytecode. Назовем его macro code (MC)
|
||
|
||
Общий вариант: человек (DSL-программист \ DSL промпт-инженер) пишет на DSL, далее агент генерит MC-код, человек его CR и далее только человек участвует только в User testing.
|
||
Как вариант, упрощенный DSL - это связка Онтологии (на каком либо языке, например, OWL/RDF, т.е. формальная онтология) и языка запросов, например, SPARQL. Такая связка показана в проекте [Semantic BPM\VAD](https://github.com/bpmbpm/rdf-grapher/tree/main/ver9d), онтология [в частности](https://github.com/bpmbpm/rdf-grapher/tree/main/ver9d/ontology).
|
||
Общий подход [SPARQL-driven Programming Guide](https://github.com/bpmbpm/rdf-grapher/blob/main/ver9d/requirements/sparql-driven-programming_min1.md) - лишь как демонстрация. Далее его бы развить до аналога PL\SQL, т.е. добавить процедурное расширение для получения PL\SPARQL.
|
||
PL\SPARQL - это только в части обработки данных (сама модель данных в OWL\RDF).
|
||
|
||
Блок workflow - как уже устоявшаяся практика в задачах "управления задачами" - BPMN-engine. Только конечно более совершенный, чем BPMN 2.0, но вектор верный "Программирование без программирования": от Model-Based Design до Model Based Software Development (MBSE), где по модели генерируется весь код. BPMN 2.0 до этого еще далеко, там **no-code** только для примитивов типа [Hello Calculator](https://habr.com/ru/articles/866822/). Графическая визуализация - это основа для MC.
|
||
|
||
Полагаю, что отдельным направлением будет "vibe coding по аналогии" - это когда даешь ссылку на сервис (в идеале open source) и он тебе этот сервис переделывает под твои предпочтения, например, другой стек или добавляет новые функции. Или просто далее "один в один" - для обхода блокировок.
|
||
Фактически "по кнопке" были сделаны сервисы:
|
||
- on-line сервис: https://www.ldf.fi/service/rdf-grapher см. https://github.com/bpmbpm/rdf-grapher/tree/main/ver1
|
||
- graphviz-online см. https://github.com/bpmbpm/graphviz-online/tree/main/ver1 - удивительно, в оригинальном graphviz-online не было поддержки тега image
|
||
- https://github.com/bpmbpm/excel-online/tree/main/ver1
|
||
и другие. Причем подобное может делать человек, "далекий от программирования".
|
||
|
||
С учетом грандиозных возможностей AI реализовать "DSL для каждого класса ПО" и macro code (BPMN Next) - вопрос только постановки задачи и ... оплаченных токенов (бесплатные модели не особо хороши, точнее только в последние месяцы своей бесплатности, например, Grok Code Fast 1, kimi etc).
|
||
|
||
Фактически индустрия программирования как когда-то при переходе с Ассемблера на С (и далее С++) должна "взять новую высоту", где уже более верхнеуровневый код будет представлять собой **конструктор смыслов** (условно RDF - триплетов, точнее их конструктор) и "писать на нем" будет простой (смертный) бизнес-пользователь, а "продвинутый бизнес-пользователь" даже сможет делать CR, проверять (условно) ключевые "BPMN Next" и PL\SPARQL конструкции.
|
||
|
||
Во многом подобное будет напоминать сборку ПО как пазла: ведь все компоненты: онтология \ DSL, аналоги "BPMN Next" \ "PL\SPARQL" - это могут быть достаточно агрегированные конструкции. Конечно, если нет нужного элемента для текущего пазла, то будет запрос к ИИ и тот сделает нужный блок (на JS\Java) для повторного использования в этом и других пазлах.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|