tool_choice 는 모델이 도구를 부를지 텍스트로 답할지 정하는 방식이야. 'auto' 는 모델이 판단하고, 'required' 는 반드시 어떤 tool 이든 호출하게 하며, {type:'function',name:'X'} 는 특정 tool X 를 강제해.
'required'로 arguments 구성 능력을 따로 봐
eval 에서 routing 판단과 arguments 구성 능력을 분리해 측정할 때 유용해. tool 호출 여부는 이미 정해져 있으므로 arguments 를 얼마나 정확히 만드는지만 평가할 수 있어.
정해진 pipeline 단계에는 특정 tool 을 강제해
tool_choice={'type':'function','name':'X'} 로 tool X 를 지정할 수 있어. web_search 뒤에 summarize 를 실행하는 것처럼 순서가 고정된 pipeline 단계에 알맞아.
'auto'에서는 description 이 routing 을 좌우해
모델이 직접 고르는 경우 모호한 description 은 잘못된 호출을 만들기 쉬워. 사용 범위와 쓰지 말아야 할 예까지 구체적으로 적어.