멀티스텝 에이전트 다루기

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

Adel Nehme

VP of AI Curriculum, DataCamp

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

예시: 여행 어시스턴트

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

계획 간격: 재고를 돕기

agent = CodeAgent(
    tools=[document_search_tool],
    model=model,
    planning_interval=3,
    max_steps=12
)
  • planning_interval=3: 에이전트가 3단계마다 일시 정지합니다.
Hugging Face smolagents로 AI 에이전트 만들기

계획 간격이 있는 에이전트 실행

"성인용 역사 명소와 아이들용 놀이를 포함해, $5000 이하 예산으로 2주 유럽 가족 여행 일정을 짜줘."

[Step 1] "Paris hotels" 검색 -> 고급 호텔 발견(총 ~$4000)

[Step 2] "Paris attractions for families" 검색 -> 에펠탑, 루브르, 테마파크 티켓 발견

[Step 3] 일시 정지 후 재고(계획 간격) 호텔이 너무 비쌈 -> 예산 초과. 더 저렴한 숙소 + 아동 친화 활동을 찾아야 함.

[Step 4] "affordable family hotels in Europe" 검색 -> 여러 도시의 중간 가격대 옵션 발견

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

콜백: 에이전트 프로세스에 연결하는 훅

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

기본 콜백 함수

def callback_function(agent_step, agent):
    # Do something with the agent step or the agent itself
    pass
  • agent_step: 단계 정보(계획, 단계 번호 등)
  • agent: 전체 에이전트 객체(상태 + 메서드)
Hugging Face smolagents로 AI 에이전트 만들기

계획 단계 콜백

def planning_callback(agent_step, agent):
    print("AGENT PLANNING")
    print("=" * 50)
    print(agent_step.plan[:300])
    if len(agent_step.plan) > 300:
        print("\n... (plan truncated)")
    print("=" * 50)
AGENT PLANNING
==================================================
Search affordable hotels + kid activities
Then create balanced itinerary...
... (plan truncated)
==================================================
Hugging Face smolagents로 AI 에이전트 만들기

액션 단계 콜백

def action_callback(agent_step, agent):
    step_num = agent_step.step_number
    print(f"Step {step_num}: Taking action")

    if agent_step.is_final_answer:
        total_tokens = agent_step.token_usage.total_tokens
        print(f"Total tokens used: {total_tokens}")
Step 2: Taking action!
Step 3: Taking action!
Step 4: Taking action!
Total tokens used: 4,218
Hugging Face smolagents로 AI 에이전트 만들기

에이전트에 콜백 추가하기

from smolagents import ActionStep, PlanningStep

agent = CodeAgent(
    tools=[document_search_tool],
    model=model,
    step_callbacks={PlanningStep: planning_callback, ActionStep: action_callback}
)
Hugging Face smolagents로 AI 에이전트 만들기

콜백으로 할 수 있는 일

  • 사용자 검색 로그로 인기 쿼리 파악
  • 사람 검토 체크포인트 추가
  • 진행 상황을 대시보드/앱에 전송
  • 실행 중 성과에 따라 에이전트 동작 조정
  • 기타 등등
Hugging Face smolagents로 AI 에이전트 만들기

Passons à la pratique !

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

Preparing Video For Download...