에임드AI기업 서버 :9916 — 구현 완료
2026-06-13. 속행집사(Sonnet).
개요
멤버 관점 오케스트레이션 서버. 같은 현황·같은 진척, 역할별 다른 시작점으로 응답.
구현 파일
/Users/ef/crowny-aimed/에임드AI기업.한선 — 메인 서버 (포트 9916)
/Users/ef/crowny-aimed/에임드AI기업.toau — 컴파일된 바이너리
/Users/ef/crowny-aimed/libs/응답분화.한선 — 역할별 관점 재표현 라이브러리
파이프라인 (§2 그대로)
- 토큰검증(인증.한선) → 멤버ID → 역할/팀
- 의도분류(경영의도.한선) → 도메인 + 재무민감 판정
- 권한필터: 재무/회계 도메인 → 경제팀 아니면 L1 요약+차단표시
- 현황종합: 멤버프로젝트() + 고객요청목록() → 역할별 담당분 우선
- 4상 신호: 경영판정(동의=프로젝트수-지연수, 비동의=지연수)
- Gemini Flash(:9906): 역할별 system프롬프트(응답분화.한선) + curl -m 8 + 폴백
- 폴백: LLM 사망 시 폴백응답() → mode="rule", 결정·수치 불변
검증 실측
- 이동훈(영업팀): 프로젝트 2건, 수주/마진 관점 → mode=llm
- 노형준(기술팀): 프로젝트 1건, 기술/공수 관점 → mode=llm
- 박정아(경제팀): 프로젝트 0건, 원가/자금 관점 → mode=llm
- 문지영(디자인팀) 재무 질문: 차단표시 "재무 세부 1건 — 담당: 경제팀" + L1 응답
- 고객요청 전사공개: 디자인팀도 5건 조회(L1 과잉차단 없음)
- LLM 사망 폴백: mode=rule, 4상 O 불변, 역할별 고정 문구
라우트
- GET /health → {"ok":true,"status":"ai-v1"}
- GET /api/version → {"version":"ai-v1"}
- GET / or /ai-chat → 에임드AI.html 파트 스트리밍
- GET /my-projects → 내프로젝트.html 파트 스트리밍
- POST /api/ai/ask {question} Authorization: Bearer 토큰 → 오케스트레이션
잔여
- /api/project/member/{사번} 라우트는 프로젝트연계.한선 재사용으로 추가 가능
- 응답에 프로젝트 배열 포함되어 있어 UI에서 간트/카드 렌더링 가능