Files
sebrief/SEBRIEF_PLAN.md
2026-09-02 14:57:29 +09:00

111 lines
5.5 KiB
Markdown

# SE-Brief (가칭) — OA 소프트웨어공학 논문 요약 봇 (설계 계획)
작성일: 2026-09-01
상태: 계획 확정 대기 (구현 미착수) · US2KR과 **별도 프로젝트/repo**
## 1. 목표
오픈액세스(OA) 소프트웨어공학 논문을 주기적으로 수집하고, MiniMax LLM으로 한국어 요약
다이제스트를 만들어 **내부 게시**(파일 아카이브 + tailnet 대시보드)하는 상주 프로그램.
US2KR의 파이프라인 철학을 그대로 따른다:
```
수집(OpenAlex · RSS) → SQLite 저장(DOI 중복 방지) → MiniMax 요약(JSON 스키마)
→ LLM 교차 검증 → Markdown 렌더 → 파일 아카이브 + 대시보드
```
## 2. 확정된 결정사항
| 항목 | 결정 |
|---|---|
| OA 기준 | **논문 단위 OA** (저널 단위 아님) — 하이브리드 저널의 OA 논문 포함 |
| MDPI | **전면 제외** (ISSN 블랙리스트로 명시적 차단) |
| IEEE Access | **포함하되 SE 토픽 필터 적용** (메가저널 노이즈 차단) |
| TOSEM | 완전 OA (2026-01 ACM Open 전환) — 전량 수집 |
| 게시 | **내부 전용**: reports/ 파일 + tailnet 대시보드. Blogger/공개는 나중 옵션 |
| 프로젝트 | US2KR과 별도 repo (US2KR 코드를 복제 후 도메인 교체로 시작) |
## 3. 미결정 사항
- [ ] 주기 — **주간(월요일 아침) 추천**. 저널 볼륨(주 10~20편)상 일간은 얇아짐
- [ ] 프로젝트/repo 이름 (후보: `sebrief`, `se-digest`, `seweekly`)
- [ ] 대시보드 포트 (US2KR이 :8090 사용 중 → :8091 제안)
## 4. 소스
**백본: OpenAlex API** — 전 저널 통합 색인, 무료·API 키 불필요.
필터: `is_oa=true` + 발행일 범위 + (저널 ISSN 화이트리스트 ∪ SE 토픽).
| 소스 | 수집 방식 |
|---|---|
| TOSEM (ACM, 완전 OA) | ISSN 화이트리스트, 전량 |
| TSE · EMSE · IST · JSS (하이브리드) | ISSN 화이트리스트 + 논문 단위 OA 필터 |
| IEEE Access | ISSN + **SE 토픽/키워드 이중 필터** |
| PeerJ Computer Science | 전량 (SE 토픽 필터) |
| SoftwareX, JOSS | 전량 (도구/소프트웨어 논문) |
| e-Informatica SEJ | RSS 보조 |
| MDPI 전 저널 | **제외** — 블랙리스트 |
- 보조/검증용: Crossref API (메타데이터 보강), Unpaywall (OA PDF URL 확인)
- Phase 3 후보: ACM 학회 프로시딩(FSE·ISSTA·ASE — ACM Open으로 전부 OA),
arXiv cs.SE (일 20~40편, 일간 포맷 필요)
## 5. 데이터 모델 (SQLite)
```
papers(doi PK, title, abstract, authors, venue, published_date, oa_url, pdf_url,
topics, collected_at)
digests(week PK, markdown, result_json, created_at) -- 주간 다이제스트 아카이브
deliveries(digest_week, channel, receipt, sent_at) -- US2KR reports/deliveries 패턴
```
- 중복 방지: DOI 기준 upsert. 한 논문은 한 번만 요약 (재수집돼도 스킵)
- 다이제스트 idempotency: 주(week) 기준 — US2KR의 krx_date 역할
## 6. LLM 요약 (US2KR llm 레이어 재사용)
- 입력: 논문별 제목 + 초록 + 메타데이터 (Phase 1은 초록 기반 — 토큰 저렴·안정)
- 출력 JSON 스키마 (주간 다이제스트 단위):
- `overview` — 이번 주 흐름 총평 2~3문장
- `highlights[3]` — 논문당 {문제, 방법, 결과, 실무 시사점} 4~5문장
- `by_topic{}` — LLM4SE·테스팅·실증연구·보안·유지보수 등 주제별 그룹, 논문당 1~2문장 + 링크
- `worth_reading[]` — "읽어볼 논문" 픽 (US2KR watchlist 격)
- **검증 패스 재사용**: 요약이 초록과 모순되는지 팩트체크 → major면 1회 수정 → 재검증
- 프롬프트 규칙: 초록에 없는 결과 수치 창작 금지, 저자 주장 vs 검증된 결과 구분,
실무 시사점은 "초록 근거 내"로 한정
## 7. 게시 (내부 전용)
- `reports/YYYY-Wnn.md` + `.json` — 주차 기준 아카이브 (FileDeliverer 재사용)
- 대시보드: US2KR 대시보드 구조 복제 (TypeScript, reports/*.json 읽기 전용)
- 좌측: 주차 목록 / 본문: 다이제스트 렌더 / 상단: 주간 논문 수·소스별 통계
- tailnet 전용 (:8091), 컨테이너 분리
- Blogger 발행: 코드는 US2KR BloggerDeliverer 그대로 이식 가능 —
공개 전환 결정 시 BLOG_ID만 발급 (OAuth 계정·클라이언트 재사용)
## 8. 운영
- 맥미니 Apple container 배포 (US2KR install 스크립트 패턴 복제)
- 스케줄: 거래소 캘린더 불필요 → 단순 주간 스케줄 (예: 월 07:00 KST) + 재시작 따라잡기
- 비용: 주 1회, 논문 10~20편 초록 요약 + 검증 = MiniMax 호출 2~4회 수준 (미미)
## 9. 저작권
- OA 논문 요약 + 출처·DOI 링크 표기는 안전. CC-BY는 저자·출처 표기 준수
- 초록 원문 전재 금지 — 자기 언어의 한국어 요약으로 재구성 (내부 게시라 리스크 낮지만
공개 전환 대비 처음부터 지킴)
## 10. 단계
1. **Phase 1 (MVP)**: OpenAlex 수집 → 초록 기반 주간 다이제스트 → 파일 아카이브
2. **Phase 2**: 검증 패스, 대시보드(:8091), 주제 분류 고도화, 맥미니 상주 배포
3. **Phase 3 (옵션)**: 풀텍스트 딥다이브(주 1편), ACM 학회 특집, arXiv cs.SE 일간,
Blogger 공개 전환
## 11. US2KR에서 재사용하는 것
| 재사용 | 새로 작성 |
|---|---|
| `llm/`(minimax·검증 구조), `deliver/`(file·blogger), Store·run_safely 패턴 | 수집기(OpenAlex/RSS), 논문용 프롬프트 |
| 대시보드 골격(TS 서버+클라이언트), 배포 스크립트, 로깅 | 주간 스케줄러, 다이제스트 렌더러 |