콘텐츠로 이동

도구 사용

도구 사용(Tool Calling)은 AI 모델을 수동적인 텍스트 생성기에서 능동적인 문제 해결사로 변모시키는 핵심 기능입니다. 이는 AI에게 파일 시스템, 인터넷, 그리고 컴퓨터의 내부 상태와 상호작용할 수 있는 "손"을 쥐어주는 것과 같습니다.

툴 콜링이란 무엇인가요?

일반적으로 LLM은 훈련된 데이터 내의 지식으로만 제한됩니다. 지금 몇 시인지, 내 바탕화면에 어떤 파일이 있는지, 오늘 뉴스 헤드라인이 무엇인지는 알 수 없습니다.

툴 콜링은 이러한 한계를 극복합니다. 모델은 답변을 지어내는 대신 이렇게 요청할 수 있습니다: "현재 애플 주가를 알기 위해 web_search 도구를 사용해야겠어."

Backend.AI GO는 이 요청을 가로채서 도구를 안전하게 실행한 뒤, 그 결과를 모델에게 돌려줍니다. 모델은 이 실제 데이터를 사용하여 사용자의 질문에 정확하게 답변합니다.

왜 중요한가요?

  • 실시간 지식: 웹 검색을 통해 최신 뉴스, 날씨, 금융 정보에 접근할 수 있습니다.

  • 시스템 상호작용: 채팅만으로 로그 파일을 읽거나, 폴더를 정리하거나, 시스템 상태를 점검할 수 있습니다.

  • 정확성: 모델의 불안정한 암산 능력 대신 계산기 도구를 사용하여 정확한 수학 연산을 수행합니다.

  • 에이전틱(Agentic) 행동: 이것은 AI 에이전트의 기반입니다. AI는 여러 도구 호출을 연쇄적으로 수행(검색 -> 읽기 -> 쓰기)하여 복잡한 워크플로우를 자율적으로 완수할 수 있습니다.

호환 모델

모든 모델이 툴 콜링을 지원하는 것은 아닙니다. 도구의 정의를 이해하고 구조화된 도구 요청을 출력하도록 미세 조정(Fine-tuned)된 모델이 필요합니다.

  • "Tool" 태그 확인: Backend.AI GO 모델 라이브러리에서 Tool 또는 Function Calling 칩이 붙은 모델을 찾으세요.

  • 추천 모델: Gemma 3, Qwen3, Llama 3.1, Mistral Large, 그리고 (클라우드 연동 시) GPT-4o가 탁월한 성능을 보여줍니다.

보안 및 권한 시스템

도구는 파일을 읽거나 코드를 실행할 수 있으므로 보안이 무엇보다 중요합니다. Backend.AI GO는 강력한 위험도 기반 권한 시스템(Risk-Based Permission System)을 탑재하고 있습니다.

위험도 레벨 (Risk Levels)

모든 도구에는 위험도가 할당됩니다:

  • 🟢 안전 (Safe / No Risk): 단순히 공개된 데이터를 읽거나 계산을 하는 작업입니다.

    • 예시: 계산기, 현재 시간 확인.
    • 동작: 사용자에게 묻지 않고 자동으로 실행됩니다.
  • 🟡 주의 (Moderate / Read Access): 개인 파일을 읽거나 외부 웹사이트에 접속하는 작업입니다.

    • 예시: 파일 읽기, 웹 검색, 디렉토리 목록 조회.
    • 동작: 세션당 한 번의 승인이 필요합니다. 한 번 승인하면 대화가 끝날 때까지 자유롭게 사용할 수 있습니다.
  • 🔴 위험 (Critical / Write & Execute): 데이터를 수정하거나 코드를 실행하는 작업입니다.

    • 예시: 파일 쓰기/삭제, 셸 명령어 실행.
    • 동작: 매 호출마다 사용자의 명시적인 승인이 필요합니다. 사용자가 "승인" 버튼을 누르지 않으면 AI는 절대 파일을 삭제할 수 없습니다.

내장 도구 (Built-in Tools)

Backend.AI GO는 강력한 기본 도구 세트를 제공합니다.

1. 웹 도구

  • 웹 검색 (web_search): Google이나 DuckDuckGo를 검색합니다.

    • 응용: "올해 슈퍼볼 우승팀이 어디야?"
  • URL 가져오기 (fetch_url): 특정 웹페이지의 텍스트 내용을 긁어옵니다.

2. 파일 시스템 도구

  • 파일 읽기 (read_file): 파일의 내용을 읽습니다.

    • 응용: "server.log 파일에서 에러 로그만 찾아줘."
  • 디렉토리 목록 (list_directory): 폴더 내 파일 목록을 봅니다.

    • 응용: "내 다운로드 폴더에 무슨 파일들이 있어?"
  • 파일 조작: 파일 생성, 이동, 이름 변경, 삭제 (권한 필요).

3. 유틸리티 및 시스템

  • 계산기 (calculator): 정확한 수학 연산을 수행합니다.

    • 응용: "1243 * 5921 계산해줘."
  • 시스템 정보 (get_system_info): CPU/메모리 사용량을 확인합니다.

    • 응용: "컴퓨터가 왜 이렇게 느리지? 램 사용량 좀 확인해줘."

4. 코드 실행 (고급)

  • 파이썬/셸 실행 (run_python, run_shell): 샌드박스 환경에서 코드를 실행합니다.
    • 응용: "이 CSV 데이터를 시각화하는 파이썬 스크립트를 작성해서 실행해줘."