커뮤니티 반응
AI의 환각 문제를 실무적인 워크플로우로 해결한 방식에 대해 매우 긍정적인 반응이며, 구체적인 스킬 파일 공유 요청이 이어졌다.
주요 논점
01찬성다수
AI의 추측을 믿지 않고 실제 시스템 명령어로 검증하는 단계가 현대적 AI 코딩의 필수 요소이다.
합의점 vs 논쟁점
합의점
- AI는 복잡한 로컬 파일 구조나 비정형 데이터 스키마에 대해 빈번하게 환각을 일으킨다.
- 단순히 질문하는 것보다 '실행 가능한 명령어'를 통해 결과를 가져오게 하는 것이 훨씬 정확하다.
실용적 조언
- Claude Code를 사용한다면 작성자가 공유한 gist의 probe-skill.md 프로토콜을 스킬로 등록하여 사용하라.
- 데이터 분석 코드를 짜기 전 반드시 `jq 'keys'` 또는 `sort -u` 명령어로 실제 데이터의 분포를 먼저 확인하게 하라.
섹션별 상세
AI가 주장하는 사실을 번호가 매겨진 CLAIM과 EXPECTED 값으로 강제 변환한 뒤 실제 시스템에 명령어를 실행하여 차이(DELTA)를 포착하는 방식을 사용했다. AI는 코드를 작성하기 전에 'EXPECTED: 2 types'와 같은 선언을 먼저 수행해야 하며, 이후 실제 실행 결과와 대조하여 자신의 오류를 스스로 인지하게 된다. 이 과정은 AI가 가장 자신 있게 주장하는 부분에서 발생하는 미세한 환각을 잡아내는 데 효과적이다.
Claude의 로컬 세션 파일(~/.claude/projects/...) 분석 과정에서 AI는 메시지 타입이 2개(user, assistant)뿐이라고 단언했으나, 실제 프로브 결과 7개의 타입이 발견됐다. queue-operation, file-history-snapshot 등 AI가 인지하지 못한 타입들이 누락된 채로 코드가 작성되었다면 전체 필터링 로직이 깨졌을 상황이었다. 실제 시스템을 오라클(Oracle)로 삼아 jq 명령어로 데이터 구조를 전수 조사함으로써 이러한 설계 결함을 사전에 차단했다.
bash
jq -r '.type' *.jsonl | sort -u | wc -lJSONL 파일 내의 메시지 타입 개수를 실제로 확인하여 AI의 주장을 검증하는 명령어
데이터 형식의 다형성(Polymorphism) 문제를 발견하여 런타임 에러를 방지했다. AI는 사용자 콘텐츠가 항상 배열 형태라고 주장했으나, 프로브를 통해 문자열과 배열이 혼용된다는 사실이 확인됐다. 또한 assistant 출력의 약 1/3을 차지하는 'thinking blocks'를 AI가 완전히 누락하고 있었음을 발견하여, 데이터 유실이 발생할 뻔한 jq 필터 로직을 수정할 수 있었다.
전통적인 TDD가 개발자의 '가정'에 기반해 테스트를 작성한다면, 프로브 주도 TDD는 실제 시스템에서 '검증된' 동작을 기반으로 테스트를 생성한다. 한 번의 프로브 결과는 스키마 테스트나 속성 기반 테스트(Property test)로 변환되어 CI 단계에 영구적으로 남게 된다. 상위 시스템의 데이터 포맷이 변경되어 테스트가 실패하면 다시 프로브를 실행하여 오라클을 업데이트하는 선순환 구조를 형성한다.
용어 해설
- 환각 현상(Hallucination)
- — AI 모델이 사실이 아니거나 존재하지 않는 정보를 마치 사실인 것처럼 자신 있게 생성하는 현상이다. 모델의 학습 데이터 부족이나 확률적 생성 방식의 한계로 발생하며, 코드 작성 시 잘못된 라이브러리나 스키마를 참조하게 만들어 버그를 유발한다.
- JSON 라인(JSONL)
- — 여러 개의 JSON 객체를 각각 한 줄씩 기록하는 파일 형식이다. 대용량 로그 데이터나 스트리밍 데이터를 처리할 때 유리하며, 각 줄이 독립적인 JSON 객체이므로 전체 파일을 메모리에 로드하지 않고도 순차적 처리가 가능하다.
- 테스트 주도 개발(TDD)
- — 실제 코드를 작성하기 전에 테스트 케이스를 먼저 작성하고, 이를 통과시키기 위한 최소한의 코드를 구현하는 개발 방법론이다. 이 글에서는 AI가 추측한 결과가 아닌 실제 시스템의 응답을 기반으로 테스트를 작성하는 '프로브 주도 TDD' 개념으로 확장되었다.
- 다형성(Polymorphism)
- — 하나의 인터페이스나 데이터 필드가 여러 가지 형태를 가질 수 있는 성질이다. 본문에서는 사용자 콘텐츠가 단순 문자열(string)일 수도 있고 배열(array)일 수도 있는 구조를 의미하며, 이를 고려하지 않고 코드를 짜면 런타임 에러가 발생한다.
언급된 도구
Claude Code추천
Anthropic에서 제공하는 터미널 기반 AI 코딩 에이전트
jq추천
명령줄에서 JSON 데이터를 처리하고 필터링하는 도구
언급된 리소스
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 04. 06.수집 2026. 04. 06.출처 타입 REDDIT
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.