Repository navigation
Output Format
ClarusIubar edited this page Aug 14, 2026
·
6 revisions
한국어 | English
세션(대화) 1개당 마크다운 노트 1개가 생성됩니다.
- frontmatter에
title/session_id/url/date/turns_count/content_hash/tags를 담습니다. - 본문은
> [!question]- User (...)/> [!tip]- <Vendor> (...)callout으로 turn을 나열합니다 (Obsidian 표시 형식을 그대로 보존). - 이미지·파일 첨부는
Attachments/로 복사되고 가능하면![[...]]로 임베드됩니다.
각 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는 frontmatter를 제외한 본문(body) 전체를 SHA-256으로 해시한 값입니다.
turn 메타데이터 주석도 본문에 포함되므로 자동으로 해시 대상에 들어갑니다. 이 값이
Configuration에서 설명한 upsert 판정(created/updated/unchanged)의
기준입니다.
관련 문서: Architecture