Phidata 에이전트 팀(Teams) 구성하기

Phidata 에이전트 팀(Teams) 구성하기

복잡한 작업은 한 에이전트가 전부 맡기보다, 역할을 나눠 여러 에이전트가 협력하게 만들 때 더 잘 풀리는 경우가 많아요. Phidata에서는 여러 에이전트를 조합해 **팀(Team)**을 만들고, 하나의 응집된 단위로 작업을 처리할 수 있어요.

출처: Phidata 에이전트 팀 공식 문서

예시: HackerNews 상위 스토리 기사 쓰기

아래 예시는 해커뉴스 상위 스토리에 대한 기사를 쓰는 팀이에요. 멤버별로 namerole을 부여해 일을 분담해요.

from phi.agent import Agent
from phi.tools.hackernews import HackerNews
from phi.tools.duckduckgo import DuckDuckGo
from phi.tools.newspaper4k import Newspaper4k

hn_researcher = Agent(
    name="HackerNews Researcher",
    role="Gets top stories from hackernews.",
    tools=[HackerNews()],
)

web_searcher = Agent(
    name="Web Searcher",
    role="Searches the web for information on a topic",
    tools=[DuckDuckGo()],
    add_datetime_to_instructions=True,
)

article_reader = Agent(
    name="Article Reader",
    role="Reads articles from URLs.",
    tools=[Newspaper4k()],
)

hn_team = Agent(
    name="Hackernews Team",
    team=[hn_researcher, web_searcher, article_reader],
    instructions=[
        "First, search hackernews for what the user is asking about.",
        "Then, ask the article reader to read the links for the stories to get more information.",
        "Important: you must provide the article reader with the links to read.",
        "Then, ask the web searcher to search for each story to get more information.",
        "Finally, provide a thoughtful and engaging summary.",
    ],
    show_tool_calls=True,
    markdown=True,
)
hn_team.print_response("Write an article about the top 2 stories on hackernews", stream=True)

실행은 아래처럼 라이브러리를 설치하고 스크립트를 돌리면 돼요.

pip install -U openai duckduckgo-search newspaper4k lxml_html_clean phidata

python hn_team.py

팀 에이전트가 instructions를 읽고 각 멤버에게 적절히 작업을 위임해요. 예를 들어 기사 링크가 필요하면 반드시 article_reader에게 링크를 건네주라는 지침이 그대로 동작해요.

에이전트 팀 만드는 법

팀 구성은 세 단계로 정리할 수 있어요.

  1. 멤버 에이전트에 namerole 파라미터를 추가해요.
  2. 멤버에게 작업을 위임할 **팀 리더(Team Leader)**를 만들어요.
  3. 팀 에이전트를 일반 에이전트처럼 사용해요.

역할이 분명할수록 위임이 정확해지므로, role은 구체적으로 쓰는 게 좋아요.

주의점

한 가지 꼭 짚고 넘어갈 게 있어요. 개방형(open-ended) 에이전트 팀은 실험하기엔 좋지만, 높은 신뢰성이 필요한 실전 문제에는 아직 안정적이지 않아요. 닫힌 문장 하나 없이 팀이 계속 스스로 판단해야 하므로, 상시 감독이 필요하고 아주 복잡한 작업에서는 헷갈릴 수 있어요. 이 단점은 모델이 좋아질수록 나아지겠죠. 경험상 에이전트 팀은 소수의 단계가 필요한 간단한 작업에서 가장 잘 동작해요. 프로덕션 애플리케이션에는 Workflows를 적극 추천해요.

더 알아보기