개발자 문서
한국어

시작하기

AI 에이전트와 대화하기

봇이 글에 답하고 전화도 받습니다 — 데스크톱·휴대폰·애플 워치에서 같은 봇과, 누구나 만드는 에이전트, 데이터가 어디로 가고 무엇을 직접 정할 수 있는지.

음성 봇이 생기면 파발은 AI 에이전트와 이야기하는 곳이 됩니다. 봇은 글에 답하고, 전화도 받습니다. 같은 봇에게 컴퓨터에서 글로 묻고, 휴대폰으로 전화를 걸고, 운동할 때는 애플 워치로 이어 갈 수 있습니다. 이 쪽은 그 이야기를 한곳에 모았습니다 — 무엇이 되는지, 데이터가 어디로 가는지, 운영하는 곳이 무엇을 정할 수 있는지. 자세한 방법은 앱 사용하기(전화를 거는 사람), 음성 봇(봇을 만드는 사람), 서버 설치(서버를 운영하는 사람)에 있습니다.

아직 준비 중입니다

이 쪽에 적은 음성 봇·애플 워치 앱·대화 남기기는 pabal.me 에서 아직 쓸 수 없습니다. 개발 서버에서 시험하고 있고, 법률 검토와 앱 배포를 마쳐야 켜집니다. 지금 상태는 맨 아래 표에 있습니다.

무엇이 달라지나

  • 봇이 전화를 받습니다. 봇에게 전화를 걸면 파발의 AI 음성 모델이 받아 말로 대답합니다. 봇은 언제나 AI 라고 밝히고, 사람인 척하지 않습니다.
  • 글과 전화가 한 대화방에 있습니다. 통화가 끝나면 그 봇과의 대화방에 통화 기록이 남습니다. 원하면 통화의 대화를 글로 남길 수도 있습니다(대화 남기기).
  • 누구나 만듭니다. 봇을 만든 사람이 @BotFather 에서 음성을 켜고, 무엇을 하는 봇인지 지시문으로 정합니다. 통화 중에 봇 주인의 시스템(주문 조회·예약 확인 같은)을 부르게 할 수도 있습니다.
  • 전화를 거는 사람이 먼저 확인합니다. 걸기 전에 "이 통화는 AI가 받습니다" 확인 창이 소리가 가는 곳을 알려 주고, 만 19세 이상만 걸 수 있습니다.

한 에이전트, 모든 기기

사람의 기기 파발 (운영자의 서버) 파발 밖 데스크톱 앱 맥 · 윈도우 휴대폰 앱 안드로이드 · 아이폰 애플 워치 앱 통화만 · 준비 중 pabal-server 봇과의 대화방 하나 — 어느 기기에서나 같음 통화 기록 · 대화 남기기 (고른 사람에게만) 확인 창 동의 · 입장 판정 · 한도 운영자 스위치 (차단 · 허용 · 공개) 계정 · 메시지는 여기에 저장 pabal-voice 음성 게이트웨이 소리를 풀어 모델에 건넴 소리를 저장하지 않음 봇 주인의 프로그램 Bot API · voice_call 도구 · MCP 서버 대화 기록 (켰을 때) Google Vertex AI Gemini Live (기본) us-central1 · 미국 봇 개발자의 서버 원음 모드 (wss) 소리를 그대로 받음 ① ② 소리 — 앱: 중계(coturn) 워치: 입구(WSS) ③ 링크 ④ ⑤ ⑥
한 봇에게 어느 기기로든 — 기록은 운영자의 서버에, 소리는 정해진 곳으로

