SSOT 원칙(JSON 먼저, MD 함께): 모든 워크플로우 JSON에 대응하는 MD 보조 문서 작성. 260319 rb8001 변경 영향 반영: - companyx_grounding_pipeline: skip_default_prompt로 영향 없음 (notes 추가) - diary_reflection_pipeline: prompt DB v3 + neutral 생략 적용됨 (notes 추가) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
38 lines
1.7 KiB
Markdown
38 lines
1.7 KiB
Markdown
# diary_reflection_pipeline 워크플로우
|
|
|
|
## 목적
|
|
매일 새벽 2시에 전날의 로빙 일기를 자동 생성하고 Slack에 요약을 게시한다. 수동 트리거도 지원한다.
|
|
|
|
## 흐름
|
|
```
|
|
Daily at 2AM ─┐
|
|
Manual Trigger ─┤→ Set Yesterday Date → Generate Diary (rb8001) → Get Diary Content → Post to Slack
|
|
```
|
|
|
|
## 주요 노드
|
|
| 노드 | 설명 |
|
|
|---|---|
|
|
| Daily at 2AM | cron `0 2 * * *` |
|
|
| Manual Trigger | `POST /admin/diary/trigger` (수동 실행용) |
|
|
| Set Yesterday Date | 전날 날짜(YYYY-MM-DD) 계산 |
|
|
| Generate Diary (rb8001) | `POST :8001/api/diary/generate` (timeout 300초) |
|
|
| Get Diary Content | `GET :8001/api/diary/{date}?robeing_id=rb8001` |
|
|
| Post to Slack | 일기 요약 + 감정 + 대시보드 링크를 Slack에 게시 |
|
|
|
|
## 엔드포인트
|
|
- 인바운드: `POST /admin/diary/trigger` (n8n webhook, 수동)
|
|
- 아웃바운드: `POST http://192.168.219.52:8001/api/diary/generate`
|
|
- 아웃바운드: `GET http://192.168.219.52:8001/api/diary/{date}`
|
|
- 아웃바운드: Slack `chat.postMessage`
|
|
|
|
## 260319 변경 영향
|
|
|
|
이 워크플로우는 rb8001의 `/api/diary/generate`를 호출한다. 내부적으로 `llm_service.process_request()`가 `task_type=chat`, `context={}`로 실행되므로:
|
|
|
|
- **프롬프트 DB v3 주입: 적용됨** -- DB `prompt_versions` 활성 프롬프트가 일기 생성 시 system prompt로 주입된다.
|
|
- **neutral 감정 constraints 생략: 적용됨** -- 일기 생성 시 감정이 neutral이면 감정 constraints가 생략된다.
|
|
- 이전(~260318)에는 하드코딩 프롬프트 + 모든 감정에 constraints 주입이었으므로, 일기 톤에 변화가 있을 수 있다.
|
|
|
|
## 관련 문서
|
|
- [service_health_check](./service_health_check.md)
|