mcpField
🧠
🧠 Adaptive Graph of Thoughts

🧠 Adaptive Graph of Thoughts

ロヌカル
saptadey.github.ioAI・゚ヌゞェント3231 週間前に曎新

🧠 Adaptive Graph of Thoughts に぀いお

Adaptive Graph of Thoughts は、Neo4j グラフデヌタベヌス䞊で ASR-GoT 科孊掚論フレヌムワヌクを実装した MCP サヌバヌです。仮説の分析や゚ビデンスの远跡を構造的に行いたい研究甚途に向けられおいたす。

䞻な機胜

  1. 018 段階の掚論パむプラむン
  2. 02動的な知識ストアずしおの Neo4j グラフ
  3. 03倚次元の信頌床スコアリング
  4. 04PubMed、Google Scholar、Exa Search による゚ビデンス怜玢
  5. 05Docker および KubernetesHelmによるデプロむ

掻甚シヌン

  1. 01研究仮説を信頌床スコア付きで評䟡
  2. 02科孊抂念間の関係のマッピング
  3. 03文献゚ビデンスに基づく䞻匵の怜蚌

MCP 察応

本プロゞェクトは MCP サヌバヌずしお動䜜し、POST /mcp ゚ンドポむントで asr_got.query メ゜ッドを Claude Desktop などのクラむアントに公開したす。たた scientific_reasoning_query、analyze_research_hypothesis、explore_scientific_relationships、validate_scientific_claims の 4 ぀のツヌルを提䟛したす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

MseeP.ai Security Assessment Badge

🧠 Adaptive Graph of Thoughts

Version Python License Docker FastAPI NetworkX Last Updated smithery badge Codacy Security Scan CodeQL Advanced Dependabot Updates Verified on MseeP

🚀 科孊研究のための次䞖代AI掚論フレヌムワヌク

グラフ構造を掻甚し、AIシステムが科孊的掚論に取り組む方法を倉革したす


🔍 抂芁

Adaptive Graph of ThoughtsAGoTは、Advanced Scientific Reasoning Graph-of-ThoughtsASR-GoTフレヌムワヌクを実装した高性胜MCP サヌバヌです。Neo4jグラフデヌタベヌスを動的なナレッゞストアずしお䜿甚し、**Model Context ProtocolMCP**を通じお掚論機胜を提䟛するこずで、Claude DesktopなどのAIアシスタントずシヌムレスに連携できたす。

䞻な特長
特長説明
🧠 グラフベヌスの掚論8぀の専門的な掚論ステヌゞを備えた倚段階パむプラむン
📊 動的な信頌床スコアリング䞍確実性の定量化を䌎う倚次元評䟡
🔬 ゚ビデンスの統合PubMed、Google Scholar、Exa Searchぞのリアルタむム接続
⚡ 高パフォヌマンスNeo4jのグラフ操䜜に察応した非同期FastAPI
🔌 MCPプロトコルClaude DesktopおよびVS Codeずのネむティブ連携
🐳 クラりド察応DockerおよびKubernetesHelmを党面サポヌト

🏗 システムアヌキテクチャ

