2025-11-11T08:04:09.439166

Code Digital Twin: Empowering LLMs with Tacit Knowledge for Complex Software Development

Peng, Wang
Recent advances in large language models (LLMs) have demonstrated strong capabilities in software engineering tasks, raising expectations of revolutionary productivity gains. However, enterprise software development is largely driven by incremental evolution, where challenges extend far beyond routine coding and depend critically on tacit knowledge, including design decisions at different levels and historical trade-offs. To achieve effective AI-powered support for complex software development, we should align emerging AI capabilities with the practical realities of enterprise development. To this end, we systematically identify challenges from both software and LLM perspectives. Alongside these challenges, we outline opportunities where AI and structured knowledge frameworks can enhance decision-making in tasks such as issue localization and impact analysis. To address these needs, we propose the Code Digital Twin, a living framework that models both the physical and conceptual layers of software, preserves tacit knowledge, and co-evolves with the codebase. By integrating hybrid knowledge representations, multi-stage extraction pipelines, incremental updates, LLM-empowered applications, and human-in-the-loop feedback, the Code Digital Twin transforms fragmented knowledge into explicit and actionable representations. Our vision positions it as a bridge between AI advancements and enterprise software realities, providing a concrete roadmap toward sustainable, intelligent, and resilient development and evolution of ultra-complex systems.
academic

Цифровой двойник кода: расширение возможностей больших языковых моделей с помощью неявного знания для сложной разработки программного обеспечения

Основная информация

  • ID статьи: 2503.07967
  • Название: Code Digital Twin: Empowering LLMs with Tacit Knowledge for Complex Software Development
  • Авторы: Синь Пэн, Чун Ван (Школа компьютерных наук и искусственного интеллекта Фуданьского университета)
  • Категория: cs.SE (Программная инженерия)
  • Дата публикации: октябрь 2025 г.
  • Ссылка на статью: https://arxiv.org/abs/2503.07967

Аннотация

В последние годы большие языковые модели (БЯМ) продемонстрировали мощные возможности в задачах программной инженерии, что вызвало ожидания революционного повышения производительности. Однако разработка корпоративного программного обеспечения в основном обусловлена инкрементальной эволюцией, и её вызовы намного превосходят обычное кодирование, в значительной степени зависят от неявного знания, включая проектные решения на разных уровнях и исторические компромиссы. Для обеспечения эффективной поддержки искусственного интеллекта при разработке сложного программного обеспечения необходимо объединить новые возможности искусственного интеллекта с реальной практикой корпоративной разработки. В данной статье систематически выявлены вызовы с точки зрения программного обеспечения и БЯМ, а также обозначены возможности использования искусственного интеллекта и структурированных фреймворков знаний для улучшения принятия решений при решении задач локализации проблем и анализа влияния. Для решения этих требований авторы предлагают Цифровой двойник кода (Code Digital Twin) — динамический фреймворк, моделирующий физический и концептуальный уровни программного обеспечения, сохраняющий неявное знание и совместно эволюционирующий с кодовой базой.

Исследовательский контекст и мотивация

Определение проблемы

  1. Практические вызовы: несмотря на отличные результаты БЯМ в простых задачах программной инженерии, разработка корпоративного программного обеспечения сталкивается с фундаментальной сложностью, требующей обработки системных зависимостей, исторической эволюции и неявного знания
  2. Дефицит знаний: ключевые проектные идеи, архитектурные решения и исторические компромиссы часто остаются недокументированными, что препятствует получению БЯМ необходимой контекстной информации
  3. Масштабные вызовы: сверхсложные системы, такие как ядро Linux, содержат десятки миллионов строк кода, их пути эволюции уникальны, накоплены значительные исторические технические долги

Значимость исследования

  • Разработка корпоративного программного обеспечения — это не одноразовое создание, а процесс постоянной разработки и эволюции
  • Даже "добавление новых функций" редко является разработкой с нуля, требуя точной интеграции в существующую архитектуру
  • Рост масштаба и сложности системы превращает её в сверхсложную систему, требующую захвата и рассуждения о неявном знании

