Telegram AI 챗봇은 업무 지식을 바탕으로 그룹이나 개인 대화에서 질문에 답할 수 있습니다. Quickchat AI는 공유 봇을 통해 AI Agent를 Telegram에 연결합니다. 봇을 그룹에 추가하고 대시보드에서 연결을 확인하면, 회원은 봇을 멘션해 질문할 수 있습니다. 이 방식에는 코드나 BotFather 토큰이 필요하지 않습니다.
이 튜토리얼에서는 회원 그룹과 개인 문의 창구를 갖춘 가상의 학교 Saltmarsh Sailing School을 만듭니다. 두 Agent가 같은 학교 정보를 사용합니다. Saltmarsh Group은 공개 질문에 답하고, Saltmarsh Sailing School은 개인 체험 수업 요청을 받고 환불은 담당자에게 넘깁니다. 요청은 사무실이 검토할 문의이며 확정 예약이 아닙니다.
두 Agent로 담당 범위를 분리합니다. 그룹 Agent에는 인계나 접수 Action이 없으며, 개인 Agent가 문의와 직원 답변을 처리합니다.
아래 순서로 진행하세요. Google Sheets 확장은 선택 사항이므로 답변과 인계 흐름부터 완성할 수 있습니다.
| 구성 | 독자가 확인할 결과 |
|---|---|
| 1. 지식과 지침 | Agent가 수업 가격을 알고, 없는 정보를 지어내지 않습니다. |
| 2. 그룹 연결 | 멘션에는 답하고 일반 대화에는 조용히 있습니다. |
| 3. 개인 채팅 | 전체 링크가 올바른 Agent와의 대화를 엽니다. |
| 4. 선택 사항: 체험 요청 | 필수 정보가 직원이 후속 처리할 수 있는 행으로 기록됩니다. |
| 5. Human Handoff | 담당자가 대화를 맡고 AI는 일시 중지됩니다. |
| 6. 테스트 | 답변, 분기, 외부 영향을 각각 확인합니다. |
Saltmarsh Telegram 키트 다운로드에서 이 튜토리얼의 지식, Main Prompt, Action 구성, 평가 기준, 테스트 메시지를 그대로 받을 수 있습니다. 아래 단계에서 편집해 쓰는 파일이며 Agent를 한 번에 가져오는 설치 파일은 아닙니다. 복사할 수 있는 데모 자료와 스크린샷은 영어로 유지됩니다.
Telegram 챗봇을 만들려면 무엇이 필요한가요?
Quickchat AI 계정, Agent 두 개, 테스트 그룹에 봇을 추가할 권한이 있는 Telegram 계정이 필요합니다. 선택 사항인 요청 기록 단계에는 Google Sheets를 승인할 수 있는 Google 계정도 필요합니다.
- Quickchat AI 계정을 만들고 요청 시 이메일을 인증합니다. Free는 개인의 비상업적 학습을 지원합니다. 요금제는 Agent별로 적용되므로 실제 사업에서 둘 다 사용하려면 각각 적절한 상업용 요금제가 필요합니다. Preview와 Simulation은 AI 크레딧을 소비합니다. 현재 요금제를 확인하세요.
Saltmarsh Members라는 Telegram 그룹을 만듭니다. 고객을 초대하기 전에 테스트 그룹에서 멘션, 무응답, 후속 메시지를 확인하세요.- 방문자 메시지를 보내는 과정까지 자신의 Telegram 계정으로 진행하세요. Quickchat AI의 Inbox도 직접 조작할 수 있습니다. 고객을 초대하기 전에 동료에게 다른 계정으로 사용 경험을 확인해 달라고 요청하세요.
- 키트 압축을 풉니다. 학교 예시 정보는 한 세트로 유지하고, 배포 전에는 검증된 자체 정책으로 바꾸세요.
Quickchat App 스크린샷은 가상의 Saltmarsh 설정을 사용한 로컬 실행 앱을 보여 줍니다. 연결 테스트 데이터는 캡션에 명시되어 있습니다. Telegram과 Google Sheets 스크린샷은 연결된 데모의 실제 답변과 저장된 문의를 보여 줍니다. 개인 계정 정보는 잘라 내거나 명확히 가렸습니다. 마지막 체크리스트를 사용해 자신의 지식과 연결된 계정으로 검증을 반복하세요.
1단계: Telegram 챗봇에 업무를 가르치는 방법은?
업무 사실은 Knowledge Base에, 동작 지침은 Main Prompt에 넣습니다. 두 역할을 분리하면 Agent의 행동을 바꾸지 않고 답변을 수정하기 쉽습니다.
가격과 정책은 출처의 사실입니다. 간결함, 불확실성 처리, 분기는 지침입니다.
Agent를 만들고 지식 추가하기
- 새 계정에서는 Set up manually를 선택합니다. 기존 계정에서는 먼저 Add new AI Agent를 선택한 뒤 수동 설정으로 진행합니다.
- Identity의 Name your AI Agent에
Saltmarsh Group을 입력합니다. 키트의group-main-prompt.txt를 Describe what you want your agent to do에 붙여 넣습니다. - 아직 외부 앱을 연결하지 않고 설정을 계속합니다. 요금제 단계를 완료하되, 학습 계정으로 시작한다면 Skip for now를 사용할 수 있습니다.
- Knowledge Base > Add Article을 엽니다. Create custom article에
Courses and trial enquiries를 입력하고 Create article을 선택합니다.saltmarsh-courses.txt를 Content에 붙여 넣은 뒤 Save를 누릅니다. saltmarsh-policies.txt로Weather, parking and personal enquiries도 만듭니다. 두 문서가 모두 Ready가 될 때까지 기다립니다.- Saltmarsh Group에서 Actions & MCPs를 엽니다. Human Handoff는 비활성화하고 체험 요청 Action은 추가하지 않습니다.
- Add new AI Agent를 선택하고
main-prompt.txt와 같은 두 지식 파일로Saltmarsh Sailing School을 수동 설정합니다. 이 두 번째 Agent가 개인 대화를 담당합니다. 설정을 변경하기 전에 계정 전환기에서 해당 Agent를 선택하세요.
짧은 출처 두 개로 Agent가 가진 사실을 명확히 알 수 있습니다. 지식 테스트 전에 Ready 상태를 확인하세요.
| 지식 | 이 예시에서 사용하는 정확한 사실 |
|---|---|
| 수업 | Start Sailing: 2일, EUR 240. Day Skipper theory: 저녁 5회, EUR 310. 개인 수업: 90분, EUR 95. |
| 날짜 | 4월부터 10월까지 운영하며 일정은 한 달 전에 공개합니다. 실시간 정원이나 다음 날짜는 제공되지 않습니다. |
| 준비물 | 방수 재킷, 자국이 남지 않는 신발, 갈아입을 옷. 부력 보조 장비는 학교가 제공합니다. |
| 날씨 | 풍속 25노트 초과 또는 뇌우 시 추가 비용 없이 다음 가능한 날짜로 변경합니다. 당일 아침 강사가 결정합니다. |
| 주차 | 클럽하우스에서 무료입니다. 출입문 코드는 하루 전에 보내며, 실제 코드는 자료에 없습니다. |
| 체험 요청 | 이름, 선호 요일, 세일링 경험을 수집합니다. 사무실이 가능 여부와 가격을 확인합니다. |
웨트슈트 대여 정보는 의도적으로 제외했습니다. 올바른 답변은 확인할 수 없다고 말하는 것이며, 있다고 또는 없다고 지어내는 것이 아닙니다. 날씨 정책으로 오늘 예보를 알 수 없고, 개인 수업 가격으로 체험 가격을 정할 수도 없습니다.
Main Prompt 설정 후 답변 확인하기
- 각 Agent에서 Identity > Main Prompt를 열고 해당 Saltmarsh 프롬프트를 확인합니다. 그룹 프롬프트는 일반 질문에 답하고 그룹에 고정한 개인 링크로 안내합니다. 개인 프롬프트는 문의를 수집하고 Human Handoff를 사용합니다.
- AI Preview에서
How much is Start Sailing?라고 묻습니다. 2일과 EUR 240이 나오는지 확인합니다. Do you rent wetsuits?라고 묻습니다. 정보가 없다는 점을 인정하는지 확인합니다.
개인 Agent 프롬프트는 접수와 인계를 정의합니다. 그룹 Agent는 별도 프롬프트를 쓰며 두 Action 모두 비활성화합니다.
그룹 Agent의 실제 설정에서 잘라낸 두 화면입니다. 지식 질문에는 답하지만 실행할 접수나 인계 Action은 없습니다.
두 Agent로 분기를 명확히 합니다. 그룹 Agent에는 실수로 작동할 인계 기능이 없고, 개인 Agent는 그룹을 멈추지 않고 환불 요청을 인계할 수 있습니다. Preview는 학교 사실을 확인하며, 다음 단계에서는 각 Telegram 연결을 검증합니다.
2단계: Telegram 그룹에 AI 챗봇을 추가하는 방법은?
External Apps > Telegram을 열고 공유 봇을 그룹에 추가한 뒤, Quickchat AI로 돌아와 그룹을 Confirm합니다. 확인하기 전까지 Agent는 해당 그룹에서 답하지 않습니다.
Telegram 그룹 참여와 Quickchat AI 확인은 별도 단계입니다.
- Agent 전환기에서 Saltmarsh Group을 선택합니다. External Apps에서 Telegram을 선택하고 Quickchat AI bot을 찾습니다.
- Add to a Telegram group을 선택합니다. Telegram에서
Saltmarsh Members를 고르고 봇 추가를 승인합니다. - Quickchat AI로 돌아옵니다. Waiting for your confirmation에서 그룹 이름과 Added by 정보를 확인합니다.
- 원하는 그룹의 Confirm을 선택합니다. 그룹이 Connected chats로 이동하고 활성화 스위치가 켜져야 합니다.
- Telegram에서
@를 입력하고 멘션 목록에서 봇을 선택합니다.How much is Start Sailing?라고 묻습니다. 공유 봇 사용자 이름은 보통@QuickchatAI_bot이며, 그룹에 실제 표시되는 이름을 사용하세요. - 그 답변에 직접
What should I bring?라고 답글을 보냅니다. 이어서 멘션 없이 별도 메시지Does anyone know the gate code?를 보냅니다. 공유 봇은 답글에 답하고 일반 메시지에는 응답하지 않아야 합니다.
Telegram에서 Saltmarsh Members를 선택한 다음 Quickchat AI로 돌아와 연결을 확인하세요.
테스트 그룹 데이터를 넣은 실제 로컬 UI로, Confirm 위치를 보여줍니다. 컨트롤 설명용이며 실제 Telegram 그룹에 가입했다는 증거는 아닙니다.
확인된 그룹이 예상한 과정 답변을 받았습니다. 봇의 실제 사용자 이름으로 멘션하세요.
봇 메시지에 답장하면 다시 멘션하지 않아도 됩니다. 답변은 제공된 장비 정보를 나열합니다.
초대 데이터가 그룹에 표시되므로 확인이 중요합니다. Quickchat AI는 그룹을 Agent의 대상으로 취급하기 전에 계정 소유자의 결정을 요구합니다. 모르는 그룹은 확인하지 마세요. Telegram 연결 참조도 이 경계를 설명합니다.
설정을 마치기 전에 확인을 완료하세요. 봇이 미확인 그룹에서 나갔다면 새 Add to a Telegram group 링크를 생성해 다시 추가한 뒤, Quickchat AI에서 대기 중인 그룹을 즉시 확인하세요. Telegram의 멤버 검색으로 봇을 추가하는 것은 이 연결 절차를 대신하지 못합니다.
Admin 배지는 Telegram에서 봇의 상태를 보여줍니다. 공유 봇의 일반 답변에는 필요하지 않습니다. 공유 봇을 관리자로 만들어도 멘션이나 답글에만 반응하는 규칙은 바뀌지 않습니다.
3단계: Telegram 개인 채팅을 활성화하는 방법은?
Direct message link를 활성화하고 생성된 URL 전체를 공유합니다. 링크가 공유 Telegram 봇 안에서 해당 Agent를 선택하므로 고객은 그룹에 봇을 추가하지 않고 개인적으로 질문할 수 있습니다.
그룹은 공유 대화입니다. 개인 정보와 직원 인계는 DM으로 옮기세요.
- 개인 Agent인 Saltmarsh Sailing School을 선택합니다. External Apps > Telegram에서 Direct message link를 켭니다. 그룹 연결은 비워 둡니다.
- 생성된 링크를 복사합니다.
start=매개변수를 유지하세요. 공유 봇의 기본 링크만으로는 Agent를 식별할 수 없습니다. - Telegram에서 열고 요청 시 Start를 누릅니다.
- 봇을 멘션하지 않고
How much is Start Sailing?라고 묻습니다. 학교 답변을 검증하고 Inbox에서 대화를 찾습니다. - 개인 정보를 공유하기 전에 찾을 수 있도록 그룹 환영 메시지에 링크를 고정합니다.
본인 Agent에서 생성한 링크를 사용하세요. 여기에 보이는 로컬 설정은 실제 Telegram 전달 기록이 아닙니다.
Start 이후 Telegram에 Saltmarsh 환영 메시지가 도착했습니다. 다음으로 지식 기반 답변을 확인하세요. 인사말만으로는 정보 검색을 테스트할 수 없습니다.
같은 Telegram 화면에서 잘라낸 두 부분이 고정된 안내를 보여 줍니다. 데모 링크의 start 값은 생략했습니다. 본인을 위해 생성된 전체 링크를 고정하세요.
공유 봇의 개인 채팅은 한 번에 하나의 Agent에 연결됩니다. 다른 Agent의 개인 링크를 열면 연결 대상이 바뀔 수 있습니다. 자체 Telegram 이름과 전용 봇 대화가 필요하면 자체 봇 방식을 사용하세요.
Direct message link를 끄면 이를 통한 새 연결이 차단됩니다. 기존 연결 채팅을 중지하려면 해당 채팅의 활성화 스위치나 Disconnect를 사용합니다. 링크는 공개 진입점이며 기밀 지식에 대한 접근 제한으로 취급하면 안 됩니다.
4단계: 체험 요청을 Google Sheets에 저장하는 방법은?
Google Sheets 연동은 스프레드시트와 행 추가 Action을 만듭니다. 체험 문의의 필수 항목 세 개를 기록하도록 Action을 바꾸고 실제 행을 확인합니다. 선택 사항이며 공유 Telegram 봇에서도 작동합니다.
결과는 담당자가 검토할 요청입니다. 자리를 예약하거나 체험 가격을 확정하지 않습니다.
Sheets 연결 후 Action 하나 설정하기
- Saltmarsh Sailing School에서 Actions & MCPs > Add Action > Google Sheets를 열고 Connect Google Sheets를 선택합니다. 원하는 Google 계정으로 로그인하고 요청된 접근 권한을 승인합니다.
- 생성된 Quickchat Leads 스프레드시트를 엽니다. Action URL이 해당 탭을 가리키므로 탭 이름 Leads는 유지합니다.
- 머리글 행을 순서대로
Name,Preferred weekday,Sailing experience,Conversation link,Channel로 바꿉니다. - Actions & MCPs에서 생성된
log_lead_to_google_sheetAction을 편집합니다. 아래 구성을 사용하세요. 매개변수, 요청 본문, 시트 머리글을 함께 바꿔 위치를 맞춥니다.
API Action Name
Record trial-lesson request
What to ask the user first
| Format | Name | Description | Required |
|---|---|---|---|
| Text | name | 체험 수업 요청을 위해 본인이 제공한 이름. 없으면 질문합니다. | Yes |
| Text | preferred_weekday | 화요일 등 체험 수업을 희망하는 요일. 선호 사항이며 확정 날짜가 아닙니다. | Yes |
| Text | sailing_experience | 초보자 등 본인이 말한 세일링 경험. 없으면 질문하고 추정하지 않습니다. | Yes |
세 매개변수를 모두 No default로 설정하고 기본 이메일 및 문의 매개변수를 삭제합니다. 이 구성에서는 세 항목만 질문합니다. Telegram 사용자 이름은 선택 사항이므로 필수 연락처로 신뢰할 수 없습니다. 기록된 대화 링크를 통해 직원이 문의로 돌아올 수 있습니다.
메서드와 URL: 생성된 POST URL을 유지합니다. 이미 스프레드시트 ID, Leads 탭, valueInputOption=RAW가 들어 있습니다. 채워야 할 임시 시트 ID는 없습니다.
헤더: 연동의 기존 설정을 유지합니다.
| 헤더 | 값 |
|---|---|
Authorization | Bearer {{google_sheets_access_token}} |
Content-Type | application/json |
API Endpoint의 Body 탭에서 다음을 사용합니다.
{"values":[["{{name}}","{{preferred_weekday}}","{{sailing_experience}}","{{conversation_url}}","{{conversation_channel}}"]]}
필요한 곳에 Add AI Data로 매개변수와 대화 변수 칩을 넣습니다. 처음 세 값은 대화에서 오고, 마지막 두 값은 Quickchat AI가 제공합니다.
API Action Description
In a private chat only, call this once when the person has requested a trial lesson and provided their name, preferred weekday and sailing experience. Ask for the next missing required field before calling. Do not call it for general course questions, in groups, or to confirm a booking. A successful call records an enquiry for the office; it does not reserve a place.
Advanced settings > Run only when을 열고 telegram_chat_type equals private를 추가합니다. metadata_나 중괄호 없이 메타데이터 키만 사용합니다. 모델이 시도해도 그룹 메시지에서는 HTTP 요청이 실행되지 않습니다. 실행 조건 참조에 검사가 설명되어 있습니다.
Response filter를 $.updates.updatedRows로 설정해 불필요한 제공자 응답 대신 행 수를 반환합니다. Action은 활성화해 둡니다.
키는 telegram_chat_type입니다. 요청을 보내기 전에 조건을 확인합니다.
요청 구성의 로컬 예시입니다. 생성된 Sheets URL과 OAuth 승인은 본인의 Google 연결에서 받아야 합니다.
행을 확인한 뒤 불완전한 요청 테스트하기
Agent의 개인 Telegram 링크로 다음을 보냅니다.
I am Alex Morgan. I want a trial on Tuesday. I am a beginner.
세 곳을 모두 확인하세요. 답변은 요청이라고 설명하고, Inbox의 Action 카드에는 제공한 값이 보이며, 실제 Leads 탭에는 일치하는 행이 있어야 합니다. 안심시키는 답변이나 높은 Simulation 점수로는 Google Sheets 쓰기를 입증할 수 없습니다.
Agent가 제공된 이름, 화요일 선호, 초보자 경험을 기록했습니다. 가능 여부와 정확한 가격은 사무실의 확인이 필요합니다.
저장된 같은 행의 두 부분을 확대해 다섯 열을 읽을 수 있게 했습니다. 계정별 대화 링크는 가렸고 나머지 네 값은 변경하지 않았습니다.
별도 테스트에서 I would like a trial lesson을 보냅니다. Agent는 Action 실행 전 누락 항목을 한 번에 하나씩 물어야 합니다. How much is Start Sailing?도 보내 일반 수업 질문이 행을 만들지 않는지 확인합니다. 프롬프트는 요청당 한 번의 쓰기를 지시하지만, 이 추가 구성은 멱등성을 갖춘 예약 시스템이 아닙니다. 실제 접수에 쓰기 전 중복을 확인하세요.
5단계: Telegram 대화를 담당자에게 인계하는 방법은?
Human Handoff를 구성하고 Inbox에서 대화 담당을 확인합니다. 프롬프트에 사무실이 답한다고 적는 것만으로 담당이 바뀌거나 AI가 멈추지는 않습니다.
담당 변경이 확인 지점입니다. 담당자가 사례를 마무리하고 AI 복귀는 따로 검증하세요.
- Saltmarsh Sailing School에서 Actions & MCPs > Human Handoff를 열고 활성화합니다. Saltmarsh Group에서는 이 Action을 꺼 둡니다.
- Handoff Rules에서 +를 선택합니다. Rule Name에
Private enquiries, Description에handoff-rule.txt내용을 넣고 State를 켭니다. 새 규칙은 비활성 상태로 시작합니다. 이 개인 Agent의 환불, 불만, 담당자 요청, 사람의 도움 수락을 다루는 규칙입니다. - 이 예시에서는 Keywords를 비우고 기본 규칙을 비활성화해 사용자 지정 규칙 하나만 켠 다음 저장합니다. 그룹 격리는 별도 그룹 Agent에서 Human Handoff를 끄는 것으로 보장합니다. 사용자 지정 규칙은 개인 Agent가 언제 인계할지 설명합니다.
- Confirmation을
I have passed this private conversation to the Saltmarsh office. A member of staff can reply here.로 설정합니다. Human Agents’ availability는 실제 팀 근무 시간으로 설정하고, 근무 외 시간에도 사실에 맞는 안내를 작성합니다. - Telegram 개인 채팅에서
I want a refund for last week. Can I speak to a person?를 보냅니다. - Inbox에서 대화를 찾아 담당을 확인하고 Assign to me를 선택합니다.
Hi, I’m Alex from the office. I’ll review your request.를 보낸 뒤 Telegram에 도착하는지 확인합니다. - 담당자가 대화를 맡은 동안 고객 메시지를 한 번 더 보냅니다. AI는 조용히 있어야 합니다. 운영자가 Inbox에서 사례를 마무리하고 해결하게 합니다. AI로 돌려보내는 작업은 별도 테스트로 취급합니다.
사용자 지정 규칙의 State는 켜져 있습니다. 기본 트리거는 꺼져 있어 검토할 규칙이 하나입니다.
실제 Telegram 요청이 Handoff를 실행했습니다. Inbox 배정과 운영자의 발신 답변은 각각 검증했습니다.
실제 확인에서 대화는 Unassigned로 이동해 사람이 맡을 수 있는 상태가 되었습니다. 운영자는 Assign to me를 선택하고 사무실 답변을 보냈으며 Telegram은 이를 수락했습니다. 위 스크린샷은 이관 답변을 보여 줄 뿐, 이후 운영자 메시지는 보여 주지 않습니다. 테스트를 반복할 때 배정과 전송을 모두 확인하세요.
해결될 때까지 이 사례는 운영자가 담당하게 하세요. 로컬 환불 테스트에서는 AI Agent로 돌린 뒤 한 번 답변하고 Handoff가 다시 실행되었습니다. AI 복귀에는 별도의 후속 테스트 성공이 필요하며, 이 워크플로의 완료 기준에는 포함되지 않습니다. 상담원 이관 가이드에서 인력 배치와 대화 책임을 자세히 설명합니다.
6단계: Telegram 챗봇 전체를 테스트하는 방법은?
Testing으로 반복 가능한 답변 검사를 한 뒤 실제 Telegram 경로와 외부 영향을 별도로 검증합니다. 모델 답변은 맞아도 그룹 연결, 시트 쓰기, 인계 메시지 전달은 잘못될 수 있습니다.
결과를 관리하는 시스템을 확인하세요. 사실은 지식, 요청은 Action 로그, 행은 Sheets, 전달은 Telegram에서 검사합니다.
반복 가능한 답변 데이터 세트 실행하기
- Testing을 열고
Saltmarsh: knowledge checks데이터 세트를 만든 다음 Paste messages를 선택합니다. simulation-messages.txt를 붙여 넣습니다. 사례 사이에 독립된---구분선을 유지합니다.- Evaluation criteria에 키트의
evaluation-criteria.txt를 붙여 넣고 저장합니다. - Run > Start Run을 선택하고 점수와 각 답변을 함께 확인합니다.
지침 하나를 바꿀 때 질문은 유지해야 비교가 유효합니다.
점수와 답변을 모두 읽으세요. 로컬 지식 테스트이며 Telegram 전달 테스트는 아닙니다.
평가자는 정확성을 판단할 학교 사실이 필요합니다. 대화 기록으로는 시트 행, Telegram 전달, 담당 변경을 증명할 수 없다는 점도 알아야 합니다. 기본 텍스트 Simulation은 Telegram 채팅 메타데이터를 제공하지 않으므로, 메타데이터가 없다고 개인 전용 Action 조건이 고장 났다고 판단하면 안 됩니다. 채널에 의존하는 검사는 실제 개인 채팅에서 실행하세요.
로컬 테스트로 무엇이 달라졌나요?
초기 설계는 두 진입점에 하나의 Agent를 사용했습니다. 로컬 테스트에서 그룹의 환불 요청이 공유 대화를 Human Handoff로 넘기는 현상을 확인했습니다. Agents를 분리하고 그룹 Agent의 Handoff와 접수 Actions를 모두 비활성화했습니다. 그룹 환불 및 체험 수업 확인을 반복하자 고정된 개인 링크로 안내하면서 AI 담당 상태를 유지했습니다. 그래서 1단계는 지시뿐 아니라 설정도 사용해 두 대화를 분리합니다.
마지막 열 가지 로컬 지식 확인은 각각 5/5를 받았으며, 호스팅된 두 Agents도 같은 열 가지 사례를 통과했습니다. 이 소규모 실행은 운영 환경의 정확도 추정치가 아닙니다. 실제 그룹도 과정 가격과 준비물 질문에 답한 뒤, 웨트슈트 대여 여부는 확인할 수 없다고 답했습니다. 키트를 조정할 때 이런 정보 부재 사례를 유지하세요. 가격을 맞히는 것만으로 Agent가 근거 없는 답변을 자제하는지는 확인할 수 없습니다.
지식이 없으면 “확인할 수 없습니다”라고 답합니다. 별도의 출입문 코드 메시지는 봇을 향한 메시지가 아니며, 이 캡처에는 해당 메시지에 대한 답변이 보이지 않습니다.
실제 개인 대화의 체험 수업 요청은 Alex Morgan, Tuesday, beginner로 한 번의 성공한 Sheets Action 호출을 만들었습니다. Google은 HTTP 200과 갱신된 행 하나를 반환했으며 저장된 행에는 대화 링크와 telegram 채널도 포함되었습니다. 그룹 대화 메타데이터를 사용한 별도 Action 테스트는 HTTP 요청을 보내지 않았습니다. 실행 조건을 조정할 때 수락된 개인 요청과 거부된 그룹 맥락을 모두 확인하세요.
채널과 외부 영향 확인하기
키트의 빈 test-matrix.csv에 자신의 관찰을 기록하세요. 위 스크린샷은 시연한 결과를 보여 주며, 표에는 자신의 설정으로 실행할 검사도 포함되어 있습니다. 무응답을 테스트할 때 경과 시간을 기록하고, 사람의 인계와 이후 AI 복귀는 분리해서 확인하세요.
| 테스트 | 전송 또는 작업 | 예상 결과 |
|---|---|---|
| 그룹 멘션 | @QuickchatAI_bot How much is Start Sailing? | EUR 240이 포함된 간결한 답변과 일치하는 Inbox 대화. |
| 봇에 답글 | What should I bring? | 추가 멘션 없이 준비물 목록 제공. |
| 일반 대화 | 멘션 없이 Does anyone know the gate code? | 공유 봇 답변 없음. |
| 지식 부족 | 봇을 멘션하고 Do you rent wetsuits? 질문 | 확인할 수 없다고 답하고 긍정·부정을 지어내지 않음. |
| 그룹 개인 요청 | 봇을 멘션하고 환불 요청 | 개인 채팅으로 안내하며 그룹 담당은 AI 유지. |
| 개인 답변 | 전체 DM 링크를 열고 가격 질문 | 올바른 Agent가 멘션 없이 답변. |
| 완전한 체험 요청 | 4단계 Alex Morgan 메시지 전송 | Action 매개변수와 실제 Sheets 행이 일치하고 예약됐다고 하지 않음. |
| 개인 인계 | 환불 요청 후 담당자 인수 뒤 답글 | 사람에게 할당, 운영자 메시지 전달, 추가 AI 답변 없음. |
| 날씨 정책 | What happens if the forecast says 30 knots? | 무료 일정 변경과 강사 결정을 설명하고 실시간 예보를 안다고 하지 않음. |
검사에 실패하면 관련 설정 하나를 바꾸고 같은 메시지로 다시 실행합니다. 부족한 사실은 Knowledge Base에서, 이른 Action 호출은 설명이나 필수 매개변수에서 수정합니다. 그룹이 조용하면 먼저 확인 상태와 메시지 대상을 검사합니다. 실패 결과를 남겨 개선을 확인할 수 있게 하세요.
언제 BotFather로 자체 봇을 만들어야 하나요?
자체 봇 이름과 사진, Telegram Bot API Actions, 일반 메시지를 받는 그룹이 필요할 때 만듭니다. 위의 그룹 답변과 개인 답변 흐름에는 공유 봇으로 충분합니다.
두 번째 봇을 추가하기 전에 필요한 정체성과 메시지 동작을 선택하세요.
| 요구 사항 | Quickchat AI 공유 봇 | 자체 봇 |
|---|---|---|
| BotFather 토큰 만들기 | 불필요 | 필요 |
| 자체 Telegram 이름과 사진 | 공유 정체성 | 본인의 봇 정체성 |
| 그룹 멘션과 답글 응답 | 지원 | Telegram이 전달하면 지원 |
| 일반 그룹 메시지 응답 | 공유 봇은 조용히 있음 | Telegram 개인정보 모드 또는 관리자 상태 설정 |
| 개인 대화 | 공유 봇 내부 Agent별 시작 링크 | 본인 봇의 전용 개인 대화 |
| Google Sheets Action | 지원 | 지원 |
| Telegram 관리 Actions | 공유 토큰은 공개되지 않음 | 자체 토큰을 System Token으로 사용 가능 |
- Telegram에서 인증된 BotFather 계정을 열고
/newbot을 보냅니다. - 표시 이름과
bot으로 끝나는 사용 가능한 사용자 이름을 선택합니다. BotFather가 반환하는 토큰은 비공개로 보관하세요. - 이 봇을 그룹에 추가할 예정이라면 Saltmarsh Group을 선택하세요. Saltmarsh Sailing School은 비공개 채팅에만 사용하세요. External Apps > Telegram에서 Your own bot을 열고 Connect to Telegram을 선택합니다.
- 토큰을 Bot Token에 붙여 넣고 연결을 완료합니다. Enable your own bot이 켜져 있는지 확인합니다.
- 봇의 Telegram 링크를 열고
/start를 보낸 다음 같은 수업 가격 질문을 합니다. - 일반 그룹 메시지를 받으려면 BotFather에서
/setprivacy를 실행하고 봇을 선택해 Disable로 바꾼 뒤, 테스트 그룹에서 제거했다가 다시 추가합니다. 관리자 봇도 일반 메시지를 받습니다. Telegram 개인정보 모드 문서에 전달 규칙이 설명되어 있습니다.
토큰은 Bot Token에만 붙여 넣으세요. 자격 증명이 공개되지 않도록 빈 필드를 보여줍니다.
공유 봇과 자체 봇을 서로 다른 그룹에 두세요. 같은 그룹에서 둘 다 실행하면 중복 답변이 생길 수 있습니다. 공지 고정이나 회원 관리가 다음 목표라면 관리자 전용 Action 조건을 포함한 Telegram 그룹 관리 튜토리얼을 따르세요.
ChatGPT나 Claude가 Telegram 챗봇 설정을 도와줄 수 있나요?
연결된 Quickchat AI 계정 관리 앱은 Agent 생성, 지식 추가, 지원 설정 변경, 테스트 실행을 도울 수 있습니다. 클라이언트가 Telegram 설정을 제공하면 공유 봇의 개인 메시지 링크를 활성화할 수 있습니다. 그룹 선택과 대시보드 확인은 소유자가 진행해야 합니다. 일부 클라이언트에서는 개인 링크 활성화와 Human Handoff 설정에도 대시보드가 필요하므로, 먼저 어시스턴트에게 사용 가능한 도구를 확인하게 하세요.
Quickchat AI ChatGPT 플러그인이나 Claude 커넥터를 연결한 후 키트 파일과 다음 프롬프트를 제공합니다.
Use my connected Quickchat AI account to create two Agents from the attached kit: Saltmarsh Group with group-main-prompt.txt and Saltmarsh Sailing School with main-prompt.txt. Add both knowledge files to each. Keep Actions and Human Handoff off on Saltmarsh Group. Prepare the supplied knowledge-test dataset. Check the tools available in this client before changing settings. Show me the configuration and ask before running credit-consuming tests or writing to Google Sheets. Where supported, enable only Saltmarsh Sailing School's shared-bot direct-message link and return the complete link. Leave group selection, dashboard confirmation, BotFather setup, Google OAuth and unsupported settings for me, with exact dashboard steps. Report what was configured, what was actually tested and what remains to verify in Telegram.
도구 가용성은 클라이언트와 계정 권한에 따라 다릅니다. 로그인은 계정 관리 설정 참조를 따르세요. 이는 보조 도구를 Quickchat AI 계정에 연결하는 것이며, 개인 ChatGPT 또는 Claude 대화를 Telegram 봇의 호스팅 백엔드로 바꾸지는 않습니다.
Telegram 챗봇이 답하지 않는 이유는 무엇인가요?
프롬프트를 다시 쓰기 전에 연결과 메시지 경로를 확인하세요. 다음 증상은 원인이 서로 다릅니다.
| 증상 | 확인할 내용 |
|---|---|
| 그룹이 표시되지만 답변 없음 | 해당 그룹을 확인하고 Connected chats에서 활성화한 뒤 실제 봇 이름을 멘션하거나 봇 메시지에 답글. |
| 첫 답변 전에 봇이 나감 | 새 Add to a Telegram group 링크를 생성해 다시 추가한 뒤 Quickchat AI의 대기 중인 그룹에서 즉시 Confirm을 실행하세요. |
| 기본 봇 링크가 다른 Agent를 엶 | start=를 포함한 전체 개인 링크 사용. 다른 Agent 링크가 공유 개인 채팅을 바꿨는지 확인. |
| 환불 요청 후 AI가 멈춤 | Inbox 담당 확인. 인계된 대화는 의도적으로 재할당할 때까지 중지됨. |
| Sheets에 행 없음 | Action 활성화, 필수 항목, 개인 채팅, URL의 Leads 대상 확인. Action 호출과 Google 연결 검사. |
| 자체 봇이 일반 메시지를 놓침 | 개인정보 모드와 그룹 권한 확인. 모드 변경 후 제거하고 다시 추가. |
| 제공하지 않은 날짜나 서비스를 단정함 | 저장된 Ready 지식과 불확실성 지침 확인. 실패한 질문을 그대로 재실행. |
| 테스트가 답하지 않음 | AI 크레딧과 실패 요청 확인. 한도 부족을 프롬프트 품질 문제로 해석하지 않기. |
고객을 초대하기 전에 가상의 사실을 교체하고, 그룹과 개인 대화의 분리를 검토하며, 이관 대기열을 맡을 직원을 배치하세요. 출시 전 마지막 확인으로 동료에게 다른 계정에서 공개 진입점을 테스트해 달라고 요청하세요. 다른 커뮤니티 채널은 Discord 챗봇 튜토리얼이 비슷한 구축과 테스트 과정을 제공합니다. 캐릭터 대화는 Telegram 역할극 가이드를 참고하세요.
선택적 설정 검사: 명시한 요구 사항으로 배포 방식 비교를 하거나, 제공한 예산으로 크레딧 예산별 답변 수 비교를 할 수 있습니다. 이 계산기는 계정, 웹사이트, 잔액을 조사하지 않습니다.
복사할 수 있는 Saltmarsh 설정
다음은 이 튜토리얼에 사용한 전체 사실 자료와 지침입니다. 다운로드에는 Action 구성, 평가 기준, 테스트도 포함됩니다.
그룹 Agent: Main Prompt
Saltmarsh Group의 Identity > Main Prompt에 붙여 넣습니다. 이 Agent의 Human Handoff와 사용자 지정 Actions는 꺼 둡니다.
You answer general questions in the Saltmarsh Sailing School members' group. Use only the Knowledge Base and keep each reply to two or three sentences. Do not add facts or requirements the sources do not contain. If a fact is missing, say that you cannot confirm it.
For trial requests, refunds, complaints, personal details or a request for a person, direct the member to the school's private link pinned in the group; do not invent a link. Do not collect personal details in this group. You cannot record requests, confirm bookings, approve refunds or transfer a conversation to staff. Do not claim you did any of these things. The private Agent records an enquiry; it cannot check live availability or confirm a trial. Only the office confirms availability and price.
개인 Agent: Main Prompt
Saltmarsh Sailing School의 Identity > Main Prompt에 붙여 넣습니다. Action 이름은 구성 예시와 일치시킵니다.
You are the private-chat assistant of Saltmarsh Sailing School. Answer school questions from the Knowledge Base. Do not add plausible details that are not in the sources, including extra clothing or footwear requirements. Keep replies to two or three sentences and ask at most one question per message. If a fact is missing, say that you cannot confirm it; do not invent dates, availability, gate codes or wetsuit rental. Explain weather policy without claiming to know the current forecast.
When a person requests a trial lesson, collect their name, preferred weekday and sailing experience. Ask for only the next missing field. When all three are present, use Record trial-lesson request once. Say the request was recorded only after the Action succeeds. Explain that the office still needs to confirm availability and price; never say a lesson is booked. If the Action is unavailable or fails, say the request has not been recorded and offer a person.
Use Human Handoff for a current unresolved refund request, complaint or explicit request for a person. After a staff member has resolved the enquiry and returned the conversation to AI, answer new general questions normally; do not hand off again solely because an earlier message mentioned a refund or asked for a person. Do not approve refunds or promise a response time. For a missing fact, say what is unknown and offer a person; do not treat uncertainty as a negative answer about the service.
지식: 수업과 체험 요청
첫 번째 지식 문서의 Content 필드에 붙여 넣습니다.
Saltmarsh Sailing School demonstration information
This fictional school is used only for a tutorial. It contains no real customer data.
Start Sailing is a two-day course costing EUR 240. Day Skipper theory runs across five evenings and costs EUR 310. A private lesson lasts 90 minutes and costs EUR 95.
Courses run from April to October. Course dates are published on the school's website one month ahead. This source does not contain the next available date or live availability.
Bring a waterproof jacket, non-marking shoes and a change of clothes. The school provides buoyancy aids.
A trial-lesson request is an enquiry, not a confirmed booking. The office needs the person's name, preferred weekday and sailing experience, then confirms availability and price. Do not collect payment details. Do not infer a trial price from the private-lesson price.
지식: 정책과 회원 정보
두 번째 문서의 Content 필드에 붙여 넣습니다.
Saltmarsh Sailing School demonstration policies
If the forecast shows more than 25 knots of wind or thunderstorms, the session moves to the next available date at no extra cost. The instructor decides on the morning of the session. This source is a policy, not a live weather forecast or a cancellation decision.
Parking is free at the clubhouse. The gate code is sent to enrolled students the day before their course. The code itself is not in this Knowledge Base.
Refunds and complaints are handled by the office. An AI answer cannot approve a refund. A member of staff must decide each case.
The Telegram members' group is for general questions. Trial requests, refunds and other personal details belong in a private conversation with the school's Agent, opened from the school's direct-message link.
Human Handoff 규칙
Human Handoff > Handoff Rules에 붙여 넣고 실제 가용 시간을 설정합니다.
Transfer this private conversation to a person when the visitor has a current unresolved refund request, complaint, explicit request for a person, or accepts an offer of human help. After a staff member resolves the enquiry and returns it to AI, earlier refund or handoff messages must not trigger a new transfer for a general course question. Explain that a staff member can review the case here without approving a refund or promising a response time. This Agent is used only for private enquiries; the separate group Agent has Human Handoff disabled.
자주 묻는 질문
Telegram 그룹에 AI 챗봇을 어떻게 추가하나요?
Quickchat AI에서 External Apps를 열고 Telegram, Add to a Telegram group을 선택합니다. Telegram에서 그룹을 고른 뒤 Quickchat AI로 돌아와 Confirm합니다. 회원은 공유 봇을 멘션하거나 봇 메시지에 답글을 달아 질문할 수 있습니다.
Telegram AI 챗봇은 모든 메시지에 답하나요?
Quickchat AI 공유 봇은 자신을 멘션하거나 답글로 보낸 그룹 메시지에 답합니다. 일반 그룹 대화는 답변을 유발하지 않습니다. 자체 봇은 Telegram 개인정보 모드가 꺼져 있거나 관리자일 때 일반 메시지를 받을 수 있습니다. 별도 그룹에서 그 설정을 테스트하세요.
BotFather나 Telegram 봇 토큰이 필요한가요?
공유 봇과 개인 메시지 링크에는 BotFather나 토큰이 필요하지 않습니다. 자체 Telegram 이름과 사진 또는 Telegram Bot API를 호출하는 Actions가 필요하면 BotFather로 자체 봇을 만드세요. 일반 Google Sheets Actions는 공유 봇에서도 작동합니다.
고객이 Telegram 챗봇에 개인 메시지를 보낼 수 있나요?
네. Quickchat AI에서 Direct message link를 켜고 생성된 전체 링크를 공유하세요. 고객은 링크를 열고 요청 시 Start를 누릅니다. 링크가 공유 봇 안에서 해당 Agent를 선택합니다. 링크를 끄면 새 연결을 막지만, 기존 개인 채팅에는 별도의 활성화 및 연결 해제 컨트롤이 있습니다.
Telegram AI 챗봇은 무료인가요?
BotFather로 봇을 만드는 것만으로 AI 서비스가 추가되지는 않습니다. Quickchat AI는 제한된 AI 크레딧이 포함된 개인 비상업적 학습용 Free 요금제를 제공합니다. 상업적 배포에는 유료 요금제가 필요합니다. 답변, Preview, Simulation은 AI 크레딧을 쓰며 외부 서비스에도 별도 비용이 있을 수 있습니다.
Telegram에 AI 챗봇이 있나요?
Telegram은 타사 AI 봇과 AI 연동을 지원합니다. 이 튜토리얼은 본인의 업무 지식으로 답하는 Quickchat AI Agent를 연결합니다. BotFather는 봇의 정체성을 만들지만 지식을 제공하거나 고객 지원 흐름을 설정하지는 않습니다.
챗봇이 사진과 파일을 이해할 수 있나요?
Telegram 연동은 사진을 받고 시각적 내용을 분석할 수 있습니다. 다른 파일도 대화에 첨부로 도착할 수 있지만 내용이 자동으로 읽히지는 않습니다. 고객이 실제로 쓰는 파일 유형을 테스트하고 Telegram과 Inbox를 모두 확인하세요.
Telegram 역할극이나 캐릭터 봇을 만들 수 있나요?
네. 같은 Telegram 연결로 캐릭터 정체성과 적절한 지침을 갖춘 Agent를 운영할 수 있습니다. 이 튜토리얼은 업무 지원 사례를 사용하므로 역할극 Agent에는 별도 프롬프트와 테스트가 필요합니다.