실제 상호작용 하나를 처음부터 끝까지 따라가 보겠습니다. "답하기만 하는 게 아니라 실행하는 어시스턴트"라는 추상적인 설명은 직접 보기 전까지는 아무것도 알려주지 않으니까요. 누군가가 이 사이트의 모든 페이지에 떠 있는 Ask-AI 버튼에 "연속 기록 기능이 있는 습관 트래커 만들어줘"라고 입력합니다. 그 문장에서부터 실행 중인 빌드까지 실제로 무슨 일이 벌어지는지, 그리고 어디에 사람의 손을 다시 올려두기로 했는지 살펴보겠습니다.
그 한 문장
아홉 단어, 구두점도 없고, 메뉴 탐색도 없고, 빌더가 어느 페이지에 있는지조차 모릅니다. 이게 입력값이고, 이 시스템이 받는 대부분의 요청과 같은 형태입니다: 명령이 아니라 바람(want)이죠. "빌더를 열고, 프로젝트 이름을 Habit Tracker로 정하고, 프롬프트 필드에 연속 기록 추적에 대한 설명을 채우고, 시작 버튼에 포커스를 맞춰줘"라고 말하는 사람은 없습니다. 그냥 원하는 것이 무엇인지 말할 뿐입니다. 이 두 표현 방식 — 바람 대 지시 — 사이의 간극이 바로 이 기능의 전부입니다.
파싱
그 문장이 어떤 언어로 들어오든 그 언어로 처리됩니다 — 이 제품 전반에서 20개 언어를 지원하며, 플랫폼의 더 폭넓은 다국어 방침과도 일치합니다. 어시스턴트는 고정된 영어 스크립트 위에서 번역 계층을 돌리는 게 아니라, 입력된 그 언어로 그대로 추론합니다. "연속 기록 기능이 있는 습관 트래커"라는 구체적인 사례에서, 파싱은 동시에 세 가지를 해내야 합니다:
- 이것이 질문이 아니라 빌드 요청임을 인식하기
- 프로젝트 이름 추출하기
- 프롬프트 필드가 비어 있지 않을 만큼 충분한 사양 추출하기
이 중 하나라도 잘못되면 사용자는 요청한 것과 맞지 않는 빌더 화면에 도달하게 되고, 이는 아예 아무 조치도 하지 않는 것보다 더 나쁩니다 — 이제 사용자는 불일치를 알아채고, 고치고, 다시 시작해야 하니까요.
준비된 화면
이 부분은 데모에서는 과소평가되기 쉽고 실제로는 잘못 만들기 쉬운 부분입니다: 이 단계에서는 빌드를 시작하지 않습니다. 프로젝트 이름이 지정되고, 프롬프트 필드가 이미 채워지고, 실행이 클릭 한 번 앞에 준비된 상태로 빌더를 열어줄 뿐입니다. 이건 시간이 없어서 못 끝낸 지름길이 아니라 의도적인 정지 지점입니다. 페이지를 열고 폼을 미리 채우는 건 틀려도 대가가 적습니다 — 최악의 경우라도 텍스트를 수정하거나 탭을 닫으면 그만이니까요. 그래서 어시스턴트는 확인 대화상자도, "정말 이동하시겠습니까"도 없이 그냥 실행합니다.
여전히 당신의 것이었던 그 클릭
여전히 당신의 몫으로 남은 클릭
| 작업 유형 | 일어나는 일 |
|---|---|
| 되돌리기 쉬운 것 — 이동, 준비된 텍스트 | 확인 없이 자동으로 진행 |
| 돈이나 실제 컴퓨팅 자원을 소모하는 것 — 빌드 시작 | 당신의 의도적인 클릭을 기다림 |
이 지점에 도달하기까지 여러 번 논의를 주고받았고, 솔직히 어느 극단도 명백히 옳게 느껴지지 않았습니다. 모든 것을 확인받게 하면 채팅창만 덧붙인, 과거의 메뉴 세 번 클릭 경험을 다시 만든 셈이 되고, 이는 대체하려던 것보다 더 나쁩니다. 아무것도 확인받지 않으면 언젠가 모호한 요청에 대한 파싱이 잘못 추측해 아무도 요청하지 않은 실행을, 그것도 남의 돈으로 시작해버릴 겁니다. 이 예시에 정확히 대입하면 이렇습니다: 어시스턴트는 단 한 번에 로드된 빌더 화면까지 데려다주지만, 실제로 무언가를 소비하는 버튼은 여전히 진짜이고, 의도적이며, 사람이 직접 누르는 클릭으로 남습니다.
그 아래의 기반
이 흐름에서 어디에서도 보이지 않는 한 가지가 있는데, 바로 그 점이 중요합니다. 탐색, 준비된 프롬프트, 최종 빌드까지 모든 과정이 오직 당신의 워크스페이스 안에서만 일어나며, 다른 누구의 워크스페이스에서도 일어나지 않습니다. 요청을 아무리 교묘하게 표현해도 어시스턴트가 다른 테넌트에 접근하도록 설득당할 수 없는 이유는, 이것이 권한 시스템 밖에 있는 특별 취급된 채팅 기능이 아니기 때문입니다. 구조적으로 보면 이것은 플랫폼의 다른 모든 에이전트와 마찬가지로 동일한 계정별 경계 안에서 실행되는 또 하나의 에이전트일 뿐입니다. "챗봇이 이걸 볼 수 있는가"라는 별도의 질문 자체가 존재하지 않는 이유는, 그 답이 채팅 기능이 생기기도 전에 인프라 차원에서 이미 결정되어 있었기 때문입니다.
일어나지 않는 일
이 예시를 한 단계 더 따라가 보면 어시스턴트가 요청 없이 스스로 하는 일의 한계에 도달하게 되며, 그 경계가 정확히 어디인지 짚어볼 가치가 있습니다. 어시스턴트는 빌더를 열어줍니다. 그 이상은 하지 않습니다:
- 이미 승인한 금액을 초과해서 지출하지 않습니다
- 완성된 프로젝트를 당신의 이름으로 어디에도 게시하지 않습니다
- 당신 자신의 워크스페이스 샌드박스를 벗어나 외부 세계에 영향을 미치는 어떤 행동도 하지 않습니다
이 전체 범주에는 어시스턴트가 대신 처리해주는 경로가 아예 없습니다 — 더 엄격한 확인 절차조차 없습니다. 프로젝트를 공개하고 싶다면, 지금까지 항상 그래왔던 것처럼 직접 찾아 눌러야 하는 버튼입니다.
정지 지점이 지금 위치에 있는 이유, 더 안전해 보이는 다른 곳이 아니라
이 각 단계마다 권한을 묻도록 만들고 그것을 신중함이라 부를 수도 있었습니다. 하지만 저는 그것이 신중함이 아니라, 이 기능이 없애려고 했던 바로 그 번거로운 작업을 더 느린 버전으로 만드는 것에 불과했을 거라 생각합니다. 빌드 버튼의 위치만 알려주는 챗봇은 잘못돼도 피해 범위가 작습니다 — 30초를 낭비하고, 살짝 짜증나고, 지출은 없습니다. 실제 빌드를 준비하는 어시스턴트는 가드레일이 제대로 되어 있지 않으면 더 큰 대가를 치르게 되는데, 이것이 바로 지출 전 확인 단계가 존재하는 진짜 이유입니다 — 책임감 있어 보이려고 덧붙인 안전장치가 아니라, 실패 시나리오가 어디에 떨어질지 지켜보고 정확히 그 지점에 정지선을 둔 것입니다. 그 지점 이전의 모든 것 — 문장을 읽고, 화면을 준비하고, 완료까지 클릭 한 번만 남겨두는 것 — 은 어떤 권한도 필요하지 않았습니다. 그 무엇도 당신에게 해를 끼칠 수 없기 때문입니다.



