Transformers Agents 실전·API — Agent 클래스

Transformers Agents 실전·API

Transformers의 에이전트 API를 볼게요. 주요 클래스는 Agent를 기반으로 한 CodeAgent와 ReAct 계열이에요. 이 페이지는 Transformer 에이전트의 핵심 기반 클래스들이에요.

에이전트 타입

  • CodeAgent — 한 번에(one-shot) 코드를 생성해 작업을 해결하고 한 번에 실행
  • ReactAgent — 한 스텝씩 진행, 각 스텝은 생각(thought)→도구 호출·실행
    • ReactJsonAgent — 도구 호출을 JSON으로 작성
    • ReactCodeAgent — 도구 호출을 Python 코드로 작성

주요 메서드

run(task, stream=False, reset=True, **kwargs) — 주어진 작업을 수행.

from transformers.agents import ReactCodeAgent
agent = ReactCodeAgent(tools=[])
agent.run("What is the result of 2 power 3.7384?")
  • stream=True — 스텝이 실행되는 대로 스트리밍으로 산출
  • final_answer — 에이전트 로그를 바탕으로 작업에 대한 최종 답 제공

에이전트 생성

from transformers import CodeAgent, HfEngine

llm_engine = HfEngine(model="meta-llama/Meta-Llama-3-70B-Instruct")
agent = CodeAgent(tools=[], llm_engine=llm_engine, add_base_tools=True)
  • llm_engine — 언어 모델 엔진 (InferenceClient 기반 HfEngine)
  • tools — 도구 리스트 (빈 리스트 가능, add_base_tools=True로 기본 도구 상자 사용)
  • system_prompt, grammar, planning_interval 등 추가 파라미터

주의 사항

CodeAgent는 LLM이 생성한 임의 코드를 실행해요. 안전하지 않은 import는 추가하지 않도록 주의하고, 불법 연산을 시도하거나 Python 오류가 나면 실행이 중단돼요. 승인된 모듈은 additional_authorized_imports에 명시해요.

agent = CodeAgent(
    tools=[], model=model,
    additional_authorized_imports=['requests', 'bs4']
)
agent.run("Could you get me the title of the page at url 'https://huggingface.co/blog'?")

더 알아보기