글로벌 금융 플랫폼의 .NET 코드베이스 문서화 자동화 도입

글로벌 금융 서비스 기업이 .NET 기반 전자 거래 플랫폼의 아키텍처 문서 최신화 문제를 해결하기 위해 Amazon Bedrock AgentCore를 2026년 1분기부터 생산 환경에 도입했다. 개발 팀은 코드베이스가 빠르게 진화함에 따라 수동으로 작성한 다이어그램이 배포 후 수주 만에 최신성을 잃고 지식 사일로가 발생하는 고질적인 문제에 직면했다. 특히 마이크로서비스 아키텍처(MSA) 환경에서는 서비스 간 의존성과 메시지 흐름을 정확히 파악하지 못할 경우 연쇄 장애(Cascading Failure)로 이어질 위험이 컸다.

Amazon Bedrock AgentCore는 자율 에이전트를 구축하고 최적화하는 플랫폼으로, 이 솔루션을 통해 코드 분석부터 다이어그램 생성, 검색 가능한 문서 유지까지의 전 과정을 자동화했다. 에이전트는 .NET 코드베이스를 분석하여 Mermaid 기반의 UML 다이어그램을 생성하고, 이를 Amazon S3에 저장한 뒤 Knowledge Base에 색인하는 파이프라인을 수행한다. 이를 통해 개발자는 자연어 쿼리만으로 특정 설계 전략을 찾아낼 수 있는 RAG 기반의 동적 문서 시스템을 확보하게 되었다.

신뢰도를 95%로 끌어올린 5단계 반복적 정제 워크플로우

Strands 에이전트가 '이해-생성-검증-변환-발행'으로 이어지는 5단계 반복 워크플로우를 수행하여 다이어그램 생성 신뢰도를 기존 단일 API 호출 방식의 65%에서 95%까지 향상시켰다. 에이전트는 먼저 Amazon S3에서 소스 코드를 가져와 테스트 파일과 빌드 아티팩트를 제외한 프로덕션 코드 중심으로 인터페이스, 추상 클래스, 구체적 구현체 및 의존 관계를 분석한다. 이후 Amazon Bedrock의 파운데이션 모델을 사용하여 클래스, 시퀀스, 상태, 컴포넌트, 액티비티 등 5가지 유형의 Mermaid UML을 생성한다.

신뢰도 향상의 핵심인 검증 단계에서 에이전트는 생성된 Mermaid 문법을 스스로 검사하고, 오류 발견 시 에러 메시지를 분석해 다이어그램을 다시 생성하는 자가 수정 루프를 실행한다. 검증이 완료된 결과물은 웹 브라우저 렌더링을 위해 SVG 형식으로 변환되며, 최종적으로 SVG 파일과 Mermaid 소스, 메타데이터 JSON 파일이 S3 Architecture Diagrams 버킷에 업로드된다. 이러한 반복적 정제(Iterative Refinement) 방식은 모델의 단발성 생성 한계를 극복하고 사람이 개입하지 않아도 코드와 일치하는 시각화 자료를 유지하게 만든다.

AWS CodePipeline 기반의 지속적 문서 갱신 체계

AWS CodePipeline이 AWS CodeCommit 저장소의 코드 커밋을 감지하여 다이어그램 생성 및 지식 베이스 업데이트 프로세스를 자동으로 트리거한다. 실행 환경인 AWS CodeBuild는 분석에 필요한 라이브러리와 의존성을 컨테이너 기반으로 제공하여 일관된 빌드 환경을 유지한다. 모든 파이프라인 단계는 IAM 역할을 통해 제어되며, CodeCommit 읽기, AgentCore 호출, S3 저장, Knowledge Bases 인제스션 트리거 권한이 세분화되어 보안성과 안정성을 확보했다.

S3에 저장된 결과물은 즉시 Amazon Bedrock Knowledge Bases의 인제스션 작업을 통해 검색 인덱스에 반영된다. 이때 시스템은 S3 버킷 내의 `metadata/`와 `mermaid/` 접두사 경로에 있는 텍스트 데이터만 선택적으로 인덱싱하여 효율을 높였다. 바이너리 데이터인 SVG 파일은 제외하고 시맨틱 정보가 풍부한 메타데이터와 소스 정의만 추출함으로써, 코드 변경 사항이 실시간으로 검색 엔진에 동기화되는 구조를 완성했다. [Figure 1]

Titan Text Embeddings v2와 계층적 청킹 기반 RAG 구현

Amazon Bedrock Knowledge Bases가 시맨틱 검색 레이어로 작동하며 정적 다이어그램을 자연어 쿼리가 가능한 지식 시스템으로 변환했다. 임베딩 모델은 Amazon Titan Text Embeddings v2를 채택하여 1,024차원의 벡터를 생성하며, 청크당 최대 8,192 토큰을 지원해 다이어그램 콘텐츠의 의미적 관계를 정밀하게 수치화한다. 벡터 저장소는 별도의 데이터베이스 없이 Amazon S3를 백엔드로 사용하여 서버리스 아키텍처의 관리 효율성을 극대화했다.

데이터 분할 전략으로는 계층적 청킹(Hierarchical Chunking)을 적용하여 전체 다이어그램의 맥락을 보존하는 부모 청크 크기를 1,500토큰으로 설정했다. 사용자가 RetrieveAndGenerate API를 통해 "시스템의 재연결 전략은 무엇인가?"와 같은 질문을 던지면, 시스템은 S3의 벡터 데이터를 검색해 지수 백오프(Exponential Backoff) 설명이 포함된 액티비티 다이어그램을 즉시 출력한다. 이를 통해 정적인 이미지 파일에 고립되어 있던 설계 정보가 코드베이스와 동기화된 살아있는 지식 자산으로 전환되었다.

MSA 복잡도 해결을 통한 경제적 타당성과 도입 판단 기준

금융 서비스 기업의 운영팀이 자동화 파이프라인을 통해 신규 개발자의 온보딩 기간을 단축하고 컴플라이언스 감사 대응 시 증빙 자료 준비 시간을 대폭 절감했다. 특히 엄격한 규제가 적용되는 환경에서 코드에서 직접 추출한 객관적 사실 기반의 문서를 생성함으로써 문서의 신뢰성을 확보했다. 시스템 운영 비용은 Amazon Bedrock의 토큰 처리량과 RAG 레이어의 인덱싱 비용에 따라 결정되며, 이는 AWS Pricing Calculator를 통해 추산 가능하다.

.NET 환경의 금융 플랫폼 사례에서 확인되었듯, 인프라 유지 비용보다 문서 최신화에 투입되던 고숙련 엔지니어의 인적 공수 절감분이 더 크다는 점이 이 솔루션의 경제적 타당성 근거가 된다. 따라서 기업은 코드 변경 시마다 아키텍처 다이어그램을 자동으로 갱신하고, 자연어 쿼리로 특정 설계 전략을 즉시 찾아낼 수 있는 RAG 기반 문서 시스템을 구축할 수 있는지를 기준으로 도입 여부를 판단해야 한다. [Figure 2]