콘텐츠로 이동

도구 사용과 함수 호출

도구 사용은 LLM 애플리케이션이 검색, 계산, 코드 실행, 데이터 조회 같은 외부 기능을 요청하게 합니다. 함수 호출에서는 모델이 operation과 typed argument를 제안하고, host 애플리케이션이 실행 여부를 결정합니다.

모델 출력은 신뢰할 수 없는 입력입니다. 현재 작업에 필요한 도구만 노출하고, schema와 domain rule로 인자를 검증하며, 코드에서 권한을 강제해야 합니다. 중요한 부작용에는 사용자 확인을 받고 최소 권한으로 실행한 뒤, 외부 상태를 확인하고 성공을 보고하세요.

도구 계약에는 목적, 입력 schema, 출력 형태, 오류 모델, 부작용이 명확해야 합니다. 읽기와 쓰기 operation을 분리하고 retry가 중복 쓰기를 만들지 않게 설계하세요. 잘못된 도구 선택, 허구의 인자, 관찰 속 prompt injection, timeout 후 중복 실행, 낡은 관찰을 시험해야 합니다.