개인 생활 자동화를 위한 나만의 에이전트 스택

@nicbstme
영어2개월 전 · 2026년 5월 30일
308K
1.1K
73
48
3.6K

TL;DR

저자는 Codex와 GPT-5.5를 활용하여 플랫폼 간 워크플로우를 자동화하는 정교한 AI 에이전트 스택을 소개합니다. Google Drive에 데이터를 중앙 집중화하고 CLI 도구를 사용하여 원활한 생활 관리를 위한 시스템을 구축했습니다.

내 에이전트가 내 이메일, SMS, WhatsApp, Telegram 등 거의 모든 개인 생활 업무를 자동화해준다.

사람들은 내가 실제 생활에서 에이전트를 어떻게 사용하는지 계속 묻는다. 하루를 순식간에 사라지게 만드는 그 지루한 일들, 즉 WhatsApp과 Telegram을 읽고, 누군가의 이메일을 찾고, 웹을 검색하고, 인트로를 작성하고, Google Drive의 문서를 업데이트하고, 캘린더 이벤트를 만들고, 누가 아직 답장을 기다리는지 확인하고, 이미 사용하고 있는 지저분한 툴들에서 이 모든 작업을 처리하는 방법 말이다.

내 대답은 실망스러울 정도로 단순하다. 나는 Codex를 내 실제 생활 데이터 위에서 작동하는 운영자(operator)로 사용한다. 여기에는 툴, 데이터 커넥터, 스킬, 진실 공급원(source of truth)이 있다. 로컬에서 작업할 수 있는 충분한 권한과, 공개적으로 나를 곤란하게 만들지 않을 충분한 승인 게이트(approval gates)가 있다.

기본 설정은 이렇다. 툴, 데이터 커넥터, 스킬, 그리고 감각(taste)이다.

예전에는 Claude Code에서 이런 작업을 더 많이 했지만, 지금은 설정을 Codex로 옮기고 있다. GPT-5.5가 현재 이런 종류의 작업에 더 좋은 모델이기 때문이다. Claude Code에서 Codex로의 전환이 중요한 이야기는 아니다. 중요한 이야기는 모델이 충분히 좋아지면, 진정한 레버리지는 그 모델을 이미 살고 있는 세상에 연결하는 데서 나온다는 점이다.

핵심은 에이전트가 경계를 넘나들 수 있다는 것이다. 내 개인 생활은 하나의 앱에 있지 않다. Gmail, WhatsApp, Telegram, iMessage, Google Drive, 캘린더, Notion, 로컬 파일, 각종 PDF, 브라우저 세션, 그리고 보기보다 훨씬 가치 있는 연락처 스프레드시트에 분산되어 있다.

실제 커뮤니케이션 예시

며칠 전 친구가 WhatsApp 메시지를 보냈다. 그녀는 빠르게 성장하는 샌프란시스코 AI 스타트업이 프랑스에서 인력 채용을 돕고 있었고, 그들의 채용 매니저를 내가 아는 리크루터와 연결해주고 싶어 했다. 나는 그 리크루터의 이메일이 기억나지 않았다. 그 스타트업의 최근 투자 소식도 몰랐다. WhatsApp을 검색하고, Gmail을 검색하고, 리크루터의 이메일을 찾고, 웹을 검색하고, 스타트업이 왜 신뢰할 수 있는지 파악하고, 소개 이메일을 작성하고, 두 개의 채용 공고 링크를 포함시키고, 초안을 보여주고, 승인 후 이메일을 보내고, 그다음 친구에게 완료되었다고 문자를 보내야 했다.

평소에는 20분짜리 짜증나는 앱 전환 작업이다. WhatsApp에서 Gmail로, Google 검색으로, 다시 Gmail로, 또 다시 WhatsApp으로. 어려운 작업은 아니지만, 모든 단계가 작은 컨텍스트 스위치이기 때문에 정확히 집중력을 소모하는 종류의 작업이다.

