[고수도 한 걸음부터] 7전 8기 n8n도전기 3탄 아직은 멍청한 음성비서(iPhone Shortcut + n8n)

소개

안녕하세요!
지난 기수 Cursor와 신나게 놀다가
디버깅 늪에서 못빠져나온 샘알토란입니다.


아 이런 사소한 버그는 3시간이면 껌이지! 에서
30시간 시간이 순삭되는 매직을 경험했습니다.

디버깅을 하다보니
어느샌가 JavaScript를 공부하고, Node.js도 보고 있는 제 자신을 발견하네요?

어쩌다보니 이런 늪에 빠졌습니다.

하얀건 글씨고 검은건 IDE이라 눈 아프기도하고
Cursor 친구와는 잠깐 멀어지기로 했습니다.
개발자도 아닌데 VScode도 매일 보거든요.

이번 기수에는 n8n을 제대로 활용해보자고 n8n x notion스터디에 참여했습니다.
마침 집에서 하루 종일 놀고 있는 Selfhosting 중인 n8n 서버도 불쌍했구요.

오랜만에 잡은 n8n
뭘 할지 몰라서 주제를 찾다가 notion Database도 연결해보고
그러다가 맘에 쏙드는 걸 발견했습니다.

제가 캘린더를 매주 작성하고 실행하려고 노력하는데요.
핸드폰으로 캘린더 작성하는게 여간 보통이 아닙니다

아이폰은 손 안의 비서 시리가 있는데요!
얼마나 좋은 지 오늘 남은 일정을 웹검색해서 알려주더라구요.

그래서 제가 오늘 준비한 건 시리는 자폭해.

음성비서 캘린더 챗봇!

그럼 시작합니다.

진행 방법

준비물 : n8n, Google Calender API, iPhone, Google Gemini API(참을성 많은사람), Claude API(시간이 소중하다면)

결과부터 보고 가겠습니다.

iPhone Shortcut으로 물으면 내 스케쥴을 알려주는 친절한 챗봇

1. n8n workflow

시스템의 다른 부분을 보여주는 다이어그램

  1. Google Calender MCP Server(w/ n8n)

  1. iPhone Shortcut

  • MCP Server 만들기

    1. Google OAuth 를 통해 Credential을 만들고 n8n과 연결
      (n8n Cloud 환경이면 쉽게 연결 가능, Self Hosting이면 아래의 비디오 참고하세요)

    2. Search, Create, Update, Delete 기능이 되는 API를 Tool에 넣고 MCP 서버를 실행합니다.

CCCCCCCCCCCCCCCCCCCC의 설정의 스크린 샷

  • 챗봇 Workflow 만들기

    1. 챗봇의 Workflow는 간단합니다.
      INPUT -> LLM -> OUTPUT

    2. INPUT은 Webhook node를 사용하고(POST)
      OUTPUT은 Webhook의 Respod to webhook을 사용합니다.

      CCCCCCCCCCCCCCCCCCCC의 설정의 스크린 샷
    3. 그리고 AI Agent node와 연결해서 마음 맘에 드는 Agent 구성을 마칩니다.

    4. 이제 Shortcut 볼 차례

  • 아이폰(맥북) Shortcut

    1. Shortcut은 음성 제어를 위해 [텍스트 받아쓰기]

    2. 그리고 받아 쓴 data(text)를 webhook 으로 보내기 위한 [URL 콘텐츠 가져오기]
      Method는 POST, 통신은 JSON으로 합니다.
      값은 아무거나 입력하면 되는데 저는 input으로 하였고, 유형은 텍스트, 값은 위에서 녹음해서 텍스트로 변환시킨 텍스트로 하였습니다.

    3. 마지막으로 response 기다렸다가 알림보기로 결과 받아보기로 끝

결과와 배운 점

데스크탑 앱이나, 웹에서 LLM을 사용할 때와 API를 사용할 때와 정말 LLM은 다른 느낌입니다.

