본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 06. 15. 12:29

Agentic Workflow Patterns (에이전트 워크플로우 패턴)

요약

Python을 사용하여 멀티 에이전트 및 에이전트 워크플로우를 구축하기 위한 디자인 패턴과 베스트 프랙티스를 제공하는 저장소입니다. Reflection, Web Access, Semantic Routing 등 다양한 아키텍처 패턴을 통해 지능형 자동화 시스템 설계 방법을 안내합니다.

핵심 포인트

  • Actor-Critic 프레임워크를 활용한 Reflection 패턴 구현
  • 의도에 따라 전문 에이전트로 연결하는 Semantic Routing 기술
  • 복잡한 작업을 병렬로 처리하는 Parallel Delegation 및 Dynamic Sharding
  • 모듈식이고 재사용 가능한 에이전트 아키텍처 설계 가이드

Agentic Workflow Patterns는 Python을 사용하여 멀티 에이전트(multi-agent) 및 에이전트 워크플로우(agentic workflows)를 구축하기 위한 베스트 프랙티스(best practices)와 디자인 패턴(design patterns)을 보여주는 저장소입니다. 이 저장소는 모듈식(modular), 확장 가능(scalable), 재사용 가능(reusable)한 디자인 기술을 강조하며, 단일 에이전트(single-agent) 및 협업형 멀티 에이전트(collaborative multi-agent) 아키텍처를 통해 지능형 자동화와 견고한 워크플로우 관리를 용이하게 하는 것을 목표로 합니다. 이 저장소에는 패턴을 더욱 심도 있게 다루는 Medium 기사가 함께 제공됩니다: Designing Cognitive Architectures: Agentic Workflow Patterns from Scratch

  • 개요 (Overview)
  • 패턴 개요 (Patterns Overview)
  • 시작하기 (Getting Started)
  • 설치 (Installation)
  • 환경 설정 (Environment Setup)
  • 사용법 (Usage)
  • 프로젝트 구조 (Project Structure)
  • 기여하기 (Contributing)
  • 라이선스 (License)

이 저장소는 각각 별도의 작업에 책임을 지는 독립적인 에이전트들로 구성된 워크플로우인 에이전트 워크플로우(agentic workflows)를 설계하기 위한 예제와 템플릿을 제공합니다. 초점은 다양한 자동화 작업에 적응할 수 있는 재사용 가능한 컴포넌트(components)를 생성하여, 지능적인 의사결정과 효율적인 프로세싱을 가능하게 하는 데 있습니다.

Reflection (성찰) 패턴은 Actor-Critic 프레임워크를 사용하여 반복적인 콘텐츠 생성 및 개선 시스템을 구현합니다. 이 패턴은 Actor (콘텐츠 생성자)와 Critic (콘텐츠 검토자) 사이의 지속적인 피드백 루프를 통해 스스로 개선되는 콘텐츠 생성을 가능하게 합니다.

🔗 이 패턴에 대한 모든 코드는 여기에서 확인할 수 있습니다.

Web Access (웹 접속) 패턴은 웹 콘텐츠를 검색, 처리 및 요약하기 위한 에이전트 워크플로우를 구현합니다. 이는 검색(search), 스크래핑(scrape), 요약(summarize) 작업을 통해 웹 콘텐츠 획득 및 처리의 다양한 측면을 다루는 특화된 에이전트들의 파이프라인(pipeline)을 오케스트레이션(orchestrates)합니다.

🔗 이 패턴에 대한 모든 코드는 여기에서 확인할 수 있습니다.

시맨틱 라우팅 (Semantic Routing) 패턴은 사용자의 질의를 의미론적 의도 (semantic intent)에 따라 전문화된 에이전트에게 지능적으로 라우팅하는 에이전트 워크플로우를 구현합니다. 이 패턴은 코디네이터-위임 (coordinator-delegate) 아키텍처를 사용하며, 메인 TravelPlannerAgent가 사용자의 의도를 결정하고 항공권 예약, 호텔 검색, 렌터카와 같은 특정 여행 관련 작업을 수행할 전문 서브 에이전트 (sub-agents)에게 요청을 라우팅합니다.

🔗 이 패턴에 대한 모든 코드는 여기에서 확인할 수 있습니다.