Ограничения существующих подходов

  • Текущие БЯМ в основном изменяют программную инженерию на поверхностном уровне, например генерация шаблонного кода, понимание кода и т.д.
  • Не могут надёжно получить доступ или реконструировать неявное знание
  • Испытывают трудности с системным рассуждением, долгосрочным анализом и архитектурными решениями
  • Отсутствует понимание нефункциональных ограничений и операционных ограничений

Основные вклады

  1. Мост между прогрессом искусственного интеллекта и реальностью корпоративной разработки: подчёркивает важность объединения новых возможностей искусственного интеллекта с практикой корпоративной разработки
  2. Систематическое выявление вызовов и возможностей: характеризует основные вызовы сложной разработки программного обеспечения с точки зрения программного обеспечения и БЯМ, включая системную сложность, отсутствие концептуального представления, историческую эволюцию, потерю неявного знания и т.д.
  3. Предложение фреймворка Code Digital Twin: введение динамического фреймворка знаний, интегрирующего артефакты программного обеспечения с концептуальными элементами знания, поддерживающего постоянную совместную эволюцию с кодовой базой
  4. Предоставление дорожной карты реализации: охватывает конкретные пути реализации гибридного представления знаний, конвейеры извлечения, инкрементальные обновления, приложения, управляемые БЯМ, и обратную связь человеко-машинного сотрудничества

Подробное описание методологии

Определение задач

Цифровой двойник кода предназначен для построения динамического фреймворка знаний, способного:

  • Моделировать физический уровень программного обеспечения (функции, файлы, модули) и концептуальный уровень (концепции, функциональность, проектные идеи)
  • Сохранять и организовывать неявное знание
  • Совместно эволюционировать с кодовой базой
  • Поддерживать БЯМ при выполнении контекстно-зависимых задач программной инженерии

Архитектура фреймворка

1. Артефакты программного обеспечения и связанные активы

  • Файлы исходного кода: методы/функции, классы/файлы, пакеты/модули, скрипты, файлы конфигурации
  • Артефакты сборки и развёртывания: скомпилированные двоичные файлы, образы контейнеров, определения конвейеров CI/CD
  • История управления версиями: коммиты, ветви, теги, записи слияния
  • Документация и спецификации: документы требований, руководства API, диаграммы архитектуры
  • Отслеживание проблем и журналы изменений: отчёты об ошибках, запросы функций, примечания к выпускам
  • Данные времени выполнения и мониторинга: журналы, метрики, трассировки, анализ производительности

2. Ключевые элементы знания

  • Концепции предметной области: примитивы операционной системы, протоколы связи, нормативные требования и другие фундаментальные абстракции
  • Функциональность: аутентификация пользователей, обработка транзакций, генерация рекомендаций и другие основные возможности и сквозные проблемы
  • Идеи: объяснения логики принятия проектных решений, включая компромиссы и контекстное рассуждение

3. Интеграция цифрового двойника кода

  • Артефакт-ориентированный скелет: структурированное отображение между физическими артефактами и концептуальными сущностями
  • Идея-центричные объяснения: связывание артефактов и функциональности с проектными идеями
  • Отражение артефакт-знание и совместная эволюция: обеспечение синхронизации знания с эволюционирующей системой программного обеспечения

Технические инновации

1. Гибридное представление знаний

  • Структурированное представление: графы знаний, фреймворки, кодирование карточек формальных отношений между концепциями, функциональностью и идеями
  • Неструктурированное представление: сохранение богатого текстового контекста в сообщениях коммитов и проектных дискуссиях
  • Совместное представление: объединение обеих форм для комплексных запросов и рассуждения

2. Многоэтапный конвейер построения

  • Извлечение артефакт-ориентированного скелета: подсказки, управляемые сверху вниз, и анализ программ снизу вверх
  • Извлечение идея-центричное: добыча неструктурированных источников для получения идей решений
  • Построение отражения артефакт-знание: установление двусторонних ссылок для поддержки отслеживаемости и анализа влияния

3. Механизмы совместной эволюции

  • Обновления распространяются на функциональность, идеи и отображения зависимостей при добавлении, изменении или удалении артефактов
  • Механизмы инкрементального обновления обеспечивают отражение двойником постоянной эволюции программного обеспечения

Экспериментальная установка

