3.1 KiB
3.1 KiB
Edge 입력 표면
목표
Edge의 외부 입력 표면을 OpenAI-compatible API와 A2A JSON-RPC API로 분리해 관리하고, 두 입력 모두 내부 adapter + target 실행 경로로 수렴시킨다.
단계
Edge-Node 실행 기반
상태
완료
구현 잠금
- 상태: 해제
- 이유: 완료된 Milestone이며 완료 기준과 완료 근거가 문서화되어 있다. 후속 확장은 별도 Milestone에서 다룬다.
- 해제 조건:
- 완료 기준과 완료 근거가 문서화됨
- 후속 확장은 별도 Milestone에서 다룸
- 잠금 중 금지:
- 해당 없음
범위
- OpenAI-compatible
/v1/models,/v1/chat/completionsbaseline 표면 - A2A
message/send,tasks/get,tasks/cancel최소 표면 - Edge input manager lifecycle/config 정리
- 외부
model또는 A2A task 입력을 내부adapter + target + session_id로 변환하는 경계 - streaming/non-streaming 응답과 background task 상태 저장 기준 정리
- 현재 구현된 OpenAI-compatible/A2A baseline을 기준으로 설정, lifecycle, task 상태, 문서 경계를 안정화
필수 기능
- [openai-surface] OpenAI-compatible API는 모델/chat completion 호환 입력 표면으로 유지한다.
- [a2a-surface] A2A API는 외부 agent의 작업 위임과 task 상태 공유 표면으로 유지한다.
- [edge-service-path] 두 입력 표면 모두 Edge service와 edge-node transport를 우회하지 않는다.
- [openai-boundary] OpenAI-compatible API에 IOP 고유 운영 제어 기능을 억지로 싣지 않는다.
- [a2a-boundary] A2A API를 Control Plane 운영 제어 프로토콜로 확장하지 않는다.
완료 기준
- 외부 OpenAI-compatible 요청이 Edge 내부에서 명시적인 adapter/target 실행으로 변환된다.
- A2A
message/send,tasks/get,tasks/cancel이 task lifecycle과 node cancel 흐름을 일관되게 표현한다. - 입력 표면별 설정과 lifecycle이 중복 없이 관리된다.
- 앱별 README는 현재 사용법을 설명하고, 미래 우선순위는 roadmap을 참조한다.
범위 제외
- OpenAI-compatible Responses API 표면 구현
- OpenAI-compatible API를 IOP native 운영 제어 프로토콜로 확장
- A2A API를 fleet-wide scheduling 또는 Control Plane state ownership 표면으로 확장
- vendor-specific extension으로 node 선택, terminal session, lifecycle event를 표현
작업 컨텍스트
- 관련 앱:
apps/edge - 관련 문서:
apps/edge/README.md - 관련 패키지:
apps/edge/internal/openai,apps/edge/internal/input/a2a,apps/edge/internal/service - 방향성 메모: OpenAI-compatible API는 외부 모델 기반 호출, A2A API는 외부 agent 작업 위임, IOP native protocol은 proto-socket 기반 운영/고유 기능 표면으로 유지한다. Responses API 지원은 후속
모델 서빙과 부하 라우팅Milestone에서 다룬다. - platform-common 계약 변경 시
proto/iop와packages/config를 함께 확인한다. - 완료 근거: 2026-05-23
go test ./...,make test-e2e통과.make test-e2e에는 OpenAI-compatible Ollama 보조 smoke가 포함된다.