이 자동화 시스템의 핵심은 rails-pg-extras-mcp
젬입니다. 이 젬은 기존의 rails-pg-extras
젬 위에 구축되어, pg-extras
가 수집한 데이터베이스 메타데이터를 LLM이 이해할 수 있는 형식으로 변환하여 제공합니다. 이를 통해 LLM은 원시적이고 난해한 pg-extras
출력을 사람이 이해하기 쉬운 요약 보고서로 재구성할 수 있습니다. 예를 들어, 슬랙 봇 형태로 구현된 데모는 LLM이 데이터베이스 문제를 자동으로 진단하고, 관련 정보를 요약하여 개발팀 채널에 공유함으로써 팀 협업을 촉진합니다. MCP 프로토콜은 보편적이어서 OpenAI API, Claude Code, Cursor IDE 등 다양한 LLM과 연동이 가능합니다.
가장 중요한 고려사항 중 하나는 프로덕션 데이터와 LLM을 연결할 때의 법적 및 보안 문제입니다. rails-pg-extras-mcp
는 기본적으로 비즈니스 로직과 관련된 테이블에 대한 접근을 제한하고, 쿼리 인자 값($1, $2 등)을 대체하여 민감한 데이터가 LLM에 노출되는 것을 방지합니다. 또한, 메타데이터 테이블에만 읽기 권한을 가진 전용 데이터베이스 사용자를 생성하여 보안을 더욱 강화할 수 있습니다. 그러나 EXPLAIN ANALYZE
모드와 같이 실제 쿼리를 실행하는 기능을 활성화할 경우, 민감한 데이터 노출 위험이 증가할 수 있으므로 주의가 필요합니다. 저자는 잠재적인 SQL 인젝션을 방지하기 위한 노력을 기울였지만, 완벽한 보안을 장담할 수는 없다고 언급하며 추가적인 보안 개선에 대한 피드백을 환영하고 있습니다.
비용 측면에서는 OpenAI의 GPT-4o 모델이 상대적으로 효율적이었으며, 테스트 기간 동안 적은 비용으로 많은 API 호출을 처리할 수 있었습니다. 반면 Anthropic의 Claude 모델은 더 높은 비용이 발생했습니다. 비용 효율적인 전략으로, 주간 성능 보고서와 같은 심층 분석에는 고가의 모델을, 일상적인 채팅 사용에는 저렴한 모델을 사용하는 방안이 제시됩니다. 또한, n8n 인스턴스 비용이 발생하지만, 자가 호스팅을 통해 비용을 절감할 수도 있습니다. 저자는 독자들이 직접 시스템을 시험해 볼 수 있도록 더미 데이터베이스와 연결된 공개 MCP 엔드포인트를 제공하며, 이를 통해 잠재적인 보안 취약점을 발견할 수 있기를 기대하고 있습니다.