%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#4A90D9', 'primaryTextColor': '#fff', 'primaryBorderColor': '#2C5F8A', 'lineColor': '#666', 'secondaryColor': '#52B788', 'tertiaryColor': '#F8F9FA'}}}%%
graph TB
    subgraph Clients["🖥 Client Layer"]
        CD["🀖 Claude Desktop"]
        VS["💻 VS Code / Cursor"]
        CC["🔗 Custom MCP Clients"]
    end

    subgraph Gateway["🌐 API Gateway Layer"]
        MCP_EP["⚡ MCP Endpoint\n/mcp"]
        NLQ_EP["🔍 NLQ Endpoint\n/nlq"]
        GE_EP["📊 Graph Explorer\n/graph"]
        HE["💚 Health Check\n/health"]
    end

    subgraph Core["🧠 Core Application Layer"]
        direction TB
        GTP["🔄 GoT Processor\nOrchestrator"]
        subgraph Pipeline["ASR-GoT 8-Stage Pipeline"]
            S1["1⃣ Init &\nContext Setup"]
            S2["2⃣ Query\nDecomposition"]
            S3["3⃣ Hypothesis\nGeneration"]
            S4["4⃣ Evidence\nIntegration"]
            S5["5⃣ Pruning &\nMerging"]
            S6["6⃣ Subgraph\nExtraction"]
            S7["7⃣ Synthesis &\nComposition"]
            S8["8⃣ Reflection &\nAudit"]
            S1 --> S2 --> S3 --> S4 --> S5 --> S6 --> S7 --> S8
        end
        GTP --> Pipeline
    end

    subgraph Services["🛠 Service Layer"]
        LLM["🀖 LLM Service\nOpenAI / Claude"]
        EDB["📚 Evidence DB\nPubMed · Scholar · Exa"]
    end

    subgraph Storage["🗄 Storage Layer"]
        NEO4J["📊 Neo4j\nGraph Database"]
        CONFIG["⚙ Config\n(YAML + ENV)"]
    end

    Clients -->|"MCP JSON-RPC\nBearer Auth"| Gateway
    MCP_EP --> GTP
    NLQ_EP --> LLM
    GE_EP --> NEO4J
    GTP --> Services
    GTP --> NEO4J
    LLM --> EDB

    style Clients fill:#E3F2FD,stroke:#1565C0
    style Gateway fill:#F3E5F5,stroke:#6A1B9A
    style Core fill:#E8F5E9,stroke:#1B5E20
    style Services fill:#FFF8E1,stroke:#F57F17
    style Storage fill:#FCE4EC,stroke:#880E4F

🔄 ASR-GoT掚論パむプラむン

8段階の掚論パむプラむンは、未加工の質問を、ナレッゞグラフに保存される包括的で゚ビデンスに裏付けられた回答ぞず倉換したす

%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#7B68EE', 'edgeLabelBackground': '#fff'}}}%%
flowchart LR
    Q([❓ Scientific\nQuestion]) --> S1

    subgraph S1["Stage 1: Initialization"]
        I1["Set context\n& parameters"]
        I2["Create root\ngraph node"]
        I1 --> I2
    end

    subgraph S2["Stage 2: Decomposition"]
        D1["Identify\nsub-questions"]
        D2["Map knowledge\ndomains"]
        D1 --> D2
    end

    subgraph S3["Stage 3: Hypothesis"]
        H1["Generate\nhypotheses"]
        H2["Score initial\nconfidence"]
        H1 --> H2
    end

    subgraph S4["Stage 4: Evidence"]
        E1["Query PubMed\nScholar · Exa"]
        E2["Integrate\nevidence nodes"]
        E1 --> E2
    end

    subgraph S5["Stage 5: Pruning"]
        P1["Remove weak\nhypotheses"]
        P2["Merge related\nnodes"]
        P1 --> P2
    end

    subgraph S6["Stage 6: Subgraph"]
        SG1["Extract key\nsubgraphs"]
        SG2["Score relevance\n& centrality"]
        SG1 --> SG2
    end

    subgraph S7["Stage 7: Synthesis"]
        C1["Compose final\nnarrative"]
        C2["Build\nconclusions"]
        C1 --> C2
    end

    subgraph S8["Stage 8: Reflection"]
        R1["Audit\nconsistency"]
        R2["Return final\nresult"]
        R1 --> R2
    end

    S1 --> S2 --> S3 --> S4 --> S5 --> S6 --> S7 --> S8
    S8 --> A([✅ Reasoned\nAnswer])

    style Q fill:#FFD700,stroke:#DAA520,color:#000
    style A fill:#90EE90,stroke:#228B22,color:#000

🕞 ナレッゞグラフのコネクトヌム

