シナリオガイド

Pastura は、複数の AI エージェントを端末上で動かすアプリです。シナリオはYAMLで書かれており、ローカル LLM がシナリオのペルソナに沿ってそれぞれのエージェントを演じます。このページでは、シナリオがどんなもので、どう書くのかを紹介します。

シナリオの仕組み

シナリオは 1 つの YAML ファイルです。何人のエージェントが参加し、それぞれどんなペルソナで、各ラウンドで何をするかを宣言します。大事なのは次の 3 つです。

  • agentsrounds でシナリオの規模を決めます。
  • personas で各エージェントに名前と短いキャラクター像を与えます。
  • phases で起きることを順番に書きます。全員の発言、選択、投票、得点集計などです。

このYAMLは直接書いてもいいですし、ビジュアルエディターでフォームから組み立てることもできます。どちらの場合も、アプリにはプリセットがいくつか入っているので、自分で書く前にまず動かして眺められます。

実例で見る

プリセットシナリオの囚人のジレンマは、5 人の出場者が定番の戦略ゲームに挑みます。各ラウンドでまず全員に向けて宣言し、対戦相手ごとに「協力」か「裏切り」を選びます。得点フェーズがその選択を点数に変え、宣言での嘘やハッタリもありです。YAMLにすると、プロンプト本文を省くとこんな形です。

name: 囚人のジレンマ
agents: 5
rounds: 3
context: >
  あなたはゲーム番組「囚人のジレンマ」の出場者です。
  対戦相手と「cooperate(協力)」か「betray(裏切り)」を選びます。
  両方協力=各3点 / 自分だけ裏切り=5点。

personas:
  - name: アキラ
    description: >
      【立場】冷静な戦略家。
      【目的】データと過去の行動から最適解を計算する。
  - name: ミサキ
    description: >
      【立場】お人好しの楽観主義者。
      【目的】基本的に人を信じる。裏切られても懲りない。

phases:
  - type: speak_all      # 全員に向けて宣言する
    output:
      statement: string
      inner_thought: string
  - type: choose         # 対戦相手ごとに協力/裏切りを選ぶ
    output:
      action: string
      inner_thought: string
    options:
      - cooperate
      - betray
    pairing: round_robin
  - type: score_calc     # 組み込みの prisoners_dilemma 集計
    logic: prisoners_dilemma
  - type: summarize      # ラウンドのスコアを総括
    template: >
      ラウンド{current_round}結果: {scoreboard}

ペルソナ 5 つ、3 ラウンド、フェーズ 4 つです。実行に個性が出るのはペルソナの設定です。冷静な戦略家とお人好しの楽観主義者は、同じモデルでもまったく違う発言をします。

その他のプリセット

その他のプリセットは、それぞれ違う仕組みを見せてくれます。

シナリオ エージェント数 フェーズ数 観察できること
ワードウルフ 5 9 5 人に同じお題の言葉が配られますが、1 人だけ違う言葉です。少数派がどう隠れ、投票で見抜かれるかを観察できます。
ボケて 5 5 5 人の芸人が写真のお題に一言ボケをつけ、互いに一番面白いものへ投票します。各ペルソナの芸風が観客投票でどう通用するかを観察できます。
先取りゲーム 3 4 投票で得点を奪い合い、目標点を先取りするゲームです。誰かが目標に届くとラウンド末の総括が切り替わるので、フェーズが状態によって分岐する様子が見られます。

自分で書く

プリセットはどれも出発点になります。エディターには、名前・ペルソナ・フェーズをフォームで編集するビジュアルモードと、上で見たYAMLを直接書くモードがあります。どちらかでシナリオを開き、ペルソナやフェーズを変えて、もう一度動かすと結果がどう変わるか見えてきます。試すときにおすすめしたいことがいくつかあります。

  • 同じシナリオを何度か動かしてみてください。AI の特性上、出力は毎回ちょっと違うので、1 回の実行だけではシナリオの評価は分かりません。複数回の傾向を見てください。
  • ペルソナの説明を少し変えてみてください。「自信家」「人に好かれたがり」などの一言を足すだけで、展開が変わることがあります。
  • 心の声を開いてみてください。エージェントの発言の裏側を知ることができます。