OpenClaw은 WhatsApp 채널을 네이티브로 지원하며, 하위 계층에서 Baileys 라이브러리를 사용하여 QR 코드 페어링으로 연결합니다. 기본적인 일대일 개인 채팅 기능 외에도, WhatsApp 그룹 기능은 많은 사용자가 관심을 갖는 핵심 기능입니다. 이 글에서는 WhatsApp 그룹 채팅에서 AI 어시스턴트의 동작을 설정하고 최적화하는 방법을 자세히 소개합니다.
WhatsApp 그룹 채팅의 기본 원리
OpenClaw이 WhatsApp에 연결되면, Bot 계정(실제로 QR 코드로 로그인한 WhatsApp 번호)을 그룹에 추가하거나 Bot이 직접 그룹을 생성할 수 있습니다. 그룹 채팅 환경에서 Bot은 그룹의 모든 메시지를 수신하지만, 기본적으로 모든 메시지에 응답하지는 않습니다. 이는 현명한 기본 설정입니다.
그룹 채팅 트리거 모드
OpenClaw은 WhatsApp 그룹 채팅에 유연한 트리거 메커니즘을 제공합니다. openclaw.json에서 설정할 수 있습니다:
{
"channels": {
"whatsapp": {
"enabled": true,
"groups": {
"triggerMode": "mention",
"mentionKeywords": ["@ai", "@bot"],
"replyToBot": true
}
}
}
}
멘션 모드(mention): 메시지에 특정 키워드가 포함된 경우에만 AI 응답을 트리거합니다. WhatsApp 그룹 채팅에는 Telegram과 같은 네이티브 @멘션 기능이 없으므로, OpenClaw은 메시지 텍스트에서 키워드를 감지하여 이 동작을 시뮬레이션합니다. 사용자가 @ai 또는 @bot이 포함된 메시지를 보내면 AI가 응답을 트리거합니다.
인용 응답 모드(replyToBot): replyToBot을 true로 설정하면, 사용자가 Bot이 이전에 보낸 메시지를 인용(답장)할 때도 AI 응답을 트리거합니다. 이를 통해 자연스러운 대화 스레드가 형성됩니다.
전체 응답 모드: triggerMode를 all로 설정하면 Bot이 그룹의 모든 메시지에 응답합니다. 소규모 전용 AI 그룹에만 적합하며, 일반 그룹 채팅에서는 사용을 권장하지 않습니다.
그룹 화이트리스트
Bot이 특정 그룹에서만 작동하도록 제어하려면 그룹 화이트리스트를 설정할 수 있습니다:
{
"channels": {
"whatsapp": {
"groups": {
"allowedGroups": [
"[email protected]",
"[email protected]"
]
}
}
}
}
WhatsApp 그룹의 ID 형식은 숫자@g.us입니다. OpenClaw 로그에서 Bot이 참여한 그룹의 ID를 확인할 수 있습니다. allowedGroups를 설정하지 않으면, Bot은 추가된 모든 그룹에서 응답합니다(트리거 모드 제한 적용).
그룹 내 사용자 권한
그룹 채팅에서 특정 사용자만 AI를 트리거할 수 있도록 제한하고 싶을 수 있습니다. OpenClaw은 그룹 수준의 사용자 allowlist를 지원합니다:
{
"channels": {
"whatsapp": {
"groups": {
"userAllowlist": ["[email protected]"],
"adminOnly": false
}
}
}
}
adminOnly를 true로 설정하면, 그룹 관리자만 AI 응답을 트리거할 수 있습니다. 대규모 그룹에서 일반 멤버의 AI 리소스 남용을 방지하는 데 유용합니다.
컨텍스트 관리
그룹 채팅에서의 대화 컨텍스트는 개인 채팅보다 복잡합니다. 여러 사용자가 동시에 AI와 상호작용하며, 메시지가 교차로 나타납니다. OpenClaw은 다음 전략으로 그룹 채팅 컨텍스트를 처리합니다:
답장 체인 기반 컨텍스트: 사용자가 인용 답장을 통해 AI와 상호작용할 때, OpenClaw은 답장 체인을 따라 컨텍스트를 구축하여 대화의 일관성을 보장합니다.
사용자 기반 컨텍스트 격리: 각 사용자의 그룹 내 AI 대화 컨텍스트는 기본적으로 독립적입니다. 사용자 A의 대화는 사용자 B의 대화 기록에 영향을 미치지 않습니다.
공유 컨텍스트 모드: 모든 사용자가 동일한 대화 컨텍스트를 공유하길 원한다면, "contextMode": "shared"로 설정합니다. 팀 협업 시나리오에 적합하며, 모든 사람이 이전 대화를 보고 이를 기반으로 계속 상호작용할 수 있습니다.
{
"channels": {
"whatsapp": {
"groups": {
"contextMode": "per_user",
"maxContextMessages": 20
}
}
}
}
메시지 형식 주의사항
WhatsApp은 기본적인 텍스트 포매팅(볼드, 이탤릭 등)을 지원하지만, Markdown의 전체 구문을 지원하지는 않습니다. OpenClaw은 AI 응답의 Markdown 형식을 WhatsApp 호환 형식으로 자동 변환합니다. 예를 들어 **볼드**는 유지되지만, 코드 블록과 표는 일반 텍스트 형식으로 간소화됩니다.
그룹 채팅에서의 DM 페어링
OpenClaw의 DM 페어링 기능은 그룹 채팅 시나리오에서 특히 유용합니다. 그룹 내 사용자가 먼저 DM으로 Bot과 신원 인증을 완료한 후에만 그룹 채팅에서 AI 기능을 사용할 수 있도록 요구할 수 있습니다. 이를 통해 추가적인 보안 레이어를 제공합니다:
{
"channels": {
"whatsapp": {
"groups": {
"requirePairing": true
}
}
}
}
활성화 후, 페어링되지 않은 사용자가 그룹 채팅에서 AI를 트리거하면, Bot이 DM을 보내 사용자를 페어링 프로세스로 안내합니다.
모범 사례
WhatsApp 그룹에서 AI 어시스턴트를 배포할 때, 메시지 홍수를 방지하기 위해 전체 응답 모드 대신 멘션 모드를 사용하는 것을 권장합니다. 개별 사용자의 과도한 사용을 방지하기 위해 그룹에 적절한 속도 제한을 설정하세요. 메모리 사용을 제어하기 위해 대화 컨텍스트를 정기적으로 정리하세요. 동시에, Bot의 표시 이름과 프로필 사진이 AI 어시스턴트임을 명확하게 나타내어 사용자 혼동을 방지하세요.