피드로 돌아가기
Dev.toDatabase
원문 읽기
Live Infra State 동기화를 통한 AI의 중복 GSI 생성 방지
Stop AI From Recommending Redundant Indexes on Existing GSIs
AI 요약
Context
AI 코딩 어시스턴트가 인프라 실제 상태를 파악하지 못한 채 코드의 쿼리 패턴만 분석하여 중복 GSI를 추천하는 문제 발생. 기존 방식은 인프라 상태와 코드 간의 단절로 인해 불필요한 인덱스 생성 및 Write Capacity 비용 낭비를 초래함.
Technical Solution
- DescribeTable API를 통한 DynamoDB 실제 GlobalSecondaryIndexes 리스트 추출 및 인프라 그래프 반영
- Table 노드에 uses_index 엣지를 생성하여 실제 배포된 인덱스와 쿼리 간의 매핑 관계 구조화
- MissingGSIAnalyzer를 통해 쿼리 엣지는 존재하나 uses_index 엣지가 전무한 테이블만 식별하는 필터링 로직 구현
- MCP(Model Context Protocol) 기반의 get_infra_overview 도구를 제공하여 AI가 코드 작성 전 실제 스키마를 먼저 조회하도록 워크플로우 강제
- analyze_function을 통해 특정 함수가 사용하는 실제 인덱스 명칭을 AI에게 주입하여 정확한 IndexName 지정 유도
- 생성 도구(suggest_gsi)와 검증 도구(get_infra_overview)의 역할을 분리하여 검증 후 생성하는 단계적 파이프라인 설계
실천 포인트
- AI 기반 인프라 변경 시 코드 분석 전 실제 리소스 상태(Live State) 조회 단계 포함 여부 검토 - 인덱스 생성 전 기존 GSI 리스트와 KeySchema 일치 여부를 확인하는 검증 자동화 프로세스 구축 - LLM에게 인프라 상태를 주입할 때 단순 텍스트가 아닌 그래프 형태의 관계(Table -> Index)로 제공하여 컨텍스트 정확도 향상