Agent 클래스: CodeAgent · ToolCallingAgent

Agent 클래스: CodeAgent · ToolCallingAgent

[!WARNING] smolagents는 실험적인 API라 언제든 바뀔 수 있어요. 에이전트가 반환하는 결과는 API나 밑단 모델이 바뀌면서 달라질 수 있으니 유의하세요.

에이전트와 도구에 대해 더 배우려면 소개 문서를 읽어보는 걸 추천해요. 이 페이지는 밑단 클래스들의 API 문서를 담고 있어요.

에이전트 클래스

우리 에이전트는 MultiStepAgent를 상속해요. 덕분에 여러 스텝으로 작동할 수 있는데, 각 스텝은 하나의 생각(thought) 후에 하나의 툴 콜과 실행으로 이뤄져요. 자세한 내용은 이 개념 가이드를 읽어보세요.

메인 Agent 클래스를 기반으로 두 가지 에이전트 유형을 제공해요.

  • CodeAgent — 툴 콜을 파이썬 코드로 작성해요(기본값).
  • ToolCallingAgent — 툴 콜을 JSON으로 작성해요.

둘 다 초기화 시 model과 도구 목록 tools 인자가 필요해요.

에이전트 클래스 일람

API 문서에서 다루는 주요 클래스는 다음과 같아요.

  • MultiStepAgent — 모든 에이전트의 기반이 되는 멀티스텝 에이전트.
  • CodeAgent — 툴 콜을 파이썬 코드로 생성하는 에이전트.
  • ToolCallingAgent — 툴 콜을 JSON으로 생성하는 에이전트.

stream_to_gradio

stream_to_gradio 함수는 에이전트의 실행 과정을 Gradio 인터페이스로 스트리밍할 수 있게 해줘요.

GradioUI

GradioUI는 에이전트와 대화형으로 상호작용할 수 있는 Gradio 기반 UI 컴포넌트예요. 에이전트의 사고 과정과 실행 과정을 관찰 가능하게 해주죠.

[!TIP] UI를 쓰려면 gradio가 설치되어 있어야 해요. pip install 'smolagents[gradio]'를 실행해 주세요.

프롬프트(Prompts)

에이전트가 쓰는 프롬프트 템플릿들도 API로 제공돼요.

  • smolagents.agents.PromptTemplates
  • smolagents.agents.PlanningPromptTemplate
  • smolagents.agents.ManagedAgentPromptTemplate
  • smolagents.agents.FinalAnswerPromptTemplate

메모리(Memory)

smolagents는 여러 스텝에 걸친 정보를 저장하기 위해 메모리를 사용해요.

  • smolagents.memory.AgentMemory — 에이전트의 메모리 저장·관리를 담당하는 객체.

출처 인용

더 알아보기