# 세션을 넘는 기억

> **이 장에서 배우는 것**
> 대화 안의 기억과 대화를 넘는 기억이 어떻게 다른지, 길어질수록 왜 조용히
> 나빠지는지, 그리고 무엇을 남기고 무엇을 남기지 말아야 하는지.

## 새 창을 열면 처음부터입니다

[컨텍스트 창](/guide/ai-context-window)에서 본 대로, 모델이 "기억한다"고
느껴지는 건 매번 대화 전체를 다시 읽고 있기 때문입니다. 그러니 창을 닫으면
남는 게 없습니다.

```
어제: 우리 회사 청구서 양식과 계정 코드 규칙을 30분 걸려 설명했습니다
오늘: 새 대화 → 처음부터 다시 설명
```

**개인이면 귀찮은 정도입니다. 조직이면 이게 도입 실패의 원인이 됩니다.**

MIT NANDA가 2025년에 300건 이상의 기업 AI 도입 사례를 조사한 보고서에서, 투자
대비 재무 효과를 내지 못한 95%의 근본 원인으로 지목한 것이 모델 성능도 규제도
아닌 **배포된 시스템에 학습과 기억이 없다는 점**이었습니다. 매번 처음부터
설명해야 하는 도구는 업무 흐름에 들어가지 못합니다.

## 기억은 세 개의 층입니다

```mermaid
graph TD
  A["1층 — 지금 보고 있는 것<br/>이번 대화 전체"] --> B["2층 — 이번 대화의 요약<br/>앞부분을 압축해서 유지"]
  B --> C["3층 — 세션을 넘는 기록<br/>파일·문서로 남김"]
```

| 층 | 사는 곳 | 사라지는 때 |
|---|---|---|
| 지금 보는 것 | 컨텍스트 창 | 창을 닫으면 |
| 이번 대화의 요약 | 컨텍스트 창 안 | 창을 닫으면 |
| 세션을 넘는 기록 | 파일·저장소 | 지우기 전까지 |

**2층과 3층은 다릅니다.** 2층은 지금 대화를 계속 굴리기 위한 압축이고, 3층은
내일도 쓰려고 밖에 적어두는 것입니다. 둘을 헷갈리면 "요약했으니 기억하겠지"
하다가 다음 날 다시 설명하게 됩니다.

## 길어질수록 조용히 나빠집니다

[컨텍스트가 밀려날 때](/guide/ai-context-overflow)에서 앞부분이 밀려나는
현상을 봤습니다. 그런데 밀려나기 **전에도** 문제가 시작됩니다.

> **오래된 도구 결과, 이미 끝난 중간 단계, 같은 파일을 여러 번 읽은 흔적이
> 쌓이면 정작 중요한 부분에 대한 집중이 흐려집니다.**

업계에서 이걸 **컨텍스트 로트**(context rot)라고 부릅니다. 무서운 건 **오류가
안 난다는 점**입니다. 어느 순간 갑자기 실패하는 게 아니라, 답의 품질이 서서히
그리고 눈에 안 띄게 떨어집니다.

```
신호로 알아채기:
  □ 앞서 정한 규칙을 슬며시 어깁니다
  □ 이미 확인한 사실을 다시 확인하려 합니다
  □ 답이 점점 일반론으로 흐릅니다
```

**대책은 짧게 끊고 넘기는 것**입니다. 긴 대화 하나보다 **정리 → 새 대화**가
거의 항상 낫습니다.

## 2층 — 압축

긴 작업을 계속 굴려야 할 때 쓰는 방식입니다. 원리는 단순합니다.

```
최근 대화       →  원문 그대로 유지
그 앞의 대화     →  요약본으로 대체
```

최근 것은 세부가 필요하고 오래된 것은 결론만 있으면 되기 때문입니다. 자동으로
해주는 도구도 있지만, **요약할 때 무엇이 잘리는지는 봐야 합니다.** 결정의
"이유"가 잘리면 다음 단계에서 같은 논쟁을 반복합니다.

## 3층 — 밖에 적어두기

