Chat is all you need

개인용 소프트웨어와 코딩, 워크플로 자동화, 정보 검색이라는 네 가지 영역이 모두 채팅 인터페이스로 수렴하고 있다는 주장을 실제 사용 사례로 풀어낸 글입니다. 진짜 도구는 인터페이스가 아니라 그 아래에 있는 시스템과 언어라는 관점을 제시합니다.

Cover image

Grok Bot이 내놓는 출력물은 메시지 하나뿐입니다.

이 말은 거꾸로 된 이야기처럼 들릴 수도 있습니다. 파워 유저를 위한 도구라면 복잡성과 넓은 기능 범위 위에 세워지는 것이 당연하지 않습니까?

채팅이 내 워크플로를 담아낼 리가 없습니다. 내 워크플로는 특별하고, 나는 개발자이기 때문입니다.

"당신의 그 특별한 워크플로로 한번 보십시오"

그런데 만약 '파워'가 인터페이스가 아니라 그 아래에 있는 시스템에서 나오는 것이라면 어떻겠습니까? 우리는 이제 코드 대신 프롬프트를 작성합니다.

우리가 IDE를 TUI로 바꾼 이유는 진짜 도구가 터미널이었기 때문입니다. 채팅은 인터페이스에 지나지 않습니다.

우리에게 사용자 인터페이스는 필요하지 않습니다. 적어도 전통적인 의미에서는 그렇습니다. 우리에게 필요한 것은 컴퓨터입니다.

그리고 그 컴퓨터를 우리가 직접 사용하는 대신, 에이전트에게 넘겨줄 수 있습니다. 그것이 바로 Grok Bot이며, 컴퓨터를 가진 에이전트입니다.

저는 Grok Bot을 네 가지 방식으로 사용해 왔는데, 그 네 가지는 밑바닥까지 전부 채팅으로 이루어져 있습니다.

개인용 소프트웨어

AI는 코드를 작성하는 비용을 낮추었고, 개인에게 맞춘 소프트웨어를 가능하게 만들었습니다. 어떤 사람들은 그것을 '일회용' 소프트웨어라고 부르기까지 합니다.

그런데 소프트웨어란 무엇입니까?

소프트웨어는 로직과 영속적 저장소, 그리고 인터페이스로 구성됩니다. 소프트웨어는 입력을 받아서 그 입력으로 무언가를 수행한 다음, 출력을 돌려줍니다.

역사적으로 우리는 로직을 코드로 기술해 왔습니다. 그런데 점점 더 많은 경우에 우리는 로직을 영어로 기술하고 있습니다.

영속적 저장소를 마련하는 일은 예전에는 어려웠지만(데이터베이스가 필요했습니다), 지금은 영속적 저장소가 정말로 무엇이든 될 수 있습니다. CSV 파일이든, 코드 저장소든, JSON 파일이든 상관없습니다.

그러나 인터페이스는 악명 높을 정도로 어렵습니다. 인터페이스는 경직된 워크플로를 중심으로 설계되기 때문에, 확고한 방향성을 지니면서도 동시에 유연하게 변형될 수 있어야 합니다.

모든 소프트웨어에는 단순함과 기능 범위 사이의 트레이드오프가 존재합니다. 제가 만드는 것들은 단순하게 시작하지만, 금세 관리하기 어려운 상태가 되어 버립니다.

소프트웨어는 삶을 편하게 만들기 위해서 존재하지만, 대부분의 개인용 소프트웨어는 보수를 받지 못하는 두 번째 직업으로 변해 버립니다.¹ 우리에게는 더 나은 무언가가 필요합니다.

소프트웨어에서 채팅으로

제가 가장 최근에 만들었던 개인용 소프트웨어는 근력 운동 애플리케이션이었습니다.

저는 몇 주 동안 UI를 다듬고, 데이터베이스를 붙이고², 계산식을 만들어 내고, 테스트를 작성했습니다. 애플리케이션을 반복적으로 개선하기 위해서 완전한 프리뷰 배포 시스템과 괜찮은 피드백 루프까지 구축했습니다.

그런데도 새로운 엣지 케이스와 고쳐야 할 새로운 부분, 새로운 문제가 언제나 나타났습니다.

저는 메모를 적어 두었다가 클라우드 에이전트를 실행시키곤 했습니다.

천천히 나아지기는 했습니다! 그럼에도 여전히 고장이 납니다.

그러던 어느 날 저는 이런 의문을 품었습니다. 이것이 그냥 채팅이었다면 어땠을까?

