오늘날 AI와 대화하는 일은 단순히 텍스트를 입력하고 응답을 받는 행위를 넘어선다. 챗GPT에 메시지를 보낼 때마다 클라우드플레어 턴스타일(Cloudflare Turnstile)이 사용자 브라우저에서 은밀히 실행된다. 이 프로그램은 단순한 브라우저 지문 인식 수준을 넘어선다. 네트워크 트래픽에서 해독된 바이트코드를 보면, 턴스타일은 사용자 브라우저의 GPU, 화면, 폰트 정보뿐만 아니라, 더 나아가 챗GPT 리액트(React) 애플리케이션의 내부 상태까지 들여다본다. 구체적으로는 `__reactRouterContext`, `loaderData`, `clientBootstrap` 같은 리액트 상태 변수를 확인한다. 이는 봇 악용을 막기 위해 앱 실행 상태까지 검증하려는 오픈AI(OpenAI)의 강력한 의지를 보여준다.
이 턴스타일 바이트코드는 암호화되어 전송된다. 서버는 `prepare` 응답에서 `turnstile.dx`라는 28,000자에 달하는 베이스64(base64) 문자열을 보낸다. 이는 `prepare` 요청의 `p` 토큰과 XOR 연산으로 1차 복호화된다. 그 안에는 실제 지문 인식 프로그램이 담긴 19KB의 암호화된 블롭(blob)이 있다. 흥미로운 점은 이 내부 블롭을 복호화하는 XOR 키 `97.35`가 심지어 바이트코드 명령어 안에 부동소수점 리터럴(float literal) 형태로 직접 포함되어 있었다는 사실이다. 50번의 요청을 테스트한 결과 모두 동일한 방식으로 키가 포함되어 있었다.
이러한 정교한 감시는 AI 서비스 제공자가 자사의 리소스를 보호하기 위해 얼마나 깊이까지 사용자 환경을 파고드는지 극명하게 보여준다. AI 시대의 강력한 도구는 사용자에게 엄청난 가치를 제공하지만, 동시에 제공자는 그 가치를 무단 사용으로부터 지키기 위해 고도의 통제 메커니즘을 가동한다. 이는 우리가 AI와 상호작용하는 모든 순간에 데이터 주권과 시스템 통제에 대한 근본적인 질문을 던진다. 결국 개발자와 창업가에게 남는 질문은 명확하다. 우리가 이러한 통제 환경 속에서 어떻게 AI의 진정한 잠재력을 최대한 발휘하고, 나아가 우리의 작업 주도권을 강화할 것인가?
AI 코딩은 도구 설치가 아니라 레이어를 파악하는 일이다
AI 코딩 도구가 쏟아져 나오면서 개발자들은 혼란을 겪는다. 무작정 여러 도구를 설치하지만, 체감하는 생산성 향상은 미미하다는 불만이 나온다. 실제로 `gstack`, `Superpowers`, `Compound Engineering` 같은 인기 도구 세 개를 깔아도 뭔가 겹치고 빠지는 듯한 느낌이 드는 경우가 허다하다. 이는 도구 선택의 문제가 아니라, AI 코딩 시대에 필요한 '레이어'를 구분하고 활용하는 능력의 부재에서 기인한다. 인간의 역할이 작업자에서 조율자로 바뀌면서, 이 조율의 대상인 레이어가 먼저 눈에 보여야 한다.
AI 코딩 환경은 크게 세 가지 레이어로 구성된다. 첫째는 의사결정 레이어다. 이는 "만들지 마"라고 말해주는 관문 역할을 한다. 예를 들어, YC(Y Combinator)가 추천하는 `gstack`의 `/plan-ceo-review`는 제품 관점에서, `/plan-eng-review`는 아키텍처 관점에서 작업을 검증한다. 두 게이트를 통과해야만 코드에 손을 댈 수 있다. `/qa`는 실제 브라우저를 열어 사용자처럼 클릭하는 독립 검증을 수행한다. "잘 만드는 능력"보다 "안 만들 걸 거르는 능력"이 아웃풋 차이를 더 크게 만들었다는 것은 이 레이어의 중요성을 강조한다.
둘째는 프로세스 레이어다. 이는 즉흥적인 작업이 아닌 절차를 심어주는 워크플로우를 담당한다. 클로드 코드(Claude Code) 생태계에서 12만 스타를 받은 `Superpowers`는 `brainstorm → plan → execute → review`라는 구조화된 워크플로우를 제공한다. 이는 "AI에게 대충 시키기"에서 "구조화된 워크플로우"로 넘어가는 핵심 관문이다. subagent 기반의 스펙 리뷰어와 코드 품질 리뷰어가 포함되어 작업의 체계성을 높인다.
셋째는 지식 레이어다. 어제 삽질한 기록이 오늘의 자산이 되는 구조를 만든다. `Compound Engineering`의 `/ce:compound` 명령어는 버그 수정이나 기능 완성 후 실행하면 5개 subagent가 병렬로 작동한다. 대화 맥락 추적부터 해법 추출, 기존 문서 중복 검색, 재발 방지 전략, 카테고리 분류까지 자동으로 `docs/solutions/`에 기록한다. 일주일 뒤 비슷한 에러가 발생했을 때, `plan` 단계에서 이전 기록을 먼저 찾아주어 몇 시간짜리 디버깅을 몇 분으로 단축시킨다. 이는 지식이 세션마다 증발하는 문제를 해결하고, 팀의 경험을 누적 자산으로 전환한다. 이 세 가지 레이어를 이해하지 못하면, 아무리 좋은 AI 도구를 가져다 써도 단편적인 생산성 향상에 그친다. 레이어를 보는 눈이 도구보다 먼저다.
AI, 팀의 ‘문제 해결 주도권’을 되찾아 주다
AI는 단순히 개인의 생산성을 높이는 도구를 넘어 팀의 일하는 방식을 근본적으로 바꾼다. 클로드 코드를 전사 도입한 한 달 만에 나타난 변화는 이러한 흐름을 명확히 보여준다. 처음에는 개인 생산성 향상 도구로 인식되던 AI가, 시간이 지나자 각 팀이 자신들의 반복 업무를 직접 자동화하고 앱으로 만드는 수준으로 확장되었다. 이는 소수의 숙련자만 쓰는 도구가 아니었다. 오히려 각 팀이 자신들의 불편한 작업을 하나씩 자동화하며 빠르게 적응했다.
CSM(Customer Success Management)팀은 콜 로그, 미팅 로그, 결제 더블체크 같은 반복 업무를 자동화했다. CX(Customer Experience)팀은 사용가이드 자동화, FAQ 자동 생성, TASK 자동 생성, 서류 자동 발급, 온보딩과 평가 보조 등 여러 앱을 직접 만들어냈다. 단순히 문장을 다듬거나 초안을 만드는 단계를 넘어, 실제 업무 흐름을 줄이고 바꾸는 방향으로 활용이 진화했다. 이 변화의 핵심은 '생산성'을 넘어선 '주도권'에 있다.
과거에는 팀 내 불편이나 비효율이 있어도 개발팀의 지원을 기다리거나, 사람을 더 투입하는 방식으로 해결했다. 하지만 AI는 각 팀이 자신들의 문제를 직접 자동화하고, 직접 앱으로 만들고, 직접 해결 가능한 형태로 바꿀 수 있는 도구를 제공한다. AI는 단순히 일을 조금 빠르게 만드는 것을 넘어, 문제 해결의 주도권을 팀 안으로 다시 가져오는 강력한 수단이 된다. 팀이 스스로 변화를 만들고 주도권을 갖게 되면서, 조직 전체의 민첩성과 혁신 역량은 크게 증진된다.
이러한 변화는 팀 리더와 개발자에게 새로운 기회를 제공한다. 팀이 직면한 고유한 문제를 AI로 해결하는 능력을 내재화하면, 외부 자원에 대한 의존도를 줄이고 내부 역량을 강화한다. 조직은 더욱 분권화되고, 각 팀은 자신의 도메인에서 최고의 전문가이자 문제 해결자로 거듭난다.
오늘날 AI는 우리가 어디서 어떻게 통제받고 있으며, 동시에 어디서 어떻게 통제력을 되찾을 수 있는지 명확히 보여준다. 단순히 최신 AI 도구를 도입하는 데 그치지 않고, 의사결정, 프로세스, 지식 축적이라는 세 가지 AI 코딩 레이어를 명확히 이해하고 활용해야 한다. 그리고 이를 통해 팀이 스스로의 문제를 정의하고 해결하는 주도권을 쥐게 해야 한다. 지금 당장 팀 회의를 열어 '우리 팀의 AI 활용 SKILL.md'를 작성해 보라. 특히 의사결정, 프로세스, 지식 축적 관점에서 어떤 AI 도구가 어떤 역할을 하며, 어떤 부분에서 여전히 빈 레이어가 존재하는지 명확히 정의하라.