
# 例

このセクションでは、単独の基本要素ではなく、全体を通したパターンを紹介します。

最初の例では、エージェントの実行環境として[Neuron](https://docs.neuron-ai.dev/overview/getting-started)を使い、オーケストレーションはQueuetyが担います。

- Queuetyは、ワークフローの永続性、ステートマシンのライフサイクル、再試行、for-each、ワークフロー間の待機、人による承認ゲートを担います
- Neuronは、モデルやプロバイダーの選択、エージェントの実行、ストリーミング、チャットメモリを担います

この役割分担は意図的なものです。Neuronには独自のワークフロー概念がありますが、これらの例ではQueuetyをオーケストレーションエンジンとして使い、Neuronはエージェント実行に関する処理だけに使います。

## 始める前に

同じアプリケーションにNeuronをインストールします。

```bash
composer require neuron-core/neuron-ai
```

以下の例では、同じコードベース内でNeuronの`Agent`クラスとQueuetyワークフローステップを作成できることを前提としています。

## Neuronの例

- [Neuron プランナー / 実行器](https://queuety.inline0.dev/ja/docs/examples/neuron-planner-executor)
- [Neuron セッション状態機械](https://queuety.inline0.dev/ja/docs/examples/neuron-session-state-machine)
- [Neuron ストリーミングステップ](https://queuety.inline0.dev/ja/docs/examples/neuron-streaming-step)
- [Neuron メモリ + レビュー状態機械](https://queuety.inline0.dev/ja/docs/examples/neuron-memory-review)
- [Neuron 依存ワークフロー](https://queuety.inline0.dev/ja/docs/examples/neuron-dependent-workflows)

## これらの例の読み方

各例では、それぞれ異なる問いに答えます。

- Queuetyが実行を調整する中で、Neuronのプロバイダーを切り替える方法
- 長時間稼働するエージェントやチャットセッションを、明示的なライフサイクル状態で管理する方法
- Neuronのストリーミングを永続的な`StreamingStep`でラップする方法
- 人によるレビューを重ねる間、Neuronの会話メモリを保持する方法
- トップレベルのワークフローが別のワークフローを待ってから続行する方法

例の基礎となる要素について詳しく知りたい場合は、次も参照してください。

- [エージェントオーケストレーション](https://queuety.inline0.dev/ja/docs/workflows/agent-orchestration)
- [状態機械](https://queuety.inline0.dev/ja/docs/state-machines)
- [非同期ハンドオフ](https://queuety.inline0.dev/ja/docs/workflows/async-handoffs)
- [ワークフローシグナル](https://queuety.inline0.dev/ja/docs/workflows/signals)
- [ワークフローの依存関係](https://queuety.inline0.dev/ja/docs/workflows/dependencies)