Grok Bot과 대화하면서 저는 애플리케이션에서 핵심 로직을 전부 추출했습니다. 그리고 그 로직을 스킬과 MCP 서버의 묶음으로 다시 작성했습니다.³

저는 Grok에게 운동 기록을 남기기 위한 형식을 만들어 달라고 요청했습니다. 저장 계층으로는 Git을 사용하기로 결정했습니다.

이제 Grok은 매일 제게 그날의 운동을 보내 줍니다. 저는 30초짜리 음성 메모로 운동을 하나씩 기록합니다. 운동 종목을 바꾸고 싶으면 요청하고, 진행 강도가 이상해 보여도 요청하며, 기능을 추가하고 싶을 때에도 요청합니다.

이 애플리케이션은 더 유연하고 더 단순하며 더 빠릅니다. 저는 메시지 한 통으로 기능을 추가하거나 삭제할 수 있습니다. CI도 없고, 프리뷰 배포도 없으며, 고장 날 UI도 없습니다.

저는 체육관으로 걸어가면서 이 작업을 했습니다. 이동하는 동안에 애플리케이션을 갱신하고 다듬습니다.

저는 결국 제 피트니스 애플리케이션 안에 채팅 기능을 넣고 싶어졌습니다. 그런데 지금은 제 피트니스 애플리케이션 자체가 채팅입니다.

코드

"됐고, 이 사람 이야기는 그만 듣자. 챗봇으로 코드를 쓰고 있잖아." 여기까지 읽어 주신 여섯 분께 부탁드리니, 제 이야기를 조금만 더 들어 주십시오.

저는 코딩 하네스를 대체하고 있는 것이 아니라, 코딩 하네스를 호출하고 있습니다.

@SpaceXAI의 최고 엔지니어 몇 사람은 @Bot에서 작업을 시작해서 수백 개의 PR을 내보내고 있습니다.

지난주에 저는 @poteto와 마주 앉아 이야기를 나누었습니다.

그는 Grok Bot을 완벽한 "아우터 루프", 즉 컨텍스트를 넘겨주기 전에 그것을 모으고 다듬는 장소라고 표현했습니다. "컨텍스트는 귀중합니다"라고 그는 말했습니다.

에이전트는 다음 토큰 예측을 기반으로 동작하기 때문에, 에이전트에 들어가는 입력이 출력에 직접적으로 영향을 미칩니다.

채팅과 파일, 에이전트가 검색하는 대상, 에이전트가 읽는 대상이 모두 그 입력에 해당합니다.

에이전트가 접근하는 대상은 에이전트가 접근하지 않는 대상만큼이나 중요합니다.

Lauren을 비롯한 여러 사람은 Grok Bot을 사용해서 아이디어를 탐색하고 정보를 찾아내며 컨텍스트를 모은 다음, Cloud Agent를 실행시킬 프롬프트를 준비해 둡니다.

그 작업은 이너 루프 에이전트가 다루는 컨텍스트를 보호해 줍니다.

탐색적인 조사 내용을 잔뜩 집어넣어서 제 Cloud Agent를 어지럽히는 대신, 저는 필요한 것만 보낼 수 있고, 그럼으로써 컨텍스트 오염을 피할 수 있습니다.⁴

코드는 한 단계 더 위로 추상화됩니다. Cloud Agent에서 "Bot", 즉 에이전트 매니저로 올라가는 것입니다.

다행히 Cursor는 이 인계 과정을 매끄럽게 처리해 줍니다. Grok Bot이 실행시킨 에이전트들은 제 Cursor 애플리케이션 안에서 저를 기다리고 있습니다.

인간인 당신은 아우터 루프 에이전트와 대화합니다. 그리고 그 아우터 루프 에이전트가 이너 루프 에이전트들을 실행시킵니다.

코딩 도구가 이너 루프이고, 아우터 루프는 채팅입니다.

워크플로 자동화

소프트웨어가 로직과 영속적 저장소, 인터페이스에 지나지 않는다면, 워크플로 역시 소프트웨어의 한 형태입니다.

우리는 결과를 얻기 위해서 여러 도구를 연결한 워크플로를 만듭니다. 그리고 그런 워크플로에는 인간이 반드시 필요합니다.

그것은 문제가 됩니다. 인간은 실수를 저지르고, 대부분의 UI는 매우 나쁘기 때문입니다. 회계와 쇼핑, 은행 업무는 몹시 고생스러운 작업입니다.

제가 과장하고 있는지도 모르지만, 이런 웹사이트들을 상대하는 일은 실제로 인지적 부하를 발생시킵니다.

