Note, Task, Checkpoint: 기억할 것과 끝난 일을 나누는 법
AI 작업을 오래 이어가다 보면 기록이 많아지는 것보다 더 곤란한 문제가 생깁니다. 지금도 해야 하는 일, 나중에 다시 써야 하는 지식, 이미 끝났다고 확인한 일이 같은 목록에 놓이는 것입니다.
모든 것을 Task로 만들면 작업 목록이 계속 커집니다. 반대로 모든 것을 메모로 남기면 무엇이 아직 진행 중인지 알 수 없습니다. 완료된 작업을 대화 마지막 문장으로만 판단하면, 다음 세션에서 그 완료를 다시 검증해야 합니다.
WGM은 이 세 가지 문제를 서로 다른 단위로 나눕니다.
- Task는 지금 달성해야 할 목표입니다.
- Note는 다른 작업에서도 다시 사용할 수 있는 지식입니다.
- Checkpoint는 특정 시점까지의 작업을 완료된 이력으로 확정한 기록입니다.
이 구분의 목적은 기록을 더 많이 만드는 데 있지 않습니다. 작업을 다시 열었을 때 필요한 정보를 빠르게 찾고, 어디까지 끝났는지를 근거와 함께 확인하는 데 있습니다.
Task는 아직 움직이는 목표입니다
Task는 “무엇을 할 것인가”를 보존합니다. 제목만 남기는 할 일 목록과 달리, 작업의 목적과 범위, 관련 자료를 함께 가리키는 단위입니다.
예를 들어 “WGM 연재 3편을 작성한다”는 Task가 될 수 있습니다. 이 Task에는 다음과 같은 흐름이 포함될 수 있습니다.
- WGM 구현 문서에서 Note·Task·Checkpoint의 의미를 확인한다.
- 독자가 세 단위를 구분해야 하는 이유를 정리한다.
- 연재 메타데이터에 맞는 MDX 원고를 작성한다.
- 포맷과 빌드를 검증한다.
이 작업이 진행 중인 동안에는 제목이나 설명, 관련 문서가 바뀔 수 있습니다. Task는 고정된 결과물이 아니라 목표를 향해 움직이는 작업의 현재 경계입니다.
그래서 Task에는 “무엇을 기억할 것인가”보다 먼저 “무엇을 끝내려 하는가”가 들어갑니다. 목표가 바뀌면 같은 Task에 억지로 내용을 덧붙이기보다, 새로운 작업인지 기존 작업의 범위 조정인지 판단해야 합니다.
Note는 작업을 넘어 다시 쓰는 지식입니다
모든 작업 결과가 Note가 되는 것은 아닙니다. Note는 현재 Task의 상태를 기록하는 메모가 아니라, 다른 작업에서도 검색하고 재사용할 가치가 있는 지식입니다.
예를 들어 다음 내용은 Note로 남길 수 있습니다.
- WGM의 원본 Markdown과 SQLite 인덱스가 어떤 관계를 갖는가
- Note가 Task와 독립적인 저장 단위라는 운영 규칙
- Checkpoint가 stage된 작업을 확정 이력으로 묶는 방식
- 특정 도구를 사용할 때 지켜야 하는 프로젝트 규칙
이런 지식은 원래의 Task가 끝난 뒤에도 의미가 남습니다. 다음 달에 새로운 작업을 시작하거나, 다른 에이전트가 프로젝트를 이어받을 때도 필요할 수 있기 때문입니다.
WGM의 Kontexus Note는 이런 재사용 지식을 Task와 분리해 보존합니다. Note의 저장 위치는 Task 폴더가 아니라 WGM의 notes/ 영역이며, 필요할 때 TaskID를 관계 정보로 연결할 수 있습니다. 이 구조를 사용하면 “이 지식이 어느 작업에서 처음 발견되었는가”와 “이 지식을 지금 어떤 작업에 적용하는가”를 구분할 수 있습니다.
이 구분은 작은 차이처럼 보이지만 기억의 수명을 바꿉니다. Task에만 붙어 있는 설명은 Task를 찾지 못하면 함께 사라진 것처럼 느껴집니다. 독립된 Note는 새로운 작업의 출발점으로 다시 검색할 수 있습니다.
Checkpoint는 완료를 말이 아니라 이력으로 만듭니다
Task가 목표이고 Note가 재사용 지식이라면, Checkpoint는 확정된 작업 이력입니다.
작업 중에 “여기까지 완료했습니다”라고 말하는 것과, 어떤 작업을 완료된 이력으로 확정하는 것은 다릅니다. WGM에서는 stage가 Checkpoint에 포함할 Task를 후보로 선택하고, checkpoint가 그 후보들과 메시지를 하나의 확정 지점으로 묶습니다.
중요한 점은 stage와 checkpoint를 같은 뜻으로 보지 않는 것입니다.
- stage: 이 작업을 다음 확정 지점에 포함할 후보로 표시합니다.
- checkpoint: stage된 작업과 메시지를 확정 이력으로 묶습니다.
따라서 stage했다고 작업이 끝난 것은 아닙니다. 확정 이력으로 남기려면 실제로 checkpoint가 생성되어야 합니다. 이 경계를 두면 작업을 정리하는 중간 단계와, 다른 사람이 믿고 이어갈 수 있는 완료 지점을 구분할 수 있습니다.
세 단위를 함께 보면 작업의 위치가 보입니다
Task·Note·Checkpoint는 서로 경쟁하는 저장 방식이 아닙니다. 각각 다른 질문에 답합니다.
| 단위 | 답하는 질문 | 수명 | | ---------- | ---------------------------------- | -------------------- | | Task | 지금 무엇을 끝내야 하는가? | 작업이 진행되는 동안 | | Note | 나중에도 다시 쓸 지식은 무엇인가? | 여러 작업에 걸쳐 | | Checkpoint | 어디까지 완료된 것으로 확정했는가? | 작업 이력으로 |
예를 들어 연재 3편을 작성하는 동안에는 원고 작성이 Task입니다. WGM의 Note와 Checkpoint 규칙을 정리한 내용은 이후에도 사용할 수 있으므로 Note가 될 수 있습니다. 원고와 검증 결과가 기준을 통과하고 확정 지점에 포함되면, 그 작업은 Checkpoint를 통해 완료된 이력으로 남습니다.
흐름으로 표현하면 다음과 같습니다.
현재 목표
└── Task: 연재 3편 작성
├── 재사용할 지식 → Note
├── 진행 중인 결과 → Task의 작업 기록
└── 확정된 결과 → Checkpoint
이 구조는 작업의 현재 상태와 장기 기억, 완료 이력을 한 문서에 뒤섞지 않습니다. 세션이 끊긴 뒤 다시 시작할 때도 먼저 활성 Task를 확인하고, 필요한 Note를 검색하고, 마지막 Checkpoint 이후 남은 일을 확인하는 순서를 취할 수 있습니다.
기억을 남기는 기준은 “다시 쓸 것인가”입니다
작업 중 발견한 모든 내용을 Note로 만들 필요는 없습니다. 현재 Task에서만 잠깐 필요한 값이나 임시 판단은 작업 기록으로 충분할 수 있습니다.
Note로 승격할지 판단할 때는 다음 질문이 유용합니다.
- 이 내용이 다음 작업에서도 반복해서 필요할까?
- 원래의 Task가 끝난 뒤에도 의미가 남을까?
- 다른 사람이 이 내용을 검색하면 판단 시간을 줄일 수 있을까?
세 질문에 대부분 “예”라고 답할 수 있다면 독립된 Note로 보존할 가치가 있습니다. 반대로 특정 파일을 한 번 수정하기 위해 사용한 임시 메모라면 Task의 실행 기록으로 남기는 편이 더 정확합니다.
기억은 많을수록 좋은 것이 아닙니다. 필요한 순간에 다시 찾을 수 있고, 어떤 범위에서 유효한지 알 수 있어야 합니다.
완료를 확정하는 기준은 “검증 가능한가”입니다
Checkpoint 역시 모든 중간 결과에 만들 필요는 없습니다. 확정할 이유가 있는 작업 경계에 만들어야 합니다.
원고 작업이라면 다음과 같은 조건을 확인할 수 있습니다.
- 필수 메타데이터가 연재 규격에 맞는가
- 본문이 계획한 독자와 주제를 다루는가
- MDX 포맷 검증을 통과했는가
- 앱 빌드에서 콘텐츠 컬렉션과 페이지 생성이 성공하는가
이 조건을 통과했다는 검증 결과와 함께 Checkpoint를 남기면, 다음 세션의 에이전트는 “완료했다”는 문장만 믿지 않아도 됩니다. 어떤 기준을 통과한 작업인지 확인한 뒤 다음 목표로 이동할 수 있습니다.
다만 Checkpoint가 결과의 영원한 정답을 보장하는 것은 아닙니다. 이후 요구사항이 바뀌거나 새로운 결함이 발견되면, 그 사실을 새로운 작업과 기록으로 다뤄야 합니다. 확정 이력은 과거 시점의 상태를 명확히 하는 장치이지, 미래의 변경을 막는 잠금장치가 아닙니다.
다음 세션에서 복구하는 순서
작업을 다시 시작할 때는 모든 기록을 처음부터 읽을 필요가 없습니다.
- 현재 활성 Task에서 목표와 범위를 확인합니다.
- 마지막 Checkpoint 이후 남은 작업을 확인합니다.
- 현재 판단에 필요한 Note만 검색합니다.
- 필요한 경우 Task와 Note 사이의 관계를 따라갑니다.
- 새 결과를 만든 뒤 다음 확정 지점을 판단합니다.
이 순서의 장점은 작업의 현재 위치와 프로젝트의 장기 지식을 한 번에 섞지 않는 데 있습니다. Task는 지금의 방향을, Note는 반복해서 쓸 맥락을, Checkpoint는 이미 확인한 경계를 알려줍니다.
기억을 나누면 다음 판단이 빨라집니다
WGM의 기억 모델은 “AI에게 더 많은 내용을 보여주자”는 접근이 아닙니다. 어떤 내용이 현재 목표에 속하는지, 어떤 내용이 재사용 지식인지, 어떤 결과가 확정되었는지를 구분해 다음 판단의 입력을 정리하는 접근입니다.
다음 글에서는 이 기억 구조 위에서 LLM의 다음 판단을 어떻게 구조화할 수 있는지 살펴봅니다. Sequential Thinking에서 영감을 얻되, 상태와 입력, 함수 호출, 반환 결과를 연결하는 FTM Functional Thinking MCP의 관점으로 확장합니다.