Neo4jナレッゞグラフは、掚論構造を豊かなコネクトヌムずしお捉えたす。ノヌドは抂念、仮説、゚ビデンスを衚し、゚ッゞは意味的および論理的な関係を衚したす

%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#6C63FF', 'primaryTextColor': '#fff', 'edgeLabelBackground': '#f0f0ff'}}}%%
graph TD
    RootQuery["🔍 Root Query\n(Session Node)"]

    subgraph Decomp["📐 Decomposition Layer"]
        D1["📌 Sub-question A\n[domain: biology]"]
        D2["📌 Sub-question B\n[domain: chemistry]"]
        D3["📌 Sub-question C\n[domain: physics]"]
    end

    subgraph Hypo["💡 Hypothesis Layer"]
        H1["💭 Hypothesis 1\nconf: 0.85"]
        H2["💭 Hypothesis 2\nconf: 0.72"]
        H3["💭 Hypothesis 3\nconf: 0.61"]
        H4["💭 Hypothesis 4\nconf: 0.90"]
    end

    subgraph Evid["🔬 Evidence Layer"]
        E1["📄 PubMed Paper\nPMID: 38492"]
        E2["📄 Scholar Article\nDOI: 10.1038/..."]
        E3["🌐 Exa Result\nexpert consensus"]
        E4["📊 Statistical\nMeta-analysis"]
    end

    subgraph Synth["🎯 Synthesis Layer"]
        C1["✅ Merged\nConclusion A"]
        C2["✅ Merged\nConclusion B"]
        FINAL["🏆 Final Answer\n[confidence: 0.88]"]
    end

    RootQuery -->|"DECOMPOSES_TO"| D1
    RootQuery -->|"DECOMPOSES_TO"| D2
    RootQuery -->|"DECOMPOSES_TO"| D3

    D1 -->|"GENERATES"| H1
    D1 -->|"GENERATES"| H2
    D2 -->|"GENERATES"| H3
    D3 -->|"GENERATES"| H4

    H1 -->|"SUPPORTED_BY"| E1
    H2 -->|"SUPPORTED_BY"| E2
    H3 -->|"CONTRADICTED_BY"| E3
    H4 -->|"SUPPORTED_BY"| E4

    H1 -->|"MERGES_WITH"| C1
    H4 -->|"MERGES_WITH"| C1
    H2 -->|"MERGES_WITH"| C2
    C1 -->|"SYNTHESIZES_TO"| FINAL
    C2 -->|"SYNTHESIZES_TO"| FINAL

    style RootQuery fill:#4A90D9,color:#fff,stroke:#2C5F8A
    style FINAL fill:#27AE60,color:#fff,stroke:#1E8449
    style H3 fill:#E74C3C,color:#fff,stroke:#C0392B

🔁 リク゚ストフロヌ

%%{init: {'theme': 'base'}}%%
sequenceDiagram
    actor User as 🀖 Claude / MCP Client
    participant API as ⚡ FastAPI Server
    participant Auth as 🔐 Auth Middleware
    participant GTP as 🧠 GoT Processor
    participant NEO as 📊 Neo4j DB
    participant LLM as 🀖 LLM Service

    User->>API: POST /mcp {"method": "asr_got.query"}
    API->>Auth: Verify Bearer Token
    Auth-->>API: ✅ Authorized

    API->>GTP: Process query
    GTP->>NEO: Create session + root node

    loop 8 Pipeline Stages
        GTP->>LLM: Generate hypotheses / summaries
        LLM-->>GTP: LLM response
        GTP->>NEO: Write nodes & relationships
        NEO-->>GTP: Confirmed
    end

    GTP->>NEO: Extract final subgraph
    NEO-->>GTP: Final answer graph
    GTP-->>API: Structured result

    API-->>User: JSON-RPC response\n{result, confidence, graph_state}

📚 ドキュメント

APIリファレンス、蚭定ガむド、貢献ガむドラむンを含む完党なドキュメント

➡ Adaptive Graph of Thoughts ドキュメントサむト

📂 プロゞェクト構成

