Transformers Agents 개요 — Agents와 Tools

Transformers Agents 개요

Transformers Agents는 LLM을 엔진으로 쓰되, 작업을 수행하는 '도구(tools)'에 대한 접근을 갖춘 시스템이에요. 순수 언어 모델은 논리·계산·검색 같은 기본 작업에 약할 때가 있는데, 에이전트는 그 약점을 도구 호출로 채워요. 이 페이지에서는 그 개념을 정리할게요.

참고: Transformers의 Agents·tools 기능은 v4.52부터 독립 라이브러리 smolagents로 분리돼 이전됐어요. 개념과 API 형태는 smolagents에서 이어지고 있어요.

에이전트란 무엇인가

에이전트는 LLM을 엔진으로 사용하는 시스템이에요. 그리고 **tools(함수)**에 접근 권한이 있어요. 도구는 작업을 수행하는 함수이고, 에이전트가 적절히 쓰도록 필요한 설명을 담아요.

에이전트는 두 가지 방식으로 프로그래밍할 수 있어요.

  1. 한 번에 일련의 행동·도구 실행 — 예: CodeAgent
  2. 하나씩 계획·실행, 각 행동 결과를 기다림 — 예: ReAct 계열(ReactJsonAgent)

도구

도구는 LLM이 쓰려면 API 속성이 필요해요.

  • 이름(name)
  • 설명(description)
  • 입력 타입·설명
  • 출력 타입
  • 실제 동작을 수행하는 메서드

에이전트가 초기화되면 도구 속성에서 도구 설명을 만들고, 이를 에이전트 시스템 프롬프트에 심어요.

컨텍스트 예시

  • 캡션 생성: agent.run("Caption the following image", image=image)
  • TTS: agent.run("Read the following text out loud", text=text)
  • 문서 QA: agent.run("In the following document, where will the meeting take place?", document=document)

시작

pip install transformers[agents]

openAI 모델을 쓰려면 pip install openaiOpenAiAgent를 인스턴스화해요. BigCode·OpenAssistant 오픈소스 모델도 지원해요.

더 알아보기