툴 호출(Tool/Function Calling)
한 줄 정의
툴 호출(Tool/Function Calling)은 모델이 “텍스트 답변”을 넘어서, 외부 시스템(검색, DB, 티켓, 메일 등)을 호출해 작업을 이어가는 패턴이다.
왜 중요한가(실무)
툴 호출은 생산성을 크게 올릴 수 있지만, 동시에 아래 리스크를 크게 만든다.
- 권한 없는 데이터 조회/변경
- LLM 출력이 곧 실행으로 이어지는 사고(Insecure Output Handling)
- 프롬프트 인젝션을 통한 악성 행동 유도
그래서 툴 호출은 “기능”이 아니라 권한/감사/승인 설계의 문제다.
핵심 개념(운영 관점)
1) 입력 검증과 스키마가 중요하다
툴 호출은 “무엇을 호출할지”를 구조화된 형태로 다루기 때문에, 스키마/검증이 없으면 사고가 난다.
2) 최소 권한 + 분리된 환경
- 운영 초기에는 읽기 전용부터 시작한다
- 개발/테스트/운영 환경을 분리한다
3) 사람 승인(HITL)을 어디에 둘지
고위험 툴(대외 발송, 결제, DB 쓰기)은 반드시 승인 게이트를 둔다.
실무 체크리스트
- 툴별 권한 범위(읽기/쓰기)가 문서화되어 있는가
- 호출/결과가 감사 로그로 남는가
- 모델이 생성한 파라미터를 서버에서 검증하는가
- 고위험 작업에 승인 게이트가 있는가
더 읽기
- OWASP Top 10 for LLM Applications(툴/플러그인 관련 위험 포함): https://owasp.org/www-project-top-10-for-large-language-model-applications/