코드를 작성하기 전에 AI 환각 현상을 포착하기 위해 /probe 사용하기

/probe가 하는 일
/probe 기법은 AI가 생성한 계획이 각 주장된 사실을 예상값과 함께 번호가 매겨진 CLAIM으로 출력하도록 강제합니다. 그런 다음 실제 시스템을 조사하는 명령을 실행하여 예상 결과와 실제 결과 사이의 차이를 포착합니다.
출처의 실제 예시
한 개발자가 ~/.claude/projects/... 아래에 저장된 Claude의 JSONL 세션 파일을 파싱하려 했습니다. Claude는 형식을 자신 있게 설명했지만, /probe를 실행하면 네 가지 환각이 드러났습니다:
- 주장 1: AI는 최상위 유형이 2가지(user, assistant)라고 말했습니다. 실제: queue-operation, file-history-snapshot, attachment, system, permission-mode, summary를 포함해 7가지 유형이 있습니다.
- 주장 2: AI는 assistant 내용 = text + tool_use라고 말했습니다. 실제: 확장 사고 모드에서 assistant 출력의 약 1/3을 차지하는 thinking 블록을 놓쳤습니다.
- 주장 3: AI는 user 내용이 항상 배열이라고 말했습니다. 실제: 다형성: 문자열 또는 배열입니다.
- 주장 4: AI는 폴더 이름에서 /를 -로 대체한다고 말했습니다. 실제: 실제로는 대시를 앞에 붙인 후 대체합니다.
/probe가 없었다면, jq 필터는 문자열 형태의 user 내용에서 오류를 일으키고, thinking 블록을 쓰레기로 덤프하며, 7가지 메시지 유형 중 5가지를 완전히 놓쳤을 것입니다.
프로브 작동 방식
AI는 jq -r '.type' file.jsonl | sort -u와 같은 명령을 실행하기 전에 "EXPECTED: 2 types"와 같은 주장을 작성합니다. 한 프로브 출력은 다음과 같았습니다:
CLAIM 1: JSONL has 2 top-level types (user, assistant) EXPECTED: 2 COMMAND: jq -r '.type' *.jsonl | sort -u | wc -l ACTUAL: 7 DELTA: +5 unknown types (queue-operation, file-history-snapshot, attachment, system, permission-mode, summary)
출처의 주요 통찰
프로브할 가치가 있는 주장은 종종 AI가 가장 자신 있어하는 것들입니다. AI가 주저할 때는 이미 확인해야 한다는 것을 알고 있습니다. AI가 단호하게 X라고 말할 때는 모릅니다. 높은 확신을 가진 주장이 환각이 숨어 있는 곳입니다.
또 다른 이점은 하나의 프로브가 N개의 영구적인 테스트가 된다는 것입니다. 7가지 유형 발견은 새로운 유형이 나타나면 CI가 실패하는 스키마 테스트가 됩니다. 문자열-또는-배열 발견은 두 형태를 퍼즈하는 속성 테스트가 됩니다. 업스트림 형식이 변경되면 테스트가 실패하고, 다시 프로브를 실행하며, 오라클이 업데이트됩니다.
제한 사항 및 개선점
프로브는 AI가 주장할 것이라고 생각하는 주장만 포착합니다. 알려지지 않은 미지의 것은 보이지 않습니다. 도움이 되는 것들:
- 주장을 생성하기 전에 현실을 열거하기 위해 먼저
jq 'keys'실행 - Dex Horthy의 CRISPY 패턴은 AI가 자신의 격차 목록을 표면화하도록 밀어붙입니다
- GitHub의 Spec Kit은 사양에서 [NEEDS CLARIFICATION] 마커를 사용하여 AI가 맹점을 표시하도록 강제합니다
- 주장 목록의 인간 검토도 권장됩니다
전통적인 TDD와의 대조
전통적인 TDD는 당신이 일어날 것이라고 생각하는 것에 기반하여 테스트를 작성합니다. 프로브 기반 TDD는 당신이 스파이크하거나 검증한 일어나는 것에 기반하여 테스트를 작성합니다. 목은 시스템에 대한 당신의 모델을 테스트합니다. 프로브는 시스템 자체를 테스트합니다.
소스 파일
개발자는 두 파일이 포함된 gist에 전체 /probe 스킬 파일을 공유했습니다:
- README.md: REPL-as-oracle 각도와 TDD 대조를 포함한 긴 글
- probe-skill.md: Claude Code 스킬로 로드되는 7단계 프로토콜
패턴은 단순히 "주장 테이블 + 실제 시스템 프로브 + 차이 포착"이며, 당신이 코딩하려는 시스템을 쿼리할 수 있는 모든 REPL 또는 CLI 도구와 함께 작동합니다.
📖 전체 소스 읽기: r/ClaudeAI
👀 See Also

AgentPVP: 에이전트 우선 경쟁 LLM 아레나 - ELO, 라이벌리, 프롬프트 인젝션 샌드박스
AgentPVP를 통해 LLM 에이전트가 등록하고, 5개의 보드 게임을 JSON API로 플레이하고, 게임별 ELO를 유지하고, 라이벌 파일을 작성하며, 글로벌 라운지에서 서로 도발할 수 있습니다. HTML은 선택 사항이며, API가 사이트입니다.

비디오 편집자가 Claude Code를 사용하여 무료 자막 생성 도구 Treelo를 개발하다
비디오 편집자가 Claude Code와의 반복적인 대화를 통해 구축한 Treelo라는 무료 웹 도구를 만들었습니다. 이 도구는 오디오/비디오 파일을 편집 가능한 타임스탬프 블록으로 자동 전사하며, 자막 프리셋을 제공하고 SRT, VTT, ASS, WAV 형식으로 내보낼 수 있습니다.

오픈소스 지속 메모리 시스템인 Claude Code는 세션 간 컨텍스트 손실 문제를 해결합니다.
한 개발자가 Claude Code를 위한 파일 기반 메모리 시스템을 구축했습니다. 이 시스템은 플러그인이나 API 키 없이도 프로젝트 컨텍스트를 자동으로 캡처합니다. 대화 기록, 인박스 파일, 야간 크론 작업을 활용해 세션 간 지속적인 메모리를 유지합니다.

OpenClaw Outlook 애드인은 로컬 에이전트를 이메일 사이드바에 연결합니다.
한 개발자가 WebSocket을 통해 로컬 OpenClaw Gateway에 연결하는 Outlook 애드인을 구축했습니다. 이 도구는 선택된 이메일을 컨텍스트로 읽고, 이메일별 채팅 세션을 유지하며, Outlook 데스크톱 및 웹에서 작동합니다.