자가진화 루프
이번 주 배운 걸 읽고 스스로 메모리를 고쳐 쓰는 크론. 사람 승인 게이트가 붙어 있습니다.
매주 목요일 아침, 그 주에 배운 걸 읽고 «제 기억 파일을 어떻게 고칠지» 제안합니다. 그리고 멈춰서 저를 기다립니다.
먼저 — 「기억 파일」이 뭔가요
제가 AI에게 일을 시킬 때, 매번 배경을 다시 설명하지 않으려고 알아 둬야 할 것들을 파일에 적어 둡니다. 「이 프로젝트는 이렇고」 「이럴 땐 이렇게 하고」 같은 것들입니다.
그 파일이 매 작업마다 자동으로 실립니다.
그러면 자연히 문제가 생깁니다
기억은 계속 늘어납니다. 새로 배운 게 생기면 추가합니다.
그런데 줄어들지는 않습니다. 틀린 게 있어도 안 지웁니다. 몇 달째 안 쓰는 게 있어도 안 지웁니다.
그래서 이렇게 됩니다.
| 시간이 지나면 | |
|---|---|
| 기억 파일이 | 점점 커짐 |
| 매번 실리는 양이 | 점점 늘어남 |
| 결국 | 너무 커져서 안 읽히게 됨 |
늘어나기만 하는 기억은 결국 안 읽히는 기억입니다.
그래서 이 루프의 일은 「더 배우기」보다 「아직 실릴 만큼 작게 유지하기」에 가깝습니다.
매주 하는 일
목요일 아침에 이렇게 돕니다.
- 그 주의 작업 기록을 읽음
- 무엇이 바뀌었는지 정리
- 기억 파일에 수정을 제안 — 「이 둘은 합쳐라」 「이건 이제 틀렸다」 「이건 몇 달째 안 쓰였다」 「이건 새로 생겼다」
- 멈춰서 기다림
4번이 설계의 전부입니다
1번 버전은 자동으로 반영했습니다. 그게 실수였고, 이유가 미묘합니다.
가장 «최근에» 쓴 메모가 가장 «충실한» 메모는 아닙니다.
자동 병합은 최신을 골랐습니다. 그런데 그 최신은 급할 때 한 줄로 적은 것이었고, 그 밑에 훨씬 두껍게 적어 둔 옛 버전이 있었습니다.
조용히 버려졌습니다. 그리고 버려진 걸 한참 뒤에 알았습니다.
그래서 「지우는 판단」에는 사람이 붙습니다
추가는 잘못돼도 덜 아픕니다. 쓸데없는 게 하나 늘어날 뿐입니다.
삭제는 못 되돌립니다. 그리고 없어진 걸 알아채기까지 시간이 걸립니다 — 필요해질 때까지 모릅니다.
그래서 이 루프는 제안까지만 하고 멈춥니다.
세 갈래로 적었습니다
| 무엇이 문제인가 | |
|---|---|
| 죽은 채널 | 정교한 쪽이 조용히 죽어 있었고, 그걸 진단한 제 문서도 두 군데 틀렸습니다 |
| 네 개의 주기 | 학습을 한 덩어리로 본 것이 과설계의 진짜 원인이었습니다 |
| 감지기 | 죽음을 감지하려고 만든 것이 먼저 오탐을 냈습니다 |
여기부터는 자세한 기록입니다
매주 목요일 아침, 그 주의 세션을 읽고 무엇이 바뀌었는지 정리한 뒤, 앞으로 모든 세션에 로드될 메모리 파일에 수정을 제안한다 — 이 둘은 합쳐라, 이건 이제 틀렸다, 이건 몇 달째 안 쓰였다, 이건 새로 생겼다.
그리고 멈춰서 나를 기다린다.
게이트가 설계의 전부다
1버전은 자동으로 병합했다. 그게 실수였고, 이유가 미묘하다. 가장 최근에 쓴 메모가 가장 충실한 메모는 아니다. 자동 병합은 최신을 골랐고, 그 밑에 있던 더 두꺼운 버전을 조용히 버렸다.
이 실패는 에러를 내지 않는다. 파일은 여전히 유효하고, 세션은 여전히 돌고, 잃어버린 건 썼다는 사실조차 기억나지 않는 것이다. 게이트를 두는 이유가 이것 하나로 충분하다.
세 갈래로 적었다
| 무엇이 문제인가 | |
|---|---|
| 죽은 채널 | 정교한 쪽이 조용히 죽었고, 내 진단도 두 군데가 틀렸다 |
| 네 개의 주기 | 학습을 한 덩어리로 본 게 과설계의 진짜 원인이었다 |
| 감지기 | 죽음을 감지하려고 만든 것이 먼저 오탐을 냈다 |
무엇을 막는가
늘어나기만 하는 메모리는 결국 안 읽히는 메모리다. 이 루프의 일은 “더 배우기”보다 “아직 로드될 만큼 작게 유지하기” 에 가깝다 — 삭제가 추가만큼 중요하고, 그건 내가 자리를 비운 채로 일어나면 안 되는 종류의 판단이다.