メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.qoder.com/llms.txt

Use this file to discover all available pages before exploring further.

Outcomes 機構によって、Agent に明示的な成功基準 (Rubric) を定義できます。Agent は Rubric の内容を参照しながら反復作業を行い、期待する成果に到達するまで継続します。

コアコンセプト

用語説明
Outcomeあるタスクの期待される最終成果の記述
Rubric成功基準のテキスト。Agent はこれを根拠に自身の出力が基準を満たすか判断
特定の品質基準で Agent にタスクを完了させたい場合、user.define_outcome イベントで Rubric を Session に送信すると、以降の処理で Agent が継続的にこの基準を参照します。

イベント形式

{
  "events": [
    {
      "type": "user.define_outcome",
      "rubric": "生成されるレポートには次を含めること: 1) エグゼクティブサマリーは 200 文字以内 2) 実行可能な提案を 3 件以上 3) データ出典の明記"
    }
  ]
}

フィールド説明

フィールド必須説明
typestringはい固定値 user.define_outcome
rubricstringはい成功基準の記述テキスト

典型的な使い方

  1. Session を作成し、初期メッセージを送信
  2. user.define_outcome で Agent に成功基準を伝える
  3. Agent は Rubric に従って反復作業
  4. session.status_idle を受信したら出力を確認
Rubric はできるだけ具体的かつ測定可能にしてください。「もう少しうまく書く」のような曖昧な記述ではなく、「コードカバレッジは 80% 以上」のように記述しましょう。

curl の例

# 既存 Session に Outcome 定義を送信
curl -X POST https://openapi.qoder.sh/api/v1/cloud/sessions/sess_019e392c0d1e74e095d21ea4c6b41def/events \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "events": [
      {
        "type": "user.define_outcome",
        "rubric": "リファクタリング後の関数: 1) 単体テスト全件パス 2) 循環的複雑度 ≤ 10 3) lint 警告ゼロ"
      }
    ]
  }'

成功レスポンス (202 Accepted)

{
  "data": [
    {
      "id": "evt_019e4a1b2c3d4e5f6a7b8c9d0e1f2a3b",
      "type": "user.define_outcome",
      "rubric": "リファクタリング後の関数: 1) 単体テスト全件パス 2) 循環的複雑度 ≤ 10 3) lint 警告ゼロ",
      "session_id": "sess_019e392c0d1e74e095d21ea4c6b41def",
      "turn_id": "turn_019e4a1b2c3d4e5f6a7b8c9d0e1f2a3c",
      "schema_version": "1.0",
      "created_at": "2026-05-18T16:00:00.000Z",
      "processed_at": "2026-05-18T16:00:00.000Z"
    }
  ]
}

通常メッセージとの違い

観点user.messageuser.define_outcome
用途対話メッセージの送信成功基準の定義
トリガー挙動Agent がメッセージを返信Agent が基準に沿って反復作業
主要フィールドcontentrubric
送信タイミング任意のタイミング通常はタスク開始前または初期メッセージの後

ベストプラクティス

  • タスク指示 (user.message) の前または同時に Outcome を送信
  • Rubric は番号付きリストで記述し、Agent が項目ごとに確認しやすくする
  • 複雑なタスクは、複数の測定可能な受け入れ条件に分割
  • Rubric の長さは 500 文字以内に抑えることを推奨