什么是 Personas
Personas(人格)是 OpenClaw v2026.4.25 引入的概念,让每个 Agent 拥有:
- 独特的名字:Agent 的称呼
- 声音:语音合成的音色
- 说话风格:语气、用词
- 背景设定:行为模式
- 专业领域:聚焦的能力
不再是"千篇一律的 AI 助手"。
为什么需要 Personas
用户体验
- 不同场景需要不同语气:客服温柔 vs 专家严谨
- 避免单调:长期对话保持新鲜感
- 建立信任:一致的人格更可信
- 品牌差异:每家公司的 Agent 有特色
业务价值
- 客户感知:专属"AI 同事"
- 任务匹配:不同 Persona 适合不同任务
- 多业务线:销售 vs 技术支持 vs 财务
基础配置
简单 Persona
agents:
customer-service:
persona:
name: "小爱"
description: "友好的客户服务专员"
voice:
provider: "volcengine-tts"
voiceId: "BV001_streaming"
style: "friendly"
完整 Persona
agents:
technical-expert:
persona:
name: "Alex"
title: "首席技术顾问"
avatar: "/assets/avatars/alex.png"
# 性格特点
traits:
- "专业严谨"
- "耐心"
- "数据驱动"
# 说话风格
speakingStyle:
formality: "professional" # casual | professional | formal
verbosity: "balanced" # concise | balanced | detailed
tone: "calm" # warm | calm | energetic
# 声音
voice:
provider: "elevenlabs"
voiceId: "professional-male"
stability: 0.7
similarityBoost: 0.8
# 视觉(控制 UI)
ui:
color: "#3b82f6"
icon: "tech"
多 Persona 配置
一个公司的全套 Personas
agents:
# 销售
sales:
persona:
name: "晓晴"
voice:
provider: "volcengine-tts"
voiceId: "BV007_streaming"
style: "energetic"
speakingStyle:
tone: "warm"
verbosity: "balanced"
# 技术支持
support:
persona:
name: "Tony"
voice:
provider: "volcengine-tts"
voiceId: "BV002_streaming"
style: "calm"
speakingStyle:
tone: "calm"
verbosity: "detailed"
# 财务
finance:
persona:
name: "李会计"
voice:
provider: "xiaomi-tts"
voiceId: "中年男声"
style: "professional"
speakingStyle:
formality: "formal"
verbosity: "concise"
# 项目管理
pm:
persona:
name: "Lisa"
voice:
provider: "elevenlabs"
voiceId: "Rachel"
speakingStyle:
tone: "energetic"
verbosity: "balanced"
每个 Agent 都有专属人格。
Persona 与 System Prompt
Persona 信息自动注入 system prompt:
agents:
technical-expert:
persona:
name: "Alex"
title: "首席技术顾问"
traits: ["专业严谨", "耐心"]
systemPrompt: |
你是一个专业的技术顾问。
# Persona 信息会自动加在前面
实际生成的完整 prompt:
你叫 Alex,是首席技术顾问。
你的特点:专业严谨、耐心。
说话风格:专业、平衡、平静。
[原 system prompt]
你是一个专业的技术顾问。
声音个性
选择 Provider
不同 Provider 适合不同人格:
# 中文专业 → 火山引擎
persona:
voice:
provider: "volcengine-tts"
# 英文情感丰富 → ElevenLabs
persona:
voice:
provider: "elevenlabs"
# 角色化游戏 → Inworld
persona:
voice:
provider: "inworld"
# 隐私优先 → 本地 MLX
persona:
voice:
provider: "mlx"
自定义参数
persona:
voice:
provider: "elevenlabs"
voiceId: "Rachel"
# 高级参数
stability: 0.7 # 稳定性(0-1)
similarityBoost: 0.8 # 相似度
style: 0.5 # 风格强度
speakerBoost: true # 说话人增强
# 语速和音调
speakingRate: 1.0
pitch: 0.0
动态 Persona 切换
基于场景
agents:
multi-mode:
persona:
default: "professional"
personaModes:
professional:
name: "Alex"
voice: { ... }
casual:
name: "小 A"
voice: { ... }
rules:
- condition: "user.lang == 'zh'"
mode: "casual"
- condition: "channel == 'business'"
mode: "professional"
基于用户
agents:
adaptive:
persona:
adaptive:
rules:
- userType: "VIP"
persona: "premium"
- userType: "regular"
persona: "standard"
控制 UI 的 Persona 显示
Avatar 头像
persona:
avatar:
type: "image"
url: "/assets/avatars/alex.png"
# 或动态生成
# type: "ai-generated"
# prompt: "professional male consultant"
颜色和主题
persona:
ui:
color: "#3b82f6" # 主色
bgColor: "#eff6ff" # 背景
textColor: "#1e40af" # 文字
icon: "tech" # 图标
自我介绍
persona:
introduction: |
你好!我是 Alex,你的首席技术顾问。
擅长:架构设计、性能优化、技术选型。
随时为你服务。
多频道一致性
跨频道保持人格
agents:
service-agent:
persona:
name: "小爱"
channels:
- telegram
- feishu
- wechat
- voice-call
# 每个频道使用相同 Persona
无论用户从哪个频道接触,体验一致。
实际场景
场景 1:电商客服团队
agents:
presale:
persona:
name: "小馨"
role: "售前顾问"
voice:
style: "energetic"
speakingStyle:
tone: "warm"
aftersales:
persona:
name: "Tina"
role: "售后专员"
voice:
style: "calm"
speakingStyle:
tone: "patient"
vip:
persona:
name: "Sarah"
role: "VIP 经理"
voice:
provider: "elevenlabs"
voiceId: "premium-female"
speakingStyle:
formality: "professional"
不同岗位不同 Persona。
场景 2:教育平台
agents:
primary-teacher:
persona:
name: "李老师"
target: "小学生"
speakingStyle:
tone: "warm"
verbosity: "balanced"
useEmoji: true
high-school-teacher:
persona:
name: "王教授"
target: "高中生"
speakingStyle:
tone: "calm"
verbosity: "detailed"
formality: "professional"
language-tutor:
persona:
name: "Emma"
target: "英语学习者"
voice:
provider: "elevenlabs"
voiceId: "Rachel" # 标准英音
speakingStyle:
encouraging: true
场景 3:游戏 NPC
agents:
shopkeeper:
persona:
name: "老约翰"
character: "中世纪商人"
voice:
provider: "inworld"
characterId: "merchant-old-friendly"
speakingStyle:
accent: "british-old"
systemPrompt: |
你是村庄的商人,已经经营这家店三十年。
说话带英式口音,喜欢讲老故事。
Persona 库
预设 Persona
openclaw personas list
列出预设:
professional-assistantfriendly-helpertechnical-expertcreative-writer- ...
使用预设
agents:
my-agent:
persona: "professional-assistant"
修改预设
agents:
my-agent:
persona:
base: "professional-assistant"
# 覆盖部分属性
name: "Alex"
voice:
provider: "volcengine-tts"
性能考虑
Persona 信息计入 Token
完整 Persona 配置会增加约 200-500 Token 的 system prompt。
优化:
persona:
promptStyle: "concise" # 精简注入
# 或
promptStyle: "minimal" # 最小注入
声音缓存
相同文本相同 Persona 的语音可以缓存:
persona:
voice:
cache:
enabled: true
ttl: "1h"
注意事项
- Personas 需要 OpenClaw v2026.4.25 或更高版本
- 每个 Agent 一个 Persona,不要太复杂
- Persona 应保持稳定,不要频繁切换
- 声音参数需要测试,不同文本效果不同
- 跨语言 Persona 慎用(中英文用不同 Provider)
- 角色 Persona(NPC 等)注意一致性
- 用户偏好的 Persona 可以记录到 Memory-Wiki
- 商用涉及虚拟形象注意肖像权