본문은 에이전트 기반 워크플로우의 세 가지 핵심 구성 요소를 다룹니다.
첫째, 모델 라우팅(Model Routing)은 사용자의 요청을 분석하여 코드, 창의적, 사실적 등 특정 작업 유형에 가장 적합한 AI 모델(예: Claude, GPT, Gemini)로 동적으로 위임하는 방법을 ModelRouter
클래스 예시와 함께 설명합니다. 이는 각 모델의 강점을 활용하여 효율성을 극대화합니다.
둘째, PostgreSQL을 활용한 RAG(Retrieval Augmented Generation) 구현입니다. pgvector
와 neighbor
gem을 사용하여 지식 기반에서 관련 정보를 검색하고 생성하는 RAG 시스템을 구축하는 방법을 제시합니다. Document
모델에 임베딩을 생성하고 DocumentSearch
툴을 통해 유사 문서를 찾아 컨텍스트를 제공하는 Ruby 코드 예시를 포함합니다.
셋째, 다중 에이전트 시스템(Multi-Agent Systems) 구축 기법입니다.
* 연구원 및 작가 팀(Researcher and Writer Team) 예시를 통해 ResearchAgent
와 WriterAgent
처럼 전문화된 에이전트들이 협력하여 작업을 수행하는 시퀀셜 워크플로우를 보여줍니다.
* Async를 이용한 병렬 에이전트 실행(Parallel Agent Execution with Async)은 Ruby의 Async
gem을 활용하여 감성 분석, 요약, 키워드 추출과 같은 여러 AI 작업을 동시에 실행하여 처리 시간을 단축하는 방법을 설명합니다.
* 감독관 패턴(Supervisor Pattern)은 CodeReviewSystem
예시를 통해 보안, 성능, 스타일 검토와 같은 병렬 작업을 수행하고 그 결과를 종합하여 최종 요약을 생성하는 고급 패턴을 제시합니다.
마지막으로, 오류 처리에 대한 간략한 지침으로 복구 가능한 오류는 LLM이 수정하도록 오류 설명을 반환하고, 복구 불가능한 오류는 예외를 발생시키며, 일시적인 실패에는 재시도 미들웨어를 활용할 것을 권장합니다.