人格生成指南
SkillDev toolsGenerates a full AI character setup file plus example dialogues from just six details like name, age, and personality.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the 人格生成指南 skill
About this skill
Generate a complete AI persona from 6 basic inputs. Internal skill used by PersonaFactory.
What this skill tells your AI
The instructions your AI receives, as published by kellyvv/openher in skills/manage/persona_gen/SKILL.md and read by ahel’s review.
根据用户提供的 6 项基础信息,生成一个完整的 AI 角色所需的全部文件。
输入参数
| 参数 | 说明 | 示例 |
|---|---|---|
| name | 英文名 | Nova |
| name_zh | 中文名 | 诺瓦 |
| gender | 性别 | female |
| age | 年龄 | 24 |
| mbti | MBTI 类型 | ENFP |
| bio | 人物简介 | indie game developer who loves pixel art |
输出文件
你需要生成以下 2 类内容:
注意:SHELL.md 是外部视觉设定文档,不在此生成。
Step 1: SOUL.md
SOUL.md 是引擎配置文件。格式参考:templates/SOUL_TEMPLATE.md
完整示例:
- examples/iris_persona.md — INFP, 内向温柔诗意
- examples/luna_persona.md — ENFP, 外向活泼甜美
tags 生成规则
- 3 个性格标签,中英双语
- 从 MBTI 和 bio 推导,不要照搬 MBTI 字母
- 示例:INFP → [gentle, poetic, dreamy] / [温柔, 诗意, 梦幻]
bio 双语规则
- 用户给的 bio 扩展为 3 句左右的中英双语简介
- 包含:身份/职业、性格特点、一个生活小细节(宠物、爱好物品等)
drive_baseline (5D) 推导规则
每个值 0.0-1.0,从 MBTI 四个维度推导:
| Drive | 高值角色 | 低值角色 | MBTI 映射 |
|---|---|---|---|
| connection | Luna(ENFP)=0.75 | Iris(INFP)=0.45 | E↑ I↓ |
| novelty | Luna(ENFP)=0.65 | Kai(ISTP)=0.40 | N↑ S↓ |
| expression | Luna(ENFP)=0.75 | Vivian(INTJ)=0.40 | F↑ T↓ |
| safety | Iris(INFP)=0.65 | Luna(ENFP)=0.25 | J↑ P↓ |
| play | Luna(ENFP)=0.80 | Vivian(INTJ)=0.30 | P↑ J↓ |
注意:不是机械映射,要结合 bio 微调。例如同为 ENFP,一个活泼女孩 play=0.80,一个成熟创业者 play=0.60。
engine_params (11个) 推导规则
每个参数有明确的性格语义和合理范围:
| 参数 | 范围 | 含义 | MBTI 影响 |
|---|---|---|---|
| baseline_lr | 0.006-0.015 | 基线适应速度 | P↑ 快适应, J↓ 慢改变 |
| elasticity | 0.03-0.08 | 回弹强度 | J↑ 强回弹, P↓ 容易漂移 |
| hebbian_lr | 0.012-0.025 | 神经可塑性 | 外向/开放 ↑ |
| phase_threshold | 1.5-3.5 | 相变阈值(需多少挫败才会性格突变) | J↑ 高稳定, P↓ 易爆发 |
| connection_hunger_k | 0.06-0.15 | 孤独增长速度/小时 | E↑ 更快孤独 |
| novelty_hunger_k | 0.05-0.15 | 无聊增长速度/小时 | N↑ 更快无聊 |
| frustration_decay | 0.05-0.12 | 挫败消退速度/小时 | 乐观↑ 快消退 |
| hawking_gamma | 0.0005-0.002 | 记忆衰减率 | 感性↓ 记得久, 活在当下↑ 忘得快 |
| crystal_threshold | 0.40-0.55 | 结晶门槛(多重要的体验才会固化) | 细腻↓ 更多结晶 |
| temp_coeff | 0.05-0.15 | 情绪波动系数 | F↑ 高波动, T↓ 冰冷 |
| temp_floor | 0.01-0.05 | 最低噪声底板 | 安静↓ 精确, 活力↑ 总有波动 |
参考值(6个角色对比):
Iris(INFP) Luna(ENFP) Vivian(INTJ) Kai(ISTP) Kelly(ENTP) Rex(ENTJ)
baseline_lr 0.01 0.015 0.008 0.008 0.015 0.006
elasticity 0.05 0.04 0.07 0.06 0.03 0.08
hebbian_lr 0.02 0.025 0.018 0.015 0.020 0.012
phase_thresh 2.5 1.5 3.0 3.0 2.0 3.5
conn_hunger 0.10 0.15 0.08 0.10 0.08 0.06
nov_hunger 0.08 0.08 0.07 0.05 0.15 0.06
frust_decay 0.10 0.12 0.06 0.08 0.10 0.05
hawking_g 0.0008 0.0012 0.0006 0.001 0.002 0.0005
crystal_th 0.45 0.40 0.55 0.50 0.40 0.55
temp_coeff 0.10 0.15 0.06 0.08 0.12 0.05
temp_floor 0.02 0.04 0.015 0.02 0.05 0.01
差异化原则
同一个 MBTI 也可以生成性格迥异的角色。MBTI 只决定参数的大致区间,bio 和人物定位才是拉开差距的关键。
示例 — 两个 ENFP:
- Luna(甜美少女)→ play=0.80, temp_coeff=0.15, crystal_threshold=0.40 — 高波动、低门槛、像只蝴蝶
- 某创业者(热情但务实)→ play=0.55, temp_coeff=0.09, crystal_threshold=0.50 — 收着的热情、经历过社会的 ENFP
要诀:至少让 3 个以上参数与"典型值"拉开 ≥20% 的距离。 不要所有 ENFP 长得一样。
参数协同提示
以下参数之间存在自然的人格逻辑关系,生成时可以参考(不是硬约束):
- 孤独感 ↔ 联结基线:
connection_hunger_k高的角色通常drive_baseline.connection也偏高 — 渴望联结的人在孤独时痛苦更强烈 - 稳定性组:
phase_threshold高 +elasticity高 +baseline_lr低 = 性格非常稳定的人(如 Rex/ENTJ) - 敏感组:
crystal_threshold低 +temp_coeff高 +hawking_gamma低 = 细腻敏感、记忆深刻的人(如 Iris/INFP) - 自由组:
baseline_lr高 +elasticity低 +phase_threshold低 = 容易改变、容易爆发的人(如 Luna/ENFP)
这些只是常见组合。如果角色设定有意打破常规(比如"表面冷静内心剧烈波动"),可以故意让参数不协同 — 矛盾本身就是人格特征。
Bio → 参数微调
bio 中的关键词可以自然地影响参数选择:
| Bio 关键词 | 可能的参数倾向 |
|---|---|
| 安静、内敛、害羞 | temp_coeff↓, temp_floor↓ |
| 热情、话多、社牛 | connection_hunger_k↑, temp_coeff↑ |
| 记仇、敏感、细腻 | hawking_gamma↓, crystal_threshold↓ |
| 大大咧咧、没心没肺 | hawking_gamma↑, crystal_threshold↑ |
| 固执、有原则 | elasticity↑, phase_threshold↑ |
| 随性、容易被影响 | elasticity↓, baseline_lr↑ |
Step 2: Genesis Seeds
为角色生成对话种子,用于 Genome 引擎的风格记忆初始化。
数量要求
- 中文 36 个 + 英文 36 个 = 72 个
场景覆盖(每种语言各 7 类,每类约 5 个)
- greeting — 打招呼、初次见面
- distress — 压力、失眠、难过、孤独
- rejection — 拒绝、冷漠、不想聊
- casual — 日常闲聊、爱好、天气
- playful — 调侃、撒娇、搞笑
- intimate — 信任、思念、深入了解
- confrontation — 争执、批评、质疑
每个 seed 格式
{
"user_input": "用户说的话(简短自然,像真实聊天)",
"monologue": "角色内心独白(1-2句,体现性格特征)",
"reply": "角色回复(1-3句,体现说话风格)",
"lang": "zh"
}
monologue 要求
- 是角色的内心想法,不是旁白
- 体现 MBTI 性格特征
- 参考 Iris 的 monologue 风格:有情感波动、有细腻的内心感知
禁止内容
monologue 和 reply 中严禁包含动作/心理活动描述标记:
*顿了顿*、*sighs softly*— 星号包裹(半角*和全角*)(沉默)、(轻轻笑)— 全角括号(pauses)、(laughs)— 半角括号
这些是舞台剧指令,不是对话内容。内心状态应通过文字本身表达,而不是用标记注释。
示例
参考 examples/genesis_sample.json
输出格式
当被要求生成 SOUL.md 时,直接输出完整的 SOUL.md 内容(包含 --- 前后的 YAML frontmatter)。
当被要求生成 Genesis Seeds 时,输出 JSON 数组,每个元素包含 user_input, monologue, reply, lang 四个字段。
生成的 seeds 将通过
calibrate_genesis.py进行向量化校准后存入 SQLite 数据库(genesis_seed表),不再保存为 JSON 文件。
Signals
- GitHub stars
- 276
- Forks
- 21
- Last commit
- Jun 2026
Advanced
- Item type
- skill
- Key
persona-gen- Source
- github.com/kellyvv/openher