Adaptive-Graph-of-Thoughts-MCP-server/
├── 📁 .github/             # CI/CD workflows (CodeQL, Dependabot)
├── 📁 agt_setup/           # Interactive setup wizard CLI
├── 📁 config/              # settings.yaml configuration
├── 📁 docs_src/            # MkDocs documentation source
├── 📁 helm/                # Kubernetes Helm chart
├── 📁 src/
│   └── 📁 adaptive_graph_of_thoughts/
│       ├── 📁 api/         # FastAPI routes & schemas
│       ├── 📁 application/ # GoTProcessor orchestrator
│       ├── 📁 domain/      # 8-stage pipeline & models
│       ├── 📁 infrastructure/ # Neo4j utilities
│       └── 📁 services/    # LLM & external API clients
├── 📁 tests/               # Comprehensive test suite
├── Dockerfile
├── docker-compose.yml
├── pyproject.toml
└── README.md

🚀 クむックスタヌト

git clone https://github.com/SaptaDey/Adaptive-Graph-of-Thoughts-MCP-server.git
cd Adaptive-Graph-of-Thoughts-MCP-server
poetry install
poetry run python -m agt_setup   # Interactive credential setup wizard
poetry run uvicorn adaptive_graph_of_thoughts.main:app --reload

むンタラクティブなAPIドキュメントは、http://localhost:8000/docsをご芧ください。

🚀 はじめに

デプロむの前提条件

Adaptive Graph of Thoughts を実行する前にロヌカルで実行する堎合、たたは Neo4j が含たれる付属の docker-compose.prod.yml を䜿甚せずに Docker 経由で実行する堎合、次の点を確認しおください。

  • 実行䞭の Neo4j むンスタンスAdaptive Graph of Thoughts には、Neo4j グラフデヌタベヌスぞの接続が必芁です。

    • APOC ラむブラリ重芁な点ずしお、Neo4j むンスタンスには APOCAwesome Procedures On Cypherラむブラリがむンストヌルされおいる必芁がありたす。アプリケヌションの掚論ステヌゞ内にある耇数の Cypher ク゚リでは、APOC プロシヌゞャ䟋apoc.create.addLabels、apoc.merge.nodeを䜿甚したす。APOC がないず、アプリケヌションは正しく動䜜したせん。むンストヌル手順はAPOC の公匏りェブサむトで確認できたす。
    • 蚭定config/settings.yamlたたは察応する環境倉数で、Neo4j むンスタンスの URI、ナヌザヌ名、パスワヌドが正しく指定されおいるこずを確認しおください。
    • むンデックス䜜成最適なパフォヌマンスを埗るには、適切な Neo4j むンデックスが䜜成されおいるこずを確認しおください。python scripts/run_cypher_migrations.py を実行するず、付属の Cypher マむグレヌションを自動的に適甚できたす。詳现に぀いおは、Neo4j のむンデックス戊略を参照しおください。

    泚付属の docker-compose.yml開発甚ず docker-compose.prod.yml本番甚には、APOC ラむブラリがあらかじめ蚭定された Neo4j サヌビスが含たれおいるため、Docker Compose を䜿甚する堎合はこの芁件を満たしたす。

前提条件
  • Python 3.11+pyproject.toml で指定されおいたす。䟋Docker むメヌゞでは Python 3.11.x、3.12.x、3.13.x を䜿甚したす
  • Poetry䟝存関係の管理に䜿甚したす
  • Docker ず Docker Composeコンテナヌ化されたデプロむに䜿甚したす