에이전트를 사용하면 결과물을 요청하기만 하면 된다. 에이전트가 WhatsApp 스레드를 읽고, Gmail에서 리크루터의 이메일을 검색하고, 웹에서 스타트업의 투자 및 최근 뉴스를 조사하고, 소개 이메일을 작성하고, 내 승인을 기다렸다가, 이메일을 보내고, 친구에게 소개 작업이 완료되었다고 문자를 보냈다. 사용자가 직접 하는 부분은 약 10초가 걸렸다. 에이전트가 연결 작업(글루 워크, glue work)을 (단 몇 초 만에!) 처리한 것이다.

이것이 핵심 패턴이다. 에이전트는 "질문에 답변"하는 것이 아니다. 내 툴들 사이에서 작동하여 작은 실제 업무 흐름(일명 "처리해야 할 작업(job-to-be-done)")을 완료하는 것이다.

번호판 예시

또 다른 예시는 훨씬 더 지루해서, 내가 좋아하는 이유다. 내 차에 새 번호판을 받았다. 사진과 컨텍스트를 Codex에 보냈다. 에이전트가 Google Drive에 보관 중인 자동차 정보 Markdown 파일을 업데이트하고, 번호판을 변경하고, 등록 메모를 추가하고, 기존 VIN, 보험, 소유자, 주소를 보존한 다음 파일을 Drive에 다시 업로드했다.

이것만으로도 유용하지만, 더 나은 버전은 그다음에 일어나는 일이다. 에이전트는 브라우저 자동화를 사용하여 FasTrak, 주차 앱, 보험 포털, DMV 관련 양식 등 깔끔한 API가 없는 다른 모든 웹앱에서 동일한 정보를 업데이트할 수 있다. 깔끔한 시스템에는 API나 CLI를 사용해야 한다. 지저분한 시스템에는 브라우저를 사용할 수 있으며, 정말 효과적이다! 나는 이제 Codex의 Computer Use도 사용한다.

이것이 개인 에이전트의 목적이다. 극적인 자율성이 아니다. 행정적 연속성이다. 나는 항상 Openclaw yolo 모드가 백그라운드에서 실행되는 것을 두려워했다. 통제권을 유지하는 것을 중요하게 생각한다.

Google Drive가 내 진실 공급원(Source of Truth)이다

내가 내린 가장 중요한 아키텍처 결정은 중요한 개인 정보를 Google Drive에 중앙화한 것이다. 수년 동안 내 지식의 상당 부분은 Notion에 있었다. 나는 인간의 작업 공간으로서 Notion을 좋아하지만, 에이전트의 주요 진실 공급원으로는 선호하지 않는다. API는 작동하지만, 작업 공간이 너무 유동적이다: 중첩된 페이지, 데이터베이스, 속성, 권한, 서식, 백링크, 그리고 인간에게는 쾌적하지만 모델에게는 성가신 UI 네이티브 구조가 많다.

그래서 Notion API를 사용하여 중요한 정보를 내보내고 Google Drive로 옮겼다. Notion 작업 공간을 완벽하게 보존하려는 것이 아니었다. 정보를 에이전트가 읽을 수 있도록 만들려는 것이었다. Drive에 있는 유용한 정보의 대부분은 Markdown이나 CSV 형식인데, 이 형식들은 에이전트가 번거로움 없이 검색, 비교(diff), 편집, 재업로드하기 쉽기 때문이다. Google Drive가 진실 공급원이 된 이유는 gogcli가 에이전트에게 Gmail, Drive, 캘린더, Docs, Sheets, 연락처, Tasks를 위한 간단한 명령줄 인터페이스를 제공하기 때문이다.

이는 과소평가된 포인트다. 인간 UI만을 위해 지식을 구성해서는 안 된다. 에이전트의 툴 경로를 위해 구성해야 한다. 에이전트는 안정적인 파일 ID, 텍스트, 테이블, Markdown, CSV, JSON을 반환하는 명령을 선호한다. 에이전트가 검색, 다운로드, 편집, 업로드하고 출처를 인용할 수 있다면, 그 데이터는 유용하다.

