Plano
에이전트 라우팅을 YAML 로 선언하는 프록시
pip install planoai에이전트 앱을 위한 프록시이자 데이터 플레인입니다. 에이전트 주소와 설명을 YAML 로 적으면 의도 분류와 라우팅, 모델 폴백, 트레이싱을 프록시가 맡습니다. 애플리케이션 코드에서 그 배선을 걷어내는 것이 목적입니다.
판단
이럴 때 씁니다
- 에이전트가 여러 개로 늘어나 어디로 보낼지 판단하는 코드가 앱마다 반복될 때
- 의도 분류와 라우팅을 애플리케이션 밖으로 빼고 싶을 때
- 모델 폴백과 트레이싱을 프레임워크에 묶이지 않고 두고 싶을 때
- 에이전트 주소와 설명만 선언해 배선을 끝내고 싶을 때
이럴 땐 쓰지 마세요
- 에이전트가 하나뿐이라 라우팅 판단이 필요 없을 때
- 이미 쓰는 프레임워크의 오케스트레이션으로 충분할 때
- 프록시 한 겹을 더 두는 운영 부담을 감당하기 어려울 때
차별점
- 에이전트 라우팅을 코드가 아니라 YAML 선언으로 다룹니다.
- 의도 분류와 모델 폴백, 프로바이더 어댑터, 트레이싱을 프록시 계층으로 모읍니다.
- Rust 데이터 플레인이라 프록시 한 겹이 붙는 부담이 작습니다.
- 특정 에이전트 프레임워크에 묶이지 않습니다.
워크플로
- 01pip install planoai 로 CLI 를 설치합니다.
- 02config.yaml 에 에이전트 주소와 자연어 설명을 적습니다. 의도 분류기나 라우팅 코드는 쓰지 않습니다.
- 03planoai up config.yaml 로 프록시를 띄웁니다.
- 04에이전트 코드는 Plano 의 LLM 게이트웨이 주소를 바라보게 해 모델 라우팅을 맡깁니다.
주요 명령
| 명령 | 설명 |
|---|---|
pip install planoai | CLI 를 설치합니다. PyPI 패키지 이름은 planoai 입니다. |
planoai up config.yaml | 선언한 설정으로 프록시를 띄웁니다. |
함정
설치 전에 확인하세요
- 버전이 0.4 대입니다. 설정 형식이 바뀔 수 있으니 문서의 현재 스키마를 확인하는 편이 좋습니다.
- CLI 는 파이썬 패키지지만 프록시 본체는 Rust 입니다. 사전 준비 단계가 문서에 따로 있습니다.
- 라우팅 판단을 프록시에 맡기는 만큼 어떤 기준으로 갈렸는지 추적할 수 있게 트레이싱을 함께 켜 두는 편이 좋습니다.
비교
New API 가 키와 사용량을 관리하는 게이트웨이라면, Plano 는 요청을 어느 에이전트로 보낼지 정하는 계층입니다. 둘은 겹치지 않고 함께 놓일 수도 있습니다. 프레임워크 안에서 오케스트레이션을 이미 하고 있다면 굳이 밖으로 뺄 이유는 없습니다.
최근 변경
0.4.36 은 세션 캐시 수명에 붙어 있던 60초 여유를 제거했습니다. 가비지 컬렉션을 감안해 넣어 둔 값이었는데, 실제로는 만료된 세션이 예상보다 오래 남는 원인이었습니다.