6.5 KiB
6.5 KiB
Milestone: Model Alias Provider Pool과 Provider Catalog
위치
- Roadmap:
agent-roadmap/ROADMAP.md - Phase:
agent-roadmap/phase/operational-observability-provider-management/PHASE.md
목표
qwen3.6:35b 같은 논리 model alias를 중심으로 여러 추론 엔진 provider 후보를 하나의 provider pool로 묶는 MVP 경계를 스케치한다.
vLLM, vLLM-MLX, Lemonade, Ollama, SGLang 같은 로컬 디바이스 provider는 같은 alias를 제공할 수 있는 candidate로 다루고, Edge가 provider별 실제 target, health, capacity, in-flight 상태를 기준으로 선택/큐잉하는 책임 경계를 우선 정리한다.
API provider, CLI provider, local inference provider catalog는 이 alias pool을 운영자가 관찰하고 조정하기 위한 표시/상태 모델로 연결한다.
provider/device/model별 qualification report와 benchmark/품질 비교는 이 Milestone의 직접 구현 범위가 아니라 후속 심화 Milestone으로 분리한다.
상태
[스케치]
승격 조건
- 논리 model alias를 canonical routing key로 두고 provider candidate를 묶는 model pool 경계를 결정한다.
- provider candidate별 node, adapter instance, provider type, 실제 served target, capacity, priority/weight 표시 필드를 결정한다.
- Edge queue가 model alias 단위로 관리되고, dispatch 시 provider별 실제 target으로 rewrite되는 책임 경계를 정리한다.
- local inference provider의 health, capacity, in-flight, queue, model list 상태 추적 기준을 결정한다.
- provider별 model lifecycle capability를 catalog 표시 필드로 볼지 후속 리포트 Milestone의 입력으로만 둘지 결정한다.
- Control Plane/Client/CLI 중 provider pool 관리 MVP 표면을 결정한다.
구현 잠금
- 상태: 해제
- SDD: 필요
- SDD 문서:
agent-roadmap/sdd/operational-observability-provider-management/provider-catalog-device-status/SDD.md - 잠금 해제 조건:
- SDD 잠금이 해제되어 있다
- SDD 사용자 리뷰가 없거나 승인/해결되었다
- Acceptance Scenario가 Milestone 기능 Task와 연결되어 있다
- Evidence Map이 plan의
Spec Targets와 완료 시Spec Completion으로 검증 가능하게 연결되어 있다 - model alias provider pool의 config/API 계약, provider candidate 선택 기준, target rewrite 책임, catalog 상태 필드, 운영 표면 책임 경계가 구현 계획을 만들 수 있을 만큼 확정되어 있다
- 결정 필요: 없음
범위
- model alias 기반 provider pool 계약과 catalog 표시 기준
- provider candidate별 node/adapter instance/provider/served target/capacity/priority 표시 기준
- Edge alias queue와 provider candidate 선택/target rewrite 책임 경계
- API, CLI, local inference provider category와 catalog 표시 기준
- local device/provider 상태 추적 기준
- provider별 model lifecycle capability 표시 기준
- vLLM, vLLM-MLX, Lemonade, SGLang 같은 provider의 운영 표시 후보
- provider validation과 운영 catalog의 책임 분리
기능
Epic: [model-pool] Model Alias Provider Pool
논리 model alias를 중심으로 여러 provider candidate를 묶고 Edge가 실행 후보를 고르는 최소 산출물을 정리한다.
- [alias-contract]
qwen3.6:35b같은 논리 model alias가 provider pool의 canonical key가 되는 계약이 정리되어 있다. - [candidate-schema] provider candidate별 node, adapter instance, provider type, endpoint/target, capacity, priority/weight, auth reference 표시 필드가 정리되어 있다.
- [target-rewrite] provider마다 실제 served model id가 다를 때 Edge와 Node 중 어디서 target rewrite를 수행할지 책임 경계가 정리되어 있다.
- [selection-policy] Edge가 provider pool에서 health, capacity, in-flight, priority/fallback을 사용해 후보를 선택하고 queue timeout을 적용하는 초기 정책이 정리되어 있다.
- [pool-compat] 기존
openai.model_routes,adapter + target, Node provider instance 설정과의 호환/마이그레이션 방향이 정리되어 있다.
Epic: [provider-catalog] Provider Operations Catalog
운영자가 model alias provider pool과 provider 상태를 같은 기준으로 비교하기 위한 최소 산출물을 묶는다.
- [category-map] API, CLI, local inference provider category와 MVP 표시 필드가 정리되어 있다.
- [device-status] 로컬 디바이스 provider의 health, capacity, model, queue 상태 후보가 정리되어 있다.
- [lifecycle-cap] Ollama, Lemonade, vLLM, SGLang의 model lifecycle capability 차이를 catalog 필드 또는 후속 report 입력으로 정리한다.
- [boundary] provider adapter 구현, provider pool routing, 운영 catalog의 책임 경계가 정리되어 있다.
- [ops-review] 사용자가 model alias provider pool과 provider catalog MVP 범위, 2차 후보를 검토했다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 스케치 Milestone이며 model alias provider pool과 catalog 기능 Task가 아직 충족되지 않았다.
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
- vLLM, vLLM-MLX, Lemonade, SGLang provider adapter 구현 자체
- provider pool scheduler 코드 구현과 config migration 실행
- provider/device/model qualification report 저장/조회/비교
- 자동 benchmark, 품질 평가, provider marketplace, cross-Edge provider balancing
- cloud fallback과 품질 평가 feedback 구현
작업 컨텍스트
- 관련 경로:
apps/edge,apps/node,apps/control-plane,apps/client,packages/go/config,proto/iop/runtime.proto - 기존 구조: 현재 OpenAI route는 외부
model을 단일adapter + target으로 resolve하고, Edge queue는ModelGroupKey를 쓰지만 후보 필터링은 같은adapter + target기준으로 동작한다. - 새 표준선(선택): provider 실행 구현의 외부 계약은 논리 model alias를 canonical key로 두고, 내부 dispatch 직전에 provider candidate별
adapter instance + served target으로 resolve한다. - 선행 작업: Node provider 상태와 Capacity Queue 기반, Edge 모델 그룹 Queue 스케줄링 전환
- 후속 작업: provider pool scheduler 구현, Provider-Device-Model Qualification 리포트와 Lifecycle 관리, provider enable/disable, benchmark/품질 평가
- 확인 필요: model pool config/API 형태, target rewrite 위치, provider 선택 정책, 상태 추적 필드, 읽기 전용/제어 포함 여부