Server가 Prompt·Provider를 직접 소유하지 않고, 검증한 최소 요청을 AI Runtime에 전달한 뒤 응답을 다시 검증합니다.
AiRunWorker (#24)
→ AiRuntimeClient (#8/#56)
→ POST /internal/v1/analyses (fowoco/ai)
{
"requestId": "10000000-0000-0000-0000-000000000001",
"phase": "PLAN",
"analysisInput": {
"instruction": "응웬반안 체류연장 준비해줘, EXPIRY_RENEWAL"
}
}
Agent는 SQL을 만들거나 Server DB에 직접 접근하지 않습니다.
목표
Server가 Prompt·Provider를 직접 소유하지 않고, 검증한 최소 요청을 AI Runtime에 전달한 뒤 응답을 다시 검증합니다.
최소 전송 계약
{ "requestId": "10000000-0000-0000-0000-000000000001", "phase": "PLAN", "analysisInput": { "instruction": "응웬반안 체류연장 준비해줘, EXPIRY_RENEWAL" } }requestId: PLAN과 ANALYZE 응답을 같은 실행으로 연결phase:PLAN또는ANALYZEanalysisInput: 실제 분석 데이터만 포함attemptId, version, deadline: AI JSON에 넣지 않고 Server 내부에서 관리intentHint는 전송하지 않음ANALYZE에는 같은
requestId·instruction과 #74가 실제로 해결한requestedFields만 추가합니다.Server 책임
Agent는 SQL을 만들거나 Server DB에 직접 접근하지 않습니다.
데이터 경계
현황
AiRuntimeClient관계