내 개인 데이터 레이어는 부끄러울 정도로 단순하다. Google Drive는 중요한 문서를 보관하며, 대부분 Markdown 파일과 CSV 형식이다. 연락처는 CSV로 미러링된 Google Sheet에 있다. Notion 내보내기는 Drive에 저장된다. 로컬 명령어는 AGENTS.md에 있다. 스킬은 폴더 내의 Markdown 파일로 존재한다. 진실 공급원은 우아하지 않다. 읽기 쉬울(legible) 뿐이다.

개인 생산성의 상당 부분은 이 데이터들을 연결하는 작업이다. 한 가지 사실은 WhatsApp에 있다. 다른 사실은 Gmail에 있다. 이메일 주소는 연락처에 있다. 날짜는 캘린더에 있다. 문서는 Drive에 있다. 에이전트는 내가 연결 역할을 하도록 요구하지 않고 이런 경계를 넘나들 수 있을 때 유용해진다.

내가 한 최고의 투자 중 하나는 내가 아는 모든 사람의 전화번호, 이메일, LinkedIn 등이 담긴 contact.csv를 만든 것이다.

툴(Tools)

핵심 툴은 의도적으로 지루하다. Google Workspace에는 gogcli를, WhatsApp에는 wacli를, iMessage와 SMS에는 imsg를, 웹앱에는 Browser Use나 브라우저 자동화를, 더 나은 인터페이스가 없을 때는 AppleScript나 macOS UI 자동화를 사용한다.

계층 구조는 간단하다. API와 CLI가 최선이다. 로컬 파일도 좋다. 브라우저 자동화는 허용 가능한 수준이다. 화면 자동화는 최후의 수단이다.

이 계층 구조가 중요한 이유는 에이전트의 신뢰성이 툴 표면(tool surface)에 달려 있기 때문이다. 모델에게 웹사이트를 여기저기 클릭하도록 요청하는 것은 때로는 필요하지만, 이상적인 경로는 아니다. gog gmail messages listwacli messages list --json과 같은 명령어는 모델이 검사하고, 재시도하고, 추론하기 훨씬 쉽다.

실제 툴 레이어는 다음과 같다:

이 중 어떤 것도 공상과학처럼 보이지 않는다. 바로 그 점이 핵심이다. 개인 에이전트의 미래는 모델이 이미 사용하고 있는 툴을 작동할 수 있게 해주는 명령어 더미로 시작된다. 모델과 API 사이의 추상화 계층을 최대한 줄여야 한다.

스킬(Skills)

툴은 에이전트에게 손(hands)을 준다. 스킬은 습관(habits)을 준다. 스킬은 에이전트에게 반복적인 작업을 내가 원하는 방식으로 수행하는 방법을 알려주는 작은 운영 매뉴얼에 불과하다.

내 받은편지함 제로(inbox-zero) 스킬이 좋은 예시다. 이 스킬은 에이전트에게 gog를 통해 Gmail 받은편지함 메시지를 나열하고, 자동 보관 항목과 검토 필요 항목을 분리하고, 중요한 이메일을 보여주고, 내용을 인용하고, 보관 또는 답장을 제안하고, 답장을 작성하고, 명시적 승인을 기다리고, 원래 스레드에서 보내고, 모든 수신자를 유지하고, 보낸 후에만 보관하고, 답장을 짧게 유지하고, 내가 요청하지 않는 한 전화 통화를 제안하지 말고, "Nicolas"로 서명하라고 지시한다.

멋진 아키텍처가 아니다. 절차(procedure)다. 하지만 절차가 곧 제품이며... 그냥 텍스트 명령어일 뿐이다.