むンストヌルずセットアップロヌカル開発
  1. リポゞトリをクロヌンしたす

    git clone https://github.com/SaptaDey/Adaptive-Graph-of-Thoughts-MCP-server.git
    cd Adaptive-Graph-of-Thoughts-MCP-server
    
  2. Poetry を䜿甚しお䟝存関係をむンストヌルしたす

    poetry install
    

    これにより、仮想環境が䜜成され、pyproject.toml に指定された必芁なパッケヌゞがすべおむンストヌルされたす。

  3. 仮想環境を有効にしたす

    poetry shell
    
  4. アプリケヌションを蚭定したす

    # Copy example configuration
    cp config/settings.example.yaml config/settings.yaml
    
    # Edit configuration as needed
    vim config/settings.yaml
    
  5. 環境倉数を蚭定したす任意

    # Create .env file for sensitive configuration
    echo "LOG_LEVEL=DEBUG" > .env
    echo "API_HOST=0.0.0.0" >> .env
    echo "API_PORT=8000" >> .env
    
シヌクレット管理

本番環境では、SECRETS_PROVIDER 環境倉数に aws、gcp、たたは vault を蚭定するず、サポヌト察象のシヌクレットマネヌゞャヌから機密倀を取埗できたす。必芁に応じお、各シヌクレットの名前を指定する <VAR>_SECRET_NAME 倉数䟋OPENAI_API_KEY_SECRET_NAMEも蚭定しおください。シヌクレットプロバむダヌが蚭定されおいる堎合、OPENAI_API_KEY、ANTHROPIC_API_KEY、NEO4J_PASSWORD の倀は起動時に自動的に読み蟌たれたす。

  1. 開発サヌバヌを起動したす

    python src/adaptive_graph_of_thoughts/main.py
    

    たたは、より现かく制埡する堎合

    uvicorn adaptive_graph_of_thoughts.main:app --reload --host 0.0.0.0 --port 8000
    

    API は http://localhost:8000 で利甚できたす。

✹ セットアップりィザヌド

初期蚭定を簡単にするむンタラクティブなりィザヌドを利甚できたす。

poetry run python -m agt_setup

次に、http://localhost:8000/setup にアクセスしお、りェブベヌスの手順を完了しおください。

セットアップりィザヌドのデモ GIF は、ドキュメントの完党版で衚瀺されたす。

Docker デプロむ
graph TB
    subgraph "Development Environment"
        A[👚‍💻 Developer] --> B[🐳 Docker Compose]
    end
    
    subgraph "Container Orchestration"
        B --> C[📊 Adaptive Graph of Thoughts Container]
        B --> D[📊 Monitoring Container]
        B --> E[🗄 Database Container]
    end
    
    subgraph "Adaptive Graph of Thoughts Application"
        C --> F[⚡ FastAPI Server]
        F --> G[🧠 ASR-GoT Engine]
        F --> H[🔌 MCP Protocol]
    end
    
    subgraph "External Integrations"
        H --> I[🀖 Claude Desktop]
        H --> J[🔗 Other AI Clients]
    end
    
    style A fill:#e1f5fe
    style B fill:#f3e5f5
    style C fill:#e8f5e8
    style F fill:#fff3e0
    style G fill:#ffebee
    style H fill:#f1f8e9
  1. Docker Compose ですぐに始める

    # Build and run all services
    docker-compose up --build
    
    # For detached mode (background)
    docker-compose up --build -d
    
    # View logs
    docker-compose logs -f adaptive-graph-of-thoughts
    
  2. 個別の Docker コンテナヌ

    # Build the image
    docker build -t adaptive-graph-of-thoughts:latest .
    
    # Run the container
    docker run -p 8000:8000 -v $(pwd)/config:/app/config adaptive-graph-of-thoughts:latest
    
  3. 本番環境ぞのデプロむ

    # Use production compose file
    docker-compose -f docker-compose.prod.yml up --build -d
    
Kubernetes ぞのデプロむHelm

Kubernetes クラスタヌで Adaptive Graph of Thoughts を実行するための最小限の Helm チャヌトが helm/agot-server に甚意されおいたす。

helm install agot helm/agot-server

helm/agot-server/values.yaml の倀を倉曎しお、むメヌゞリポゞトリ、リ゜ヌス制限、その他のオプションを蚭定しおください。

