# 기능명세서

## 1. 입력 기능

### 텍스트 입력

- 사용자는 모바일 화면에서 업무 내용을 텍스트로 입력할 수 있다.
- 입력 내용은 자연어 문장 형태를 허용한다.
- 입력 예시는 다음과 같다.

```text
김민수 대리한테 내일까지 견적서 수정본 확인하라고 업무 등록해줘.
```

```text
지난번 홈페이지 메인 수정 건은 오늘 시안 전달 완료했어.
```

### 음성 입력

- 사용자는 모바일 화면에서 음성을 녹음할 수 있다.
- 모바일 브라우저에서 직접 녹음을 기본 지원한다.
- 녹음 파일은 서버에 저장한다.
- 음성 파일은 텍스트로 변환한다.
- 변환된 텍스트는 원본 입력으로 저장한다.
- 변환된 텍스트는 AI 분석 전에 사용자가 수정할 수 있다.

## 2. AI 분석 기능

AI는 입력 텍스트를 분석해 다음 항목을 판단한다.

- 신규 업무 여부
- 기존 업무 업데이트 여부
- 기존 업무 후보
- 담당자
- 업무 제목
- 업무 요약
- 상세 내용
- 마감일
- 우선순위
- 상태
- 리포트 반영 여부
- 사람 검토 필요 여부

## 3. 신규 업무 등록

AI가 신규 업무라고 판단하면 업무를 새로 생성한다.

필수 저장 항목은 다음과 같다.

- 업무 제목
- 업무 설명
- 담당자
- 상태
- 우선순위
- 생성자
- 생성일
- 원본 입력 ID

마감일이 명확하지 않으면 비워두거나 확인 필요로 표시한다.

## 4. 기존 업무 업데이트

AI가 기존 업무 업데이트라고 판단하면 관련 업무를 찾는다.

업데이트 기준은 다음 정보를 조합한다.

- 담당자
- 업무 제목 유사도
- 최근 입력 내용
- 업무 상태
- 생성일 또는 최근 업데이트일
- 마감일

기존 업무 매칭 신뢰도가 낮으면 자동 반영하지 않고 확인 필요로 저장한다.

## 5. 담당자 관리

관리자는 담당자를 등록하고 관리할 수 있다.

담당자 정보는 다음을 포함한다.

- 이름
- 부서
- 직책
- 연락처
- 로그인 계정
- 활성 여부

AI가 담당자를 찾을 때 이름, 별칭, 직책 등을 함께 참고할 수 있어야 한다.

## 6. 업무 상태 관리

기본 상태는 다음과 같다.

- 신규
- 진행중
- 대기
- 확인필요
- 완료
- 보류
- 취소

상태 변경은 업무 이력에 기록한다.

## 7. 업무 목록

업무 목록은 다음 기준으로 필터링할 수 있어야 한다.

- 담당자
- 상태
- 우선순위
- 마감일
- 등록일
- 확인 필요 여부

## 8. 업무 상세

업무 상세 화면은 다음 정보를 보여준다.

- 업무 기본 정보
- 현재 상태
- 담당자
- 마감일
- 우선순위
- 생성 정보
- 업데이트 이력
- 원본 입력
- AI 분석 결과

## 9. 리포트 생성

매일 정해진 시간에 다음 리포트를 생성한다.

- 전체 업무 리포트
- 담당자별 업무 리포트

리포트는 생성된 결과를 저장한다.

이후 업무가 수정되어도 이미 생성된 리포트 내용은 바뀌지 않는다.

## 10. 확인 필요 처리

다음 경우에는 사람 검토가 필요하다.

- 신규 업무인지 기존 업데이트인지 불명확한 경우
- 담당자를 특정할 수 없는 경우
- 기존 업무 후보가 여러 개인 경우
- 마감일 해석이 애매한 경우
- AI 신뢰도가 기준값보다 낮은 경우

확인 필요 건은 별도 목록에서 관리자가 검토한다.
