Архитектура оценки анализа исходного кода Godot
Дата создания: 25 июня 2026 г.
Цель
С помощью RAG официальной документации Godot классифицировать исходный код GitHub по проектам, а затем оформить процесс создания данных SFT/DPO.
Ключевой момент этого обзора — рассматривать docs_chunks, api_mapping и label_prototypes как единый объект классификации официальной документации Markdown → JSONL. В зависимости от характера документа фрагменты описания попадают в docs_chunks, изменения имён функций/классов/символов — в api_mapping, а изменения способов использования функций/структуры аргументов/шаблонов вызовов — в label_prototypes.
Текущее заключение
На этапе первоначального сбора официальной документации ключевые таблицы, которые нужно подготовить, следующие три.
| Таблица | Роль |
|---|---|
docs_chunks |
Хранение фрагментов текста официальной документации, учебных материалов, справочников по классам |
api_mapping |
Сохранение того, как изменились имена функций, классов и символов при переходе Godot 3 → Godot 4 |
label_prototypes |
Сохранение того, как следует использовать функции, их аргументы и паттерны вызовов, когда они полностью меняются |
| Пункт | Описание |
|---|---|
| Предыдущее недоразумение | Сначала казалось, что три таблицы представляют разные потоки работы. |
| Новая граница | Все три таблицы служат хранилищем при классификации официальной документации Markdown в JSONL. |
| Текущий приоритет | По плану сохранять три таблицы и классифицировать документы в один или несколько JSONL‑файлов в зависимости от их характера. |
Финальная единица анализа
Входом является проект GitHub или локальная директория проекта.
Анализатор просматривает файловую систему и разбивает файлы Godot на фрагменты AST или кода.
Начальные цели:
| Файл | Назначение |
|---|---|
.gd |
Анализ AST/строк/функций GDScript |
.tscn, .tres |
Выделение подсказок о классах, скриптах, типах узлов внутри сцен/ресурсов |
project.godot |
Выделение подсказок о версии проекта, функциях, рендерере, автозагрузке и т.п. |
| README/документация | Подсказки о проекте и версии Godot |
Поток вызова LLM по требованию
LLM не работает постоянно, а вызывается по требованию для каждого необходимого фрагмента AST/кода.
Каждый фрагмент AST передаётся в LLM вместе с соответствующими обоснованиями.
AST/code chunk
+ Результаты поиска необходимой официальной документации JSONL
+ Схема выводимого JSONL
+ Информация об идентификации проекта/файлаСхема ответа LLM и столбцы сохранения в базе данных score еще не определены. В текущем документе записывается только то, какие таблицы ищутся в каком потоке и как результат используется для классификации файловой системы.
Создание описания кода: поток данных

В процессе создания описания кода docs_chunks является ключевым основанием.
Поток:
Пользователь вводит «Что это значит?» и исходный код.
AST‑парсер разбивает код на фрагменты.
Retriever ищет соответствующую официальную документацию в
docs_chunks.Qwen 3.6 проверяет, связаны ли между собой подсказка, фрагмент кода и найденные доказательства.
Нерелевантные результаты поиска отбрасываются.
Связанные доказательства и фрагменты кода передаются обратно Qwen 3.6 для создания объяснительного JSONL.
Validator проверяет ответ.
Сохранить проверенный результат в базе данных score.
Классифицировать файловую систему по результатам базы данных score.
Godot 3 -> Godot 4 функция преобразования потока

Миграция опирается на api_mapping как основной источник.
Поток:
- Пользователь вводит «Нужна ли эта трансформация?» и исходный код.
- AST‑парсер извлекает кандидаты символов Godot API.
- Retriever ищет в
api_mappingисходный API, целевой API и тип изменения. - Qwen 3.6 проверяет, действительно ли найденный результат относится к данному фрагменту кода.
- Неактуальные сопоставления отбрасываются.
- На основе только релевантных сопоставлений генерируется JSONL для миграции Godot 3 → 4.
- Validator проверяет ответ преобразования.
- Проверенный результат сохраняется в базе данных оценок (score DB).
- По результатам score DB файловая система классифицируется.
Godot 3 -> Godot 4 поток преобразования паттернов использования

Для преобразования паттернов использования ключевым источником является label_prototypes.
Поток:
- Пользователь вводит «Нужна ли эта трансформация?» и исходный код.
- AST‑парсер извлекает вызовы функций, состав аргументов и кандидаты паттернов вызова.
- Retriever ищет в
label_prototypesоснования для преобразования способов использования/аргументов/паттернов вызова. - Qwen 3.6 проверяет, действительно ли найденный результат относится к данному фрагменту кода.
- Неактуальные прототипы отбрасываются.
- На основе только релевантных прототипов генерируется JSONL для преобразования паттернов использования Godot 3 → 4.
- Validator проверяет ответ преобразования.
- Проверенный результат сохраняется в базе данных оценок (score DB).
- По результатам score DB файловая система классифицируется.
Score DB
Результаты поиска Retriever по отдельным фрагментам AST, результаты проверки LLM и результаты прохождения Validator сохраняются в окончательной базе данных score DB.
score DB — это не исходные обучающие данные, а хранилище результатов оценки, используемое для классификации файловой системы. В ней фиксируются результаты Retriever/LLM/Validator, полученные в процессе анализа исходного кода.
docs_chunks— результаты поиска: проверка того, действительно ли ссылки на официальную документацию, указанные в запросе описания кода, относятся к рассматриваемому коду.api_mapping— результаты поиска: проверка того, действительно ли основания преобразования имён функций/символов из Godot 3 в Godot 4 относятся к рассматриваемому коду.label_prototypes— результаты поиска: проверка того, действительно ли основания преобразования способов использования функций, состава аргументов и шаблонов вызовов относятся к рассматриваемому коду.
Колонки, методы агрегации и метки классификации в score DB пока не определены. В этом документе фиксируется лишь роль score DB как «хранилища предварительных результатов оценки перед классификацией».
Окончательная классификация файловой системы:
project source
-> AST/code chunks
-> official docs JSONL retrieval
-> on-demand LLM verification
-> score DB
-> classified filesystemСоздание SFT и DPO
Подробный дизайн SFT и DPO ещё не определён. Сейчас подтверждено лишь то, что база данных оценок (score DB) сама по себе не является источником обучающих данных. Сначала будет классифицирована файловая система, а затем, опираясь на классифицированную файловую систему, будет создан источник для проектирования SFT и DPO.
Критерии безопасной загрузки в Git
В этой документации не загружаются веб‑интерфейс, локальные скрипты преобразования, скрипты анализа AST, API‑ключи, файлы JSONL и тестовый исходный код.
Разрешённые к загрузке:
- Документация по архитектуре
- Изображения схем потоков
- Текстовые материалы с отзывами/дорожными картами, которые можно публиковать
Запрещённые к загрузке:
- Код Streamlit‑приложения
- Скрипт экспериментального преобразования Markdown → JSONL
- Скрипт экспериментального анализа Retriever/AST
- API‑ключ, endpoint, файл
.env - Полный архив исходных Markdown‑файлов, собранных полностью
- Результаты анализа AST/фрагментов кода
- Промежуточные файлы JSONL
- Исходный код внешнего проекта Godot, клонированный только для тестов