API 소환술로 나오는 LLM은 순수 그 자체랄까요?
그만큼 메모리가 정말 정말 정말 정말 정말 중요하다는게 느껴집니다.
RAG,,,DB,,,뭐든요.

LLM은 바뀌지만, Data 주체성은 우리가 가져가야한다 뭐 이런 거창한 생각이 드는...
새벽 3시군요

거두절미하고 제 음성 챗봇은..

예 좀 멍청합니다.

  1. 순수한 내 비서1

위의 답변에서 이상한 점을 찾으세요!

네 7/20일은 일요일입니다.

제가 LLM system prompt에 현재 시간을 알려주긴 하였는데, 요일을 알려주지 않았더니
난리가 났습니다. 그런데 날짜로 말하면 정말 잘 알려주긴 합니다.

여기서 LLM의 성능차이가 조금 났습니다.

Gemini, ChatGPT, Claude를 모두 소환해보았는데,
ChatGPT, Claude는 일자를 알려주면 제대로 알았고,
Gemini는 가끔 헷갈려 합니다.
(Gemini : 2.5 Fresh, ChatGPT 4.1 mini, Claude 3.5 Haiku 사용)

공통적으로 요일을 말하면 일자와 매칭이 안되는 지, 위와 같은 답변이 나왔습니다.

2. 능력자 내 비서

여기까지 읽으신 분께 이미 눈치 채신분도 계시겠지만... 고백하나 합니다.

제목이 음성 챗봇인데 출력이 메시지 알림입니다.
이상하죠? 이미 눈치 알고 계셨나요?

사실 처음에 음성으로 입력했으니 출력도 음성으로 받고 싶었습니다.

아니..

처음엔 음성으로 받았어요. 그런데 두 가지 이유로 포기했습니다.

첫 번째, 아이폰 텍스트 음성읽기는 화가납니다.

시리야! 시리야!!!!!! 시리야!!!!

(출처 : https://www.youtube.com/watch?v=NG5cjAV1xPE 썸네일)

두 번째,

LLM의 output을 아이폰이 받을 때 인코딩 문제가 발생했습니다.
이런 상황에서 귀에서 울리는데 죽는줄 알았습니다...
(이어폰 끼고 작업함)

세 번째, 아이폰아 단축키점..

아이폰 16pro에는 옆에 물리버튼이 하나 더 있습니다.

그리고 그 물리버튼은 무려 커스텀이 되어서 단축어 바로가기를 설정할 수 있어요!

와 사제 시리 X쳤다!

이것을 사실 꿈꾸었는데.
처참히 박살났습니다.

왜 이리 안먹히는 겁니까 단축키..
눌러도 먹통일 때가 많습니다.
애초에 저 단축어가 Web 통신하는거라 빠릿하게 작동하지 않고 딜레이가 있는데.
그래서 그런지 자꾸 작동이 안되더라구요.

여튼 세 가지 사건으로 인해 목소리 좋은 비서는 우선 포기했습니다.

텍스트 출력값이 제대로 나오고있어서
못할 것도 없을 것 같아요.

음성 Websocket처럼 실시간하면 더 좋을텐데.
어떤 기술을 사용해야할지 아직은 감이 안옵니다.

여튼 요즘 애플 혁신없고 Ai 망한다 소식에 iPhone + mac 유저로서 슬픈데
아이폰 단축어 기능은 좀 좋은 것 같습니다.

LLM으로 캘린더 제어하니 좋네요.
말 하나로 캘린더 설정이 편해졌습니다!

도움 받은 글 (옵션)

https://www.youtube.com/watch?v=dewsB-4iGA8

https://www.youtube.com/watch?v=4F4M3AscHn0

https://www.youtube.com/watch?v=3Ai1EPznlAc&t=17s
(n8n google credential)

2
4개의 답글

👉 이 게시글도 읽어보세요