# 클로드 코드와 오픈AI 실시간 음성으로 치과 전화 AI 만들기

- 작성자: [도시농부](https://community.clauders.ai/member/imported-member-vRTBJCiXO3)
- 공간: [사장님의 AI 시간 벌기](https://community.clauders.ai/owner-time)
- 게시: 2026-10-03
- 연재: [사장님의 AI 시간 벌기](https://community.clauders.ai/series/owner-time) 1/3편
- 태그: #사업장자동화
- 주소: https://community.clauders.ai/owner-time/post/%ED%81%B4%EB%A1%9C%EB%93%9C-%EC%BD%94%EB%93%9C%EC%99%80-%EC%98%A4%ED%94%88ai-%EC%8B%A4%EC%8B%9C%EA%B0%84-%EC%9D%8C%EC%84%B1%EC%9C%BC%EB%A1%9C-%EC%B9%98%EA%B3%BC-%EC%A0%84%ED%99%94-ai-%EB%A7%8C%EB%93%A4%EA%B8%B0-99259869-e345-8c1d-ae88-1bd81ce44ac3

---

클로드 코드(Claude Code)로 치과 전화를 대신 받는 AI의 대화 시험판을 7분 만에 만들었어요. 2026년 10월 2일 밤에 만들고 10월 3일 치과에서 첫 통화를 했습니다.

목소리는 오픈AI 실시간 음성(OpenAI Realtime API)을 썼습니다. 시험한 다섯 가지 중 끼어들기, 반응 속도, 안내 내용, 통화 요약은 통과했어요. 시험판은 만족합니다. 하지만 말투가 아직 어색합니다.

## 직원이 못 받는 전화를 AI가 받게

클로더즈 사업장자동화 멤버 김재욱이에요. 개업 치과의사이고, 치과에서 AI를 혼자 여러 프로젝트에 이미 적용했습니다. 막히는 문제를 물어볼 데가 없던 차에 클로더즈에 와서 AI와 효율적으로 작업하는 법을 배우고 있어요. 이번 과제도 제 치과에 쓰려고 시작했습니다.

치과 데스크는 진료가 몰리면 전화를 다 못 받습니다. 전화를 대신 받아 주는 외부 유료 서비스를 알아봤는데, 우리 치과에 맞추기엔 비쌌어요. 그래서 직접 만들기로 했습니다.

정해 둔 큰 그림은 이렇습니다.

- 벨이 5번 넘게 울려도 아무도 안 받을 때만 AI가 받는다
- 진료시간, 위치, 주차 안내는 AI가 바로 답한다
- 예약은 확정하지 않는다. 용건만 요약해 데스크 직원에게 넘기고, 직원이 다시 전화한다
- 음성사서함이 아니라 실시간으로 대화한다

기획은 클로드 앱(Cowork)에서 하고, 코드는 클로드 코드가 만들도록 역할을 나눴습니다. 둘 사이는 `인수인계.md`와 기획서 파일로 이어 받아요. 여러 단계 중 가장 먼저 만들기로 한 게 대화 시험판이었습니다. 전화선은 아직 연결하지 않고, 원장실 PC의 크롬에서 헤드셋을 끼고 AI와 통화해 보는 판이에요. 한국어 말투가 자연스러운지, 말을 끊으면 AI가 바로 멈추는지 귀로 확인하는 게 목적이었습니다.

## 클로드 코드에 처음 보낸 요청

집에서 클로드 코드를 열고 이렇게 보냈습니다.

```
ai 전화응대 프로젝트야
인수인계.md와 기획서를 읽고, 대화 시험판을 만들 계획표를 먼저 보여줘.
```

1분 뒤 계획표가 나왔어요. 프로그램은 진료실 맥미니에서 돌고, 원장실 PC 크롬이 그 화면을 여는 구조였습니다. 키를 다루는 방식은 이렇게 물어 왔어요.

> 브라우저가 OpenAI와 바로 연결되도록, 맥미니가 1분 뒤 사라지는 임시 출입증만 브라우저에 줘도 될까요? (진짜 키는 계속 맥미니에만 있음)

맥미니를 거쳐 소리를 주고받으면 느려지니, 목소리는 브라우저와 오픈AI가 직접 주고받고 진짜 키는 맥미니 밖으로 안 나가게 한다는 설명이었습니다. 이미 돌고 있는 음성차팅 프로그램과 겹치지 않게 다른 포트를 쓰고, 맥미니 마이크 설정도 건드리지 않는다는 내용도 들어 있었어요.

계획표 끝에 질문이 네 개 있었고, 번호로 답했습니다.

```
1.네
2.네
3.1차 들어본뒤
4.크롬
```

평가 버튼과 시험 통화 저장은 1차에서 빼고, 들어 본 뒤 정하기로 했어요. 그리고 "진행해줘" 한 마디를 보냈습니다.

## 7분 만에 나온 대화 시험판

"진행해줘"를 보낸 시각이 밤 8시 46분, 다 됐다는 답이 온 시각이 8시 53분이었습니다. 새 폴더에 파일 7개가 생겼어요.

- `시작.command`: 맥미니에서 더블클릭하면 켜지는 파일
- `server.py`: 맥미니 프로그램. 따로 설치할 것 없이 파이썬 기본 기능만 씀
- `화면` 폴더(index.html, app.js): 통화 시작과 끝내기, 상태 표시, 목소리 고르기, 끼어들기 민감도, 대화 글, 통화 요약
- `AI 안내문.txt`: AI가 하는 말. 글만 고치면 다음 통화부터 바뀜
- `설정.json`: 목소리 8가지, 통화 최대 10분. 키 값은 적지 않음
- `사용법.md`: 치과에서 클릭 순서대로 따라 하는 안내

모델은 설정 파일에 따로 빼 두었습니다. 대화는 gpt-realtime-2.1, 받아쓰기는 gpt-4o-transcribe, 통화 요약은 gpt-4.1이에요. 나중에 바꾸기 쉽게 하려는 것이었습니다.

집 PC에는 키가 없어서 진짜 통화는 못 했어요. 대신 가짜 대화를 흘려 넣어 화면을 확인했고, 끼어들었을 때 AI 말 옆에 "(끊김)"이 붙는 것까지 봤다고 했습니다. 완료 보고 첫머리에 이 말이 있었어요.

> 다만 집에는 OpenAI 키가 없어서 실제로 목소리로 통화해 보지는 못했습니다.

## 맥미니에서 켜기까지 막힌 것

만든 건 집 PC였고, 프로그램은 맥미니에서 돌아야 했습니다. 두 곳은 드롭박스로 같은 폴더를 씁니다. 처음엔 집에서는 맥미니에 못 들어간다고 안내받았는데, 제가 바로잡았어요.

```
집에서도 맥미니에 접속은 가능한데?
```

인수인계 문서에 틀리게 적혀 있던 걸 그대로 따른 것이었습니다. 이 일로 인수인계를 "집에서도 크롬 원격 데스크톱으로 접속 가능, 통화 시험은 치과에서"로 고쳤어요. 크롬 원격 데스크톱은 제 헤드셋 마이크 소리를 맥미니로 보내 주지 못해서, 통화 시험은 치과 안에서 해야 합니다.

주소가 https로 시작하는 것도 물어봤습니다.

```
https://(맥미니 주소):8772 ? http가 아니야?
```

크롬은 다른 컴퓨터 주소에서는 https일 때만 마이크를 쓰게 해 준다는 답이었어요. 그래서 시험판이 처음 켜질 때 보안 인증서를 스스로 만들고, 첫 접속 때만 경고 화면에서 "고급, 이동"을 누르면 됩니다.

원격 데스크톱으로 맥미니에서 `시작.command`를 더블클릭하니 경고 창이 떴습니다. 윈도우에서 만든 파일이라 맥이 실행 파일로 알아보지 못한 것이었어요. 터미널에 한 줄을 넣어 실행 권한을 주면 되는데, 이게 원격 화면에서 두 번 꼬였습니다.

- 터미널 메뉴에서 새 창을 열라는 안내를 받았는데 메뉴가 안 보였다. 이미 열려 있던 빈 터미널 창을 쓰기로 했다
- 파일을 터미널 창에 끌어다 놓으라는 안내였는데, 끌어다 놓기 전에 엔터가 먼저 눌렸다

그다음엔 끌어다 놓기 없이 복사해서 붙여 넣기만 하면 되는 한 줄 명령을 받았고, 그걸로 됐습니다. 검은 창에 이렇게 떴어요.

```
OpenAI 키: 찾음 (컴퓨터 설정값)
보안 접속용 인증서를 만들었습니다
```

키는 음성차팅이 쓰던 설정값에서 그대로 찾았습니다. 이 과정은 `사용법.md`의 "더블클릭해도 안 열릴 때"에 성공한 방법으로 바꿔 넣었어요.

## 오픈AI 목소리 시험, 말투만 남았다

다음 날 치과 원장실에서 헤드셋을 끼고 환자처럼 통화해 봤습니다. 화면 접속, 마이크, 오픈AI 연결까지 처음 한 번에 됐어요. 결과는 이렇습니다.

- 끼어들기: 말을 끊으면 바로 멈춤
- 반응 속도: 괜찮음
- 안내 내용: 맞음
- 통화 요약: 괜찮음
- 한국어 말투: 어색함

목소리 8가지 중에서는 A가 그나마 나았지만 이렇게 적어 보냈습니다.

```
그나마 A 목소리가 낫기는 한데 혀가 굴려서 영어하는 사람이 한국말하는 것같은 어색함이 있어
```

글로 발음을 지시해 보자는 제안이 와서 한 줄을 보탰어요.

```
영어쓰는 사람, 일본어쓰는 사람처럼 말하지 않기
```

`AI 안내문.txt` 맨 앞에 "발음과 억양 (가장 중요)" 칸이 생겼습니다. 표준 서울말로 말하기, 혀를 굴리지 않기, 받침을 또렷하게, 문장 끝을 괜히 올리지 않기, "AI"는 "에이아이"로 읽기 같은 줄이 들어갔어요. 다른 목소리들도 다시 들어 봤지만 여전히 A가 나았고, A를 다시 들은 결과는 이랬습니다.

```
A 를 다시 들어보았는데 그래도 영어식 발음이야, 미국사람이 한국말하는 느낌이야
```

다른 건 다 됐는데 목소리 하나가 걸려서 아쉬웠어요. 지시문으로 고칠 수 있는 범위를 넘었다고 보고 방향을 정했습니다. 알아듣고 생각하고 요약하는 부분은 오픈AI 그대로 두고, 말하는 목소리만 한국어 전문 음성으로 바꾸기로요. 다 새로 만들 필요 없이 한 부분만 갈면 된다는 게 이번 시험에서 얻은 것입니다. 첫 후보로 네이버 클로바더빙(CLOVA Dubbing)에서 같은 안내 문장을 들어 보는 중이에요.

## 아직 안 된 것

- 한국어 목소리 고르기. 고른 뒤에는 그 음성이 실시간 대화에서 얼마나 빨리 나오는지, 요금은 얼마인지 따로 확인해야 한다
- 실제 전화 연결. 치과 전화는 KT 기업형 인터넷전화(비즈 센트릭스)라서, 아무도 안 받으면 안 쓰는 내선 하나로 넘기는 방법을 후보로 적어 두었다. 대기 시간을 바꿀 수 있는지와 발신번호가 넘어오는지는 KT에 확인하기 전이다
- 덴트웹 환자 명부와 전화번호를 맞춰 보는 기능, 데스크 직원용 요약 창은 아직 만들지 않았다

## 따라 하려면 이렇게 시키면 돼요

기획 문서가 있으면 바로 만들게 하지 말고 계획표부터 받는 게 좋았습니다. 계획표 끝의 질문에 번호로 답하고 "진행해줘"를 보내면 돼요.

```
[프로젝트 이름] 프로젝트야
[기획 문서 이름]을 읽고, [가장 먼저 확인할 것]을 시험해 볼 시험판의 계획표를 먼저 보여줘.
키는 [키가 있는 컴퓨터] 밖으로 나가지 않게 하고, 집에서 확인 못 하는 건 따로 적어 줘.
```

전화 AI라면 시험판에서 먼저 볼 것은 한국어 말투와 끼어들기 두 가지예요. 이 둘은 글이 아니라 귀로 들어 봐야 판단이 됩니다.