Наборы данных

  1. Эталон SWE-Lancer: содержит 216 задач локализации из реальных репозиториев с более чем 2,2 миллиардами строк кода
  2. Задачи разработки Android: комплексная оценка сквозной генерации программного обеспечения

Метрики оценки

  • Локализация проблем: Hit@k и Recall@k (на уровне файлов и функций)
  • Генерация приложений: полнота функциональности, согласованность архитектуры, точность управления зависимостями

Методы сравнения

  • Локализация проблем: существующие методы БЯМ, такие как mini-SWE-agent
  • Генерация приложений: передовые фреймворки БЯМ-агентов, такие как Claude Code

Детали реализации

  • Базовые модели: GPT-4o, GPT-4o-mini, GPT-4.1
  • Инструменты извлечения знаний: объединение извлечения с помощью БЯМ со статическим/динамическим анализом программ
  • Область оценки: тестирование обобщения на несколько моделей и исследования абляции

Результаты экспериментов

Основные результаты

Задачи локализации проблем

  • Использование GPT-4o в качестве базовой модели, извлечённое знание повышает Hit@k более чем на 22%, Recall@k на 46%
  • Тестирование обобщения на несколько моделей показывает последовательные улучшения:
    • Диапазон относительного улучшения Hit@1: 2,76% до 504,35%
    • Диапазон относительного улучшения Recall@10: 2,83% до 376,13%

Задачи генерации приложений

  • По сравнению с передовыми фреймворками БЯМ-агентов, фреймворк, управляемый графом функций, достигает улучшения на 56,8%
  • Относительные выигрыши на нескольких базовых моделях: 16,0% до 76,6%

Исследования абляции

Исследования абляции показывают, что объяснения концептуальных терминов и кластеризация сквозных проблем вносят критический вклад в производительность, ручная аннотация подтверждает правильность, полноту и краткость извлечённых сквозных проблем.

Анализ случаев

Результаты экспериментов показывают, что встраивание концептуально-функционального знания позволяет БЯМ:

  • Проводить целостное рассуждение
  • Поддерживать исторический и архитектурный контекст
  • Более эффективно ориентироваться в сложном, распределённом коде

Экспериментальные выводы

  1. Концептуально-функциональное знание является ядром фреймворка Code Digital Twin, способным значительно повысить эффективность БЯМ в реальной программной инженерии
  2. Путём захвата высокоуровневых концепций, связывания их с конкретной функциональностью и сохранения исторического и архитектурного контекста БЯМ могут выполнять более точную локализацию проблем
  3. Структурированное распространение знания позволяет БЯМ понимать зависимости между функциями, поддерживать архитектурную и функциональную согласованность

Связанные работы

Основные направления исследований

  1. Генерация кода на уровне репозитория: технология RAG и статический анализ помогают БЯМ выполнять завершение кода с контекстом между файлами
  2. Решение проблем на уровне репозитория: подходы на основе агентов и шаблонов для решения проблем в крупномасштабных репозиториях
  3. Понимание репозитория: использование возможностей понимания БЯМ в сочетании с технологиями представления знаний
  4. Графы знаний программной инженерии: графы знаний API, графы знаний концепций разработки программного обеспечения, графы знаний задач программирования и т.д.

Преимущества данной работы

  • Впервые систематизирует базу знаний о проектном знании, специально предназначенную для долгосрочных задач обслуживания программного обеспечения
  • Предоставляет систематическую структуру для выявления вызовов и решений
  • Объединяет гибридный подход, сочетающий структурированное и неструктурированное представление знаний
  • Подчёркивает важность человеко-машинного сотрудничества и постоянной эволюции

Заключение и обсуждение

Основные выводы

  1. Хотя БЯМ могут изменять поверхностные аспекты задач программирования, глубокая динамика программного обеспечения (фундаментальная сложность, постоянная эволюция, потребности в структурированном рассуждении) остаются неизменными
  2. Фреймворк Code Digital Twin путём захвата и структурирования неявного знания может значительно повысить производительность БЯМ при выполнении сложных задач программной инженерии
  3. Гибридное представление знаний, многоэтапный конвейер извлечения и обратная связь человеко-машинного сотрудничества являются ключевыми для обеспечения эффективной поддержки искусственного интеллекта при разработке программного обеспечения

