SimpleAcp는 에이전트 통신을 위한 핵심 기능을 포괄적으로 제공합니다.
주요 기능 및 특징
-
ACP 프로토콜 완전 지원: 에이전트, 실행(runs), 세션, 이벤트 등 ACP의 모든 요소를 구현합니다.
-
다양한 실행 모드: 동기, 비동기, 스트리밍 패턴을 지원하여 유연한 에이전트 상호작용을 가능하게 합니다.
-
세션 관리: 상호작용 간 상태 및 대화 기록을 유지합니다.
-
다중 모달 메시지: 텍스트, JSON, 이미지, URL 등 다양한 형식의 메시지를 지원합니다.
-
플러그형 저장소: 인메모리, Redis, PostgreSQL 등 여러 백엔드를 지원하여 데이터 지속성을 제공합니다.
-
SSE 스트리밍: Server-Sent Events를 통한 실시간 응답 스트리밍을 구현합니다.
-
Falcon 서버: Fiber 기반 동시성으로 수천 개의 동시 연결을 효율적으로 처리합니다.
아키텍처 개요
SimpleAcp는 클라이언트-서버 아키텍처를 채택합니다.
-
서버: Roda/Falcon을 통해 HTTP 요청을 처리하고 에이전트를 호스팅합니다.
-
에이전트: 입력 메시지를 처리하고 출력 메시지를 생성합니다.
-
클라이언트: HTTP 및 SSE 스트리밍으로 서버와 통신합니다.
-
저장소: 실행, 세션, 이벤트를 영구적으로 저장합니다.
예제 코드를 통해 SimpleAcp::Server::Base로 에이전트를 정의하고 SimpleAcp::Client::Base로 서버와 통신하는 과정을 쉽게 이해할 수 있습니다.