H
hwangjungmin
Claude Code에 AskUserQuestion이라는 도구가 있다. 대부분 존재 자체를 모르는데, Claude가 알아서 추측하는 것과 멈추고 물어보는 것의 차이를 만드는 도구다.
Claude가 확신이 없을 때 — 어떤 접근을 쓸지, 어떤 파일을 수정할지, 네이밍 컨벤션이 뭔지 — 선택지를 제시하고 멈출 수 있는 거다. 막연한 질문이 아니라, 코드베이스를 읽고 추론한 구체적인 옵션이다.
가장 잘 활용하는 방법은 plan mode인데, shift+tab으로 플랜 모드에 진입하고 원하는 것을 한 줄로 설명하면 Claude가 인터뷰를 시작한다. 코드에서 추론한 선택지를 제시하고, 답변을 받아 정제하고, 코드 한 줄 쓰기 전에 상세한 스펙이 완성되는 방식이다.
Anthropic의 Thariq가 이런 얘기를 했다: 최소한의 스펙으로 시작해서 AskUserQuestion으로 인터뷰를 받고, 새 세션에서 그 스펙을 실행하라고.
CLAUDE.md에 지시를 넣어서 Claude가 언제 물어볼지도 가르칠 수 있다:
공유 컴포넌트를 수정할 때, 항상 어떤 consumer를 업데이트할지 물어볼 것. 알아둘 세 가지:
- “Other”를 선택하면 자유 입력이 가능하다 — 선택지에 갇히지 않는다
multiSelect: true면 체크박스로 여러 개를 선택할 수 있다- 60초 타임아웃이 있는데, 느리면 추천 옵션을 먼저 선택하고 나중에 조정하면 된다
멘탈 모델로 보면, AskUserQuestion은 Claude가 “선택지는 있는데, 이 프로젝트는 당신이 더 잘 안다”고 인정하는 거다. 그 한 번의 멈춤이 잘못된 추측 세 개를 되돌리는 수고를 줄여주더라고.