다이어그램 설명

  • 세 영역: 왼쪽은 사람의 기기, 가운데는 파발을 운영하는 곳의 서버, 오른쪽은 파발 밖입니다. 빨간 칸은 통화 소리가 파발 밖으로 나가는 곳입니다.
  • ①②: 데스크톱·휴대폰 앱은 늘 쓰던 연결(MTProto)로, 워치 앱은 워치 전용 HTTPS 입구로 서버에 닿습니다. 어느 기기로 걸어도 같은 봇과의 같은 대화방에 통화 기록이 남고, 계정과 메시지는 운영자의 서버에 저장됩니다.
  • 회색 점선은 통화 소리입니다: 앱은 통화 중계(coturn)를, 워치는 소리 입구(WSS)를 거쳐 음성 게이트웨이에 닿습니다. 게이트웨이가 소리를 풀어 모델에 건네므로 봇 통화는 종단 간 암호화가 아닙니다.
  • ③ 링크: 서버가 받아들인 통화를 게이트웨이에 넘기며, 봇 주인이 정한 지시문·인사말·목소리·언어·도구를 함께 보냅니다. 파발의 기본 규칙(AI 라고 밝히기 등)이 언제나 먼저입니다.
  • ④: 봇 주인의 프로그램은 통화 알림(voice_call)과 모델의 도구 질의를 받고 답합니다(회색 화살표). 봇 주인의 MCP 서버도 여기에 속합니다. 봇 주인은 통화 소리를 받지 않습니다.
  • ⑤⑥: 관리형 통화의 소리는 Google(Vertex AI 의 Gemini Live, 미국 us-central1)로 갑니다 — 봇 주인이 자기 모델 키를 쓰면 그 주인의 제공자 계정으로. 원음 모드 봇이면 Google 대신 봇 개발자의 서버가 소리를 그대로 받습니다(빨간 점선).

하루 예시

  1. 아침, 컴퓨터에서 글로. 데스크톱 앱에서 주문 도우미 봇에게 "어제 주문한 것 언제 와요?" 하고 글로 묻습니다. 봇 주인의 프로그램이 글로 답합니다.
  2. 점심, 휴대폰에서 전화로. 같은 봇의 대화방 위 전화 버튼을 누릅니다. 확인 창을 읽고 "만 19세 이상입니다 · 통화" 를 누르면 AI 안내 음성 뒤에 봇이 인사합니다. 통화 중에 모델이 봇 주인의 도구로 주문을 찾아 말해 줍니다.
  3. 저녁, 달리면서 워치로. 아이폰을 두고 나가도 애플 워치 앱으로 같은 봇에게 전화합니다. 에어팟으로 듣는 것이 좋습니다.
  4. 끝나면 글로 남기기. 확인 창에서 "이 통화의 대화를 내 대화방에 글로 남기기"를 골랐다면, 통화가 끝난 뒤 그 대화가 내 대화방의 통화 기록 바로 아래에 조용한 메시지로 남습니다(대화 남기기). 나만 보고, 봇과 봇 주인에게는 가지 않습니다.
알아 둘 한계
  • 워치로 통화하는 동안에는 운동 앱 화면을 볼 수 없습니다. 통화 중에 운동 앱을 열면 워치가 "End Call to Continue"(통화를 끝내야 계속할 수 있음)를 보여 줍니다.
  • 워치 앱은 아직 메시지를 다루지 않습니다. 음성 봇에게 전화하는 것만 합니다. 워치에서는 가입할 수 없고 이미 있는 계정으로 로그인합니다.
  • 통화 속 모델은 대화방의 글을 저절로 알지 못합니다. 아침에 글로 나눈 이야기를 통화에서 이어 가게 하려면, 봇 주인이 통화가 시작될 때 sendVoiceCallContext 로 알려 줘야 합니다. 거꾸로, 남긴 대화 글도 봇에게 가지 않으므로 봇은 통화 내용을 모릅니다.
  • 도구·MCP 서버·자기 키·원음 모드·봇 주인의 대화 기록을 쓰는 봇에는 아직 워치로 걸 수 없습니다.

누구나 만든다

AI 에이전트는 봇 계정 하나로 시작합니다. 봇 만들기로 봇을 만든 뒤:

  • 음성 켜기: @BotFather 의 /mybots → 봇 → 음성 통화에서 규칙에 동의하고 켭니다(음성 통화 켜기).
  • 무엇을 하는 봇인지: 지시문·인사말·목소리를 정합니다. 봇은 한국어·영어를 포함해 9개 언어로 말할 수 있습니다(설정, 목소리와 언어).
  • 우리 시스템과 잇기: 통화 중에 모델이 봇의 코드를 부르게 하는 도구(Bot API), 이미 있는 MCP 서버.
  • 소리를 우리 서버로: AI 모델 대신 내 서버가 통화 소리를 직접 받는 원음 모드, 요금을 내 계정에 내는 자기 모델 키.
  • 기록: 봇 주인이 대화 글을 받는 대화 기록(발신자는 연결될 때 안내를 듣습니다). 발신자가 고르는 대화 남기기와는 다릅니다.

데이터가 어디로 가나

봇 통화는 종단 간 암호화가 아닙니다

