반응형

부제: 필드 이름 하나가 정책을 잘못 설명하고 있었다
기억에 "언제까지 유효한가"를 붙이고 싶었다.
부상 회복 예정일, 목표 마감일, 일시적인 계획 같은 건 시간이 지나면 의미가 바뀌니까.
그래서 만료 시점을 담는 필드를 하나 뒀고, 처음엔 이름을 valid_until이라 지었다.
bi-temporal 데이터베이스에서 흔히 쓰는 개념을 그대로 가져온 것이다.
이름이 정책을 잘못 말하고 있었다
valid_until이라는 이름은 이렇게 읽힌다.
"이 시점이 지나면 시스템이 이 기억을 무효화한다."
자동으로 유효성이 꺼지고, 아마 삭제도 되겠구나 하는 뉘앙스다.
그런데 우리 정책은 그게 아니었다.
만료됐다고 해서 그 기억을 즉시 지우지 않는다.
실제 동작은 이렇다.
- 시간이 지났다는 것만으로는 아무 일도 안 일어난다.
- 저장 공간이 꽉 차 어쩔 수 없이 뭔가 지워야 할 때, 그때 만료된 기억의 삭제 우선순위를 조금 높일 뿐이다.
- 그리고 만료 시점은 컨텍스트에 주입돼, 에이전트가 "이건 지난 계획이네" 하고 대화나 판단에서 참고한다.
즉 이건 시스템이 강제하는 유효성이 아니라, 에이전트가 참고하는 중립적인 카운트다운이었다.
그래서 이름을 바꿨다
이름과 동작이 어긋나면, 다음에 코드를 여는 사람이 오해한다.valid_until을 보고 "아, 이거 지나면 자동 삭제되는구나" 하고 그에 맞춰 다른 코드를 짤 수 있다.
실제로는 안 그러는데 말이다.
그래서 valid_until을 d_day로 바꿨다.
"시스템이 강제하는 유효 기한"이라는 함의를 지우고, "그냥 D-day까지 남은 중립적 앵커"라는 뜻으로.
동작은 그대로, 이름만 동작을 정확히 말하게 고친 것이다.
정리
- 기억에 만료 시점을 담는 필드를
valid_until로 명명 (bi-temporal DB 관용어) - 그러나 우리 정책상 만료 = 즉시 삭제가 아님 — 공간 압박 때 도태 우선순위만 살짝 높이고, 값은 컨텍스트에 주입돼 에이전트가 참고
valid_until은 "시스템이 자동 무효화한다"는 오해를 부름 → 이름이 정책을 잘못 설명- 동작은 그대로 두고 이름만
d_day(중립 카운트다운) 로 변경
이름은 동작을 정확히 말해야 한다.
이름이 실제와 다른 걸 약속하면, 그 이름을 믿은 다음 사람의 코드가 어긋난다.
네이밍은 취향이 아니라 정책의 일부다.
반응형
'개발' 카테고리의 다른 글
| [백엔드] 성공이라 말하는 실패, 상태코드가 거짓말할 때 (0) | 2026.07.16 |
|---|---|
| [백엔드] BE 개발자 없이 시작 느슨한 JSONB 계약 컨텍스트 (0) | 2026.07.14 |
| [백엔드] 외부 API 선택 이론적 정확도보다 실사용 제약 (0) | 2026.07.13 |
| [open-webui] OpenAI + Anthropic Models (0) | 2024.11.20 |
| [선형대수] 전사함수와 일대일함수: ONTO and ONE-TO-ONE (0) | 2024.03.25 |