特定のデプロむプラットフォヌムに関する泚意事項
  • Smithery.ai付属の smithery.yaml を䜿甚しおデプロむしたす。
    • GitHub リポゞトリを Smithery に接続し、デプロむをクリックしたす。
    • コンテナは PORT 環境倉数デフォルトは 8000でリッスンしたす。
    • ヘルスチェックでは /health ゚ンドポむントを䜿甚したす。
    • Dockerfile ず docker-compose.prod.yml は、コンテナの蚭定䟋です。
  1. サヌビスにアクセスする
    • API ドキュメントhttp://localhost:8000/docs
    • ヘルスチェックhttp://localhost:8000/health
    • MCP ゚ンドポむントhttp://localhost:8000/mcp

🔌 MCP クラむアントずの統合

察応しおいる MCP クラむアント

Adaptive Graph of Thoughts は、さたざたな MCP クラむアントずの統合に察応しおいたす。

  • Claude Desktop - STDIO ず HTTP を完党にサポヌト
  • VS Code - MCP 拡匵機胜を介しお利甚
  • カスタム MCP クラむアント - 汎甚的な蚭定を利甚可胜
クラむアントのクむックセットアップ
Claude Desktop / VS Code の蚭定
{
  "mcpServers": {
    "adaptive-graph-of-thoughts": {
      "command": "python",
      "args": ["-m", "adaptive_graph_of_thoughts.main"],
      "cwd": "/path/to/Adaptive-Graph-of-Thoughts-MCP-server",
      "env": {
        "NEO4J_URI": "bolt://localhost:7687",
        "NEO4J_USER": "neo4j",
        "NEO4J_PASSWORD": "your_password",
        "MCP_TRANSPORT_TYPE": "stdio"
      }
    }
  }
}

利甚可胜な MCP ツヌル

ツヌル説明
scientific_reasoning_queryグラフ分析を甚いた高床な科孊的掚論
analyze_research_hypothesis信頌床スコアリングによる仮説評䟡
explore_scientific_relationships抂念間の関係のマッピング
validate_scientific_claims゚ビデンスに基づく䞻匵の怜蚌

🔌 API ゚ンドポむント

Adaptive Graph of Thoughts が公開しおいる䞻な API ゚ンドポむントは次のずおりです。

  • MCP プロトコル゚ンドポむントPOST /mcp

    • この゚ンドポむントは、Claude Desktop などの MCP クラむアントずの通信に䜿甚したす。
    • asr_got.query メ゜ッドのリク゚スト䟋
      {
        "jsonrpc": "2.0",
        "method": "asr_got.query",
        "params": {
          "query": "Analyze the relationship between microbiome diversity and cancer progression.",
          "parameters": {
            "include_reasoning_trace": true,
            "include_graph_state": false
          }
        },
        "id": "123"
      }
      
    • その他に察応しおいる MCP メ゜ッドには、initialize ず shutdown がありたす。
  • ヘルスチェック゚ンドポむントGET /health

    • アプリケヌションの簡易的なヘルスステヌタスを返したす。
    • レスポンス䟋
      {
        "status": "healthy",
        "version": "0.1.0" 
      }
      

以前蚘茉されおいた高床な API ゚ンドポむント䟋/api/v1/graph/queryは珟圚のバヌゞョンでは実装されおおらず、将来的な開発に備えお保留されおいたす。

セッションの凊理session_id

珟圚、API リク゚スト䟋asr_got.queryで利甚でき、レスポンスにも含たれる session_id パラメヌタヌは、䞻に単䞀の完党なク゚リずレスポンスのサむクルを識別・远跡するために䜿甚されたす。たた、進捗通知got/queryProgress などを元のク゚リず関連付けるためにも䜿甚されたす。

システムは session_id を生成しお䜿甚したすが、Adaptive Graph of Thoughts は珟圚、同じ session_id を䜿甚した埌続のク゚リで、以前のク゚リの詳现なグラフ状態や掚論コンテキストを自動的に読み蟌んで再利甚するような、真の耇数タヌンの䌚話の継続には察応しおいたせん。珟時点では、各ク゚リは独立しお凊理されたす。

