Tool schema는 이빨 달린 prompt야
tool description은 장식용 주석이 아니야. 모델이 행동할지 말지 결정할 때 읽는 interface야. 나쁜 description은 tool choice를 랜덤으로 만들고, 정확한 description은 모델의 지식을 제한된 행동으로 바꿔준다.
구현이 아니라 의도를 이름 붙여
`db_query`보다 `search_customer_orders`가 좋아. 모델은 내부 저장소 구조가 아니라 task intent를 보고 도구를 골라야 해.
각 parameter에는 어떤 값이 들어가는지, 기대 format이 뭔지, 흔한 함정이 뭔지 적어. id를 받으면 어떤 id인지 말하고, 날짜가 ISO format이면 그렇게 말해.
도구는 좁게
거대한 `do_anything` tool 하나는 permissioning이 불가능하고 모델에게 애매함을 너무 많이 준다. 좁은 도구 여러 개가 validation, logging, testing, approval 모두 쉽다.