내가 직접 짠 에이전트 제어 코드, 알고 보니 이미 Claude Code에 있었다
AI 툴 업데이트를 놓치면 당신은 바퀴를 두 번 만든다
CLAUDE.md에 에이전트 행동 규칙을 20개 넘게 쑤셔넣은 적 있습니다. 그런데 실제로 지켜지는 건 절반이었어요. 처음엔 “모델이 이상하다”고 생각했습니다. 알고 보니 구조적 문제였습니다. 컨텍스트가 길어지면 초반 규칙이 희석되는 거였거든요.
그래서 커스텀 오케스트레이션 스크립트를 직접 짜기 시작했습니다. 에이전트를 “제어”하려는 시도였죠. allowlist도 정성껏 세팅했는데 권한 프롬프트는 계속 걸렸고, 이유를 한동안 몰랐습니다.
그러다 Claude 4.8 출시 노트를 훑다가 Dynamic Workflows를 발견했습니다. “수백 개의 병렬 서브에이전트를 오케스트레이션한다”는 설명을 보고 잠깐 멈췄어요. 제가 직접 만들어 쓰던 커스텀 스크립트와 개념이 거의 같았거든요. 이미 있었고, 더 잘 만들어져 있었습니다.
CLAUDE.md 과적재 문제도 마찬가지였습니다. 해결책은 이미 설계되어 있었어요. 무거운 절차는 스킬로, 결정론적 규칙은 훅으로 빼면 됩니다. 스킬은 트리거되는 그 순간에 작업 바로 옆에 주입되니 준수율이 올라가고, 훅은 exit code 2로 모델 판단을 아예 거치지 않고 결정론적으로 강제합니다. allowlist가 계속 걸렸던 것도 알고 보니 보안 휴리스틱이 설계상 allowlist를 덮어쓰는 알려진 버그 때문이었고요.
이 4가지 레버 — CLAUDE.md, 스킬, 커맨드, 훅 — 는 각자 다른 신뢰도와 비용을 가집니다. 각 레버가 “항상/조건부/수동/결정론적” 중 어느 축인지 구분하는 감각만 있으면, 문법은 그때그때 찾으면 됩니다. 이걸 몰랐을 때는 죄다 CLAUDE.md에 때려넣고 “왜 자꾸 까먹지”를 반복했던 거예요.
교훈은 단순합니다. 에이전트 툴링은 반년 단위로 추상화 레이어가 올라갑니다. 작년에 직접 엔지니어링이 필요했던 영역이 올해의 설정값이 됩니다. 빌더에게 필요한 건 화려한 커스텀 하네스보다, 업데이트를 주기적으로 확인하고 기본기능에 충실한 태도입니다.
지금 쓰는 AI 도구의 최근 업데이트 노트를 열어보세요. 지난달에 직접 짰거나 우회해서 해결한 문제가 이미 기본기능으로 들어와 있을 수 있습니다.
심화: 에이전트가 내 말을 안 듣는다면 — 4레버 방법론 · 스킬의 비밀 — 자연어가 로직이 되는 순간 함께 보기: 구현이 공짜가 된 세상에서 — 병목이 위로 이동했다 · 빌드플랜 스킬로 개발 시간 단축하기