Context Lifecycle Management

이 문서는 CCAF Domain 5를 이해하기 위한 개념 설명용 노트다.
여기서는 문맥을 단순히 많이 담아 두는 저장 공간이 아니라, 생성되고, 유지되고, 갱신되고, 낡고, 폐기되어야 하는 수명주기를 가진 운영 자산으로 이해하는 데 초점을 둔다.

왜 context를 lifecycle로 봐야 하는가

에이전트 시스템에서 문맥은 계속 쌓아두면 좋은 것이 아니다.
처음에는 유용했던 정보도 시간이 지나면:

  • 더 이상 현재 상태를 반영하지 않거나
  • 이미 다른 결과로 대체되었거나
  • stale한 tool result가 되었거나
  • 현재 작업을 방해하는 오염원이 될 수 있다

즉 context는 기억처럼 보이지만, 실제로는 유효기간이 있는 작업 재료에 가깝다.

그래서 중요한 것은 많이 유지하는 것이 아니라,

무엇이 아직 살아 있는 문맥이고, 무엇이 이미 낡았는지를 판단하는 것

이다.


context lifecycle이란 무엇인가

문맥 수명주기라는 말은 거창해 보이지만 뜻은 단순하다.
문맥은 보통 다음 흐름을 거친다.

  1. 생성된다

    • 대화에서 생기거나
    • 도구 결과로 들어오거나
    • 작업 계획에서 정리된다
  2. 유지된다

    • 이후 판단의 근거로 계속 사용된다
  3. 갱신되거나 대체된다

    • 새 도구 결과나 새 결정이 이전 내용을 바꾼다
  4. stale해진다

    • 더 이상 현재 상태를 반영하지 못한다
  5. 폐기되거나 다른 형태로 넘겨진다

즉 context management는 단순 저장이 아니라,

문맥의 생성, 유지, 갱신, stale화, 폐기를 관리하는 일

이다.


fresh context와 stale context는 어떻게 다른가

이 구분은 D5 전체의 핵심이다.

fresh context

현재 작업 판단에 아직 직접적으로 유효한 문맥이다.

예:

  • 방금 확인한 파일 상태
  • 최근 테스트 결과
  • 아직 유지 중인 작업 목표
  • 최신 사용자 요구사항

stale context

예전에는 맞았지만 더 이상 기본 전제로 삼아서는 안 되는 문맥이다.

예:

  • 수정 전의 파일 상태
  • 오래된 로그 결과
  • 이미 해결된 TODO
  • 바뀐 요구사항 이전의 계획

즉 stale context는 단순히 “틀린 정보”와 같지 않다.
더 정확히는:

지금 시점에서 더 이상 기본 전제로 삼으면 안 되는 정보

다.


derived context는 왜 따로 봐야 하는가

문맥은 원본 그대로만 존재하지 않는다.
많은 경우 문맥은 해석되거나 요약된 형태로 다시 들어온다.

예:

  • 장황한 로그를 요약한 메모
  • 여러 도구 결과를 종합한 summary
  • 긴 논의를 압축한 checkpoint
  • 파일 여러 개를 읽고 정리한 design note

이런 것은 derived context다.

이게 중요한 이유는:

  • 원문보다 짧고 효율적일 수 있지만
  • 해석자의 판단이 섞여 있고
  • 원본의 일부 nuance를 잃을 수 있기 때문이다

즉 lifecycle 관점에서는 원문과 derived context를 같은 수준으로 취급하면 안 된다.


왜 이게 reliability 문제인가

문맥 수명주기를 관리하지 않으면, 에이전트는 단순히 “많이 아는” 상태가 아니라 낡은 전제를 붙잡은 채 계속 추론하는 상태가 된다.

그 결과 잘못된 결론, 잘못된 도구 선택, 불필요한 재작업, 오래된 결과를 기반으로 한 자신감 있는 오류가 생긴다. 이는 곧 장기 실행 에이전트의 신뢰성 문제로 이어진다.

즉 context lifecycle management의 핵심은 기억력보다,

문맥 유효성(validity)을 지속적으로 재평가하는 것

이다.


흔한 오해

“문맥은 많을수록 좋다”

아니다. 오래된 문맥은 오히려 판단을 오염시킬 수 있다.

“stale context는 그냥 틀린 정보다”

그보다 넓다. 지금 시점에서 더 이상 기본 전제로 삼으면 안 되는 정보다.

“요약된 문맥은 항상 더 효율적이므로 더 좋다”

아니다. derived context는 효율적일 수 있지만, lifecycle상 별도 주의가 필요한 해석 결과다.


한 문장 요약

좋은 context management는 문맥을 많이 쌓는 것이 아니라, 문맥의 생성·유지·갱신·stale화·폐기라는 수명주기를 관리하는 것이다.