항공편을 잘못 예약해 본 적이 있습니까? 물건을 엉뚱한 주소로 주문해 본 적은 없습니까? 결제를 마쳤다고 생각했지만 실제로는 결제되지 않았던 적은 어떻습니까? 저는 그런 경험이 있습니다.

이것은 개인적인 업무 처리에만 해당하는 이야기가 아닙니다. 우리 모두는 매일 비슷한 도구들 안에서 일하고 있습니다.

AI가 약속하는 바는 우리를 쓸모없는 존재로 만드는 것이 아니라⁵, 진짜 일과 창조성에서 우리를 멀어지게 만드는 요소들을 제거하는 것입니다.

워크플로와 GUI는 우리의 기예를 보강하기 위한 것이었지만, 너무나 자주 그 기예를 대체해 버립니다. 많은 사람에게 지금은, 자유롭게 생각하고 표현하며 자신이 선호하는 바를 지시해 두면 다른 누군가가 그것을 구현해 주는 상황을 처음으로 맞이하는 시기입니다.

개인용 소프트웨어가 채팅으로 수렴할 수 있는 것과 마찬가지로, 소비자용 워크플로와 업무용 워크플로도 채팅으로 수렴할 수 있습니다.

놀라운 점은 우리에게 MCP도, 호스팅된 마크다운도, 도구도 필요하지 않다는 사실입니다.

우리에게 필요한 것은 AI와 컴퓨터, 그리고 우리가 사용하는 것과 동일한 소프트웨어뿐입니다. Grok이 바로 그런 존재이며, 컴퓨터를 가진 AI입니다.

저장된 검색

저는 온라인에서 많은 물건을 사고팝니다. 마켓플레이스를 둘러본 적이 있다면 검색 조건을 저장해 두고 다시 사용해 보았을 것입니다. 그 기능은 정말로 고마운 존재입니다.

그러나 저장된 검색은 사실 미리 적용해 둔 로직에 지나지 않으며, 하나의 워크플로입니다. 검색 조건을 저장하고 나면 저는 매우 독특한 저만의 탐색 과정을 시작합니다.

이것이 제 "소프트웨어"이며, 제가 원하는 물건을 찾기 위해서 사용하는 단순한 필터링 로직입니다. 저장된 검색 기능은 이 로직을 처리하지 못하지만, Grok Bot은 처리할 수 있습니다.

제 Grok Bot은 지금 Craigslist와 Facebook Marketplace를 함께 살펴보면서, 제 기준에 맞는 새로운 에스프레소 머신이 올라왔는지 매일 확인하고 있습니다.

Grok Bot은 메시지 초안을 작성해서 저 대신 보낼 수도 있습니다. 무엇을 사고 무엇을 사지 말아야 하는지 조언해 줄 수도 있습니다. 제가 어리석은 실수를 저지르지 않도록 확인해 줄 수도 있습니다(저는 피곤할 때 그런 실수를 자주 저지릅니다).

이것은 웹 브라우저보다 훨씬 나은 인터페이스입니다. 소비자용 UI와 기업용 UI는 채팅으로 수렴하고 있습니다.

정보 검색

지식 노동의 상당 부분은 탐색과 검색으로 이루어집니다. 질문을 던지고 답을 얻는 일입니다.

Notion과 Slack 같은 도구들은 우리가 소통하는 방식을 혁신했지만, 필요한 정보를 정확히 찾아내는 일은 여전히 지독하게 어렵습니다. 여러 출처에 걸쳐 찾아야 하는 경우에는 더욱 그렇습니다.

학습은 피드백 루프에 의해서 제약을 받습니다. 어떤 질문에 답을 얻는 데 두 시간이 걸린다면, 저는 2분 만에 답을 얻는 사람보다 더 적은 "사이클"만을 확보하게 됩니다.

이 상황은 괴로울 수 있습니다. 우리 중 많은 사람이 불안정하고 취약한 인터페이스를 통해서 플러그인과 MCP 서버를 처음 접했기 때문입니다.

그러나 플러그인과 MCP 서버는 훨씬 좋아졌으며, 여기에는 Grok Bot 팀의 공이 큽니다.

저는 Grok Bot 플러그인이 훌륭하다고 느꼈으며, 그 수준은 놀라울 정도로 훌륭했습니다. 저는 우리 코드베이스와 Slack, Notion, 제 이메일, 제 캘린더, Figma를 연결했습니다. 심지어 여러 개의 계정까지 연결했습니다.

그리고 Grok은 무언가를 찾아내는 능력이 무서울 정도로 뛰어납니다.

제가 Cursor에 합류했을 때 가장 먼저 한 일이 바로 이것이었습니다.

Cursor에서 진행한 온보딩

