From Scattered to Structured: A Vision for Automating Architectural Knowledge Management
본 논문은 이질적인 소프트웨어 산출물에 흩어져 있는 아키텍처 지식을 중요한 유지보수 작업과 자연어 질의를 지원하는 구조화되고 일관된 지식 베이스로 변환하기 위한 자동화된 파이프라인을 제안한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신은 거대하고 끊임없이 변화하는 도시의 수석 설계자라고 상상해 보십시오. 이 도시는 당신의 소프트웨어 시스템입니다. 도시를 계속 운영하기 위해 설계도(디자인 다이어그램), 규칙 목록(요구사항), 실제로 쌓이고 있는 벽돌과 모르타르(코드), 그리고 건설 현장 인부들이 남긴 결정 사항이 담긴 일지(문서)가 필요합니다.
문제점: 잃어버린 설계도들의 도시
현재 이 도시에 대한 정보는 사방에 흩어져 있습니다. 어떤 규칙은 포스트잇에 적혀 있고, 어떤 설계도는 서랍 속에 들어 있으며, 실제 건설 작업은 다른 건물에서 진행되고 있습니다.
- 혼란: 정보가 너무 널리 퍼져 있기 때문에, 작업자(개발자)들은 도시가 원래 어떤 모습이어야 하는지 알기 어렵습니다.
- 변질(Drift): 시간이 흐르면서 작업자들은 설계도와는 약간 다른 것을 짓게 됩니다. 일지에는 "다리를 건설하라"고 되어 있지만, 그들은 터널을 만들었습니다. 설계도는 업데이트되지 않았습니다. 이것을 "아키텍처 침식(architectural erosion)"이라고 부릅니다. 도시는 점차 원래의 계획과 일치하지 않게 되며, 이로 인해 수정이나 확장이 어려워집니다.
비전: 지능형 도시 사서
저자인 얀 카임(Jan Keim)과 안젤리카 카플란(Angelika Kaplan)은 이 혼란을 해결하기 위해 초지능적이고 자동화된 도시 사서(AI 시스템)를 구축할 것을 제안합니다. 그들의 목표는 이 흩어져 있고 엉망인 정보를 모아 하나의 깨끗하고 정리된 검색 가능한 도서관으로 만드는 것입니다.
이 "사서"가 작동하는 방식은 다음과 같습니다.
1. 보물 찾기 (추출)
사서는 단순히 책을 읽는 것이 아니라, 모든 것을 읽습니다. 사서는 다음을 살펴볼 수 있는 특별한 도구를 가지고 있습니다:
- 텍스트: 요구사항과 회의록을 읽습니다.
- 코드: 실제 건설 재료를 살펴봄으로써 실제로 무엇이 지어지고 있는지 확인합니다.
- 이미리: 손으로 그린 스케치나 다이어그램까지도 살펴봅니다.
- 오디오: 회의 녹음 파일을 들어 구두로 결정된 사항들을 포착할 수 있습니다.
사서는 이 모든 다양한 출처로부터 중요한 사실들을 뽑아냅니다. 마치 탐정이 단서를 모으는 것과 같습니다.
2. 진실 탐정 (일관성 검사)
사서는 단서를 모두 모은 후, 탐정 놀이를 시작합니다. 사서는 서로 다른 출처들을 비교하여 그들이 같은 이야기를 하고 있는지 확인합니다.
- 예시: 만약 설계도에는 "빨간 문"이라고 되어 있는데 코드가 "파란 문"이라고 되어 있다면, 사서는 이 충돌을 찾아냅니다.
- 사서는 단순히 문제만 찾는 것이 아니라, 어떤 것이 옳은지 파악하려고 노력합니다. 작은 실수라면 자동으로 수정할 수도 있습니다. 하지만 크고 혼란스러운 충돌이라면, 인간 설계자에게 "저기, 문 색깔을 바꾼 건가요, 아니면 설계도가 틀린 건가요?"라고 질문합니다.
3. 마스터 맵 (지식 베이스)
검증된 모든 사실은 마스터 맵(구조화된 지식 베이스)에 저장됩니다. 이것은 단순히 종이 뭉치가 아닙니다. 모든 벽돌, 규칙, 결정 사항이 서로 연결된 연결된 웹입니다.
- 모든 것이 연결되어 있기 때문에, 만약 당신이 도시의 한 부분을 변경하려 한다면, 사서는 즉시 어떤 다른 부분들이 영향을 받을지 알려줄 수 있습니다 (변경 영향 분석).
- 또한, 현재의 건설 작업이 원래의 규칙을 따르고 있는지도 확인할 수 있습니다 (적합성 검사).
4. 대화형 가이드 (질의응답)
가장 좋은 점은, 이 맵을 사용하기 위해 사서가 될 필요가 없다는 것입니다. 당신은 그냥 시스템과 대화하면 됩니다.
- 당신의 질문: "왜 이 특정 디자인의 다리를 선택했나요?"
- 사서의 답변: "지난 화요일 회의록과 디자인 문서에 따르면, 더 저렴하고 튼튼하기 때문에 이 디자인을 선택했습니다."
- 시스템은 당신의 질문을 이해하고 마스터 맵에서 정확한 답을 찾기 위해 고급 AI(거대 언어 모델)를 사용하며, 마치 박학다식한 투어 가이드에게 물어보는 것처럼 작동합니다.
5. 깨어 있는 수호자 (지속적 모니터링)
이것은 일회성 작업이 아닙니다. 사서는 24시간 내내 도시를 지켜보는 에이전트입니다.
- 작업자가 설계도를 변경하거나 새로운 코드를 작성하자마자, 사서는 이를 즉시 알아차립니다.
- 사서는 실시간으로 마스터 맵을 업데이트합니다.
- 만약 혼란을 겪게 되면, 사서는 스스로 큰 실수를 하지 않도록 동작을 멈추고 인간에게 도움을 요청합니다.
도전 과제 (왜 아직 쉽지 않은가)
저자들은 이것이 매우 어려운 작업임을 인정합니다:
- 너무 많은 데이터: 도시는 거대합니다. 사서는 수백만 페이지의 텍스트에 압도될 수 있습니다.
- 환각(Hallucinations): 때때로 AI는 사실처럼 들리지만 실제로는 아닌 정보를 "지어낼" 수 있습니다. 사서가 잘못된 정보를 마스터 맵에 넣지 않도록 주의해야 합니다.
- 과거와 현재: 소프트웨어는 수년에 걸쳐 변합니다. 사서는 언제 과거의 기록을 (맥락을 위해) 유지하고, 언제 혼란을 피하기 위해 오래된 정보를 버려야 하는지 알아야 합니다.
- 개인정보 보호: 만약 사서가 비공개 회의 내용을 듣는다면, 비밀을 유출하지 않도록 매우 주의해야 합니다.
요약
이 논문은 소프트웨어 팀이 흩어진 정보 속에서 익사하는 것을 막기 위한 자동화된 시스템의 청사진입니다. 이 시스템은 모든 엉망인 단서들을 모으고, 그것들의 진위 여부를 확인하며, 하나의 진실된 근거(Single Source of Truth)로 정리하고, 누구나 평이한 영어로 질문하여 자신의 소프트웨어가 어떻게 작동하는지 이해할 수 있도록 하는 것을 목표로 합니다. 이는 혼란스러운 건설 현장을 잘 정리되고 이해 가능한 도시로 바꾸는 것에 관한 이야기입니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.