AI 도구 개발

Vibe Audit_01_답답해서 만들어본 에이전트 감사 도구

작성자 : Heehyeon Yoo|2026-02-12
# Project# DevLog# VibeCoding# AI# Python

GitHub: Vibe-Audit

바이브코딩의 맥락 전환 문제

요즘은 AI 에이전트로 코딩하는 경우가 많다. Claude Code나 Gemini CLI, Codex CLI 같은 도구들 말이다.
나도 꽤 오래 쓰고 있고 생산성도 확실히 올랐다.

분명한 건 오늘 쓰는 AI가 가장 구리다는 말이 과장이 아니라는 점이다.
시간이 갈수록 AI가 빠르게 좋아지는 게 몸으로 느껴진다.

그래도 아직 아쉬운 점은 많다. 그중 하나가 에이전트의 맥락 유지 문제다.
Claude나 Gemini, OpenAI도 이 문제를 여러 방식으로 해결하려고 한다.
콘텍스트 캐싱과 요약, 계층적 메모리, 툴 사용 같은 것들이다.
이 문제만 연구하는 사람도 있다. 지금처럼 편한 개발 환경을 누리는 것도 이런 문제를 깊이 파는 사람들 덕분이라고 생각한다.

그런데도 에이전트가 내 의도를 유지하지 못하는 순간이 있다. 가끔이 아니라 제법 자주 그렇다.
그럴 때마다 새 대화를 켜거나 다른 도구를 써서 우회하곤 한다.
이런 콘텍스트 스위칭(Context switching) 문제는 이미 오래 전부터 해결책이 우후죽순으로 쏟아져 나오곤 했다.

하지만 내가 겪은 진짜 문제는 '조용한 전환'이다. 뭔가 번역투 같은데.
아무튼 에이전트가 내 의도에서 벗어나는 것을 개발자가 알아차리지 못하고 계속 진행하는 것 말이다.

예를 들어 다음과 같은 것들이 있다.

  • 에이전트가 맥락을 압축하는 과정에서 이전에 되돌린 작업을 재수행
  • 에이전트가 미처 지우지 못한 주석을 읽고 엉뚱한 방향으로 수정
  • 에이전트가 새 기능을 덧붙이면서 이전에 취소한 작업을 다시 수행
    등등... 알아챘을 때는 이미 한참 잘못된 방향으로 진행된 뒤다.

이런 현상을 막기 위해 전 GitHub CEO인 Thomas Dohmke는 Entire AI 같은 플랫폼을 만들기도 했다.
AI의 내러티브를 유지하고 체크포인트를 통해 깃허브처럼 쓰게 만드는 식이다.
추론 과정을 확인하게 해주고 토큰도 더 효율적으로 쓰게 해주는 방향이다.

이런 유명 개발자의 대형 상용 프로젝트를 따라가는 건 뱁새가 황새 따라가는 꼴에 가깝다.
그래서 나는 내가 답답한 부분부터 직접 해결해보기로 했다.
내 작업을 망치지 않기 위한 로컬 관측 도구를 만들어보고자 했다.

처음에는 나도 더 잘 만들어주는 에이전트나 도구를 찾아다녔다. 프롬프트를 다듬고 스킬을 붙이고 도구를 바꿔가며 써봤다.
하지만 에이전트를 더 똑똑하게 만드는 건 내 영역이 아니다.

그래서 그냥 내가 잘 하는 것을 해보려고 했다.
지금 에이전트의 작업이 원래 의도에서 벗어나지 않았는지 판단할 수 있는 도구를 만드는 것이다.
맥락을 읽고 이해하고 이전 흐름과 연결짓는 건 도서 편집자의 기본 소양이다.
나는 이 훈련이 꽤 잘 되어 있다고 생각한다.

그래서 감사(Audit)라는 방향을 잡아봤다.
에이전트를 막거나 통제하는 도구가 아니라 그냥 상태를 보여주는 도구다.
AI가 완벽한 정답을 알아서 내놓는 게 아니라 사람이 언제 개입할지 타이밍을 잡게 해주는 도구에 가깝다.

설계해보기

기획 단계에서 이 도구가 답해야 할 세 가지 질문을 던졌다.

  1. 지금 에이전트의 작업이 처음에 에이전트에게 묻고 계획한 의도와 얼마나 맞는가?
  2. 이 변화는 기존 흐름과 연속되는가. 아니면 새로운 국면인가. 그것도 아니면 방향이 전환됐는가?
  3. 그렇게 판단한 근거가 뭔가?

기능도 자연스럽게 이 질문들을 중심으로 붙었다.

  • Baseline 자동 생성: 첫 사용자 메시지에서 의도를 추출해 기준선 설정
  • Phase Shift 분류: continuation / new_phase / pivot 세 가지로 턴마다 분류
  • Alignment Score: 정렬 점수와 함께 "왜 이 점수인지" 근거를 제시
  • Dual Flag: 규칙 기반 신호 + LLM 기반 분석을 분리
  • Context Evolution / Event Log: 맥락 변화 이력 추적

백엔드는 FastAPI와 SQLite로 잡았고 프론트는 React로 정했다.
Vibe-kanban을 보고 영감을 얻은지라 로컬에서만 작동하게 하면 좋겠다고 생각했다.

각 CLI 훅으로 대화를 수집하고 백엔드에서 분석한 뒤 웹 UI로 보여주는 구조다.
이번 기회에 npm 배포까지 해봐서 npx vibe-audit 한 줄로 로컬에서 바로 띄워보자! 생각했다.