AI 코딩 에이전트의 스킬은 왜 점진적으로 공개되어야 하는가
Lead: 좋은 AI 코딩 에이전트는 기능이 많아 보이는 제품이 아니다. 처음엔 작고 분명하게 시작하고, 필요할 때만 더 깊은 층을 꺼내 쓸 수 있는 제품이다. 스킬 시스템의 진짜 가치는 기능 수가 아니라 순서 설계에 있다.
TL;DR
- 에이전트 제품의 병목은 기능 수가 아니라 보여주는 순서다.
- progressive disclosure는 UI 패턴이 아니라 컨텍스트 예산을 지키는 설계다.
- 스킬, 훅, 프롬프트, 서브에이전트, MCP는 한 번에 다 노출할수록 무거워진다.
- 좋은 제품은 먼저 바로 쓸 수 있음을 보여주고, 그다음 더 깊게 확장 가능함을 보여준다.
왜 지금 중요한가
AI 코딩 에이전트는 점점 강해지고 있다. 그런데 사용자가 느끼는 복잡도도 같이 커지고 있다. 이유는 간단하다. 능력이 늘수록 설명해야 할 층도 늘어나기 때문이다.
사용자는 이런 질문을 한 번에 받으면 바로 피곤해진다.
- 스킬은 언제 로드되는가?
- 훅은 어디서 개입하는가?
- 프롬프트는 어디까지 책임지는가?
- 서브에이전트는 언제 필요한가?
- MCP는 기능인지, 연결인지, 권한인지?
이 질문을 한 화면에 전부 던지면 제품은 똑똑해 보여도 쓰기 어렵다. 반대로 질문을 층으로 나누면 제품은 덜 무섭고, 더 빨리 이해된다.
이번에 읽은 세 신호가 정확히 그 방향을 가리킨다.
- Claude Code 구조 설명은 복잡한 에이전트를 여러 레이어로 나눠 보여준다.
- 브라우저 안에서 끝나는 SQL→ERD 도구는 먼저 로컬 실행과 no-upload를 보여준다.
- 루프 엔지니어링은 반복보다 목표, 검증, 종료 조건을 먼저 설계하라고 말한다.
즉, 지금 중요한 건 기능을 더 얹는 일이 아니라 어떤 순서로 드러낼지다.
핵심 흐름
좋은 에이전트 제품은 보통 아래 순서로 이해된다.
flowchart LR
A[사용자 의도] --> B[가장 작은 성공 경로]
B --> C[필요한 스킬만 로드]
C --> D[확장 기능은 점진적으로 공개]
D --> E[검증 / 종료 / 공유]
이 그림에서 핵심은 박스의 개수가 아니다. 먼저 보여줄 것과 나중에 보여줄 것이 분리되어 있다는 점이다.
1) 스킬은 많을수록 좋은 게 아니라, 적시에 열릴수록 강하다
스킬 시스템의 장점은 기능을 많이 넣는 데 있지 않다. 사용자가 지금 당장 필요한 기능만 가볍게 꺼내 쓸 수 있다는 데 있다.
그래서 스킬은 항상 두 가지 질문을 통과해야 한다.
- 이 스킬은 지금 필요한가?
- 이 스킬을 지금 보여주면 이해 비용이 늘어나는가?
만약 답이 아니오라면, 그 스킬은 숨겨야 한다. 숨긴다는 뜻은 버린다는 뜻이 아니다. 나중에 열리게 설계한다는 뜻이다.
이게 progressive disclosure의 핵심이다. 정보 은닉이 아니라 부하 분산이다.
2) local-first 신뢰는 첫 접점에서 시작된다
브라우저 안에서 끝나는 SQL→ERD 도구가 강한 이유는 화려해서가 아니다. “아무것도 업로드하지 않는다”는 문장이 먼저 있기 때문이다.
이 문장은 AI 코딩 에이전트에도 그대로 적용된다.
- 사용자의 코드가 어디로 가는지
- 민감한 입력이 어디서 멈추는지
- 로컬에서 끝나는 부분이 무엇인지
- 외부 연결은 언제 필요한지
이런 경계가 먼저 보여야 제품이 믿어진다. 스킬도 마찬가지다. 모든 능력을 한꺼번에 펼치는 대신, 지금 안전하게 쓸 수 있는 가장 작은 경로를 먼저 보여줘야 한다.
3) 루프는 반복이 아니라 공개 타이밍을 조절하는 장치다
루프 엔지니어링은 “계속 돌려라”가 아니다. 실제로는 “언제 더 보여줄지”를 조절하는 장치에 가깝다.
처음에는 목표만 제시한다. 그다음 루프가 돌며 결과를 확인한다. 마지막에는 검증된 결과만 남긴다.
이 구조가 중요한 이유는 명확하다.
- 목표를 먼저 주면 사용자가 방향을 안다.
- 루프를 나중에 주면 과잉 노출을 피할 수 있다.
- 검증을 마지막에 두면 제품이 불안한 자동화가 아니라 신뢰 가능한 작업이 된다.
즉, 좋은 루프는 스킬 공개와 같은 철학을 가진다. 필요할 때만 깊어지고, 끝날 때는 명확하다.
실제 사례 / 원문에서 본 신호
세 자료를 제품 언어로 바꾸면 더 선명해진다.
Claude Code 구조 설명이 주는 힌트
복잡한 에이전트는 기능 목록보다 어느 층이 먼저 보이는지가 중요하다. 입력, 지식, 실행, 관측, 통합이 분리되어 있으면 사용자는 제품을 더 빨리 이해한다.
SQL→ERD 도구가 주는 힌트
민감한 입력이 있는 제품은 더 많은 기능보다 더 적은 불안을 팔아야 한다. 브라우저 안에서 끝나고, 업로드가 없고, 바로 결과를 보여주는 순서가 신뢰를 만든다.
루프 엔지니어링이 주는 힌트
반복 자체는 별것 아니다. 중요한 건 무엇을 반복할지, 언제 멈출지, 무엇으로 성공을 판단할지다. 이 세 가지가 있어야 자동화가 제품이 된다.
이 셋을 합치면 하나의 결론이 나온다.
AI 코딩 에이전트는 기능을 나열하는 제품이 아니라, 기능을 드러내는 순서를 설계하는 제품이다.
실전 활용 팁: 독자가 바로 써볼 행동
이 관점은 작은 AI 유틸이나 에이전트 도구를 만드는 팀에 바로 연결된다.
1) 첫 화면에는 가장 작은 성공 경로만 둬라
처음부터 모든 스킬을 보여주지 말고, 사용자가 30초 안에 끝낼 수 있는 기본 경로를 먼저 둬라.
2) 고급 기능은 요청할 때만 열어라
설정, 서브에이전트, 추가 권한, 외부 연결은 사용자가 명시적으로 원할 때만 드러내는 편이 좋다.
3) 스킬은 이름보다 진입 조건이 중요하다
스킬 이름이 멋있어도, 언제 뜨고 언제 안 뜨는지 설명이 없으면 오히려 혼란만 커진다.
4) 검증 표면을 같이 보여줘라
루프형 기능이나 자동화 기능이 있다면, 결과만 보여주지 말고 무엇을 기준으로 성공으로 보는지도 함께 보여줘야 한다.
5) 로컬 경로와 외부 경로를 분리해라
무엇이 로컬에서 끝나는지, 무엇이 외부 연결을 요구하는지 분리하면 신뢰가 빠르게 쌓인다.
바로 해볼 실험
- 제품의 기능 목록을 전부 펼쳐놓고, 첫 화면에 꼭 필요한 것만 남긴다.
- 스킬과 자동화 기능을 기본/고급/전문가 세 층으로 나눈다.
- 각 층마다 “사용자가 지금 이해해야 하는 것”만 적는다.
- 검증과 종료 조건을 버튼 옆에 붙인다.
- 로컬-first 경로와 외부 연결 경로를 서로 다른 진입점으로 분리한다.
이 실험의 목표는 기능 수를 늘리는 게 아니다. 사용자가 지금 바로 쓸 수 있느냐를 높이는 것이다.
리스크 / 반론
물론 점진적 공개가 항상 정답은 아니다.
- 너무 많이 숨기면 고급 사용자가 답답해한다.
- 너무 늦게 열리면 제품이 약해 보인다.
- 기본 경로가 부실하면 순서만 좋아도 신뢰가 깨진다.
- 공개 타이밍이 애매하면 오히려 학습 비용이 커진다.
그래서 정답은 단순하다. 숨기는 것과 보여주는 것의 균형을 잘 잡아야 한다.
결론
AI 코딩 에이전트의 해자는 기능 수가 아니다. 사용자가 이해할 수 있는 순서, 믿을 수 있는 경계, 멈출 수 있는 종료 조건이다.
스킬 시스템도 결국 같은 방향으로 간다. 모든 능력을 한 번에 보여주는 제품보다, 필요한 순간에 필요한 층만 열어주는 제품이 더 빨리 믿어진다.
다음에 에이전트 제품을 설계할 때는 이 질문부터 던져보자.
- 지금 당장 보여줘야 하는 층은 무엇인가?
- 나중에 열어도 되는 층은 무엇인가?
- 사용자가 가장 빨리 성공하는 경로는 무엇인가?
