선택 모드가 행동의 범위를 정해
- auto — 모델이 도구를 부를지 직접 답할지 정해. 대화의 기본값으로 어울려.
- required / any — 모델이 반드시 어떤 도구 하나는 불러야 해. 작업을 도구 전용 경로로 좁혔을 때 유용해.
- 이름을 지정한 도구 — 모델이 바로 그 도구를 불러야 해. Anthropic에서 JSON 스키마를 강제할 때 가장 깔끔한 방식이야.
- none — 도구 호출을 끈다. 분기기의 “그냥 답하기” 경로에 맞아.
도구 선택은 계약을 바꾸는 결정이야
required를 쓰는 순간 “직접 답하기”라는 선택지를 지운 거야. 프롬프트도 그 사실을 분명히 해야 엉뚱한 도구에 억지 인수를 넣지 않아. auto를 쓴다면 반대로 언제 도구를 부르지 말아야 하는지 알려줘야 해. 그렇지 않으면 모델이 습관처럼 도구부터 찾을 수 있어.