generated at
GoT (Graph of Thoughts)

これ何?
思考プロセスをグラフとして表現したテクニック
GoT論文で提唱された
従来のCoT (Chain-of-Thought), ToT (Tree of Thoughts)よりも高度な問題解決能力を持つと期待されている。
基本的な問題を定義し、解決のために必要な要素を列挙させ、それらの要素間の依存関係を明確にする手法。
このプロセスを通じて、モデルは具体的なアクションプランを生成し、体系的な情報から総合的な解決策を導き出す。
この手法は、複数の要素が絡み合う問題に対して特に有効で、モデルが全体像を把握しやすくなる。


背景
ToT (Tree of Thoughts)には課題がある
思考プロセスに厳格なツリー構造を課していること
これにより、プロンプト内の推論能力が制限されてしまう
制限されるとはすなわち、以下の3つ
>・直線的な思考:
> 木の形では、一つの大きな問題から直接的に関連する小さな問題へと進むため、思考が直線的になりがち。
> つまり、一つの枝から別の枝へと飛び移るような、もっと複雑で柔軟な考え方が難しくなる。
>
>・事前に定義された構造:
> 木の形では、最初からどのような枝があるかがある程度定められているため、新しいアイデアや思考パターンを途中で取り入 
> れにくくなる。
>
> ・限定された探索範囲:
> 各枝を探索する際に、それぞれの枝がカバーする範囲に限りがあるため、思考の幅が制限される。

確かに左のToTの図を見ると、1つの枝から全く別の枝へ矢印が出ていない。
制限されている。


GoTを使うことのメリット
より柔軟な思考パターン
GoTでは、思考プロセスをグラフとして表現する。
これにより、直線的な「木」の構造ではなく、より複雑で相互に関連する思考のネットワークを形成できる。
コンピュータは異なる頂点(考え)間を自由に移動し、多角的な視点から問題を探求できる。
動的で適応可能な構造:
GoTのグラフは、事前に定義された枝やルートに縛られることなく、新しい考えや情報を追加できる。
これにより、思考の進行に応じて新しい接続を作り出すことが可能になり、より適応性の高い思考プロセスが実現される
広範な探索範囲:
GoTのグラフ構造では、思考の範囲が限定されることが少なくなる。
コンピュータは異なる頂点間を自由に探索し、幅広い視点からアイデアを検討できるようになる。

人間の脳の思考回路にとても似た形となる。
GoTは、これらの特徴を活かして、より複雑で柔軟な思考プロセスをコンピュータに実現させることを目指している。


GoTを使ったプロンプトの例

>**Graphs of Thoughts 問題解決プロンプト:**
>
> 問題: """ここに問題をかく"""
>
> 1. **問題分析**:
> - 問題を詳細に分析し、主要な要素と相互作用を特定します。
> - これらの要素をノード、相互作用をエッジとして定義します。
> - ユーザーにフィードバックを求めます。
>
> 2. **グラフモデリング**:
> - 上記のノードとエッジを使用して、問題をグラフ理論として表現します。
> - ノードは以下の属性を持ちます:
> - 情報内容
> - 重要度
> - 関連するサブイシュー
> - エッジは以下の属性を持ちます:
> - 依存関係
> - 情報の流れ
> - 必要に応じてループを用いて表現。多くの次数を考慮。
> - グラフを作成し相互作用図をmermaid記法で表現
>
> 3. **演算処理**:
> - 各ノードで特定の演算や分析を行い、その結果をエッジを通じて隣接ノードに伝播します。
> - 必要に応じてノード間で情報を交換し合います。
>
> 4. **解決策の生成**:
> - グラフ上での演算処理から得られた結果を集約し、最適な解決策を形成します。
> - 解決策は、問題の本質、目的、そして具体的な手順を明確にします。
>
> 5. **アウトプットドキュメント**:
> - 曖昧な問題
> - その問題の詳細な分析
> - 提案された解決策
> - 必要なアクションプラン
>
> まずはstep1を実行