병렬 위임 (Parallel Delegation) 패턴은 개체명 인식 (NER, Named Entity Recognition)을 통해 별개의 엔티티를 식별하고, 이 엔티티들을 병렬 처리를 위해 전문화된 에이전트들에게 위임함으로써 복잡한 질의를 처리합니다. 이는 독립적인 서브 태스크 (sub-tasks)를 동시에 실행할 수 있는 시나리오에서 효과적입니다.

🔗 이 패턴에 대한 모든 코드는 여기에서 확인할 수 있습니다.

동적 샤딩 (Dynamic Sharding) 패턴은 워크로드를 관리 가능한 더 작은 샤드 (shards)로 동적으로 나누고 이를 병렬로 처리함으로써 대규모 데이터셋을 효율적으로 처리합니다. 이 패턴은 웹 검색을 사용하여 유명인의 약력을 가져오는 방식(패턴 2에서 논의됨)으로 시연됩니다.

🔗 이 패턴에 대한 모든 코드는 여기에서 확인할 수 있습니다.

태스크 분해 (Task Decomposition) 패턴은 복잡한 태스크를 독립적인 서브 태스크로 나누며, 각 태스크는 별도의 서브 태스크 에이전트 (Sub-Task Agents)에 의해 관리됩니다. 이 패턴은 효율성과 확장성을 높이는 데 유익합니다.

🔗 이 패턴에 대한 모든 코드는 여기에서 확인할 수 있습니다.

동적 분해 (Dynamic Decomposition) 패턴은 대규모 언어 모델 (LLM, Large Language Model)을 사용하여 서브 태스크를 생성함으로써 복잡한 태스크를 여러 개의 서브 태스크로 자율적으로 분해하며, 이는 별도의 에이전트들에 의해 처리됩니다.

🔗 이 패턴에 대한 모든 코드는 여기에서 확인할 수 있습니다.

DAG (Directed Acyclic Graph, 유향 비순환 그래프) 오케스트레이션 패턴은 지정된 순서에 따라 여러 태스크를 실행할 수 있도록 하여 복잡한 워크플로우를 유연한 방식으로 관리합니다. 이 패턴은 워크플로우를 구조화하기 위해 YAML로 정의된 DAG를 사용합니다.

🔗 이 패턴에 대한 모든 코드는 여기에서 확인할 수 있습니다.

시작하려면 이 리포지토리 (repository)를 클론 (Clone)하세요. 이 프로젝트는 Python 3.8 이상을 필요로 합니다.

  • Python 3.8+
    pip

(Python 3.8+와 함께 제공됨)

리포지토리 클론 (Clone the repository):
git clone https://github.com/arunpshankar/Agentic-Workflow-Patterns.git cd Agentic-Workflow-Patterns

가상 환경 (virtual environment) 설정:

python -m venv .venv
source .venv/bin/activate # Windows의 경우, .venv\Scripts\activate를 사용하세요.

pip 업그레이드 및 의존성 (dependencies) 설치:
pip install --upgrade pip
pip install -r requirements.txt

프로젝트 루트 (root)에 credentials 폴더 생성:
mkdir credentials

GCP 서비스 계정 (service account) 자격 증명 설정:

기여를 환영하며 감사드립니다! Agentic Workflow Patterns에 기여하는 방법은 다음과 같습니다:

Repository 포크 (Fork the Repository): GitHub에서 자신만의 포크(fork)를 생성하여 독립적으로 변경 사항을 만듭니다.

브랜치 생성 (Create a Branch): 각 기능(feature)이나 수정 사항(fix)에 대해 별도의 브랜치에서 작업합니다.
git checkout -b feature-branch-name

변경 사항 적용 (Make Changes): 코드 스타일을 일관되게 유지하고 변경 사항에 대한 문서화가 잘 이루어지도록 합니다.

변경 사항 커밋 (Commit Your Changes): 명확하고 간결한 커밋 메시지를 작성합니다.
git commit -m "Add feature or fix description"

Pull Request 제출 (Submit a Pull Request): 변경 사항을 푸시(push)하고 풀 리퀘스트(pull request)를 엽니다.

코딩 스타일 (Coding Style): 기존의 코드 컨벤션(code conventions)을 따릅니다.

문서화 (Documentation): 코드와 기여 내용이 잘 문서화되었는지 확인합니다.

테스트 (Testing): 리포지토리(repository)의 안정성을 유지하기 위해 해당되는 경우 테스트를 추가합니다.

이슈 보고 (Issue Reporting): 이슈(issues)를 통해 버그를 보고하거나 기능을 제안합니다.

이 리포지토리는 MIT 라이선스(MIT License) 하에 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0