AI 하네스(Harness)를 활용한 쿼리 최적화 자동화 시스템 구축 사례 공개

by DD
2주 전
조회수 112

AI를 활용하여 슬로우 쿼리 분석, PR 생성, 코드 리뷰를 자동화하는 쿼리 엔지니어(query-engineer) 시스템 구축

하네스(Harness) 설계를 통해 AI의 행동 범위를 제한하고, 컨텍스트 부패(Context Rot) 문제를 해결

7-Stage 파이프라인 아키텍처(7-Stage Pipeline Architecture)를 구축하여 슬로우 쿼리 탐지부터 코드 리뷰, PR 생성까지 자동화

AI 코드 리뷰 폐쇄 루프(AI Code Review Loop)를 통해 코드 품질을 향상시키고, 정합성 검증(Integrity Verification)을 통해 안정성 확보

스페셜리스트, 제너럴리스트, 오케스트레이터(Orchestrator) 3가지 AI 에이전트 설계 방식을 제시하며, 스페셜리스트(Specialist) 방식을 선택

AI 하네스(Harness) 설계의 핵심 원리

본문에서는 AI 에이전트의 성능을 극대화하기 위한 하네스 설계의 핵심 원리를 제시한다. 첫째, 시스템 프롬프트(System Prompt)를 통해 AI의 행동 공간을 좁혀, 특정 도메인에 집중하도록 유도한다. 둘째, 서브 에이전트(Sub-agent)를 활용하여 컨텍스트 격리(Context Isolation)를 구현, 컨텍스트 부패(Context Rot)를 방지한다. 셋째, 자기 검증 메커니즘(Self-validation Mechanism)을 내장하여 AI가 생성한 결과의 품질을 보증한다. 이러한 하네스 설계는 AI의 성능을 향상시키는 동시에, 시스템의 안정성을 확보하는 데 기여한다.

7-Stage 파이프라인 아키텍처(7-Stage Pipeline Architecture) 분석

쿼리 엔지니어(query-engineer) 시스템은 슬로우 쿼리 탐지부터 PR 생성까지 7단계의 파이프라인으로 구성된다. 각 스테이지는 AWS SDK v3(AWS SDK v3)를 활용한 슬로우 쿼리 수집(Stage 1), DB 메타데이터 수집(Stage 2), AI 코드 분석(Stage 3), 패치 메타데이터 등록(Stage 4), 정합성 검증(Stage 4.1), AI 코드 리뷰 폐쇄 루프(Stage 5), PR AI 피드백(Stage 6)을 거쳐 최종적으로 개발자의 검토 및 승인을 받는다. 특히, 정합성 검증(Integrity Verification) 스테이지는 AI가 생성한 패치의 유효성을 검증하여 시스템의 안정성을 높인다. 또한, PipelineCallbacks 인터페이스를 통해 웹 UI와 CLI(qe 바이너리)가 동일한 파이프라인 엔진을 공유하여, 유연성을 확보했다.

AI 코드 리뷰 폐쇄 루프(AI Code Review Loop)의 작동 방식

Stage 5에서 AI 코드 리뷰 폐쇄 루프(AI Code Review Loop)를 통해 코드 품질을 향상시킨다. 이 루프는 AI가 생성한 PR에 대해 Claude가 코드 리뷰를 수행하고, 리뷰 피드백을 반영한 수정 패치를 자동으로 생성하여 PR 브랜치에 push하는 방식으로 작동한다. 라인 번호(Line Number)에 의존하지 않는 설계를 통해 코드 변경에 유연하게 대응하며, 조기 종료 조건(Early Termination Condition)을 명확히 정의하여 무한 루프를 방지한다. 반복별 산출물은 스냅샷으로 저장되어, 사후 추적 및 문제 해결에 활용된다.

하네스(Harness) 설계 철학: 스페셜리스트(Specialist) 전략

쿼리 엔지니어(query-engineer)는 AI 에이전트 설계 방식 중 스페셜리스트(Specialist) 전략을 채택했다. 스페셜리스트는 AI가 할 수 있는 역할을 의도적으로 좁혀, 정확도를 극대화하는 방식이다. “10년 경력 JPA 전문가” 페르소나, “unified diff 형식만 허용” 출력 규격, “Plan 모드 금지” 행동 제약 등, 엄격한 제약을 통해 결과물의 품질을 보증한다. 이는 반복적이고 패턴화된 슬로우 쿼리 분석 작업에 최적화된 접근 방식이며, 고위험 작업이나 규제 산업에도 적용 가능하다. 반면, 아키텍처 재설계와 같은 작업에는 제너럴리스트(Generalist) 방식이 더 적합할 수 있다.

CLI 기반 시스템 구축의 장점

쿼리 엔지니어(query-engineer)는 API 대신 CLI 방식을 선택하여 AI 연동 방식을 구현했다. CLI 방식은 AI가 Read, Grep, Glob과 같은 도구를 사용하여 로컬 코드를 스스로 탐색하도록 하여, 사람이 직접 코드 파일을 지정할 필요가 없다는 장점이 있다. 또한, Claude CLI와 Codex CLI 모두 “로컬 코드를 스스로 읽고, stream-json으로 결과를 흘려준다”는 규격을 만족하여, 공급자 어댑터만 추가하는 방식으로 손쉽게 공급자를 확장할 수 있었다. 이러한 유연성은 향후 새로운 AI 모델 도입에도 긍정적으로 작용할 것이다.

AI 스페셜리스트와 자동사냥 — 하네스로 제어하는 AI 파이프라인