저는 약 일주일 만에 Cursor에 온보딩을 마쳤습니다. 첫날에는 @leerob에게 몇 가지 질문을 했습니다. 그다음에 저는 Grok Bot에 접근할 수 있는 권한을 받았습니다.

그때부터 제 온보딩은 Grok에게 던지는 수십 개의 질문으로 바뀌었습니다.

제품에 관한 질문, IT에 관한 질문, 제가 어디에 주차해야 하는지 또는 점심시간이 언제인지에 관한 질문을 던졌습니다. 출시가 보통 어떤 모습으로 진행되는지, 누가 무엇을 담당하는지, 어떤 자료가 어디에 있는지에 관한 질문도 던졌습니다.

그때마다 저는 "이건 Grok이 답하지 못할 것이다"라고 생각했습니다. 그러나 그때마다 Grok은 정말로 답을 해냈습니다.

때로는 수년간 쌓아 온 직업적 '경험'이 발동하기도 했습니다. "이건 누가 담당하지? Slack으로 물어봐야겠다."

"안 돼! (양팔을 크게 교차해서 거부를 표시하는 이모지)" 저는 스스로에게 이렇게 말하곤 했습니다(머릿속에 저 이모지를 떠올리면서 말입니다).

"Grok에게 물어보겠어! 바쁜 동료들에게 메시지를 더 보내지는 않겠어!"

알고 보니 Cursor 정도의 (그리고 이제는 SpaceX 정도의) 규모를 가진 회사에서는, 대부분의 사람이 당신과 같은 질문을 이미 해 보았고, 놀라울 만큼 많은 내용이 문서로 남아 있었습니다.

게다가 코드는 소프트웨어 이상의 것이며, 진실의 원천입니다.

Grok Bot은 우리 코드베이스를 살펴본 다음, 애플리케이션 안에서 무엇이 어디에 있는지 제게 알려 줄 수 있었습니다.⁶

질문 하나하나마다 사람에게 물어봐야 했다면 얼마나 많은 시간을 낭비했을지 상상해 보십시오. 아마 저는 지금 이 글을 쓰고 있지도 못했을 것입니다!

그리고 지금... 저는 @SpaceXAI에 온보딩하기 위해서 Grok Bot을 사용하고 있습니다.

미래는 채팅이다

작년에 우리는 IDE가 채팅으로 수렴하는 광경을 지켜보았습니다. 그리고 지금 우리는 다른 인터페이스들도 똑같이 변해 가는 모습을 보고 있습니다.

흔한 작업을 자동화하는 수준을 넘어서, Grok Bot은 제가 무엇을 만들어야 하는지 다시 생각하게 만들었습니다. 에이전트 하나와 SaaS 하나로 워크플로를 흉내 낼 수 있다면, 제가 정말로 해결책을 바이브 코딩해야 할 필요가 있겠습니까? 아니면 에이전트와 컴퓨터만으로 충분하겠습니까? SaaS는 번창하고 있지만, 이제 그 소비자는 컴퓨터를 사용하는 에이전트입니다.

채팅은 제가 가진 다른 워크플로들을 놀라울 만큼 많이 대체하고 있습니다.

이것은 조금 무서운 이야기이기도 합니다. 도구가 없다면 장인이란 무엇입니까?

그러나 진짜 도구가 영어라면, 즉 우리가 인식하고 욕망하는 바를 분명하게 표현해 내는 능력이라면 어떻겠습니까? 그리고 진짜 기예란 우리가 만들 대상에 관하여 새로운 아이디어를 떠올리는 일입니다.

채팅은 인간에게 가장 익숙한 인터페이스입니다. 최초의 iPhone에 스큐어모픽 디자인이 필요했던 이유는 인간이 촉각적인 인터페이스를 이해하고 있었기 때문입니다.

우리에게 AI와 함께 쓸 채팅 인터페이스가 필요한 이유는, 인간이 채팅을 알고 있기 때문입니다.

그리고 알고 보니 저는, 친구들을 귀찮게 하기를 좋아하는 것과 똑같은 방식으로 제 에이전트들을 음성 메모로 귀찮게 하기를 좋아합니다.

각주

¹ 당신이 개발자 관계(Developer Relations) 업무를 한다면 예외입니다 :)

² @convex@PlanetScale에게 감사를 전합니다.

³ Agent Plugins로 패키징했습니다.

@dbreunig에게 감사를 전합니다.

⁵ 효과적 이타주의자들이 늘어놓는 이야기를 따라가다 보면 우리는 이런 결론에 이를 수도 있습니다.

⁶ 예를 들면 이 트윗이 그렇습니다.