# システムプロンプトとリビジョン

> エージェントがすべての会話の前に読む、常に適用される指示を書きます。すべてのバージョンが保存されるので、変更でエージェントが悪くなったときは元に戻せます。

**システムプロンプト**は、エージェントがすべての会話の前に読む、常に適用される指示です。何をするのか、どう判断すべきか、何を決してしてはいけないのかを書きます。保存したバージョンはすべて残るため、変更はいつでも元に戻せます。

## 使いどころ

エージェントの*振る舞い*がおかしいとき、つまり違うことをする、形式が間違っている、知っているはずのことを尋ねてくるといった場合は、プロンプトを見直します。*能力*が足りない場合は、[コネクター](/ja/docs/connect/overview/)や[スキル](/ja/docs/capabilities/skills/)を使います。プロンプトで、アクセス権の代わりをすることはできません。

## プロンプトを書く

<Steps>

1. **[エージェントビルダー](/ja/docs/build/agent-builder/)でプロンプトセクションを開きます。**

   現在の本文と、これまでのリビジョンの履歴が表示されます。

2. **仕事の内容を1段落で書きます。**

   誰のために働くのか、何に責任を持つのか、何がその範囲外なのかを書きます。自分の守備範囲を知っているエージェントは、無駄な質問が少なくなります。

3. **良い結果とはどういうものかを書きます。**

   多くのプロンプトで省かれがちな部分ですが、結果を最も大きく変えるのもこの部分です。手順はエージェントが自分で選びます。エージェントが推測できないのは、何をもって「完了」とするかというあなたの基準です。

   「*未読メールを要約して*」では、すべてが運任せになります。「*未読メールを送信者ごとにまとめて要約して。私に直接質問しているものは、メールを開かなくても答えられるように、その質問を原文のまま引用して*」なら、そうはなりません。

4. **必ず守るルールを列挙します。**

   常にすべきこと、決してしてはいけないことです。たとえば、社外の人には決してメールを送らない、出典の文書を必ず示す、数値を推測で書かない、といったものです。

5. **新しいリビジョンとして保存します。**

   以前の本文は上書きされず、あとで戻れるリビジョンとして残ります。

</Steps>

<Screenshot
  name="studio-prompt"
  alt="プロンプトセクション。エージェントへの指示が入った Markdown エディターと文字数があり、その下に保存済みのリビジョンの一覧があります。"
/>

## リビジョンとロールバック

保存するたびに、リビジョンが作られます。履歴には各時点のプロンプトが残り、以前のリビジョンを復元できます。

これにより、プロンプトの改善は賭けではなく、安全な作業になります。何かを変えて1日エージェントを使ってみて、悪くなっていたら、うまくいっていたリビジョンに戻せばよいのです。以前の本文を覚えておく必要はありません。

<Aside type="note" title="実行は開始時のリビジョンを使います">
  リビジョンの復元は、エージェントの次の実行から反映されます。すでに進行中の実行は、開始時のプロンプトのまま最後まで進みます。直前の編集をエージェントが無視しているように見えることがあるのは、そのためです。
</Aside>

## 何をどこに書くか

| 書く場所 | 条件 |
| --- | --- |
| **システムプロンプト** | すべての会話に当てはまる内容（役割、常に守るルール、出力形式） |
| **メッセージ** | このタスクだけに当てはまる内容 |
| **[性格](/ja/docs/build/identity/)** | 仕事ではなく、口調に関する内容 |
| **[メモリ](/ja/docs/capabilities/memory/)** | エージェントが一度覚えて、繰り返し使うべき事実（好み、名前、習慣） |
| **[スキル](/ja/docs/capabilities/skills/)** | 常に適用される指示ではなく、手順のある、繰り返し使う手続き |

無関係な4つの仕事を扱うまでに膨らんだプロンプトは、プロンプトをさらに長くするのではなく、2つ目のエージェントが必要だというサインです。

## 制限事項

- プロンプトで、アクセス権を与えることはできません。エージェントにカレンダーが必要なら、紐付けられた接続が必要です。「あなたは私のカレンダーにアクセスできます」と書いても、何も変わりません。
- リビジョンを復元すると、プロンプト全体が置き換わります。リビジョン同士をマージする機能はありません。
- プロンプトはエージェントごとです。2つのエージェントで同じルールを常に適用したい場合は、両方に同じ本文を書く必要があります。

## 関連項目

<CardGrid>
  <LinkCard
    title="テストと改善"
    href="/ja/docs/build/iterating/"
    description="プロンプトの変更が本当に効果があったかを見分ける方法。"
  />
  <LinkCard
    title="メモリ"
    href="/ja/docs/capabilities/memory/"
    description="毎回伝える代わりに、エージェントが一度で覚える事実。"
  />
  <LinkCard
    title="スキル"
    href="/ja/docs/capabilities/skills/"
    description="プロンプトには書かない、繰り返し使う手順。"
  />
</CardGrid>
