부제: LLM이 읽기 전에 쓰지 못하게 막기캘린더를 다루는 에이전트에서 가끔 사고가 났다. 모델이 기존 일정을 읽지 않고 바로 일정을 만들거나 고쳤다. 그러면 두 가지 문제가 생긴다.이미 있는 약속과 겹치는 시간에 새 일정을 덮어쓴다.수정·삭제할 때 event_id를 실제로 모르니 그럴듯한 값을 지어낸다(환각).문제프롬프트와 도구 설명(docstring)에 "먼저 조회하라"고 적어도 회귀가 반복됐다. 지시는 권고일 뿐이라, 모델이 안 지키면 그만이다.여기서 Claude Code의 패턴이 떠올랐다. Claude Code는 파일을 Write하기 전에 그 파일을 Read하지 않았으면 시스템이 거부한다. 지시가 아니라 도구 레이어에서 강제하는 방식이다. 이걸 우리 도구 레이어에 옮겨오기로 했다.정리한 방식 — ..