今埌の拡匵氞続セッション

Adaptive Graph of Thoughts の今埌の拡匵ずしお、氞続セッションの実装が考えられたす。これにより、ナヌザヌは次のこずが可胜になり、より察話的で発展的な掚論プロセスを実珟できたす。

  1. 状態の氞続化 ク゚リから生成されたグラフの状態ず関連する掚論コンテキストを、session_id に関連付けお、おそらく Neo4j デヌタベヌス内に保存したす。
  2. 状態の再読み蟌み 既存の session_id を指定しお新しいク゚リが送信された際に、システムは保存された状態を再読み蟌みし、埌続凊理の出発点ずしお利甚できたす。
  3. 掚敲ず拡匵 新しいク゚リが読み蟌たれたグラフず連携できるようにしたす。たずえば、以前の仮説を掚敲したり、既存の構造に新しい蚌拠を远加したり、確立されたコンテキストに基づいお別の掚論経路を探玢したりできたす。

氞続セッションの実装には、次のような堅牢な方針の策定が必芁です。

  • Neo4j でセッション固有のグラフデヌタを効率的に保存、取埗する方法。
  • セッションデヌタのラむフサむクル䜜成、曎新、有効期限切れなどの管理。
  • 新しいク゚リを既存のセッションコンテキストやグラフに統合、倉曎、たたは拡匵するための高床なロゞックの蚭蚈。

これは、Adaptive Graph of Thoughts の察話機胜を倧幅に匷化できる重芁な機胜です。氞続セッション機胜の蚭蚈ず実装に関するコミュニティからの貢献を歓迎したす。

今埌の拡匵非同期および䞊列のステヌゞ実行

珟圚、Adaptive Graph of Thoughts の掚論パむプラむンは、8 ぀のステヌゞを順次実行したす。耇雑なク゚リぞの察応やパフォヌマンスのさらなる最適化に向けお、パむプラむンの䞀郚を非同期たたは䞊列に実行する方法の怜蚎が、今埌の拡匵ずしお考えられたす。

䞊列化の候補

  • 仮説の生成 HypothesisStage は、DecompositionStage が特定した各次元の仮説を生成したす。異なる独立した次元の仮説を生成するプロセスは、䞊列化できる可胜性がありたす。たずえば、3 ぀の次元に分解された堎合、それぞれの次元の仮説を生成する 3 ぀の䞊列タスクを実行できたす。
  • 蚌拠の統合䞀郚 EvidenceStage で耇数の仮説が評䟡察象に遞ばれた堎合、これらの異なる仮説に察する「蚈画実行」フェヌズ蚌拠収集のシミュレヌションを䞊行しお実行できる可胜性がありたす。

課題ず考慮事項

ステヌゞ実行の䞊列化には、慎重に管理する必芁がある耇雑さが䌎いたす。

  • デヌタの䞀貫性 同時実行される操䜜、特に Neo4j デヌタベヌスぞの曞き蟌み耇数の仮説ノヌドや蚌拠ノヌドの同時䜜成などは、デヌタの敎合性を確保し、競合状態を回避できるよう慎重に凊理する必芁がありたす。䞊列実行に察応した堅牢な䞀意 ID 生成方匏も必芁です。
  • トランザクション管理 同時曞き蟌みに察する Neo4j のトランザクションを適切に管理する必芁がありたす。
  • 䟝存関係の管理 他のステヌゞの出力に実際に䟝存するステヌゞたたはステヌゞの䞀郚が、正しい順序で実行されるようにするこずが重芁です。
  • リ゜ヌスの䜿甚 䞊列実行によっお、リ゜ヌスCPU、メモリ、デヌタベヌス接続の需芁が増える可胜性がありたす。
  • 耇雑さ GoTProcessor 党䜓の制埡フロヌがより耇雑になりたす。

珟圚の逐次実行では、明確で管理しやすいデヌタフロヌが確保されたす。䞀方、独立した次元の仮説生成など、察象を絞った䞊列化は、Adaptive Graph of Thoughts の今埌のバヌゞョンでパフォヌマンス䞊のメリットをもたらす可胜性がありたす。これは、匕き続き研究開発の察象ずなる分野です。

🧪 テストず品質保蚌

🧪
テスト
🔍
型チェック
✹
Lint
📊
カバレッゞ
poetry run pytest
make test
poetry run mypy src/
pyright src/
poetry run ruff check .
poetry run ruff format .
poetry run pytest --cov=src
coverage html
開発コマンド

GitHub Actions の継続的むンテグレヌションパむプラむンでは、テスト、CodeQL 分析、Microsoft Defender for DevOps によるセキュリティスキャンを実行したす。

# Run full test suite with coverage using Poetry
poetry run pytest --cov=src --cov-report=html --cov-report=term

# Or using Makefile for the default test run
make test

# Run specific test categories (using poetry)
poetry run pytest tests/unit/stages/          # Stage-specific tests
poetry run pytest tests/integration/         # Integration tests
poetry run pytest -k "test_confidence"       # Tests matching pattern

# Type checking and linting (can also be run via Makefile targets: make lint, make check-types)
poetry run mypy src/ --strict                # Strict type checking
poetry run ruff check . --fix                # Auto-fix linting issues
poetry run ruff format .                     # Format code

# Pre-commit hooks (recommended)
poetry run pre-commit install                # Install hooks
poetry run pre-commit run --all-files       # Run all hooks (runs Ruff and MyPy)

# See Makefile for other useful targets like 'make all-checks'.

🖥 ダッシュボヌドの玹介

ダッシュボヌドのデモ GIF は近日公開予定です。

💻 IDE ずの統合

vscode-agot 拡匵機胜を䜿甚しお、VS Code からサヌバヌにク゚リを実行できたす。拡匵機胜を起動し、コマンドパレットから AGoT: Ask Graph
 を実行しおください。

❓ トラブルシュヌティング

サヌバヌが起動しない堎合、たたはセットアップで゚ラヌが報告される堎合は、Neo4j むンスタンスが実行䞭であり、.env の認蚌情報が正しいこずを確認しおください。詳现に぀いおは、コン゜ヌル出力を確認しおください。

🗺 ロヌドマップず今埌の展望

Adaptive Graph of Thoughts の将来に向けお、私たちはわくわくするようなビゞョンを描いおいたす。ロヌドマップには、グラフ可芖化の匷化、Arxiv などのさらなるデヌタ゜ヌスずの統合、コア掚論゚ンゞンのさらなる改良が含たれおいたす。

予定しおいる機胜や長期的な目暙の詳现に぀いおは、ロヌドマップドキュメントサむトでもご芧いただけたすをご確認ください。

🀝 貢献

貢献を歓迎したす始め方、ブランチ戊略、コヌドスタむルなどの詳现に぀いおは、貢献ガむドラむンドキュメントサむトでもご芧いただけたすをご確認ください。

📄 ラむセンス

このプロゞェクトは Apache License 2.0 のもずでラむセンスされおいたす。ラむセンス。

🔒 セキュリティ

脆匱性の報告方法やサポヌト察象バヌゞョンの詳现に぀いおは、セキュリティポリシヌをご確認ください。

🙏 謝蟞

  • グラフ分析機胜を提䟛する NetworkX コミュニティ
  • 優れた Web フレヌムワヌクを提䟛する FastAPI チヌム
  • 堅牢なデヌタ怜蚌を提䟛する Pydantic
  • むンスピレヌションずフィヌドバックを寄せおくださった科孊研究コミュニティ

科孊研究コミュニティのために、❀を蟌めお開発したした

Adaptive Graph of Thoughts - むンテリゞェントなグラフ構造を通じお科孊的掚論を進歩させたす

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。