AI 시대의 "말 없는 마차"
(koomen.dev)- AI로 소프트웨어를 만드는 일은 재미있고 생산적인 반면, 대부분의 AI 앱은 기존 방식을 흉내낸 "말 없는 마차(horseless carriage)" 처럼 비효율적임
- Gmail의 AI 이메일 도우미는 지나치게 형식적인 결과를 만들어내며 사용자 맞춤형 경험을 제공하지 못함
- 진짜 유용한 AI 앱은 사용자가 System Prompt를 수정할 수 있도록 하여 개인화된 에이전트를 만들 수 있게 해야 함
- AI 시대의 이상적인 앱은 기존 프로그램을 흉내내는 것이 아닌, 사용자의 반복 작업을 줄이고, 자동화를 통해 진정한 생산성을 향상시키는 AI 네이티브 소프트웨어여야 함
- AI의 진정한 잠재력은 일상 업무 자동화를 통해 사용자가 중요하고 창의적인 일에 집중할 수 있도록 돕는 데 있음
AI로 만든 앱보다, AI를 활용한 소프트웨어 제작이 더 즐거운 이유
- 최근 흥미로운 사실을 깨달았음: 대부분의 AI 기반 앱을 사용하는 것보다, AI를 사용해 소프트웨어를 직접 제작하는 것이 더 즐겁고 생산적임
- AI를 개발 도구로 쓸 때는 거의 상상할 수 있는 어떤 것이든 빠르게 만들 수 있는 느낌을 받음
- 반면 많은 AI 앱은 AI 기능이 얹혀 있기만 할 뿐, 실질적인 효용성이 떨어지거나 오히려 불편함
AI 시대의 ‘말 없는 마차’
- 현재 많은 AI 앱은 본질적으로 옛날 방식의 소프트웨어 설계를 그대로 따름
- 이로 인해 LLM과 같은 강력한 모델이 불필요하게 제약받는 구조가 되어버림
- 이를 ‘AI 시대의 말 없는 마차(horseless carriages)’라고 표현함
- 자동차 초창기 디자인이 마차의 형식을 그대로 따르다가 비효율적이었던 역사와 유사
잘못 설계된 AI 앱의 사례: Gmail의 AI 어시스턴트
- Gmail은 최근 Gemini 모델을 이용해 이메일 초안을 생성해주는 기능을 출시함
- 예시에서는 사용자(필자)가 상사에게 보낼 이메일 초안을 요청함
Prompt: 상사에게 이메일 초안을 요청
- Gemini가 생성한 초안은 문법적으로는 완벽하지만, 필자가 실제 작성했을 문체와 전혀 다름
- 필자의 실제 스타일: "hey garry, my daughter woke up with the flu so I won't make it in today"
- Gemini의 결과물은 과도하게 포멀하고 부자연스러움
- 결과적으로, 직접 이메일을 쓰는 것보다 더 많은 시간이 걸림
- 필자는 이 기능을 “성과가 부족한 직원을 관리하는 느낌”이라고 표현함
- 수백만 Gmail 사용자도 이와 비슷한 경험을 했을 가능성이 높고, 그로 인해 AI가 아직 이메일을 잘 못 쓴다고 오해할 수 있음
- 하지만 문제는 Gemini 모델 자체가 아닌, Gmail 팀의 앱 설계 방식임
더 나은 이메일 어시스턴트의 예시
- 만약 Gmail이 아래와 같은 방식으로 이메일 어시스턴트를 만들었다면, 훨씬 실용적이었을 것임
이메일 리딩 에이전트 예시
-
이 데모는 이메일을 작성하는 것이 아니라, 읽고 처리하는 방식으로 작동함
-
사용된 도구:
-
labelEmail(label, color, priority)
: 이메일에 라벨을 지정 -
archiveEmail()
: 이메일을 아카이브 처리 -
draftReply(body)
: 회신 초안 작성
-
-
받은 편지함 내 이메일들은 다음과 같이 정렬됨:
- TechCrunch Weekly
- Gustaf Alströmer - founder intro?
- HackerNews Digest
- The Verge Updates
- Garry Tan - reschedule
- 등 총 12개
-
각 이메일은 자동으로 분류 및 우선순위 지정, 일부는 자동 회신 초안 생성 또는 자동 아카이브 처리
-
사용자가 정의한 System Prompt에 따라 각 이메일이 개별적으로 처리됨
-
사용자는 직접 System Prompt를 수정하여, 본인의 라벨링 논리를 반영 가능
이 방식이 훨씬 더 강력하고 직관적이며 생산적인데, 왜 Gmail 팀은 이런 설계를 하지 않았을까?
- 문제의 핵심: "전형적이고 일률적인 톤"
- Gmail의 설계에서 비롯된 가장 큰 문제 중 하나는 전형적이고 개성 없는 문체
AI Slop: 형식적이고 어색한 출력물
- Gmail의 Gemini가 생성한 이메일 초안은 지나치게 장황하고 형식적이며 필자와 전혀 다른 스타일임
- 이런 결과물은 오히려 피싱 이메일처럼 보일 수 있음
- 대부분의 LLM 사용자는 이런 경험을 했으며, 이를 피하기 위해 프롬프트 해킹(prompt hacking) 이라는 전략을 자연스럽게 사용하게 됨
- 예시 프롬프트:
"let my boss garry know that my daughter woke up with the flu and that I won't be able to come in to the office today. Use no more than one line for the entire email body. Make it friendly but really concise. Don't worry about punctuation or capitalization. Sign off with “Pete” or “pete” and not “Best Regards, Pete” and certainly not “Love, Pete”"
- 예시 프롬프트:
- 결과물의 품질은 좋아지지만, 프롬프트가 지나치게 길어지고 매번 이 과정을 반복해야 한다는 점에서 비효율적임
- 이 문제의 단순한 해결책: 사용자에게 System Prompt 수정 권한을 부여하는 것
System Prompt와 User Prompt의 구분
- LLM은 본질적으로 입력된 단어(프롬프트)를 기반으로 다음 단어를 예측하는 시스템임
- 모든 입출력은 텍스트로 이루어짐
- 본문에서는 단순화를 위해 텍스트 중심 인터페이스만 다루었으며, 실제로는 음성이나 영상도 입력/출력 가능함
- OpenAI, Anthropic 등은 이를 단순화하기 위해 프롬프트를 System Prompt와 User Prompt로 분리하는 구조를 채택함
- System Prompt: 에이전트의 성격과 행동 방식을 정의 (함수에 해당)
- User Prompt: 사용자로부터의 특정 요청 또는 질문 (입력값에 해당)
- 모델의 응답: 출력값
예시:
- User Prompt: "Let my boss Garry know that my daughter woke up with the flu this morning and that I won't be able to come in to the office today."
- Gmail의 추정 System Prompt:
- "You are a helpful email-writing assistant responsible for writing emails on behalf of a Gmail user. Follow the user’s instructions and use a formal, businessy tone and correct punctuation so that it’s obvious the user is smart and serious."
- 문제는 Gmail이 이 System Prompt를 공개하지 않으며, 사용자에게 수정 권한도 주지 않는다는 점
Pete의 사용자 정의 System Prompt
-
Gmail이 일률적인 System Prompt 대신, 사용자에게 직접 작성 권한을 부여했다면 다음과 같이 작성했을 것임:
You're Pete, a 43 year old husband, father, programmer, and YC Partner.
You're very busy and so is everyone you correspond with, so you do your best to keep your emails as short as possible and to the point. You avoid all unnecessary words and you often omit punctuation or leave misspellings unaddressed because it's not a big deal and you'd rather save the time. You prefer one-line emails.
Do your best to be kind, and don't be so informal that it comes across as rude. -
이와 같은 System Prompt를 기반으로 GPT에게 이메일을 생성시키면 다음과 같은 결과물을 얻을 수 있음:
Garry, my daughter has the flu. I can't come in today.
-
이 결과는 짧고, 개인적이며, 실제 사용자 스타일에 부합
-
가장 큰 장점은 이 System Prompt를 재사용할 수 있다는 점으로, 이후 작성하는 모든 이메일에도 동일한 스타일이 적용됨
사용자 프롬프트 작성의 재미와 가능성
- LLM을 가르쳐서 나처럼 생각하게 하고, 그 결과를 바로 확인할 수 있는 경험은 매우 직관적이고 즐거움
- 사용자에게는 자신의 문체를 정의하는 “나만의 System Prompt”를 작성해보는 것을 추천함
- 예시 User Prompt:
"Let my wife know I'll be home from work late and will miss dinner"
"Write an email to comcast customer service explaining that they accidentally double billed you last month."
- 예시 User Prompt:
- 좋은 결과물이 나오면 설명이 충분했다는 뜻이며, 그렇지 않다면 내용을 더 보완해서 반복
- 이는 인간을 가르치는 것보다 오히려 빠르고 정직한 피드백 루프를 통해 더 쉬울 수 있음
왜 대부분의 AI 앱은 System Prompt를 노출하지 않는가?
- 2025년 4월 현재, 대부분의 AI 앱은 System Prompt를 고의로 숨기고 있음
- 필자는 이를 사용자 권한과 개성의 박탈로 보며, 더 나은 결과와 사용 경험을 위해 System Prompt는 반드시 사용자에게 개방되어야 한다고 주장함
Horseless Carriages: 새로운 기술에 대한 구시대적 적용
- 새로운 기술이 등장하면, 초기 도구들은 종종 기존 방식의 틀을 그대로 모방하며 실패함
- “말 없는 마차(Horseless Carriage)”는 초기 자동차가 말이 끄는 마차의 디자인을 그대로 따른 사례를 의미함
- 예: 1803년 Trevithick의 증기 마차 설계
- 이 디자인은 당시엔 혁신적으로 보였지만, 지금 보면 기본 구조가 자동차에 부적합
- 당시 사람들은 이런 마차를 타보며 “엔진보다 말이 낫다”고 생각했을 수 있음 → 자동차 등장 전까진 타당한 판단이었음
- 필자는 현재 AI 앱이 이와 유사한 상황에 있다고 주장함
- 예: Gmail의 Gemini 기능처럼 구시대적인 UX 설계에 AI를 덧붙인 경우
- 기존 사고방식은 “말을 엔진으로 바꾸자”는 수준에 머물렀음
- 지금 AI 앱도 비슷하게 “기존 앱에 AI 기능만 추가”하고 있음
Old World Thinking: 전통적 소프트웨어 설계방식의 한계
- 기존에는 컴퓨터를 활용하려면 두 가지 방식뿐이었음:
- 직접 프로그래밍하기
- 다른 사람이 만든 프로그램을 사용하기
- 프로그래밍은 어렵기 때문에 대부분은 두 번째 방식을 택함
- 이로 인해 소프트웨어 산업은 개발자와 사용자의 역할을 명확히 구분하는 방식으로 성장함
- 개발자: 소프트웨어의 일반적 동작을 결정
- 사용자: 구체적인 입력을 제공
- LLM의 System/User Prompt 구분은 이 구조를 그대로 반영함
- System Prompt = 개발자의 몫
- User Prompt = 사용자의 몫
- 하지만 이메일은 매우 개인적인 영역이며, AI가 사용자 대신 이메일을 작성한다면 개인의 문체를 반영해야 함
- 구시대 구조에서는 사용자가 프로그램을 직접 작성하지 않는 이상 개인화가 어려움
- 그러나 LLM 시대에는 사용자가 직접 System Prompt를 작성할 수 있음
- 즉, 프로그래밍 없이도 AI의 동작 방식을 설계할 수 있는 시대
사용자에게 사용자의 것을 돌려주자
- 필자의 주장: LLM이 나를 대신해 행동하는 경우, 그 방식(System Prompt)을 내가 직접 가르쳐야 함
- 물론 모든 사용자가 직접 Prompt를 처음부터 작성하고 싶어하진 않음
- Gmail은 사용자의 이메일 이력을 참고해 기본 System Prompt를 생성해줄 수 있음
- 중요한 건 그 Prompt를 사용자에게 보여주고 수정할 수 있게 해야 한다는 점
- “프롬프트를 쓸 줄 모르는 사람은 어떡하냐?” → 처음엔 그럴 수 있지만, 대부분 금방 배움
- ChatGPT의 성공 사례가 이를 입증함
- 개인적인 에이전트가 아닌 회계, 법률 등의 도메인에서는 어떨까?
- System Prompt는 해당 분야 전문가가 작성하는 게 맞지만, 전문가 자신도 각자의 문맥에 맞게 수정하고 싶어함
- 예: YC의 회계팀은 YC에 특화된 방식과 규칙, 소프트웨어 조합을 사용함
- 일반적인 회계용 AI 에이전트는 YC에서는 전혀 쓸모 없음
- 거의 모든 회계팀이 자신들만의 방식을 갖고 있으며, 그래서 엑셀과 같은 범용 도구를 선호함
- 결론: 대부분의 AI 앱에서 System Prompt는 사용자가 직접 작성·유지해야 함
AI 앱은 완성된 에이전트(agent) 가 아니라, 사용자가 자신의 에이전트를 만들 수 있는 도구(agent builder) 여야 함
개발자에게 개발자의 것을 돌려주자
- 그렇다면 개발자는 무엇을 해야 할까?
- 특정 도메인(예: 이메일, 회계장부 등)에 특화된 에이전트 빌더 UI를 설계
- 사용자들이 프롬프트를 처음부터 작성하지 않아도 되도록 템플릿과 프롬프트 생성 도우미 제공
- 사용자가 에이전트 결과물을 확인하고 수정할 수 있는 피드백 루프 인터페이스 제공
- 개발자는 또한 에이전트 도구(agent tools) 를 제공함
- 이메일 초안 제출, 자동 전송, 이메일 검색, 외부 API 연결 등
- 이 도구들은 에이전트의 행동 범위와 보안성을 제어하는 수단이 됨
- 코드로 작성된 도구를 통해 행동을 제한하는 게, 텍스트 프롬프트에서 제약하는 것보다 훨씬 안전하고 명확함
앞으로는 “프롬프트 주입(prompt injection)”을 우려하는 발상이 웃음거리가 될 수 있음
→ 텍스트 구조에서 경계를 만드는 건 허약한 추상화의 신호
→ 시스템 전체를 사용자 공간으로 인식하고 강력한 도구와 UI로 제어해야 함
이메일을 "읽는" 에이전트의 진짜 가치
- 앞서 말했듯, 더 나은 System Prompt도 이메일 초안을 처음부터 작성하는 데는 큰 시간을 절약해주지 않음
- 그 이유는 필자가 작성하는 이메일이 원래 매우 짧고 간결하기 때문임
- 즉, 사용자 프롬프트의 길이 ≒ 이메일 본문 길이
- 필자는 여러 번 실험을 해봤고, 그 결과 생성형 AI는 텍스트 생성보다는 텍스트 변환에 훨씬 강함을 체감함
- 그래서 LLM을 활용하려는 진짜 목적은 이메일을 "작성"하는 게 아니라 "읽고 처리"하는 데 있음
이메일 리딩 에이전트 데모 (gpt-4o-mini 기반)
- 사용 가능한 도구들:
-
labelEmail(label, color, priority)
: 이메일 라벨 지정 -
archiveEmail()
: 이메일 자동 아카이브 -
draftReply(body)
: 회신 초안 자동 생성
-
- 이 에이전트는 각 이메일을 읽고:
- 스팸을 잘 걸러내고
- 중요도에 따라 라벨링하며
- 요약하거나 회신 초안을 작성하고
- 불필요한 메일은 자동 아카이브함
- 심지어 몇 가지 도구만 더 추가하면:
- 구독 취소
- 일정 등록
- 청구서 자동 납부까지 가능함
- 이게 바로 AI 네이티브 이메일 클라이언트가 해야 할 일임:
→ 지루한 반복 작업을 자동화하여 사용자의 시간을 절약- 이미 Superhuman, Zero 등 일부 이메일 클라이언트가 이러한 방향으로 개발 중임
AI 네이티브 소프트웨어의 의미
- AI의 진정한 킬러 앱은 “내가 하기 싫은 일”을 컴퓨터가 대신하게 만드는 것임
- 필자가 이 글에 데모를 포함한 이유도, LLM이 실제로 이미 이런 작업들을 충분히 잘 수행할 수 있음을 보여주기 위함
- 문제는 AI 성능이 아니라 앱 설계에 있음
Gmail 팀이 만든 것은 "AI를 얹은 이메일 앱"
→ 사용자를 위한 자동화 도구가 아닌, 사람 중심의 인터페이스에 AI를 억지로 끼워 넣은 형태
- 반대로, AI 네이티브 앱은 다음과 같아야 함:
- 특정 도메인에서 사용자의 레버리지를 최대화
- 예: AI 이메일 클라이언트는 이메일 작성 시간 최소화
- 예: AI 회계 소프트웨어는 회계 처리 시간 최소화
AI 시대에 대한 기대
- 반복적이고 지루한 일은 모두 에이전트가 대신 처리
- 사용자는 중요한 일에 집중 가능
- 내가 잘하는 일, 좋아하는 일을 더 많이 할 수 있게 됨
이게 바로 필자가 AI의 미래에 흥분하는 이유
더 나은 도구, 더 나은 시간 활용, 더 높은 생산성
진짜 유용한 AI 앱은 사용자가 System Prompt를 수정할 수 있도록 하여 개인화된 에이전트를 만들 수 있게 해야 함
당연히 기능을 만드는 개발자들도 알 텐데, 탈옥이 있는 한 쉽지 않죠
시스템 프롬프트를 변경 못하게 박아놔도 탈옥이 되는데 시스템 프롬프트 변경을 여는 건 불가능한 짓입니다
원래 기능이랑 다른 용도로 싼값에 사용할 지도 모르고요
Hacker News 의견
-
언어 모델을 사용하여 메시지를 개인적으로 작성하는 것에 대해 신중하게 접근함. 이는 개인의 경험이나 지식의 구체성을 결여하고 있음
- Gemini와 같은 모델이 개인의 과거 기술 설명이나 작업의 구체성을 이해할 수 있다면 수용하기 쉬울 것임
- 그러나 대부분의 경우, 1970년대 비서가 작성할 수 있었던 이메일과 다를 바가 없음
- 개인적인 메시지 작성 시 요약이 불필요하고, 짧은 메시지를 확장하는 것은 의미 없는 잡음을 생성함
- AI를 사용하여 메시지를 작성하는 것은 정보 전달의 경계를 모호하게 만듦
-
AI 기능의 90%가 쓸모없고 가격이 비싸다고 느낌
- 코딩 AI 기능 외에 유용한 AI 기능을 찾기 어려움
- Gmail이나 iMessage의 자동 완성 기능은 LLM 이전에도 존재했음
- 이메일을 더 전문적으로 들리게 하기 위해 Gmail 기능을 사용한 적이 없음
-
Gemini는 개인 비서처럼 행동하여 사용자를 대신해 이메일을 보냄
- 개인적인 메시지를 AI로 작성하는 것은 상대방을 불쾌하게 할 수 있음
-
문법과 철자를 신경 쓰지 않는 사람들과의 소통이 불쾌함
- 철자를 잘못 쓰는 사람들을 비난하지 않지만, 능력이 있는데도 신경 쓰지 않는 것은 상대방에 대한 무관심을 나타냄
-
LLM과 연결된 인터랙티브 위젯이 재미있었음
- Gmail의 "이메일 요약" 버튼이 불필요하게 느껴짐
-
AI가 예측 가능한 스타일로 글을 작성한다고 생각하는 사람들이 많지만, 실제로는 그렇지 않음
- 텍스트뿐만 아니라 이미지 생성에도 적용 가능함
- AI가 실제 사람처럼 말할 수 있음을 알게 되면 사람들이 불편해할 수 있음
-
인터랙티브 데모가 실시간으로 진행되는 것이 좋았음
- 이메일 스타일을 분석하여 초안을 작성할 수 있음
- AI가 자동으로 이메일을 작성하고 사용자가 승인하는 방식으로 발전할 수 있음
-
AI는 사용자가 원하는 것을 알 수 없으며, 목표를 명확히 표현하는 데 어려움을 겪음
- AI가 모든 것을 처리하면 사용자가 깊이 생각하지 않게 되어 전문성과 문제 해결 능력이 제한됨
-
가장 유용한 AI 기능은 눈에 띄지 않음
- 이메일 레이블링 어시스턴트가 좋은 예시임
- "재조정" 이메일을 자동으로 해석하고 일정 변경을 제안하는 기능이 유용함
-
AI가 메시지를 대신 작성하는 것을 이해하지 못함
- 중요한 메시지의 경우 직접 작성하는 것이 의미가 있으며, 이는 살아있는 상호작용의 표현임