스킬이 없으면, 매번 내가 프롬프트가 되어야 한다. 에이전트에게 승인 없이 보내지 말고, 참조 수신자를 빼먹지 말고, 전화 통화를 제안하지 말고, 이상한 회사 서명으로 서명하지 말라고 상기시켜야 한다. 스킬이 있으면, "받은편지함 제로 실행"이라고 말하기만 하면 되고, 워크플로우에 이미 내 취향(taste)이 포함되어 있다.

중요한 습관은 에이전트가 실수할 때마다 스킬을 개선하는 것이다. 전화 통화를 싫어하는데 에이전트가 제안하면, 그 규칙을 추가한다. 참조 수신자 유지를 잊어버리면, 그 규칙을 추가한다. 너무 공격적으로 보관하면, 분류 기준을 강화한다. 절차가 개선되면서 에이전트도 함께 개선된다.

이것이 개인 에이전트가 개인화(personal)되는 방식이다. 귀여운 목소리를 갖는 것이 아니다. 운영적 취향(operational taste)을 축적하는 것이다.

실수가 명령어로 바뀌면서 설정이 복리 효과(compounds)를 낸다.

승인 게이트(Approval Gates)가 곧 제품이다

나는 모든 사람에게 무차별적으로 답장하는 에이전트를 원하지 않는다. 작업을 준비하고, 초안을 보여주고, 적절한 순간에 물어보는 에이전트를 원한다. 대부분의 커뮤니케이션 워크플로우에서 루프는 다음과 같다: 컨텍스트 읽기, 응답 초안 작성, 나에게 보여주기, 승인 기다리기, 보내기, 확인하기.

위험이 낮을 때는 때때로 직접 보내도록 허용한다. "Hugo에게 내가 다음 주에 시애틀에 있다고 전해줘"는 위원회 회의가 필요하지 않다. 하지만 투자자 이메일, 고객 응답, 소개 이메일, 또는 사회적 뉘앙스가 필요한 모든 것은 먼저 초안이 작성되어야 한다.

이것이 유용함과 무서움의 차이다. 읽기 전용 스캐닝은 하나의 신뢰 단계다. 초안 작성은 또 다른 단계다. 보내기는 또 다른 단계다. 삭제, 결제, 서명, 또는 계정 설정 변경은 완전히 다른 단계다. 미래는 "에이전트가 모든 것을 한다"는 것이 아니다. 미래는 "에이전트가 지루한 작업을 수행하고 적절한 순간에 질문한다"는 것이다.

핵심 워크플로우는 "내가 놓친 게 뭐지?"(What Did I Miss?)다

핵심 워크플로우는 이메일이 아니다. 그것은 생활 받은편지함 분류(life inbox triage)다. 몇 시간마다 "내가 놓친 게 뭐지?"라고 묻고 에이전트가 WhatsApp, Telegram, Gmail, SMS, 캘린더, 관련 Drive 변경 사항을 스캔하도록 하고 싶다. 그런 다음 누가 답장을 기다리는지, 무엇이 긴급한지, 무엇이 오래된 것인지, 무엇을 무시해도 되는지, 무엇이 캘린더 이벤트가 되어야 하는지, 무엇이 문서 검색이 필요한지 알려주길 원한다.

이것은 컨텍스트가 많고, 반복적이며, 여러 툴을 넘나들고, 작은 결정들로 가득 차 있기 때문에 에이전트에게 완벽한 작업이다. 인간은 첫 번째 패스를 하는 것을 싫어한다. 에이전트는 첫 번째 패스에 능숙하다. 판단은 여전히 내 몫이다.

결과는 내 삶이 자율화된다는 것이 아니다. 결과는 더 이상 중요한 세 가지를 찾기 위해 다섯 개의 앱을 수동으로 뒤지는 사람이 아니게 된다는 것이다.

현재 설정 체크리스트

