Agentic AI Patterns by Kevin Dubois, Mario Fusco
- 단일 AI 서비스의 한계를 넘어, 프롬프트 개선, 메모리, 데이터 소스, 가드레일, 함수 호출 등의 기본 기능을 바탕으로 여러 AI 서비스를 묶어 복잡한 비즈니스 로직을 처리하고 다양한 모델을 활용하는 '에이전트 시스템'으로 발전했습니다. 💡
- 에이전트는 단순히 AI 서비스의 래퍼를 넘어, 다른 에이전트(AI 또는 비AI) 및 인간 참여자와 함께 복잡한 시스템 내에서 상호작용하며 응집력 있는 전체를 구성하는 핵심 요소입니다. 🤝
- LangChain4j는 Mario Fusco가 주도하여 에이전트 기반 시스템 구축을 위한 실험적인 모듈(v1.3.0 베타 이후 v1.7.0까지 빠르게 발전)을 제공하며, 지속적인 개선을 통해 다양한 기능을 추가하고 있습니다. 🛠️
- 에이전트 시스템은 IT 업계에 익숙한 시퀀스(프롬프트 체이닝), 루프(반복/반영), 병렬화, 조건부(라우팅)의 네 가지 핵심 오케스트레이션 패턴을 활용하여 복잡한 워크플로우를 유연하게 구성할 수 있습니다. 🧩
@Agent 어노테이션을 통해 에이전트의 기능과 역할을 명확히 설명하는 것은 해당 에이전트의 프롬프트뿐만 아니라, 다른 에이전트(특히 슈퍼바이저 패턴)가 이 에이전트를 언제, 어떻게 호출할지 결정하는 데 중요한 정보를 제공합니다. 📝
- 에이전트들은
Agentic Scope라는 공유 메모리 공간을 통해 변수를 읽고 쓰며 상호작용하고, 전체 시스템의 호출 기록과 컨텍스트를 유지하며, 필요에 따라 상태를 영속화할 수 있어 에이전트 간의 효율적인 협업을 가능하게 합니다. 🌐