세션을 넘기려면 **대화 밖의 파일에 적어야** 합니다. 거창한 시스템이 아니라
텍스트 파일 한 장이면 시작됩니다.

**적을 것**

| 무엇 | 예 |
|---|---|
| 반복 설명해야 했던 배경 | "청구서는 회계팀 메일함에 PDF로 옵니다" |
| 확정된 규칙과 그 이유 | "100만원 초과는 사람 승인. 감사 요구사항입니다" |
| 실패했던 방법과 왜 실패했는지 | "화면 자동화는 화면이 바뀌어 깨졌습니다" |
| 사람 이름 대신 역할과 연락 경로 | "정산 문의는 회계팀 공용 주소로" |

**적지 말 것**

```
✗ API 키, 비밀번호, 토큰       → 다음 세션마다 그대로 다시 읽힙니다
✗ 고객 개인정보               → 보관 근거와 기간이 필요합니다
✗ 저장소·대화 기록에 이미 있는 것 → 중복은 서로 어긋나기 시작합니다
```

첫 줄이 특히 중요합니다. **메모리에 한 번 적힌 자격증명은 이후 모든 세션의
컨텍스트로 다시 들어갑니다.** [도구는 권한이다](/guide/mcp-security)에서 본
"자격증명은 어디에 두는가"가 여기에도 그대로 적용됩니다.

> **하나의 사실을 하나의 파일에.** 파일이 커지기 시작하면 나중에 무엇이 최신인지
> 아무도 모릅니다. 틀린 것으로 밝혀진 메모는 고치지 말고 지우세요.

## 제품에서는

| 하는 일 | 어디서 |
|---|---|
| 반복하는 절차를 문서로 담아 재사용 | [스킬로 절차를 담기](/guide/ht-skills) |
| 작업 폴더의 파일을 계속 참고 | [작업 폴더 등록하기](/guide/ht-working-directory) |
| 팀이 공유하는 자료로 올려둠 | [드라이브](/guide/cn-drive) |

## 자주 하는 오해

### "요약해서 넘기면 기억이 되는 것 아닌가요?"

**그 대화 안에서만입니다.** 요약본도 컨텍스트 창 안에 있으므로 창을 닫으면 같이
사라집니다. 내일 쓰려면 밖의 파일에 적혀 있어야 합니다.

### "메모리를 많이 쌓을수록 좋은 것 아닌가요?"

**아닙니다.** 쌓인 메모는 매 세션 컨텍스트를 먹고, 낡은 메모는 틀린 답의 근거가
됩니다. 좋은 메모리는 큰 것이 아니라 **관리되는 것**입니다. 주기적으로 지우는
절차가 없으면 6개월 뒤에는 부채가 됩니다.

---

## 확인

**1. 대화 안의 요약과 세션을 넘는 기록은 어떻게 다릅니까?**

<details>
<summary>답</summary>

**요약은 컨텍스트 창 안에 있어 창을 닫으면 사라지고, 세션을 넘는 기록은 대화
밖의 파일에 있어 지우기 전까지 남습니다.** 둘을 헷갈리면 "요약했으니
기억하겠지" 하다가 다음 날 다시 설명하게 됩니다.
</details>

**2. 컨텍스트 로트가 왜 위험합니까?**

<details>
<summary>답</summary>

**오류가 나지 않기 때문**입니다. 오래된 도구 결과와 끝난 중간 단계가 쌓이면
품질이 서서히, 눈에 안 띄게 떨어집니다. 앞서 정한 규칙을 슬며시 어기거나 답이
일반론으로 흐르는 것이 신호입니다.
</details>

**3. 메모리에 절대 적으면 안 되는 것은?**

<details>
<summary>답</summary>

**자격증명(API 키·비밀번호·토큰)입니다.** 한 번 적히면 이후 모든 세션의
컨텍스트로 다시 읽히기 때문입니다. 고객 개인정보도 보관 근거와 기간 없이는
적지 않습니다.
</details>

---

기억을 챙겼으니 이제 시키는 쪽을 다듬을 차례입니다 →
[좋은 지시의 네 가지 요소](/guide/ai-intent-context)
