Transformers Agents 개요 — Agents와 Tools
Transformers Agents 개요
Transformers Agents는 LLM을 엔진으로 쓰되, 작업을 수행하는 '도구(tools)'에 대한 접근을 갖춘 시스템이에요. 순수 언어 모델은 논리·계산·검색 같은 기본 작업에 약할 때가 있는데, 에이전트는 그 약점을 도구 호출로 채워요. 이 페이지에서는 그 개념을 정리할게요.
참고: Transformers의 Agents·tools 기능은 v4.52부터 독립 라이브러리 smolagents로 분리돼 이전됐어요. 개념과 API 형태는 smolagents에서 이어지고 있어요.
에이전트란 무엇인가
에이전트는 LLM을 엔진으로 사용하는 시스템이에요. 그리고 **tools(함수)**에 접근 권한이 있어요. 도구는 작업을 수행하는 함수이고, 에이전트가 적절히 쓰도록 필요한 설명을 담아요.
에이전트는 두 가지 방식으로 프로그래밍할 수 있어요.
- 한 번에 일련의 행동·도구 실행 — 예:
CodeAgent - 하나씩 계획·실행, 각 행동 결과를 기다림 — 예: 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 openai 후 OpenAiAgent를 인스턴스화해요. BigCode·OpenAssistant 오픈소스 모델도 지원해요.