사용자 도구로 에이전트 만들기

Hugging Face smolagents로 AI 에이전트 만들기

Adel Nehme

VP of AI Curriculum, DataCamp

Hugging Face smolagents로 AI 에이전트 만들기

사용자 도구의 장점

  • 신뢰성: 추정에 의존하지 않고 로직을 명시적으로 작성·테스트
  • 재사용성: 프로젝트와 에이전트 간 도구 재사용
  • 일관성: 실행마다 예측 가능한 동작 확보(디버깅에 유용)
  • 접근 제어: 노출 대상을 제한(파일, API, 데이터베이스 등)
Hugging Face smolagents로 AI 에이전트 만들기

시나리오: 소매점을 운영하는 경우

  • 재고 데이터는 CSV에 저장됨(사이즈, 색상, 수량, 가격)
  • 코드 에이전트는 CSV를 읽는 코드를 작성할 수 있음
  • 그러나 기본적으로 파일 접근 권한은 없음
  • 파일 접근을 사용자 도구로 래핑해야 함

Hugging Face smolagents로 AI 에이전트 만들기

사용자 도구의 구성 요소

from smolagents import tool
import pandas as pd

@tool
def check_inventory(product_name: str) -> int:
    """
    재고 CSV에서 제품의 가용 수량을 확인합니다.

    Args:
        product_name (str): 조회할 제품명.

    Returns:
        int: 재고 수량. 없으면 0을 반환.
    """
    df = pd.read_csv("store_inventory.csv")
    match = df[df["product_name"] == product_name]
    stock_quantity = int(match.iloc[0]["quantity"]) if not match.empty else 0
    return stock_quantity
Hugging Face smolagents로 AI 에이전트 만들기

사용자 도구 모범 사례

Hugging Face smolagents로 AI 에이전트 만들기

티셔츠 재고가 있나요?

Hugging Face smolagents로 AI 에이전트 만들기

사용자 도구를 에이전트에 등록하기

from smolagents import CodeAgent

agent = CodeAgent(
    tools=[check_inventory], # Add custom tool
    model=InferenceClientModel(),
    additional_authorized_imports=["pandas"]  # Allow external package
)

agent.run("Do we have any large t-shirts in stock?")
Yes, we have 8 large t-shirts in stock.
Hugging Face smolagents로 AI 에이전트 만들기

프로덕션에서의 사용자 도구

Hugging Face smolagents로 AI 에이전트 만들기

연습해 봅시다!

Hugging Face smolagents로 AI 에이전트 만들기

Preparing Video For Download...