Skip to content

[AI Integration] 데모 Agent 요청에 원본 업무데이터 전달 #61

Description

@taejung3852

결정

현재 FOWOCO 데모에서는 PII 마스킹·치환·차단 기능을 적용하지 않습니다.

HR 원문과 Agent가 문서 작성에 요구한 field 값은 ***, OOO로 바꾸지 않고 원본 그대로 AI Runtime에 전달합니다. 이 결정은 실제 근로자가 아닌 가상 데모 데이터 사용을 전제합니다.

왜 바꾸나요?

  • 마스킹된 값은 Agent가 실제 HWP/HWPX 문서에 사용할 수 없음
  • ***에서 원본을 복원할 수 없음
  • 현재 목표는 개인정보 플랫폼 고도화보다 HWP/HWPX 데모 흐름 완성
  • Agent가 요구한 값을 Server가 전달할 수 있어야 문서 생성 테스트 가능

전송 계약

  • maskedInputanalysisInput
  • maskedInstructioninstruction
  • HR 자연어 원문 전달
  • Worker의 표시 이름·국적·언어·근무상태·체류기간·계약기간 전달
  • Agent가 요구한 실제 값을 requestedFields에 원본으로 전달
  • 응답의 허용된 extractedSlots도 PII 값이라는 이유만으로 거부하지 않음

계속 차단하는 값

다음은 근로자 업무정보가 아니라 서비스 탈취로 이어지는 인증정보이므로 계속 차단합니다.

  • API Key
  • JWT
  • Authorization: Bearer ...
  • 비밀번호·Service Secret
  • Worker Link 원본 token

DB 영향

없습니다. 전송 JSON 계약 변경이므로 Flyway V9를 사용하지 않습니다. V9는 실제 DB schema 변경이 필요한 작업에 남겨 둡니다.

완료 조건

  • AnalysisInput이 HR 원문을 전달합니다.
  • WorkerContext.requestedFields가 Agent 요청 원본값을 전달할 수 있습니다.
  • 실명·여권번호·전화번호·이메일 등 PII key/value를 계약 검증이 차단하지 않습니다.
  • Service credential은 계속 거부합니다.
  • 원본값 전달과 credential 차단 계약 테스트를 작성합니다.
  • 계약 문서에 가상 데이터 데모 전제를 기록합니다.
  • fowoco/ai가 동일한 analysisInput 계약을 반영합니다.
  • [AI Run] 비동기 실행 상태·재시도·멱등성 구현 #24 AiRun에서 Agent가 요구한 field를 수집해 requestedFields를 구성합니다.

구현

2026-08-03 후속 연결

  • #74가 Agent의 requiredFieldKeys를 받아 Server DB에서 값을 조회하고, 이 이슈에서 정의한 analysisInput.workers[].requestedFields로 AI Runtime을 재호출합니다.
  • 가상 데모 원본값 전달 정책은 유지하지만 Agent가 SQL이나 임의 DB column을 요청하도록 허용하지 않습니다.
  • 정확한 field key 목록과 JSON naming은 #74에서 fowoco/ai·fowoco/knowledge와 versioned fixture로 확정합니다.
  • Client 진행 상태 SSE는 #75의 선택적 후속이며 원본 데이터 전달 계약과 분리합니다.

Metadata

Metadata

Assignees

Labels

area:ai-integrationServer ↔ AI Runtime 내부 계약·Client·검증·trace 연동 영역; Prompt·모델·Provider 구현은 ai 저장소 소유priority:P0MVP 진행을 막는 최우선 핵심 작업security:privacy개인정보·접근권한·토큰·보안 영향이 있는 작업status:in-progress담당자가 현재 구현 중인 작업type:integration외부 LLM·DB·스토리지 등 시스템 간 연동 작업

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions