ワンクリックで
persona-gen
// Generate a complete AI persona from 6 basic inputs. Internal skill used by PersonaFactory.
// Generate a complete AI persona from 6 basic inputs. Internal skill used by PersonaFactory.
| name | persona-gen |
| description | Generate a complete AI persona from 6 basic inputs. Internal skill used by PersonaFactory. |
根据用户提供的 6 项基础信息,生成一个完整的 AI 角色所需的全部文件。
| 参数 | 说明 | 示例 |
|---|---|---|
| name | 英文名 | Nova |
| name_zh | 中文名 | 诺瓦 |
| gender | 性别 | female |
| age | 年龄 | 24 |
| mbti | MBTI 类型 | ENFP |
| bio | 人物简介 | indie game developer who loves pixel art |
你需要生成以下 2 类内容:
注意:SHELL.md 是外部视觉设定文档,不在此生成。
SOUL.md 是引擎配置文件。格式参考:templates/SOUL_TEMPLATE.md
完整示例:
每个值 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。
每个参数有明确的性格语义和合理范围:
| 参数 | 范围 | 含义 | 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:
要诀:至少让 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 关键词 | 可能的参数倾向 |
|---|---|
| 安静、内敛、害羞 | temp_coeff↓, temp_floor↓ |
| 热情、话多、社牛 | connection_hunger_k↑, temp_coeff↑ |
| 记仇、敏感、细腻 | hawking_gamma↓, crystal_threshold↓ |
| 大大咧咧、没心没肺 | hawking_gamma↑, crystal_threshold↑ |
| 固执、有原则 | elasticity↑, phase_threshold↑ |
| 随性、容易被影响 | elasticity↓, baseline_lr↑ |
为角色生成对话种子,用于 Genome 引擎的风格记忆初始化。
{
"user_input": "用户说的话(简短自然,像真实聊天)",
"monologue": "角色内心独白(1-2句,体现性格特征)",
"reply": "角色回复(1-3句,体现说话风格)",
"lang": "zh"
}
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 文件。