# Phase: 추론 서버 provider 확장

## 상태

[완료]

## 목표

Ollama 경로가 안정화된 뒤, 그 결과를 기준선으로 삼아 Lemonade를 우선 provider로 올리고 이후 vLLM, SGLang 같은 추가 추론 서버 provider를 붙인다.
이 Phase는 1차 MVP의 속도 향상 축으로, 하나의 Node transport 위에서 여러 CLI profile, terminal gateway, 추론 엔진, model target을 함께 쓰는 구조를 기준선으로 삼고, provider별 adapter/config/target/model 매핑을 단계적으로 검증한다.
추가 provider를 붙이기 전에 Node가 Ollama/Lemonade/vLLM/SGLang 같은 provider의 최소 가용 상태를 공통 형태로 Edge에 제공하고, Edge가 OpenAI-compatible `model` 값을 group key로 삼아 capacity/queue/admission 상태를 소유하는 기준선을 선행한다.
이 Phase의 초점은 provider serving path, adapter 경계, model route, capacity, concurrency, queue 성능 검증이며, provider/device/model qualification report와 모델 lifecycle 관리는 후속 운영 관측 Phase의 책임으로 넘긴다.
다만 현재 제품 우선순위에서는 NomadCode가 IOP Edge OpenAI-compatible Responses를 workspace agent 실행 백엔드로 사용할 수 있는 계약 하드닝이 먼저이며, 이 Phase의 provider/capacity 작업은 그 뒤의 운영 품질 확장으로 둔다.

## Milestone 흐름

완료된 Milestone은 archive 경로를 가리키고, 검토중, 진행중, 계획 또는 보류 Milestone은 이 Phase 하위 `milestones/` 경로를 가리킨다.
완료, 검토중, 진행중, 계획 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다.

- [완료] Node 단일 통로 멀티 타겟 서빙 기반
  - 경로: `agent-roadmap/archive/phase/inference-provider-extension/milestones/node-multi-target-serving-foundation.md`
  - 요약: 하나의 Node 연결이 여러 CLI profile, terminal gateway, Ollama/vLLM/SGLang 같은 추론 엔진 연결, 여러 model target을 동시에 제공할 수 있도록 config/proto/routing/runtime 기준선을 정리했고, 최종 코드 리뷰와 검증까지 통과해 archive했다.

- [완료] Node provider 상태와 Capacity Queue 기반
  - 경로: `agent-roadmap/archive/phase/inference-provider-extension/milestones/provider-availability-capacity-queue-foundation.md`
  - 요약: NomadCode workspace 실행 계약이 닫힌 뒤 provider별 health/model probe 차이를 Node adapter 내부로 숨기고, Edge가 공통으로 볼 수 있는 최소 상태와 capacity/in-flight/queued snapshot, FIFO admission queue 기준선을 만든다.

- [완료] Lemonade provider 서빙 경로 추가
  - 경로: `agent-roadmap/archive/phase/inference-provider-extension/milestones/lemonade-provider-serving-validation.md`
  - 요약: Node provider 상태와 capacity queue 기반 위에서 Lemonade provider의 adapter/config/target/model 매핑과 모델 조회, non-streaming/streaming chat 경로를 검증했고, 사용자 승인에 따라 archive했다.

- [완료] Edge 모델 그룹 Queue 스케줄링 전환
  - 경로: `agent-roadmap/archive/phase/inference-provider-extension/milestones/edge-model-group-queue-scheduling.md`
  - 요약: OpenAI-compatible 요청의 `model` 값을 queue group key로 사용하고, Node-local admission queue를 Edge-owned model-group FIFO와 node dispatch scheduler로 전환한다.

- [완료] Model route Queue 정책 정합화
  - 경로: `agent-roadmap/archive/phase/inference-provider-extension/milestones/model-route-queue-policy-alignment.md`
  - 요약: Edge-owned model group queue의 정책 원천을 `openai.model_routes[]`의 model alias로 정리하고, Node/provider instance에는 per-node capacity 기준만 남긴다.

- [완료] vLLM provider 서빙 경로 추가
  - 경로: `agent-roadmap/archive/phase/inference-provider-extension/milestones/vllm-provider-serving-validation.md`
  - 요약: vLLM OpenAI-compatible provider의 config contract, 모델 조회, non-streaming/streaming chat, split-host field smoke 검증을 완료했고, 코드 레벨 완료 리뷰까지 통과해 archive했다.

- [폐기] SGLang provider 서빙 경로 추가
  - 경로: `agent-roadmap/archive/phase/inference-provider-extension/milestones/sglang-provider-serving-validation.md`
  - 요약: GX10 + Qwen3.6 35B NVFP4 field validation에서 SGLang serving 자체는 확인했지만, NVIDIA checkpoint 직접 로딩 실패와 vLLM 대비 낮은 throughput/KV 여유가 확인되어 현 조건에서는 provider 채택을 진행하지 않기로 했다.

## Phase 경계

- 이 Phase는 Ollama 경로 안정화가 선행된 뒤 시작한다.
- 진행중인 Ollama 실테스트와 후속 안정화 작업을 이 Phase로 흡수하지 않는다.
- provider 작업 우선순위는 Ollama 기준선 다음 Lemonade를 우선하고, vLLM/SGLang은 그 뒤 후보로 둔다.
- 여러 추론 서버 provider 표준화는 Ollama 경로가 안정화된 결과와 Node 단일 통로 멀티 타겟 기준선을 함께 기준으로 삼아 진행한다.
- provider 공통 상태 확인과 Edge-owned model-group capacity/FIFO queue는 추가 provider 검증 전에 필요한 기반으로 이 Phase에서 다룬다.
- NomadCode `metadata.workspace` 기반 실행 계약과 `/v1/responses` workspace smoke가 충족되기 전에는 이 Phase를 제품 최우선 작업으로 끌어올리지 않는다.
- OpenAI-compatible `model` 값 기반의 같은 Edge 내부 후보 Node 순차 dispatch는 이 Phase에서 다루되, 별도 model group alias, cross-Edge 자동 부하 라우팅, cloud fallback, 품질 평가 feedback과 후속 최적화 계층은 이 Phase에서 다루지 않는다.
- 원격 provider의 모델 설치/삭제/load/unload, provider별 container/process lifecycle, provider/device/model qualification report, benchmark/품질 리포트 저장/조회/비교는 `운영 관측과 Provider 관리` Phase의 후반부에서 다룬다.