사람끼리의 통화는 두 기기만 풀 수 있게 암호화되지만, 봇과의 통화는 파발의 음성 게이트웨이가 소리를 풀어 AI 모델(또는 원음 모드면 봇 개발자의 서버)에 건넵니다. 전화를 걸기 전에 확인 창이 이것과 소리가 가는 곳을 알려 줍니다.

무엇어디로얼마나
계정·메시지·통화 기록 메시지운영자의 서버(데이터베이스)지울 때까지
관리형 통화의 소리음성 게이트웨이가 풀어 Google(Vertex AI 의 Gemini Live API, 미국 아이오와 us-central1)로파발은 저장하지 않음. Google 은 대답을 만든 뒤 보관하지 않지만, 자동 검사에서 남용이 의심된 내용은 최대 90일 기록될 수 있음(확인 창과 같은 내용)
자기 키 통화의 소리봇 주인이 정한 제공자 계정그 제공자의 규칙
원음 모드 통화의 소리봇 개발자의 서버(wss)봇 개발자의 책임
도구에 쓰인 값봇 주인의 프로그램 · 봇 주인의 MCP 서버봇 주인의 책임. 카드 번호·주민등록번호처럼 보이는 숫자는 넘기지 않음
봇 주인의 대화 기록(켰을 때)봇 주인에게 한 번 건넴파발은 가져가지 않은 것을 24시간 뒤 지움
대화 남기기(고른 사람만)그 사람 자신의 대화방에만 — 봇·봇 주인에게 가지 않음지울 때까지
통화 메타데이터(누가·언제·얼마나)운영자의 서버180일

봇 주인이 받는 것은 발신자의 이름·계정 번호·앱 언어, 통화 시각과 길이, 도구에 쓰인 값입니다. 전화번호·사용자명·통화 소리는 받지 않습니다. 운영자는 확인 창의 말과 맞도록 Vertex 의 데이터 캐시를 꺼야 합니다(서버 설치 — Vertex AI 키).

우리가 정할 수 있는 것

파발을 직접 운영하는 회사나 단체는 AI 에이전트와 나누는 이야기가 어디로 가는지를 스스로 고를 수 있습니다.

  • 서버를 직접 운영합니다 — 계정·메시지·통화 기록이 우리 서버와 데이터베이스에 있습니다(서버 설치).
  • 봇 주인의 모델 키 — 파발의 기본 키 대신 봇 주인이 계약한 제공자 계정으로 통화를 돌립니다(자기 모델 키).
  • 원음 모드 — 통화 소리를 Google 이 아니라 우리 서버가 받아, 우리가 고른 방식으로 대답합니다(원음 모드).
  • 운영자 스위치 — 모든 통화를 멈추는 차단 스위치, 허용한 봇만 받기, 시험자, 한도, 봇 주인의 대화 기록 허용, 모두에게 공개(관리와 설정 — 음성 탭).

그래서 파발이 약속하는 것은 "데이터가 어디로 가는지를 직접 정할 수 있는 AI 에이전트 소통"입니다. "모든 것이 서버 안에만 있다"는 뜻은 아닙니다 — 기본 엔진을 쓰는 통화의 소리는 미국의 Google 로 가고, 원음·도구·MCP 를 쓰면 봇 주인이나 봇 개발자의 서버로 갑니다.

지금 상태 (pabal.me)

기능pabal.me메모
음성 봇 통화꺼짐개발 서버에서 시험 중. 개인정보처리방침의 봇 통화 절과 확인 창이 든 앱 빌드가 먼저입니다(음성 봇 — 지금 상태)
애플 워치 앱준비 중내부 시험(TestFlight)만. 음성 봇 통화만 합니다
대화 남기기꺼짐확인 창 문구의 법률 검토 전
봇이 거는 전화꺼짐 — 법률 검토 대기개인정보처리방침·약관의 발신 절과 허락 창이 든 앱 빌드가 먼저입니다(음성 봇 — 봇이 거는 전화)
도구꺼짐음성 봇 통화가 켜져야 함
MCP 서버 · 자기 모델 키 · 원음 모드꺼짐그 받는 곳을 보여 주는 앱 확인 창 판이 나오기 전

이 표는 2026-10-02 기준입니다. 다른 서버는 운영자가 켠 만큼 다를 수 있습니다 — 내 봇이 전화를 받을 수 있는지는 getVoiceCallSettings 가 알려 줍니다.