Совместное применение концепции активных знаний и методов машинного обучения

Перепелкин В.А. Арыков С.Б.

Журнал: Проблемы информатики @problem-info

Рубрика: Прикладные информационные технологии

Статья в выпуске: 1 (70), 2026 года.

Бесплатный доступ

В работе рассматриваются возможности совместного использования концепции активных знаний и методов машинного обучения для повышения уровня автоматизации разработки параллельных программ. Концепция активных знаний представляет собой методологию автоматического конструирования программ в конкретных предметных областях. В ее основе лежит идея создания базы активных знаний — специального формализованного описания конкретной предметной области, благодаря чему в этой предметной области существенно снижается сложность автоматического конструирования программ. Методы машинного обучения могут способствовать автоматизации и упрощению создания и использования таких баз активных знаний, снижать порог вхождения в работу с системой автоматического конструирования программ (например, системой LuNA). В работе представлен ИИ-помощник, способный в неформальном общении отвечать на вопросы о системе LuNA и концепции активных знаний. Он реализован на основе большой языковой модели и использует подход RAG для работы с подготовленной для этого текстовой базой знаний. В дальнейшем планируется развивать функциональность ИИ-помощника.

концепция активных знаний \ система LuNA \ машинное обучение \ большие языковые модели \ ИИ-ассистент

Короткий адрес: https://sciup.org/143186303

IDS: 143186303   |   УДК: 004.4’242   |   DOI: 10.24412/2073-0667-2026-1-65-78

On Combining Active Knowledge Concept and Machine Learning

The problem of automatic program construction remains relevant in the context of continuously progressing computerization of all spheres of society. Despite significant achievements in automation tools such as compilers, programming languages, integrated development environments, and artificial intelligence methods, program construction largely remains a creative task that is difficult to automate. Universal approaches to automatic program construction that would produce sufficiently efficient programs for practical use within acceptable timeframes are algorithmically complex and have only niche applications. Therefore, it is important to explore and develop different approaches to automatic program construction and methodologies for their application and combination. In particular, it is valuable to utilize the experience of manual program development in various subject domains and create programming automation tools based on this experience. This paper examines the active knowledge concept as one such approach and explores how it relates to and can be combined with machine learning methods. The active knowledge concept is a methodology for automatic program construction in specific subject domains. It is based on the theory of synthesis of parallel programs and systems on computational models [1]. The methodology enables automatic construction of sufficiently efficient programs for solving problems of a certain class within a particular subject domain, where efficiency is understood from the perspective of non-functional properties essential to that domain, such as execution time, memory consumption, network load, etc. The fundamental principles of the active knowledge concept include non-universality, axiomatic theory as a foundation, partial description of the subject domain, use of computational models, multilevel construction, consideration of static and dynamic aspects, application to well-developed subject domains, inclusion of good solutions, variability, recommendations, alternative approach to program creation, accumulation of knowledge in active form, and instrumental support through systems like LuNA (Language for Numerical Algorithms). The LuNA system, developed and maintained at the Institute of Computational Mathematics and Mathematical Geophysics SB RAS, includes a language for describing active knowledge bases and a system for automatic construction and execution of parallel programs. Machine learning methods, particularly those based on large language models, offer new opportunities for automating programming tasks. A practically widely used technology is the creation This research was carried out under the state contract with ICM&MG SB RAS FWNM-2025-0005. of Al assistants — digital assistants capable of not only executing predefined commands but also understanding context and adapting their behavior accordingly. In software development, Al assistants can help with code generation, documentation, quality checking, education, and auxiliary technical tasks. Popular solutions include Cursor, Codex, GitHub Copilot, Gemini Code Assist, and domestic developments like SourceCraft Code Assistant and GigaCode. This paper explores the potential synergies between the active knowledge concept and machine learning methods. Several principal possibilities for combining these approaches are considered: (1) An Al assistant for training and methodological support of LuNA system users, helping to overcome the entry barrier; (2) Al assistance in creating active knowledge bases, acting as a methodological consultant guiding users through key stages; (3) Automatic creation of active knowledge bases from human-oriented texts using machine learning; (4) Al translation from informal problem statements to formal specifications; (5) Improvement of active knowledge bases through analysis and optimization using large language models. The paper presents a prototype implementation of an Al assistant for the LuNA system (LuNA Al), focused initially on documentation-related tasks to help overcome the entry barrier in learning and using the active knowledge concept. Technically, LuNA Al is a service that accepts context from the user (files, questions), combines this information with the available knowledge base (documentation, templates, examples), forms a prompt, calls a large language model, and displays the LLM’s response to the user. The implementation utilizes Yandex Al Assistant API, which combines the YandexGPT large language model with RAG (Retrieval-Augmented Generation) technology for retrieving relevant information from knowledge bases. The system architecture includes a frontend application built with Vue and NuxtUI frameworks and a backend developed in Python with FastAPI.