Ограничения

  1. Вызовы масштабируемости: как обрабатывать извлечение и поддержку знаний для сверхбольших систем
  2. Гарантия качества знаний: автоматически извлечённое знание может содержать неточности или быть неполным
  3. Синхронизация в реальном времени: как обеспечить синхронизацию цифрового двойника с быстро эволюционирующей кодовой базой
  4. Сложность оценки: отсутствие комплексных эталонов оценки, отражающих сложность корпоративного уровня

Будущие направления

  1. Усовершенствование масштабируемого и гибкого фреймворка, интегрирующего разнородные структурированные источники
  2. Создание технологий гибридного представления, тесно связывающих структурированные артефакты с извлечённым текстовым знанием
  3. Разработка механизмов автоматической постоянной синхронизации
  4. Построение наборов данных оценки, отражающих крупномасштабность, многомодульность, историческую и социально-техническую сложность
  5. Исследование осуществимости в крупномасштабном программном обеспечении, таком как ядро Linux

Глубокая оценка

Преимущества

  1. Сильная систематичность выявления проблем: систематическое выявление 11 вызовов с точки зрения программного обеспечения и БЯМ, предоставляющее ясную структуру проблем для области
  2. Инновационность решения: концепция Code Digital Twin является новаторской, внедряя идею цифрового двойника в область программной инженерии
  3. Полнота методологии: предоставляет полную методологию от представления знаний до конвейеров построения, от совместной эволюции до человеко-машинного сотрудничества
  4. Достаточная экспериментальная верификация: верифицирует эффективность метода на двух различных задачах с тестированием обобщения на несколько моделей
  5. Высокая практическая ценность: напрямую решает практические проблемы корпоративной разработки программного обеспечения с сильными перспективами применения

Недостатки

  1. Ограниченный масштаб экспериментов: хотя тестирование проводилось на эталонах, таких как SWE-Lancer, всё ещё существует разрыв с реальными корпоративными системами
  2. Недостаточность деталей реализации: описание конкретных стратегий реализации для обработки крупномасштабных систем недостаточно детально
  3. Отсутствие анализа затрат и выгод: отсутствует анализ затрат на построение и поддержку Code Digital Twin в сравнении с выгодами
  4. Недостаточная верификация долгосрочной эволюции: отсутствует верификация производительности фреймворка при долгосрочной эволюции программного обеспечения
  5. Неизвестная применимость в других областях: в основном верифицировано в сценариях общей разработки программного обеспечения, применимость в специфических областях (например, встроенные системы) неизвестна

Влияние

  1. Академический вклад: предоставляет новое направление исследований и фреймворк для пересечения программной инженерии и искусственного интеллекта
  2. Практическая ценность: предоставляет осуществимые идеи решений для корпоративной разработки программного обеспечения, поддерживаемой искусственным интеллектом
  3. Воспроизводимость: предоставляет относительно ясную методологию, но полная реализация требует значительных инженерных работ
  4. Вдохновляющее значение: подчёркивает важность неявного знания в программной инженерии, может催生 больше связанных исследований

Применимые сценарии

  1. Крупные корпоративные системы программного обеспечения: особенно подходит для унаследованных систем со сложной исторической эволюцией
  2. Поддержка проектов с открытым исходным кодом: может помочь новым участникам быстро понять проектные идеи и архитектурные решения проекта
  3. Рефакторинг и модернизация программного обеспечения: предоставляет необходимый исторический контекст и анализ отношений зависимостей для рефакторинга системы
  4. Инструменты разработки с поддержкой искусственного интеллекта: предоставляет инфраструктуру знаний для интеграции в IDE и наборы инструментов разработки

Ссылки

Статья содержит 42 ссылки, охватывающие важные работы в нескольких связанных областях, включая программную инженерию, большие языковые модели и графы знаний, предоставляя прочную теоретическую основу для исследования.


Резюме: Это перспективная и практически ценная исследовательская статья в области программной инженерии, предлагающая инновационный фреймворк Code Digital Twin для решения ограничений БЯМ при разработке сложного программного обеспечения. Систематический анализ статьи и полный дизайн методологии придают ей важную академическую ценность и перспективы применения, однако дальнейшие исследования необходимы в аспектах крупномасштабного практического развёртывания и верификации долгосрочной эволюции.