Дружелюбный русский алгоритмический язык, который обеспечивает наглядность сокращенно ДРАКОН — визуальный язык, созданный в СССР для космической программы «Буран». Его разработали для задач высокой ответственности, где ошибка недопустима. Основная цель ДРАКОН — сделать логику однозначной и понятной. Сегодня мне кажется, что ДРАКОН может обрести новую жизнь благодаря искусственному интеллекту. Я не встречал статей о его применении с ИИ, и поэтому решил написать об этом.
В этой статье я разберу практический кейс: от простого алгоритма до готового кода через JSON-представление и проверку логики. Задача будет элементарной, но цель — показать смысл такого подхода. В конце статьи приведу пример из сферы, не связанной с программированием и мы разберём его на примере работы с ДРАКОН.
Сейчас в разработке популярна практика «вайбкодинга»: программист описывает задачу на словах, а ИИ генерирует код. Иногда это срабатывает, но чаще приходится много раз объяснять, где нужны исправления и что следует проверить. Слова не всегда передают логику. Легко упустить важные проверки, граничные случаи и последовательность действий. В результате мы ловим баги на ровном месте, что только усложняет процесс разработки.
Алгоритмическое мышление помогает решать эту проблему. Визуальная логика убирает двусмысленности, которые не всегда удаётся уловить с помощью текста. С помощью ДРАКОН мы можем разбить задачу на чё��кие шаги и увидеть все возможные ветки выполнения, а также то, что происходит в каждом случае. Этот инструмент позволяет описывать логику без неясностей.
Я давно думал о создании редактора, в котором можно было бы строить логику блоками, а код генерировался бы автоматически. Эпоха ИИ вдохновила меня вернуться к этой идее. ДРАКОН — это не просто способ алгоритмизации задачи, а понятный язык общения с моделями ИИ. Схема задаёт структуру, а ИИ отвечает за реализацию кода.
Что такое ДРАКОН и чем он полезен?
ДРАКОН позволяет визуально представить алгоритмы, делая их понятными и доступными. Он исключает двусмысленности и помогает разработчикам чётко формулировать свои мысли. Визуальное представление улучшает качество кода и упрощает коммуникацию как между людьми, так и между человеком и ИИ.
Если вы хотите создать понятный и надёжный код или написать структурированную статью, создать правило обработки входящих сообщений, то стоит обратить внимание на ДРАКОН. Существует несколько бесплатных редакторов ДРАКОН-схем, работающих как в онлайн, так и в оффлайн режимах. Думаю, каждый сможет подобрать вариант для себя.
Главные правила ДРАКОН:
Читается сверху вниз
Без пересекающихся стрелок
Единые блоки для условий, циклов и действий
Масштабирование детализации: от общей карты до конкретных шагов
Это удобно не только разработчикам. Любой процесс со строгими шагами легче объяснить через ДРАКОН: аналитика, медицина, образование, юриспруденция, инженерия и многое другое.
Пример: определение возрастной категории пользователя
Для примера я возьму простую задачу, понятную всем: «Определить возрастную категорию пользователя». Я хотел бы расписать классическую для программирования задачу коммивояжёра, но с ней становится слишком много кода. Моя цель — передать именно логику подхода, а не запрограммировать что-то сложное.

Логика задачи:
Спросить возраст.
Если возраст меньше 0 или больше 150 — попросить ввести снова.
Иначе проверить по порогам:
< 13 → «Ребёнок»
< 18 → «Подросток»
< 65 → «Взрослый»
Иначе → «Пожилой»
Вывести результат.
Такую схему удобно представить визуально в редакторе ДРАКОН. Она хранится в структурированном виде (JSON): у каждого блока есть тип (вопрос, действие, выбор), входы и выходы. Для человека это картинка, а для ИИ — точная спецификация, по которой можно сгенерировать код на Python, PHP, JS и других языках, без предположений о том, «что автор имел в виду».
Как AI «читает» ДРАКОН схемы
Модели ИИ могут:
Разобрать структуру (последовательности, ветвления, циклы).
Перевести блоки в код (вопрос → if, действие → присваивание/вызов, цикл → while/for).
Проверить логику (мертвые ветки, непокрытые случаи, лишние проверки).
Собрать документацию на естественном языке.

