에이전트가 에이전트를 관리하는 시대
AI 코딩 도구의 진화 속도가 다시 한 번 임계점을 넘었다. ZDNet 보도에 따르면 Cursor가 신규 에이전트 기능 Automation을 공개했다. 코드베이스 변경, Slack 메시지, 타이머 같은 이벤트를 트리거 삼아 에이전트가 자동으로 실행되는 구조다. 개발자가 직접 실행 버튼을 누르지 않아도 코드 리뷰, 보안 감사, 서버 로그 분석이 돌아간다.
이 흐름이 흥미로운 건 단순한 기능 추가가 아니기 때문이다. 기존 AI 코딩 도구가 '내가 시키면 AI가 한다'는 구조였다면, Automation은 '이벤트가 발생하면 AI가 알아서 한다'로 패러다임을 바꾼다. Cursor의 엔지니어링 책임자 조나스 넬은 "AI 코딩 과정에 에이전트 자동화가 도입돼 개발자가 해야 하는 작업의 범위와 방식 자체가 달라질 것"이라고 말했다. 실제로 연간 매출 20억 달러를 돌파하며 3개월 만에 두 배 성장한 Cursor의 수치는, 이 방향에 시장이 얼마나 빠르게 반응하는지를 보여준다.
하지만 자동화가 깊어질수록 반드시 따라오는 질문이 있다. 개발자는 여전히 제어권을 갖고 있는가? 수십 개의 에이전트가 동시에 돌아가는 환경에서 인간의 주의력이 병목이 된다는 건 Cursor 스스로도 인정하는 문제다. 자동화로 병목을 해소하되, 에이전트가 의도치 않은 방향으로 흘러가지 않도록 하는 구조적 장치가 필요해진다.
Claude Code Hooks: 에이전트를 '껍데기'로 감싸는 방법
dev.to에 공개된 Claude Code 사용자의 사례는 이 문제에 대한 실용적인 답을 보여준다. Claude Code의 Hook 시스템은 LLM 기능이 아니다. 에이전트의 라이프사이클 이벤트(도구 호출 전후, 세션 시작·종료)에 shell script를 끼워 넣는 구조다. 단순하지만 강력하다.
이 개발자가 구축한 시스템 중 가장 인상적인 건 PreToolUse 훅으로 만든 Safety Guardrail이다. 허용된 디렉터리 바깥에 대한 쓰기를 원천 차단하고, rm -rf /처럼 위험한 명령 패턴을 exit 2로 막는다. 중요한 건 이게 모델 지시사항이 아니라 아키텍처적 강제라는 점이다. CLAUDE.md에 '이렇게 해줘'라고 적어두는 것과 shell script로 exit 2를 던지는 것은 근본적으로 다르다. 전자는 모델이 무시할 수 있지만, 후자는 불가능하다.
SessionStart 훅은 또 다른 통찰을 준다. 매 세션마다 현재 vault 상태, 열린 스레드, 최근 파일 등 신선한 컨텍스트를 자동으로 주입한다. 사람이 매번 직접 컨텍스트를 세팅하지 않아도 에이전트는 항상 최신 상태에서 시작한다. 자율 크론 세션처럼 인간이 개입하지 않는 환경에서 특히 중요한 패턴이다.
Stop 훅은 세션 종료 시 대화에서 의미 있는 관찰을 추출해 Firestore에 저장한다. 메모리 시스템이 수동 노트 없이 매 세션마다 자동으로 쌓인다. 이 개발자가 강조하는 원칙 하나가 눈에 띈다. "메모리 시스템 실패가 세션 종료를 막아선 안 된다." 훅의 사이드이펙트보다 에이전트의 본 작업이 항상 우선이어야 한다는 것이다. 자동화 시스템 설계의 핵심 철학이다.
Cursor Rules 검증: 커뮤니티 규칙을 그대로 쓰면 안 되는 이유
에이전트에게 행동 지침을 주는 또 다른 레이어, Cursor Rules도 같은 맥락의 문제를 안고 있다. dev.to의 검증 가이드는 직접적이다. awesome-cursorrules에서 가져온 인기 규칙 4개를 린터로 돌렸더니 100%가 YAML frontmatter 누락, 75%가 2000자 초과, 50%가 모델이 무시하는 모호한 언어를 포함하고 있었다.
문제의 구조는 단순하다. frontmatter가 없으면 Cursor는 규칙을 언제 적용할지 모른다. 규칙이 너무 길면 매 요청마다 컨텍스트 윈도우를 낭비한다. "try to keep functions small" 같은 제안형 문장은 모델의 행동을 실제로 바꾸지 않는다. 그리고 기존 규칙과 충돌하면 Cursor는 경고 없이 둘 중 하나를 선택한다.
5가지 검증 체크리스트는 명확하다. ① YAML frontmatter 존재 여부, ② 본문 2000자 이하, ③ 단일 관심사 집중, ④ 명령형 언어 사용, ⑤ 기존 규칙과의 충돌 없음. npx cursor-doctor lint 하나로 이 다섯 가지를 자동으로 체크할 수 있다. 커뮤니티 규칙을 그대로 붙여 넣기 전에 10초만 투자하면 된다.
시사점: 자동화의 깊이만큼 검증의 깊이도 필요하다
세 가지 사례는 하나의 메시지로 수렴한다. AI 코딩 워크플로우가 자동화될수록, 개발자의 역할은 '실행'에서 '설계와 검증'으로 이동한다.
Cursor Automation은 에이전트가 스스로 태스크를 트리거하고 실행한다. Claude Code Hooks는 에이전트가 실행되는 모든 순간에 개발자의 의도를 코드 수준에서 강제한다. Cursor Rules 검증은 에이전트에게 주는 지침 자체가 올바르게 작성됐는지를 담보한다. 이 세 층위가 맞물려야 비로소 '의도한 대로 작동하는' 자동화 시스템이 된다.
전망: 에이전트 오케스트레이션 레이어의 부상
앞으로 프론트엔드 개발 워크플로우에서 진짜 경쟁력은 '어떤 AI 도구를 쓰느냐'보다 '에이전트를 어떻게 설계하고 제어하느냐'에서 갈릴 가능성이 높다. OpenAI, Anthropic, Cursor가 동시에 에이전트 기능을 강화하는 지금, 도구 선택은 점점 상향 평준화된다. 반면 훅 구조 설계, 규칙 아키텍처, 안전 경계 정의는 팀마다 다르고, 이 차이가 실제 개발 속도와 품질의 격차를 만든다.
프로토타입을 빠르게 만드는 것도 중요하지만, 에이전트가 밤새 돌아가는 환경에서 아침에 열어봤을 때 원하는 결과가 나와 있으려면 그 전날 밤 설계가 더 중요하다. 자동화는 개발자를 한가하게 만드는 게 아니라, 더 높은 추상화 층위의 의사결정을 요구한다. 제어권을 잃지 않는 법은 결국, 설계 단계에서 제어 구조를 미리 심어두는 것이다.