Function Calling
LLM이 자유 형식의 텍스트 대신 개발자가 정의한 스키마에 맞는 구조화된 도구 호출 형태를 출력하도록 하는 기능입니다.
LLM이 자유 텍스트가 아닌 structured action을 뱉어야 downstream 시스템과 안전히 연결되기 때문이다.
function calling은 model feature가 아니라 LLM 출력의 type system이다.
tool schema를 자주 바꿔 모델의 호출 정확도를 매번 새로 깎아먹는 것.
Function calling은 'LLM이 함수를 부른다'보다 'LLM이 strict type 안에서만 발화한다'로 이해하는 게 정확하다.