티스토리 뷰

반응형

 

✅ Swarm 실전 예제: Agent 협업 시나리오 구성하기 (4편)

– 문제 분석 → 코드 작성 → 리뷰 → 요약 보고서까지, GPT들이 팀처럼 일하는 구조 만들기

Swarm은 하나의 Agent보다,
여러 Agent가 서로 역할을 나누고 협업할 때 진가를 발휘합니다.

이번 글에서는 실제 개발 시나리오를 기반으로
GPT Agent들이 팀처럼 협력하는 구조를 직접 구성해보겠습니다.


🧩 실전 시나리오 목표

"React로 로그인 폼을 만드는 방법을 알려줘."

이를 처리하기 위해 필요한 작업은?

역할 수행 내용

분석가(Analyst) 요구사항을 정리하고 핵심 기능 추출
개발자(Dev) 실제 코드 작성
리뷰어(Reviewer) 코드 품질 확인 및 개선점 제안
작성자(Writer) 전체 내용을 문서화 및 요약

이 4가지 역할을 Swarm의 Agent로 구성합니다.


🧠 1. 각 Agent 정의

✅ AnalystAgent

from swarm.agents.base import Agent

class AnalystAgent(Agent):
    def system_message(self):
        return (
            "너는 요구사항 분석가야. 사용자의 요청에서 핵심 기능과 UI 요소를 정리해줘. "
            "예: 필요한 입력 필드, 버튼, 검증 로직 등"
        )
    def is_done(self, messages):
        return any("분석 완료" in m["content"] for m in messages if m["role"] == "assistant")

✅ DeveloperAgent

from swarm.agents.base import Agent

class DeveloperAgent(Agent):
    def system_message(self):
        return (
            "넌 React 개발자야. 분석가가 정리한 기능을 바탕으로 로그인 폼 코드를 작성해. "
            "컴포넌트는 단일 파일로, 간결하게 구성해줘."
        )
    def is_done(self, messages):
        return any("코드 작성 완료" in m["content"] for m in messages if m["role"] == "assistant")

✅ ReviewerAgent

from swarm.agents.base import Agent

class ReviewerAgent(Agent):
    def system_message(self):
        return (
            "넌 시니어 개발자야. 작성된 React 코드에서 개선할 점, 보안 문제, UX 문제를 지적해줘. "
            "좋은 점도 함께 언급해."
        )
    def is_done(self, messages):
        return any("리뷰 완료" in m["content"] for m in messages if m["role"] == "assistant")

✅ WriterAgent

반응형
from swarm.agents.base import Agent

class WriterAgent(Agent):
    def system_message(self):
        return (
            "넌 문서화 담당자야. 이전 Agent들의 결과를 바탕으로 요약 보고서를 작성해. "
            "분석 요약 + 코드 요약 + 리뷰 요약 포함."
        )
    def is_done(self, messages):
        return any("보고서 작성 완료" in m["content"] for m in messages if m["role"] == "assistant")

⚙️ 2. Task 작성하기

# tasks/react_login_workflow.py
from swarm.runtime import run_task
from agents.analyst import AnalystAgent
from agents.developer import DeveloperAgent
from agents.reviewer import ReviewerAgent
from agents.writer import WriterAgent

run_task(
    name="로그인 UI 제작 Task",
    agents=[
        AnalystAgent("분석가"),
        DeveloperAgent("개발자"),
        ReviewerAgent("리뷰어"),
        WriterAgent("작성자")
    ],
    messages=[
        {"role": "user", "name": "user", "content": "React로 로그인 UI를 구현하는 방법을 알려줘."}
    ]
)

🏃 실행

python tasks/react_login_workflow.py

Agent들이 순차적으로 반응하며 메시지를 주고받습니다:

  1. 분석가: "필요한 입력 필드는 이메일, 비밀번호이며, 버튼과 입력 검증이 필요합니다."
  2. 개발자: <React 코드 출력>
  3. 리뷰어: "코드는 간결하며 훌륭합니다. 다만 XSS 방어 로직이 추가되면 좋겠습니다."
  4. 작성자: "요약 보고서 – 분석 요약, 코드 핵심, 리뷰 피드백을 정리합니다."

💡 실전 팁

  • 각 Agent의 system_message()에 “너는 ~ 역할이다”로 명확하게 기능 분리
  • is_done() 조건은 반드시 있어야 루프 종료됨 (예: “분석 완료” 포함 여부)
  • Task에 넣는 Agent 순서가 협업 흐름의 방향을 결정
  • GPT 4.0 등 고성능 모델 사용 시 훨씬 매끄러운 협력 가능

✅ 마무리

Swarm에서 멀티 Agent를 구성하면
하나의 문제에 대해 다양한 관점을 자동으로 도출하고
더 정제된 결과를 도출할 수 있습니다.

✔ 각 역할별 Agent 정의
✔ Task에 순차적 흐름으로 연결
✔ 대화 기반의 협업 시뮬레이션 실행
✔ 실무형 AI 팀 구조를 코드로 구현


 

SwarmAgent협업, 멀티에이전트, OpenAISwarm, GPT팀워크, 코드작성에이전트, AI리뷰어, 요약자동화, 프론트엔드AI, Task기반AI, LLM협업자동화


👉 다음 편에서는
5편: Swarm 시스템을 웹 API or FastAPI로 외부에 개방하기 (LLM 기반 API 서비스 만들기)
를 다룹니다. Swarm 워크플로우를 백엔드 API로 묶어서 서비스화하고 싶으신가요? 😊

※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함
반응형