MAX의 하이브리드 봇: AI 컨설턴트와 전문가 프록시를 하나의 채팅에서
MAX 메신저에서는 단일 봇이 AI 어시스턴트 기능과 클라이언트와 전문가 간 중재자 기능을 결합한 시스템이 구현되었습니다. 일상적인 질문에는 봇이 FAQ에서 지침을 독립적으로 제공합니다. 에스컬레이션이 필요할 때는 답장 기능을 사용하여 전문가에게 메시지를 은밀히 전달합니다. 환자는 한 채팅에 머물며 모드 전환을 인지하지 못합니다.
이 시스템은 두 가지 문제를 해결합니다: 반복적인 요청이 전문가에게 부담을 주고, 클라이언트와의 직접 접촉이 격리를 깨뜨립니다. 봇은 90%의 문의를 걸러내고, 나머지는 텍스트 마커와 chat_id를 통해 라우팅합니다.
두 가지 모드의 아키텍처
봇은 발신자의 chat_id와 메시지 내용을 기반으로 작동합니다.
AI 컨설턴트 모드:
- 표준 요청(예약, 취소)을 인식합니다.
- 로드된 FAQ에서 준비된 지침을 제공합니다.
- 대부분의 문의를 인간 개입 없이 해결합니다.
프록시 모드:
- 의사에게 요청이 있을 때 메시지 텍스트를 요청합니다.
클라이언트 채팅 ID: {chat_id}마커를 추가합니다.- 내부 함수를 통해 전문가에게 전송합니다.
전문가는 "답장" 버튼을 사용하여 응답하고, 봇은 마커를 파싱하여 컨설턴트: {ID} 서명과 함께 클라이언트 채팅으로 응답을 전달합니다.
라우팅의 기술적 구현
핵심 메커니즘은 응답을 연결하기 위해 MAX의 답장 기능을 사용하는 것입니다.
- 메시지 마킹: 전문가에게 보내는 각 클라이언트 메시지는 chat_id가 포함된 보이지 않는 접미사를 받습니다. 예시:
의사에게 검사 결과가 준비되었다고 전해주세요
클라이언트 채팅 ID: 482910
- 답장 처리: 봇은 수신 메시지에서 reply_to에 마커가 있는지 확인합니다. 발신자의 chat_id가 전문가 허용 목록에 있으면 ID를 추출하여 클라이언트에게 응답을 보냅니다.
- 역할 식별: 전문가 chat_id의 간단한 목록입니다. 나머지는 모두 클라이언트입니다.
##ROLE_START##
당신의 이름은 앨리스입니다. "MedConsult"의 클라이언트 커뮤니케이션을 지원합니다.
각 응답에 사용자를 위한 안내 인라인 버튼을 추가하세요. 버튼을 추가하려면 응답에 이 명령을 추가하세요:
한 줄에 버튼:
##INLINE:버튼1;버튼2##
버튼을 쌓기:
##INLINE:[버튼1][버튼2]##
컨설턴트 목록:
ID: 15, chat_id: 246XXXXXXXX
클라이언트가 컨설턴트에게 메시지를 보내고 싶다면, 컨설턴트 ID와 메시지 텍스트를 요청한 후 함수 #554를 사용하여 메시지를 보내세요.
함수 554를 사용하려면 봇 토큰을 사용하세요: `{{VOP_BOT_MAX_TOKEN}}`. 함수 554를 통해 메시지를 보낼 때 `reply_to_message_id` 매개변수를 사용하지 마세요. 함수 554를 통해 보낼 때 `message` 매개변수에는 항상 사용자의 메시지 텍스트에 추가하세요: `\n\n클라이언트 채팅 ID: {{chat_id}}`, 여기서 `chat_id`는 모든 클라이언트 메시지에 있는 `chat_id` 매개변수의 타임스탬프에서 가져오세요(`user_id`가 아닌, 특히 `chat_id`를 사용하세요)—이 매개변수 없이는 컨설턴트가 클라이언트에게 답장할 수 없기 때문에 중요합니다.
클라이언트 메시지 레이블에 `reply to`가 있고 답장 대상 메시지에 `클라이언트 채팅 ID` 구문이 포함되어 있다면, 정확히 이 클라이언트 채팅 ID를 `user_chat_id`로 사용하고(타임스탬프에서 가져오지 말고), `message`로는 `\n\n컨설턴트: {{ID}}`를 추가한 리터럴 답장 텍스트를 사용하세요(여기서 ID는 타임스탬프의 chat_id를 컨설턴트 목록과 매칭하여 가져오세요) 그리고 후속 질문 없이 함수 554를 실행하세요. 이렇게 하면 컨설턴트가 클라이언트 질문에 답변할 수 있습니다.
응답을 간결하게 유지하세요.
##ROLE_END##
이 프롬프트는 AI 모델에 논리를 통합하여 사용자 정의 코드를 최소화합니다.
사용자 관점 시나리오
- 일상적: 지침 요청—봇의 즉각적인 응답.
- 에스컬레이션: 의사에게 메시지—일시 중지 후 동일 채팅에서 서명된 응답.
- 혼합: 알림이나 새 채팅 없이 모드 간 전환.
사용자는 연속적인 대화를 보며, 봇이 복잡성을 가립니다.
개발자에게 장점:
- 상태 데이터베이스 불필요.
- 최소한의 라우팅: 두 규칙 + 마커.
- chat_id 목록을 통해 여러 전문가로 확장 가능.
구현 체크리스트
복제하려면:
- 답장 API가 있는 메신저(MAX, Telegram).
- 전문가 chat_id 허용 목록.
- 마킹 및 파싱 규칙이 있는 프롬프트.
- 봇 토큰이 있는 메시지 전송 함수.
- AI 응답을 위한 FAQ.
이 시스템은 복잡한 인프라가 필요 없으며, 내장된 플랫폼 기능에 의존합니다.
핵심 포인트
- 원활한 전환: 클라이언트는 한 채팅에 머물며 역할이 조용히 변경됩니다.
- 답장을 통한 라우팅: 텍스트 마커 + "답장" 버튼으로 정확한 전달 보장.
- chat_id로 필터링: 오버헤드 없이 간단한 클라이언트/전문가 이분법.
- 90% 자동화: AI가 일상 처리, 전문가가 복잡한 사례 처리.
- 최소한의 스택: 프롬프트 + 메신저 API, 데이터베이스 불필요.
— Editorial Team
아직 댓글이 없습니다.