← 홈으로 PROJECT DECK — 04 / 06
04 · Agent · MCP · Slack 2026.05 — 운영 중

코드베이스 Q&A 에이전트,
툴 루프를 직접 짓다.

"주문 생성 API 어디 있어?"에 파일 경로 · 라인 번호로 답하는 사내 에이전트 — 프레임워크 없이 에이전트 루프를 직접 구현해 단독으로 설계 · 개발 · 운영합니다 (커밋 100%).

← → 방향키 · 휠 · 스와이프로 넘겨보세요

왜 만들었나

PROBLEM 01

코드 질문이 개발자 인터럽트로

"이 기능 어디서 처리해?" 같은 질문이 개발자의 집중을 끊었고, AI 개발 파이프라인의 기획자에겐 "지금 코드가 실제로 어떻게 동작하는지" 확인할 창구가 없었습니다.

PROBLEM 02

기존 접근의 한계

GitLab API를 매번 호출하면 느리고, 코드 전체를 임베딩하면 리포가 바뀔 때마다 재색인 부담이 따라옵니다. 둘 다 "항상 최신 + 빠른 탐색"을 만족하지 못했습니다.

판단리포를 컨테이너에 클론해 두고 LLM이 직접 탐색하게 하자 — push 즉시 최신이고, 답변이 항상 실제 코드 라인에 근거한다.

어떻게 동작하나

진입점 3개가 단일 코어를 공유하고, 코어의 툴 루프가 로컬 클론을 탐색합니다.

Slack 봇
멀티턴 스레드
MCP 서버
AI-DLC가 소비
CLI 단일 코어
AskCodebaseService
LLM 툴 루프
read · glob · grep (읽기 전용)
리포 로컬 클론
webhook + 폴링 동기화

민감 경로(운영 설정 · 시크릿)는 툴 단계에서 차단 — 에이전트가 볼 수 있는 세계 자체를 제한합니다.

다섯 가지 설계 결정

D1임베딩 대신 파일시스템 탐색
재색인 없이 push 즉시 최신 — 답변이 실제 코드 라인에 근거.
D2진입점 3개, 코어 1개
Slack · MCP · CLI가 같은 코어를 공유. MCP엔 기계-가독 응답 모드 주입.
D3보안은 fail-closed로
읽기 전용 + 민감 경로 차단, 인증 키 없으면 기동 자체를 거부.
D4비용은 캐시 계층으로
프롬프트 캐시(1h) + 워밍(유휴 중단) + Redis 응답 캐시 + 호출자별 사용량 귀속.
D5개선은 실측으로만 채택
24케이스 eval 하네스로 A/B — 코드 색인(CODE_INDEX)도 실측 후 기본값으로.

색인 도입, 실측으로 증명

같은 24개 질문 세트, 동일 모델 · temperature 0에서 색인 유/무를 A/B 비교 — 수치로 확인한 뒤에야 기본값으로 채택했습니다.

27.8s → 21.7s −22%
평균 응답 시간
6.2 → 3.8 −40%
평균 툴 호출
−11%
토큰 사용량
Note색인 생성기와 CI 자동 갱신 파이프라인(CODE_INDEX)도 직접 구축 — 경량 모델(Haiku) 구성 실험까지 같은 하네스로 진행했습니다.

결과 — 전부 실측입니다

100%
단독 개발 — 커밋 52/52
3
진입점 (Slack · MCP · CLI)
0.86–0.94
프롬프트 캐시 적중률

개발자의 인터럽트를 줄이는 걸 넘어, AI 개발 파이프라인(05)의 코드 사실 확인 창구로 기획 단계에 물려 있습니다 — 혼자 만든 서비스가 조직 프로세스의 부품이 된 사례입니다.