앱 서버 하나에 모든 것을 넣지 않는다
Experience/App·Control·Execution·Governance 계층과 thin runtime
모델 호출·장기 작업·도구 실행·승인을 route handler 하나에 넣으면 timeout과 재시도가 side effect까지 반복합니다. 사용자-facing 응답은 AI SDK runtime, 모델 정책은 Gateway, 장기 상태는 Workflow, untrusted execution은 Sandbox로 분리합니다.
| 계층 | 책임 | 경계 밖으로 보낼 것 |
|---|---|---|
| App/Experience | streaming·UI·업무 intent | 장기 실행·provider secret |
| Control | model route·budget·ZDR/BYOK | 사용자별 화면 로직 |
| Execution | workflow·queue·sandbox | 정책 판정·최종 승인 |
| Governance | eval·audit·approval·SLO | 실시간 token loop |
- 경로 분류interactive·batch·long-running·untrusted execution을 나눕니다.
- Thin app runtime메시지·tool schema·streaming만 앱에 남깁니다.
- 정책 외부화model string·provider·budget·data policy를 Gateway로 옮깁니다.
- 실행 격리장기 상태와 code/file/network 실행을 별도 경계에 둡니다.