Что произошло
В последние годы языковые модели (LLM) стали активно использоваться в разработке программного обеспечения. Однако их эффективность резко падает при работе с унаследованными кодобазами, где много технического долга и сложных зависимостей. Автор статьи предлагает использовать подход Domain-Driven Design (DDD) для решения этих проблем.
Детали
Основная проблема заключается в том, что LLM часто ошибаются при работе с кодом, где отсутствует чёткая структура и единый язык. Например, модель может создать новое написание термина, который уже существует в трёх разных вариантах. Это происходит из-за отсутствия чёткого определения терминов и контекстов в коде.
Автор разделяет работу на стратегическую и тактическую части. Стратегическая часть включает анализ кода и планирование изменений, а тактическая — их реализацию с помощью ИИ. Для этого используется система подзадач (sub-agents), каждая из которых выполняет узкую задачу, например, рефакторинг или проверку безопасности.
DDD помогает создать единый язык между бизнесом и разработчиками, что особенно важно при использовании ИИ.
Почему это важно
Использование DDD позволяет устранить неоднозначности в коде, что повышает качество работы ИИ. Это особенно актуально для проектов с унаследованным кодом, где часто отсутствует чёткая структура и единый язык. Кроме того, разделение работы на стратегическую и тактическую части позволяет сосредоточиться на наиболее важных аспектах разработки.
Что дальше
Автор планирует продолжить работу над системой, которая будет использовать навыки (skills) для автоматизации задач в рамках DDD. Это позволит ещё больше упростить работу с унаследованными кодобазами и повысить качество работы ИИ.
"Стратегическая работа — это анализ и планирование, а тактическая — реализация с помощью ИИ."
Таким образом, Domain-Driven Design становится ключевым инструментом для эффективной интеграции ИИ в сложные проекты с унаследованным кодом.
Источники
- Оригинал: coldtake.dev — © coldtake.dev
