오케이징은 작업하면서 배운다. 사용자가 선호를 말하면 memory에 남기고, 반복되는 절차를 발견하면 skill을 고치고, 실패한 workflow는 다음에 반복하지 않게 정리한다. 이 방향 자체는 맞다. 문제는 "자동으로 배운다"를 너무 넓게 해석할 때 생긴다.
memory가 어떤 사실을 발견했다고 해서 곧바로 skill을 고치면 안 된다. context pack이 어떤 후보를 가져왔다고 해서 persistent memory에 바로 넣어도 안 된다. 그렇게 하면 한 번의 관찰, 오래된 로그, 잘못된 요약이 장기 규칙으로 굳을 수 있다.
memory와 skill은 비슷해 보이지만 역할이 다르다. memory는 사실과 선호를 담는다. skill은 절차와 판단 기준을 담는다. 이 둘이 섞이면 문제가 생긴다.
| 구분 | 담아야 하는 것 | 위험한 오염 |
|---|---|---|
| memory | 사용자 선호, 안정 경로, 환경 사실, 장기 convention | 일회성 작업 상태, 임시 TODO, 오래된 진행 상황 |
| skill | 반복 절차, 검증 명령, pitfall, 프로젝트 workflow | 한 번의 우연한 성공, 검증 안 된 팁, 특정 세션의 임시 우회 |
예를 들어 "이번 작업에서 pnpm build가 통과했다"는 사실은 session/ticket/report에 남으면 된다. 하지만 "항상 이 명령만 돌리면 된다"는 skill이 되려면 여러 번 확인되거나, 프로젝트 convention으로 검토되어야 한다.
memory가 skill을 자동으로 고치는 구조에서 제일 무서운 것은 amplification이다. 한 번 잘못된 판단이 skill에 들어가면, 다음 세션부터 그 skill이 시스템 prompt에 다시 들어온다. 그러면 오케이징은 잘못된 절차를 더 자신 있게 반복한다.
persistent memory도 마찬가지다. memory는 모든 세션에 주입되기 때문에 작은 문장 하나가 계속 영향을 준다. 그래서 memory는 짧고 안정적인 사실만 담아야 한다. 절차는 skill로, 임시 진행 상황은 ticket/session으로, raw evidence는 memory-arch로 보내야 한다.
자동 학습을 완전히 막자는 뜻은 아니다. 대신 중간 단계를 둔다. memory warehouse는 후보를 만들 수 있다. context pack, summary, workflow trace, promotion queue는 모두 "이건 장기화할 만하다"는 신호를 모으는 장치다. 하지만 최종 반영은 검증을 거쳐야 한다.
이 절차가 느려 보일 수 있지만, 장기 시스템에서는 빠른 자동 수정이 더 비싸질 수 있다. 잘못된 skill 하나를 나중에 찾아내는 비용이 훨씬 크다.
오케이징이 성숙해진다는 것은 무엇이든 즉시 기억하는 쪽이 아니다. 오히려 무엇을 기억하지 않을지, 무엇을 skill로 내리지 않을지, 어떤 사실은 source evidence로만 남길지를 구분하는 쪽에 가깝다.
그래서 memory가 skill을 자동으로 고치면 안 된다. 자동으로 후보를 만들 수는 있다. 자동으로 검토 포인트를 남길 수는 있다. 하지만 장기 규칙이 되는 순간에는 근거, 반복성, 안전성이 같이 있어야 한다. 이 선을 지키는 것이 오케이징이 오래가는 방식이다.