{ "items": { "1": { "type": "end" }, "2": { "type": "branch", "branchId": 0, "one": "5" }, "4": { "type": "question", "content": "<p>Возраст меньше 0 и больше 150 </p>", "one": "9", "two": "5", "flag1": 1 }, "5": { "type": "arrow-loop", "one": "16" }, "6": { "type": "case", "one": "13", "content": "<p>Возраст менее 65</p>", "two": "10" }, "7": { "type": "case", "one": "12", "two": "6", "content": "<p>Возраст менее 18</p>" }, "8": { "type": "case", "one": "11", "two": "7", "content": "<p>Возраст менее 13</p>" }, "9": { "type": "select", "one": "8", "content": "<p>Проверка возраста</p>" }, "10": { "one": "14", "type": "case", "content": "<p>Возраст 65 и более</p>" }, "11": { "type": "action", "content": "<p>Присвоить ранг «Ребёнок»</p>", "one": "15" }, "12": { "type": "action", "content": "<p>Присвоить ранг «Подросток»</p>", "one": "15" }, "13": { "type": "action", "content": "<p>Присвоить ранг «Взрослый»</p>", "one": "15" }, "14": { "type": "action", "content": "<p>Присвоить ранг «Пожилой»</p>", "one": "15" }, "15": { "type": "simpleoutput", "content": "<p>Вывести присвоенный ранг</p>", "one": "1" }, "16": { "type": "simpleinput", "content": "<p>Задать входящую переменную возраста</p>", "one": "4" } }, "type": "drakon", "id": "Демо для статьи.drakon" }
Я пробовал разные LLM: ChatGPT, Cloude, Qwen, K2 — все они отлично понимают алгоритмы в виде JSON, и как результат, ДРАКОН становится мостом между замыслом и реализацией. Человек держит в руках логику, а машина — синтаксис и рутину.
Важно: Не все LLM принимают файлы с расширением .drakon. Поменяйте расширение файла на .txt, и ИИ гарантированно его примет.
Результат в виде кода Python
def get_age_rank(): while True: try: age = int(input("Введите возраст: ")) except ValueError: print("Некорректный ввод. Пожалуйста, введите число.") continue if age < 0 or age > 150: print("Возраст должен быть от 0 до 150. Попробуйте снова.") continue if age < 13: rank = "Ребёнок" elif age < 18: rank = "Подросток" elif age < 65: rank = "Взрослый" else: rank = "Пожилой" print(f"Присвоенный ранг: {rank}") break if __name__ == "__main__": get_age_rank()
Результат в виде кода PHP
<?php function getAgeRank() { while (true) { echo "Введите возраст: "; $handle = fopen("php://stdin", "r"); $age = trim(fgets($handle)); fclose($handle); if (!is_numeric($age)) { echo "Некорректный ввод. Пожалуйста, введите число.\n"; continue; } $age = (int)$age; if ($age < 0 || $age > 150) { echo "Возраст должен быть от 0 до 150. Попробуйте снова.\n"; continue; } if ($age < 13) { $rank = "Ребёнок"; } elseif ($age < 18) { $rank = "Подросток"; } elseif ($age < 65) { $rank = "Взрослый"; } else { $rank = "Пожилой"; } echo "Присвоенный ранг: $rank\n"; break; } } getAgeRank();
Конечно, алгоритм слишком простой, но усложняя можно создать несколько связанных между собой блок-схем, можно делать тесты и придумать много других применений, я лишь хочу показать идею.
Где ещё это работает
Бизнес-процессы: заявки, согласования, логистика.
Медицина: протоколы диагностики и лечения.
Образование: учим детей думать алгоритмами без синтаксиса.
Юриспруденция: пошаговые процедуры применения норм.
Инженерия: аварийные инструкции и чек-листы.
Везде, где важна полнота и порядок, ДРАКОН спасает ИИ от лишних мыслей и предположений. Вы можете задать алгоритм обработки любых данных в понятном LLM формате и получить хорошую предсказуемость поведения.
Почему это важно сейчас
Генеративный код часто выглядит правдоподобно, но внутри могут быть дыры. Чёрный ящик не объясняет свои решения.
ДРАКОН возвращает контроль:
Мы видим все ветки и что случится в каждом случае.
Задаём валидации и «пути по умолчанию».
Передаём ИИ не «текст с идеями», а чёткую схему.
Это снижает риски и сюрпризы на продакшене.
Итог
ДРАКОН — язык честной логики. Он не даёт прятаться за общие фразы: показывайте шаги и связи. В паре с ИИ это работает так:
Человек формулирует структуру и ограничения.
ИИ пишет код, находит пробелы, предлагает улучшения.
Результат становится прозрачным и проверяемым.
Писать «по вайбу» можно. Но если хочется, чтобы система вела себя предсказуемо — лучше один раз собрать логику в ДРАКОН.
В качестве заключения, я хочу показать, что ДРАКОН применим не только в программировании. Давайте представим эту статью в виде алгоритмической структуры в ДРАКОН.


На втором скрине показал как К2 видит ДРАКОН-схему статьи, хотя она алгоритмически не совсем верна, ИИ нормально понял задачу и может написать статью. Для статей, конечно достаточно и простого списка, я просто хотел показать, что в ДРАКОН можно не только программировать
UPD:
В обсуждении появился лучший вариант применения ДРАКОН-схем:
К примеру, вы делаете телеграм-бота с ИИ. Обычная схема — написали промпт типа «обработай запрос пользователя корректно» и молитесь, чтобы ИИ не начал фантазировать.
А теперь другой подход. Расписываете в ДРАКОН'е весь алгоритм:
— Определи тип запроса: вопрос, жалоба, команда.
— Если вопрос — классифицируй по теме.
— Достань контекст из базы/FAQ.
— Сформируй ответ по шаблону.
— Проверь: нет выдуманных фактов? Если есть — пересобери.
Где это заходит лучше всего — в повторяющихся процессах:
— Модерация сообщений и жалоб.
— FAQ и поддержка.
— Разбор форм/заявок.
— Классификация тикетов.
Плюсы:
— Меньше галлюцинаций, предсказуемые ответы.
— Можно версионировать алгоритмы и делать A/B-тесты.
— Легче разбирать ошибки по шагам.
ДРАКОН выдаёт это в JSON, а LLM хорошо понимают такие промпты — схему можно сразу использовать как часть промпта.
Когда задача повторяющаяся — на отладку алгоритма не жалко потратить время. Циклично обрабатываете тысячи запросов? ДРАКОН-схема в промпте даёт ИИ чёткий план действий. Это уже оправдывает время на описание и отладку.
Плюс на выходе получаете алгоритм — значит, можете сравнивать разные версии, проводить A/B-тесты. Можно получить неплохой выигрыш в качестве.
