중요
참고: 차세대 ControlFlow 엔진은 Marvin 에이전트 프레임워크 (agentic framework)로 병합되었으며, 이 저장소(repo)는 아카이브되었습니다.
ControlFlow는 에이전트 기반 AI 워크플로우 (agentic AI workflows)를 구축하기 위한 Python 프레임워크입니다.
ControlFlow는 제어력이나 투명성을 희생하지 않으면서, 워크플로우를 정의하고 LLM에 작업을 위임할 수 있는 구조적이고 개발자 중심적인 프레임워크를 제공합니다:
- AI가 수행할 개별적이고 관찰 가능한 작업 (tasks)을 생성합니다.
- 각 작업에 하나 이상의 특화된 AI 에이전트 (agents)를 할당합니다.
- 작업을 하나의 흐름 (flow)으로 결합하여 더 복잡한 동작을 오케스트레이션 (orchestrate)합니다.
가장 단순한 ControlFlow 워크플로우는 하나의 작업, 기본 에이전트, 그리고 자동 스레드 관리 (thread management)를 포함합니다:
import controlflow as cf
result = cf.run("Write a short poem about artificial intelligence")
print(result)
결과:
In circuits and code, a mind does bloom,
With algorithms weaving through the gloom.
A spark of thought in silicon's embrace,
...
ControlFlow는 강력하면서도 예측 가능한 AI 기반 애플리케이션을 구축할 때 발생하는 과제들을 해결합니다:
- 🧩
작업 중심 아키텍처 (Task-Centric Architecture): 복잡한 AI 워크플로우를 관리 가능하고 관찰 가능한 단계로 분해합니다. - 🔒
구조화된 결과 (Structured Results): 타입 안정성(type-safe)이 보장되고 검증된 출력을 통해 AI와 전통적인 소프트웨어 사이의 간극을 메웁니다. - 🤖
특화된 에이전트 (Specialized Agents): 효율적인 문제 해결을 위해 작업별로 특화된 AI 에이전트를 배치합니다. - 🎛️
유연한 제어 (Flexible Control): 워크플로우 내에서 제어와 자율성 사이의 균형을 지속적으로 조정합니다. - 🕹️
멀티 에이전트 오케스트레이션 (Multi-Agent Orchestration): 단일 워크플로우 또는 작업 내에서 여러 AI 에이전트를 조정합니다. - 🔍
네이티브 관찰 가능성 (Native Observability): Prefect 3.0의 완전한 지원을 통해 AI 워크플로우를 모니터링하고 디버깅합니다. - 🔗
생태계 통합 (Ecosystem Integration): 기존 코드, 도구 및 광범위한 AI 생태계와 원활하게 연동됩니다.
pip로 ControlFlow 설치하기:
pip install controlflow
다음으로, LLM 제공업체 (provider)를 설정하세요. ControlFlow의 기본 제공업체는 OpenAI이며, OPENAI_API_KEY 환경 변수가 필요합니다:
export OPENAI_API_KEY=your-api-key
다른 LLM 제공업체를 사용하려면 LLM 설정 문서를 참조하세요.
다음은 사용자 상호작용, 다단계 워크플로우 (multi-step workflow), 그리고 구조화된 출력 (structured outputs)을 보여주는 더 복잡한 예시입니다:
import controlflow as cf
from pydantic import BaseModel
class ResearchProposal(BaseModel):
...
클릭하여 결과 보기
대화 (Conversation):
에이전트 (Agent): 안녕하세요! 연구 주제를 선택하는 데 도움을 드리겠습니다. 탐구하고 싶은 특별한 관심 분야나 영역이 있으신가요? 구체적인 아이디어나 요구 사항이 있다면 함께 공유해 주세요. 사용자 (User): 네, LLM 에이전틱 워크플로우 (LLM agentic workflows)에 관심이 있습니다.
제안서 (Proposal): {
"title": "AI 에이전틱 워크플로우 (AI Agentic Workflows): 효율성 및 자동화 향상",
"abstract": "본 연구 제안서는 다양한 영역에서 효율성과 자동화를 향상시키기 위한 AI 에이전틱 워크플로우 (AI agentic workflows)의 개발 및 구현을 탐구하는 것을 목표로 합니다. 고급 역량을 갖춘 AI 에이전트 (AI agents)는 복잡한 작업을 수행하고, 의사 결정을 내리며, 특정 목표를 달성하기 위해 다른 에이전트 또는 인간과 상호작용할 수 있습니다. 본 연구는 AI 에이전틱 워크플로우의 기반 기술, 방법론 및 응용 분야를 조사하고, 그 효과를 평가하며, 성능을 최적화하기 위한 개선 방안을 제안할 것입니다.",
"key_points": [
"서론: AI 에이전틱 워크플로우의 정의 및 중요성, 워크플로우 내 AI의 역사적 맥락 및 진화",
"기술적 토대: 에이전틱 워크플로우를 가능하게 하는 AI 기술 (예: 머신러닝 (machine learning), 자연어 처리 (natural language processing)), AI 워크플로우 구현을 위한 소프트웨어 및 하드웨어 요구 사항",
"방법론: 효과적인 AI 에이전트를 만들기 위한 설계 원칙, 워크플로우 오케스트레이션 (workflow orchestration) 및 관리 기술, AI 에이전트와 인간 운영자 간의 상호작용 프로토콜",
"응용 분야: 다양한 산업 분야(예: 의료, 금융, 제조)에서의 AI 에이전틱 워크플로우 사례 연구, 실제 구현에서 관찰된 이점 및 과제",
"평가 및 지표: AI 에이전틱 워크플로우의 성능을 평가하기 위한 기준, 지표 (Metrics) ..."
효율성 (Efficiency), 정확도 (Accuracy), 그리고 사용자 만족도 (User satisfaction) 측정", "제안된 개선 사항 (Proposed Improvements): AI 에이전트의 역량을 강화하기 위한 혁신, 한계점을 해결하고 과제를 극복하기 위한 전략", "결론 (Conclusion): 주요 연구 결과 요약, 향후 연구 방향 및 산업과 사회에 미칠 잠재적 영향" ] }
이 예시에서 ControlFlow는 일련의 작업들을 위한 공유 컨텍스트(Shared context)인 flow를 자동으로 관리합니다.
표준 Python 함수와 에이전틱 작업 (Agentic tasks) 사이를 언제든지 전환할 수 있어, 복잡한 워크플로우 (Workflows)를 점진적으로 구축하기 용이합니다.
ControlFlow에 대해 더 자세히 알아보기: