コンテンツにスキップ

ステップ 4 - LangGraph Todo Agent CLI

概要

このステップでは scripts/langgraph/vanilla.py に LangGraph + Microsoft Foundry の最小 CLI を追加します。

エージェントは Todo Web API をツール経由で呼び出し、次を実行できます。

  • 単発実行: run
  • 対話実行: chat

前提

別ターミナルで Todo API を起動します。

uv run todo-web

Microsoft Foundry の .env 設定は既存ステップと同様です。

使い方

単発実行

uv run python scripts/langgraph/vanilla.py run \
  --query "牛乳を買うタスクを追加して、その後一覧を見せて"

対話実行

uv run python scripts/langgraph/vanilla.py chat \
  --endpoint http://localhost:8080

共通オプション:

  • --endpoint/-e: Todo API のベース URL(CLI > TODO_API_ENDPOINT > 既定値)
  • --model/-M: init_chat_model に渡すモデル文字列
  • --timeout: HTTP タイムアウト秒
  • --thread-id: LangGraph の thread id

chat では --system でシステムプロンプトを上書きできます。

スラッシュコマンド (chat)

  • /exit, /quit: REPL を終了
  • /reset: 会話 thread id を再採番
  • /help: コマンドとツール一覧を表示
  • /tools: ツールシグネチャ一覧を表示
  • /thread: 現在の thread id を表示

観測性

scripts/microsoft_foundry/vanilla.py と同様に以下を利用できます。

  • --tracing/-t: Azure Monitor / Foundry へのトレース
  • --mlflow/-m: MLflow autologging
  • --verbose/-v: DEBUG ログ

例:

uv run python scripts/langgraph/vanilla.py -t -m chat

トラブルシューティング

Todo API が接続失敗や 4xx/5xx を返した場合、ツールは例外を送出せず 構造化エラー辞書を返します。エージェント側で再試行や自己修復が可能です。

確認ポイント:

  1. todo-web が起動しているか
  2. --endpoint が正しいか
  3. --verbose で HTTP 詳細ログを確認

参考リンク

このチュートリアルと同じ LangGraph エージェントパターンを Cloud Agent サービス に組み込み、 非同期バックグラウンドタスクとして実行することもできます。 concierge/agents/infrastructure/langgraph_agent.pyLangGraphAgent は、本チュートリアルと同じ create_agent API を 使った最小リファレンス実装で、registry_factory.pyechogenerate_image_tool のツールビルダを配線した preset として langgraph が登録されています。LLM がリクエストに応じて適切な ツールを選びます。ディスパッチ例は Cloud Agent CLI ドキュメント を参照してください。