누군가 내 설정을 재현하고 싶다면, 이것이 체크리스트다. Codex를 설치한다. Google Workspace용 gogcli를 설치한다. WhatsApp용 wacli를 설치한다. Telegram을 사용한다면 Telegram 커넥터를 설치한다. iMessage와 SMS용 imsg를 설치한다. 브라우저 자동화를 추가한다. 이상적으로는 Browser Use나 Chrome 컨트롤러를 통해. AppleScript와 UI 스크립팅을 통해 macOS 자동화를 추가한다. 지식이 Notion에 있다면, Notion API를 사용하여 중요한 부분을 Google Drive로 내보낸다.

그런 다음 데이터를 중앙화한다. Google Drive를 진실 공급원으로 만든다. 연락처는 Google Sheet나 CSV에 유지한다. 중요한 개인 문서는 검색 가능한 파일로 유지한다. 로컬 AGENTS.md 명령어를 유지한다. 반복적인 워크플로우를 위한 작은 스킬을 유지한다.

그런 다음 권한을 신중하게 부여한다. 로컬 파일과 앱 데이터베이스에는 전체 디스크 접근(Full Disk Access)이 필요하다. 시각적 폴백으로 화면 녹화(Screen Recording)가 유용하다. 앱에서 클릭 및 입력에는 손쉬운 사용(Accessibility)이 필요하다. 이는 심각한 권한이므로, 심각한 승인 게이트와 함께 사용해야 한다.

그런 다음 운영 규칙을 작성한다.

기본적으로 이것이 전부다. 툴, 데이터 커넥터, 스킬, 승인 게이트, 그리고 지속적인 개선.

이것이 새로운 운영 체제(New Operating System)다

개인용 컴퓨터는 예전에는 앱 기반(app-operated)으로 작동했다. 앱을 열고, 검색하고, 클릭하고, 복사하고, 붙여넣고, 작성하고, 보냈다. 에이전트 기반(agent-operated) 컴퓨터는 다르게 느껴진다. 의도를 진술하면, 에이전트가 컨텍스트를 모으고, 작업을 제안하고, 필요할 때 승인을 기다렸다가, 실행하고, 보고한다.

이것을 경험하고 나면, 예전 방식이 터무니없게 느껴진다. 하나의 소개 이메일을 보내기 위해 왜 WhatsApp, Gmail, Google Drive, 웹을 수동으로 검색하고 있는가? 왜 번호판 하나를 다섯 개의 다른 포털에 복사하고 있는가? 왜 중요한 세 개를 찾기 위해 100개의 메시지를 읽고 있는가?

컴퓨터가 그 일을 해야 한다.

설정은 여전히 지저분하다. CLI는 조잡하다. 권한은 짜증난다. 일부 커넥터는 고장 난다. 브라우저 자동화는 깨지기 쉽다. 스킬을 직접 작성해야 한다. 진실 공급원을 유지해야 한다. 하지만 그것이 미래가 보통 시작되는 방식이다.

최초의 유용한 개인 에이전트는 세련된 소비자 앱처럼 보이지 않을 것이다. 파일, 계정, 메모리, 툴에 접근할 수 있는 터미널 안의 모델처럼 보일 것이다.

이것이 내가 오늘 사용하는 것이며, 매주 나는 내 삶의 한 조각을 더 에이전트에게 맡기고 있다.

원클릭 저장

YouMind로 바이럴 글을 AI 심층 읽기

소스를 저장하고, 핵심 질문을 던지고, 주장을 요약해 바이럴 글을 다시 활용할 수 있는 노트로 바꾸세요. 하나의 AI 워크스페이스에서 모두 할 수 있습니다.

YouMind 둘러보기
크리에이터를 위해

당신의 Markdown을 깔끔한 𝕏 글로

직접 쓴 장문을 올릴 때 이미지, 표, 코드 블록을 𝕏에 맞게 정리하는 일은 번거롭습니다. YouMind는 전체 Markdown 초안을 깔끔하고 바로 게시할 수 있는 𝕏 글로 바꿔 줍니다.

Markdown → 𝕏 사용해 보기

분석할 패턴 더 보기

최근 바이럴 아티클

더 많은 바이럴 아티클 보기