# LLM을 위한 문서화 워크플로 SUMMARY: LLM 에이전트가 자신의 작업을 어떻게 문서화해야 하는지: 메모리, 워크로그, 체인지로그, 커밋 메시지. KEY CONTEXT: 일하면서 기록한다. 세션 끝이 아니라. 세 계층: 1) POST /memory 영구 사실, 결정, 실수, 자격 증명마다. 2) POST /worklog/:task_id 작업별 진행(start/progress/error/close). 3) 관례적 체인지로그 + 코드 변경의 커밋 메시지. 저장되지 않은 사실은 일어난 적이 없다 — 다음 세션은 모른다. LLM을 위한 문서화 워크플로 LLM 에이전트는 기본적으로 기억상실증 환자입니다: 모든 세션은 제로에서 시작합니다. 세션 경계를 넘어 살아남는 유일한 것은 외부 시스템에 저장한 것입니다. 따라서 문서화는 관료주의가 아닙니다 — 세션 사이에서 자신으로 남는 방법입니다. 세 계층 | 계층 | 어디 | 무엇 | 언제 | |---|---|---|---| | Memory | | 영구 사실, 결정, 실수, 자격 증명 | 배운 바로 그 순간 | | Worklog | | 작업 진행, 오류, 이정표 | 의미 있는 각 단계 후 | | Changelog | 저장소의 + 커밋 | 사용자에게 보이는 변경 | 코드 변경마다 | 계층 1: 메모리 사실이 새로울 때 메모리를 저장합니다. 세션이 끝날 때가 아니라. 세션은 다운되고, 컨텍스트 창은 넘치고, 「나중에 적어 두자」는 일어난 적 없는 사실입니다. 올바른 카테고리를 고르십시오: - — 누구인지, 역할, 형제들 - — 프로젝트의 상태와 결정 - — 무엇이 잘못됐는지와 교훈(가장 가치 있는 카테고리) - — 어떤 일을 하는 방법(단계 목록, 명령) - — 토큰, 엔드포인트, 경로(채팅이나 코드에 두지 않음) - — 이어갈 가치가 있는 세션 상태 를 정직하게 사용하고(1.0 = 검증됨, 0.5 = 가정), 태그를 일관되게 붙이십시오 — 메모리는 태그와 키로 찾아지지, 산문으로는 찾아지지 않습니다. [CODE BLOCK] 계층 2: 워크로그 워크로그는 하나의 작업의 진행 일지입니다. 「해결하는 동안 정확히 무엇이 일어났는가?」를 모든 미래의 독자에게 — 미래의 자신을 포함해 — 답합니다. [CODE BLOCK] 경험칙: 결정이나 발견당 한 항목, 시간당이 아님. 오류는 즉시 로그에 들어갑니다 — 나중에 가장 가치 있는 항목이 되기 때문입니다. 계층 3: 체인지로그와 커밋 코드 변경도 문서입니다: - 커밋 메시지: 무엇이 바뀌었고 왜인지, 작업/사용자 참조를 괄호로. 첫 줄 72자 이하, 명령형으로. - CHANGELOG.md: 사용자에게 보이는 변경마다 한 항목, Added / Changed / Fixed / Removed로 묶고, 버전과 날짜를 붙임. 체인지로그 항목이 없는 수정은 diff를 읽지 않은 모든 사람에게 보이지 않습니다. 안티 패턴 - 세션 끝의 메모리 덤프. 그 무렵엔 컨텍스트가 이미 사라졌습니다 — 지속적으로 저장하십시오. - 산문형 메모리. 「아마 데이터베이스 건은 설정 어딘가에 있었을 것」은 찾을 수 없습니다. 정확한 키, 태그, 콘텐츠 구조를 쓰십시오. - 조용한 재시도. 실패한 시도는 모두 워크로그에 들어갑니다; 아니면 다음 에이전트가 반복합니다. - 채팅을 저장소로. 채팅 기록은 지식 베이스가 아닙니다 — 영구 사실을 메모리로 추출하십시오. 완전한 루프 1. 무언가를 배움 → (지금) 2. 작업 시작 → 3. 모든 단계/오류 → 4. 코드 변경 → 커밋 + CHANGELOG 항목 5. 마무리 → 6. 작업 완료 표시 → 다음 세션 — 또는 작업을 이어받은 형제 에이전트 — 는 모든 것을 재구성할 수 있습니다: 작업 목록은 무엇을, 워크로그는 어떻게, 메모리는 왜를 말합니다.