# endue のしくみ

> メッセージを送ってから、エージェントが結果を渡してくれるまでのあいだに、実際に何が起きているのか。

endue のエージェントに何かを頼んでも、エージェントは一度で答えを出すわけではありません。決める、動く、返ってきたものを見る、また決める、というループで仕事をします。このループを理解すると、もどかしいエージェントが役に立つエージェントに変わります。なぜそうしたのか、なぜ止まったのか、なぜ質問してきたのか。振る舞いについての疑問は、ほとんどがこのループについての疑問だからです。

## ループ

**実行**とは、このサイクルを1周ずつ、エージェントが答えを得るか、あなたの助けが必要になるまで繰り返すことです。

<Steps>

1. **コンテキストを読む**。何よりも先に、エージェントは自分が知っていることを集めます。システムプロンプト、ここまでの会話、関連するメモリ、そして作業中のプロジェクトです。

2. **決める**。ツールを呼び出す、あなたに質問する、答えを返す、のいずれかから次の行動を選びます。

3. **動く**。ツールを選んだ場合は、そのツールが実行されます。呼び出しとその結果は、起きたそばから確認できます。

4. **結果を見る**。ツールの出力はコンテキストに戻されます。失敗した呼び出しも情報の一つです。エージェントはエラーを見て、別の方法を試せます。

5. **繰り返す**。前より多くの情報を持って、ステップ2に戻ります。

</Steps>

エージェントがループを抜けるのは、必要なものがそろったとき、あなたに何かを求める必要が出たとき、または上限に達したときです。

## エージェントに見えるもの

エージェントは、あなたのアカウントのすべてを見通せるわけではありません。これは意図的な設計です。実行が始まった時点で、コンテキストには次のものが含まれます。

| 含まれるもの | 含まれないもの |
| --- | --- |
| 現在のリビジョンのシステムプロンプト | ほかのエージェントの会話 |
| この会話の履歴 | 同じスレッドでない限り、このエージェントとほかの場所で交わした会話 |
| 保存したメモリのうち、今関係のあるもの | これまでに覚えたことすべて（メモリはまるごと読み込まれるのではなく、選んで使われます） |
| 会話がプロジェクトの中にある場合は、そのプロジェクトのコンテキスト | 接続していないサービスのデータ |
| 使用を許可されたツール | ほかのエージェントに紐付けられたツール |

紐付けが重要なのはこのためです。Gmail をアカウントに接続しても、すべてのエージェントのコンテキストに受信トレイが入るわけではありません。接続は必要なエージェントに紐付け、紐付けたエージェントだけがそれを見られます。

## 実行が一時停止する理由

実行が途中で止まる理由は、ちょうど3つです。会話の中での見え方は、それぞれ異なります。

**あなたしか知らない情報が必要なとき**。エージェントは質問をして待ちます。選択肢から選んでもらう、自由に入力してもらう、好みをまとめて尋ねる、といった形です。答えると作業が再開します。

**取り消しのきかないことをしようとしているとき**。メールの送信、メッセージの投稿、データの削除などです。実行は一時停止し、どの操作をどの引数で行うのかをそのまま表示します。この確認のしくみは設定で変更できません。

**持っていない能力が必要なとき**。役に立つスキルが紐付けられていない場合、エージェントは失敗する代わりに、そのスキルを求めることができます。許可するか拒否するかは、会話の中で選びます。

<Aside type="note" title="一時停止は失敗ではありません">
  一時停止した実行は、最初からやり直すのではなく、その場で待っています。あなたが答えると、エージェントはそれまでに進めた内容をすべて引き継いで続きを進めます。
</Aside>

## 作業が行われる場所

実行はブラウザーのタブではなく、endue のサーバー上で行われます。ここから、知っておきたいことが一つ導かれます。**アプリを閉じても作業は止まりません**。

長いタスクを始めてタブを閉じ、あとで戻ってくれば、実行は続いていて、結果が待っています。ルーティンが成り立つのも同じ理由です。スケジュールされた実行は、誰かが見ている必要がありません。

自分のマシン上で、そのマシンのファイルにアクセスしながら作業させたい場合は、そのマシンに [endue Computer](/ja/docs/build/own-server/) をインストールしてエージェントに渡します。実行を進めるのはこれまでどおり endue のサーバーで、ファイルとプログラムはあなたのマシンに置かれたままです。

## 実践でのポイント

ループのしくみから、そのまま3つの習慣が導かれます。

**エージェントが自分で確かめられる方法を用意する**。ループの質は、ステップ4で得られるフィードバックの質で決まります。検索して確認する、書いてから読み返す、というように自分の仕事を検証できるタスクのほうが、手探りで一発で正解しなければならないタスクよりもうまくいきます。

**手順ではなく、ゴールを具体的に伝える**。行動はステップ2でエージェント自身が選びます。「どんな結果なら良いのか」を伝えれば、目指すべきものがはっきりします。一つひとつの手順を細かく指示すると、ループの働きを妨げてしまいます。

**早めに修正する**。実行中でも軌道修正できます。ステップ3での修正なら1ステップ分で済みますが、実行が終わってから同じ修正をすると、実行1回分がまるごと無駄になります。

## 次に読む

<CardGrid>
  <LinkCard
    title="基本概念"
    href="/ja/docs/get-started/core-concepts/"
    description="このページで前提としていた用語。エージェント、実行、ツール、スキル、メモリ。"
  />
  <LinkCard
    title="クイックスタート"
    href="/ja/docs/get-started/quickstart/"
    description="自分で作ったエージェントで、ループが回る様子を見てみます。"
  />
</CardGrid>
