Skip to content

Output Format

ClarusIubar edited this page Aug 14, 2026 · 6 revisions

Output Format

한국어 | English

세션(대화) 1개당 마크다운 노트 1개가 생성됩니다.

  • frontmatter에 title/session_id/url/date/turns_count/content_hash/tags를 담습니다.
  • 본문은 > [!question]- User (...) / > [!tip]- <Vendor> (...) callout으로 turn을 나열합니다 (Obsidian 표시 형식을 그대로 보존).
  • 이미지·파일 첨부는 Attachments/로 복사되고 가능하면 ![[...]]로 임베드됩니다.

turn 메타데이터 HTML 주석

각 callout 바로 앞에는 다음과 같은 형태의 HTML 주석이 붙습니다:

<!-- turn: {"turn_index": 0, "role": "user", "parent_turn_index": null, "has_attachment": false} -->

Obsidian 미리보기에는 보이지 않지만, RAG 청킹 파이프라인이 callout 문법 ([!question] vs [!tip])이나 "다음 질문 직전까지" 같은 순서 휴리스틱 없이 바로 QA 쌍·세션 경계·첨부 맥락을 읽어갈 수 있게 합니다.

  • turn_index: 그 노트 안에서의 turn 순번.
  • role: user 또는 벤더(assistant) 쪽 role.
  • parent_turn_index: 그 답변이 어느 질문(turn_index)에 대한 것인지. 질문 턴은 항상 null(새 turn window의 시작). 같은 질문에 답변이 여러 턴으로 나뉘어도(실제로 발생함 — 긴 응답이 메시지 여러 개로 쪼개지는 경우) 전부 같은 parent_turn_index를 가리킵니다.
  • has_attachment: 그 턴 바로 뒤에 첨부파일 블록이 붙는지 여부.

이 계산은 common/session_markdown.py::build_session_markdown() 한 곳에서, turn 리스트를 role 순서대로 훑으며 벤더 무관하게 이뤄집니다(vendors/chatgpt.py, vendors/gemini.py는 관여하지 않음).

content_hash

content_hash는 frontmatter를 제외한 본문(body) 전체를 SHA-256으로 해시한 값입니다. turn 메타데이터 주석도 본문에 포함되므로 자동으로 해시 대상에 들어갑니다. 이 값이 Configuration에서 설명한 upsert 판정(created/updated/unchanged)의 기준입니다.

관련 문서: Architecture

Clone this wiki locally