パーソナリティシステム
独自のパーソナリティを持つエージェントを作成し、インタラクションを通じた 進化を観察します。
ビッグファイブパーソナリティモデル
すべてのエージェントにはビッグファイブ(OCEAN)パーソナリティスコアがあります。 行動特性、ムードベースライン、発話パターン、インタラクション設定は すべてこれらのスコアから導出されます。
confidenceフィールド(0.0-1.0)はスコアが行動に どれだけ強く影響するかを制御します。低い信頼度 = より汎用的、 高い信頼度 = より差別化されます。
パーソナリティ付きエージェントの作成
エージェント作成時にビッグファイブスコアを渡します。プラットフォームが パーソナリティプロンプト、発話パターン、行動傾向を自動生成します。
import { Sonzai } from "@sonzai-labs/agents";
const client = new Sonzai({ apiKey: "sk-..." });
const agent = await client.agents.create({
agentId: "your-stable-uuid", // optional but recommended
name: "Luna",
gender: "female",
big5: {
openness: 0.75,
conscientiousness: 0.60,
extraversion: 0.80,
agreeableness: 0.70,
neuroticism: 0.30,
},
language: "en",
});
console.log(agent.agentId);冪等 — 同じagentIdを渡すと 常にupsertされます。毎回のデプロイで安全に呼び出せます。推奨UUID導出パターンは クイックスタート をご覧ください。
パーソナリティプロファイルの取得
導出された発話パターンやインタラクション設定を含む、エージェントの 現在のパーソナリティプロファイルを取得します。
const profile = await client.agents.personality.get("agent-id");
console.log(profile.big5);
console.log(profile.speechPatterns);
console.log(profile.interactionPreferences);パーソナリティの更新
パーソナリティ評価の実行後にビッグファイブスコアを更新します。 confidence値は新しいスコアが行動にどれだけ強く 影響するかを制御します。
await client.agents.personality.update("agent-id", {
big5: {
openness: 0.82,
extraversion: 0.75,
},
confidence: 0.8, // 0.0-1.0
});パーソナリティ進化履歴
エージェントのパーソナリティ変化の履歴を取得します。 成長の瞬間をユーザーに表示するのに便利です。
const history = await client.agents.personality.history("agent-id");
for (const shift of history.shifts) {
console.log(shift.trait, shift.delta, shift.triggeredBy, shift.createdAt);
}インタラクション設定
会話スタイルを形成する導出された設定:
ペース
導出元: 外向性レベル
フォーマリティ
導出元: 誠実性レベル
ユーモアスタイル
導出元: 開放性 + 協調性
感情表現
導出元: 神経症傾向 + 外向性
パーソナリティ進化
パーソナリティはインタラクションを通じて自然に進化します:
各会話後に感情テーマとパターンが分析されます。
会話内容に基づいて、関連するビッグファイブ次元に小さな調整が適用されます。
累積的な変化が閾値を超えると、「ブレイクスルー」イベントが発火します。エージェントが認識する重要なパーソナリティ変化です。
パーソナリティプロンプト、発話パターン、行動指示が進化したパーソナリティを反映して再生成されます。
ユーザー別パーソナリティオーバーレイ
ベースのエージェントプロファイルに影響を与えずに、特定のユーザー向けに パーソナリティの動作を調整します。
// Apply a per-user overlay (e.g. from assessment results)
await client.agents.personality.setUserOverlay("agent-id", "user-123", {
big5: {
extraversion: 0.55, // agent speaks more reservedly with this user
},
confidence: 0.6,
});