EVERYDAY · HOME · IT

중간삶의 잡소리 -ㅅ-a

생활의 작은 발견과 집 안의 기술을 차분하게 기록합니다.

최근 기록 보기
퇴사일기/실험기

AI에게 먼저 신분증을 제시하게 만들기

AI에게 먼저 신분증을 제시하게 만들기

AI가 틀리는 이유 중 하나는 답을 몰라서가 아니다. 무엇을 기준으로 답해야 하는지 모르는 상태에서 말하기 때문이다.

이번 작업에서 가장 자주 나온 문제도 이것이었다.

AI는 내가 물어보면 그럴듯하게 대답했다. 하지만 조금 더 따져보면 실제 파일을 읽은 게 아니라 대화 흐름에 맞춰 추정한 경우가 있었다.

그래서 만든 장치가 Authority Preflight다.

Preflight란 무엇인가

비행기가 이륙하기 전에 점검표를 확인하듯, AI도 작업을 시작하기 전에 먼저 확인해야 한다.

나는 어디에서 실행 중인가? 이번 작업은 워크스페이스 작업인가, 프로젝트 작업인가? 어떤 기준 문서를 읽었는가? 어떤 파일을 수정할 예정인가? 어떤 행동이 금지되어 있는가? 진행해도 되는가?

이것을 대화창 첫머리에 출력하게 했다.

Loaded Authority Files

특히 중요한 것은 “무슨 파일을 읽었는가”다.

예전에는 AI가 이렇게 말했다.

규칙을 확인했습니다.

하지만 이것만으로는 부족하다.

이제는 이렇게 말해야 한다.

Loaded authority files: 1. WORKSPACE_INDEX.md 2. WORKSPACE_SYSTEM_BIBLE.md 3. AGENTS.md 4. GEMINI.md 5. docs/99_HANDOFF_CURRENT.md

읽은 파일을 이름으로 밝혀야 한다. 그래야 사용자가 “그 파일이 아니라 이 파일을 봐야 한다”고 바로잡을 수 있다.

워크스페이스 작업과 프로젝트 작업

이번에 특히 중요했던 구분은 실행 위치였다.

WORKSPACE_ROOT = 여러 프로젝트를 관리하는 루트 PROJECT_ROOT = 하나의 프로젝트 루트

!템플릿비교, !템플릿반영, !안전검사 같은 명령은 workspace level이다. 반면 !SD2AG, !이어하기는 project level이다.

이 구분이 없으면 AI는 AutoVideo 작업을 하면서 blog 문서를 건드리거나, workspace 규칙을 project 규칙으로 착각할 수 있다.

출력도 redaction 대상이다

처음에는 문서와 덤프에서만 로컬 경로를 지우면 된다고 생각했다. 하지만 AG가 기동 선언에서 실제 경로를 출력하는 문제가 있었다.

그래서 규칙을 바꿨다.

문서 redaction만으로는 부족하다. 대화창 출력도 redaction 대상이다.

이제 AG는 이렇게 출력해야 한다.

Current cwd: <WORKSPACE_ROOT> Loaded authority files: - <WORKSPACE_ROOT>/GEMINI.md - <PROJECT_ROOT>/docs/99_HANDOFF_CURRENT.md

실제 로컬 사용자명이나 절대경로는 보여주지 않는다.

Preflight는 귀찮지만 빠르다

처음에는 이 절차가 번거로워 보인다. 하지만 실제로는 시간을 줄인다.

왜냐하면 잘못된 위치에서 실행하거나, 오래된 규칙을 읽거나, 금지된 파일을 수정하는 사고를 초반에 막기 때문이다.

작업 전 10초 점검 = 작업 후 2시간 복구 방지

체크리스트

AI에게 작업을 맡기기 전에 확인할 것.

  • 현재 위치가 맞는가?
  • 작업 범위가 workspace인지 project인지 명확한가?
  • 읽은 authority files가 표시되는가?
  • 수정 예정 파일이 명시되는가?
  • 금지 작업이 표시되는가?
  • 출력에 raw local path가 없는가?

마무리

AI 협업에서 중요한 것은 AI가 말을 잘하는지가 아니다. 어떤 기준으로 말하는지 투명하게 드러내는 것이다.

Authority Preflight는 AI에게 먼저 신분증을 제시하게 만드는 장치다.