시작하기
AI 에이전트와 대화하기
봇이 글에 답하고 전화도 받습니다 — 데스크톱·휴대폰·애플 워치에서 같은 봇과, 누구나 만드는 에이전트, 데이터가 어디로 가고 무엇을 직접 정할 수 있는지.
음성 봇이 생기면 파발은 AI 에이전트와 이야기하는 곳이 됩니다. 봇은 글에 답하고, 전화도 받습니다. 같은 봇에게 컴퓨터에서 글로 묻고, 휴대폰으로 전화를 걸고, 운동할 때는 애플 워치로 이어 갈 수 있습니다. 이 쪽은 그 이야기를 한곳에 모았습니다 — 무엇이 되는지, 데이터가 어디로 가는지, 운영하는 곳이 무엇을 정할 수 있는지. 자세한 방법은 앱 사용하기(전화를 거는 사람), 음성 봇(봇을 만드는 사람), 서버 설치(서버를 운영하는 사람)에 있습니다.
이 쪽에 적은 음성 봇·애플 워치 앱·대화 남기기는 pabal.me 에서 아직 쓸 수 없습니다. 개발 서버에서 시험하고 있고, 법률 검토와 앱 배포를 마쳐야 켜집니다. 지금 상태는 맨 아래 표에 있습니다.
무엇이 달라지나
- 봇이 전화를 받습니다. 봇에게 전화를 걸면 파발의 AI 음성 모델이 받아 말로 대답합니다. 봇은 언제나 AI 라고 밝히고, 사람인 척하지 않습니다.
- 글과 전화가 한 대화방에 있습니다. 통화가 끝나면 그 봇과의 대화방에 통화 기록이 남습니다. 원하면 통화의 대화를 글로 남길 수도 있습니다(대화 남기기).
- 누구나 만듭니다. 봇을 만든 사람이 @BotFather 에서 음성을 켜고, 무엇을 하는 봇인지 지시문으로 정합니다. 통화 중에 봇 주인의 시스템(주문 조회·예약 확인 같은)을 부르게 할 수도 있습니다.
- 전화를 거는 사람이 먼저 확인합니다. 걸기 전에 "이 통화는 AI가 받습니다" 확인 창이 소리가 가는 곳을 알려 주고, 만 19세 이상만 걸 수 있습니다.
한 에이전트, 모든 기기
다이어그램 설명
- 세 영역: 왼쪽은 사람의 기기, 가운데는 파발을 운영하는 곳의 서버, 오른쪽은 파발 밖입니다. 빨간 칸은 통화 소리가 파발 밖으로 나가는 곳입니다.
- ①②: 데스크톱·휴대폰 앱은 늘 쓰던 연결(MTProto)로, 워치 앱은 워치 전용 HTTPS 입구로 서버에 닿습니다. 어느 기기로 걸어도 같은 봇과의 같은 대화방에 통화 기록이 남고, 계정과 메시지는 운영자의 서버에 저장됩니다.
- 회색 점선은 통화 소리입니다: 앱은 통화 중계(coturn)를, 워치는 소리 입구(WSS)를 거쳐 음성 게이트웨이에 닿습니다. 게이트웨이가 소리를 풀어 모델에 건네므로 봇 통화는 종단 간 암호화가 아닙니다.
- ③ 링크: 서버가 받아들인 통화를 게이트웨이에 넘기며, 봇 주인이 정한 지시문·인사말·목소리·언어·도구를 함께 보냅니다. 파발의 기본 규칙(AI 라고 밝히기 등)이 언제나 먼저입니다.
- ④: 봇 주인의 프로그램은 통화 알림(
voice_call)과 모델의 도구 질의를 받고 답합니다(회색 화살표). 봇 주인의 MCP 서버도 여기에 속합니다. 봇 주인은 통화 소리를 받지 않습니다. - ⑤⑥: 관리형 통화의 소리는 Google(Vertex AI 의 Gemini Live, 미국
us-central1)로 갑니다 — 봇 주인이 자기 모델 키를 쓰면 그 주인의 제공자 계정으로. 원음 모드 봇이면 Google 대신 봇 개발자의 서버가 소리를 그대로 받습니다(빨간 점선).
하루 예시
- 아침, 컴퓨터에서 글로. 데스크톱 앱에서 주문 도우미 봇에게 "어제 주문한 것 언제 와요?" 하고 글로 묻습니다. 봇 주인의 프로그램이 글로 답합니다.
- 점심, 휴대폰에서 전화로. 같은 봇의 대화방 위 전화 버튼을 누릅니다. 확인 창을 읽고 "만 19세 이상입니다 · 통화" 를 누르면 AI 안내 음성 뒤에 봇이 인사합니다. 통화 중에 모델이 봇 주인의 도구로 주문을 찾아 말해 줍니다.
- 저녁, 달리면서 워치로. 아이폰을 두고 나가도 애플 워치 앱으로 같은 봇에게 전화합니다. 에어팟으로 듣는 것이 좋습니다.
- 끝나면 글로 남기기. 확인 창에서 "이 통화의 대화를 내 대화방에 글로 남기기"를 골랐다면, 통화가 끝난 뒤 그 대화가 내 대화방의 통화 기록 바로 아래에 조용한 메시지로 남습니다(대화 남기기). 나만 보고, 봇과 봇 주인에게는 가지 않습니다.
- 워치로 통화하는 동안에는 운동 앱 화면을 볼 수 없습니다. 통화 중에 운동 앱을 열면 워치가 "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 가 알려 줍니다.