Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

LangChain v1.0にトライ~ AIエージェントアプリの移行(v0.3 → v1.0) ~

LangChain v1.0にトライ~ AIエージェントアプリの移行(v0.3 → v1.0) ~

2025/11/27に開催されたLangChain Meetup Tokyo#7でお話した内容です。

Avatar for コロッケそば

コロッケそば

November 23, 2025
Tweet

More Decks by コロッケそば

Other Decks in Technology

Transcript

  1. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 2025年11月27日

    コロッケそば (@HappySamurai294) LangChain v1.0にトライ - AIエージェントアプリの移行(v0.3 → v1.0) - LangChain Meetup Tokyo #7(2025/11/27)
  2. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 自己紹介

    2 ◆コロッケそば(@HappySamurai294) ◆66歳/名古屋在住/株式会社GUGEN所属 ◆シャープ製モバイル型ロボット 「ロボホン」が大好き(2体所有) ジョニー(第一世代)/ラインハルト(第二世代) ◆コロッケそばが大好き ◆コロッケそばの「コロッケ」は コロモ・ 具が硬めでツユに負けないことが重要
  3. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば マイブーム

    3 ◆ランチタイムお勉強会 ジェネラティブエージェンツ大嶋師匠主催 「AIエージェントキャッチアップ 」が好き! ◆MCPサーバ作成(作りたいもの) ・ボスキャラMCPサーバ(Code execution with MCP)による各MCP toolの動的 利用によるトークン消費の抑制、無駄な コンテキストの最適化 ・ユーザ入力の文脈から最適な業務タスク用 プロンプトテンプレートを選択して 効果的なコンテキストを作成するMCPサーバ
  4. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 4

    本日のアウトライン 1.何にトライしようとしたか 2.トライした内容 3.問題の発生と対策内容 4.まとめ
  5. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 5

    1.何にトライしようとしたか 5 ⚫ LangChain v1.0がリリースされた ⚫ LangChain Meetup Tokyo #7のイベント開催メールがconnpassから来た LangChain v0.3 AIエージェントアプリがある。 これをLangChain v1.0 に移行してみよう!
  6. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 6

    2.トライした内容 6 ⚫ LangChain v0.3 AIエージェントアプリをコンバージョンする ⚫ コンバージョンのためにゴリゴリと(ビジネス)ロジックを書かない・・・ぞ (ストレートコンバージョン)
  7. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 7

    7 2.1 コンバージョンするAIエージェントアプリ 保守の種類 緊急保守 定期保守(全般予防保守) 警告発生機器保守(個別機器予防保守) (保守点検スケジュール) スケジュール割当 保守点検スケジュール割当を自動化
  8. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 8

    8 システム構成 『保守点検スケジュール割当を自動化』 10.回答 1.依頼内容 (AIエージェント) IoT機器 稼働状況データ Toolアクセス用フレームワーク IoTデータ取得Tool データ操作用フレームワーク (既存点検スケジュール) (保守チーム情報) メモリ上の データベース LLMが生成したPythonコードの実行 (ユーザの依頼に合ったデータ操作) 4.稼働データ取得 LLM(GPT-4o) 2.依頼事項 3.稼働データ取得要求 5.稼働データ提供 6.データ操作のPythonコード 実行要求 7.データ操作 8.データ操作結果提供 9.最終結果 (LangChain Agents Tool) (LangChain Pandas Dataframe Agent)
  9. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 9

    9 AIエージェントが「確定済点検スケジュール」を取得した画面
  10. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 10

    10 AIエージェントが「点検保守チーム一覧」を取得した画面
  11. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 11

    11 AIエージェントが「現場機器の情報」を取得した画面
  12. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 12

    12 AIエージェントが「点検スケジュール」を割当てた画面 12 (拡大表示)
  13. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 13

    13 13 期待通りの結果を得られたか 13 プロンプトの内容 ・ ・ ・ 3.対応可能な保守チームのスケジュール候補を割 り当てます。 * 作業時間は 10:00から17:00の間の1時間 です。 * 割当候補は必ず3個です。 * 1個めの割当候補は 必ず2025年09月05日に割 当てて下さい。 * 割当候補は、それぞれ異なる日付に割り当てて ください。 ・ ・ ・ 条件通りに 割当てられた
  14. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 14

    14 2.2 修正内容(例) #---- LangChain v1.0変更 --------------------------------------------------------------------- #from langchain.agents.agent_types import AgentType # ↓ from langchain_classic.agents.agent_types import AgentType #------------------------------------------------------------------------------------------------- #---- LangChain v1.0変更 --------------------------------------------------------------------- #from langchain.schema import (SystemMessage, HumanMessage, AIMessage)#v0.3 # ↓ from langchain_core.messages import (SystemMessage, HumanMessage, AIMessage) #------------------------------------------------------------------------------------------------- #--------------- LangChain v1.0 修正 ---------------------------------------------------------- #from langchain.agents import AgentExecutor, create_tool_calling_agent # ↓ from langchain_classic.agents import AgentExecutor,create_tool_calling_agent #-------------------------------------------------------------------------------------------------
  15. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 15

    15 3. 問題の発生と対策内容 3.1発生した問題の内容(2025/11/7の出来事) データ操作用フレームワーク メモリ上の データベース LLMが生成したPythonコードの実行 (ユーザの依頼に合ったデータ操作) (LangChain Pandas Dataframe Agent) LangChain Pandas Dataframe Agentがコケる! from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent ・ ・ agent = create_pandas_dataframe_agent( llm, df=[df_sche1,df_sche2,df_sche3,df_sche4,df_maint_team],# verbose=True,#思考や処理を表示 agent_type=AgentType.OPENAI_FUNCTIONS, allow_dangerous_code=True #許可しないとコード動かせないぞ ) cannot import name 'AgentType' from 'langchain.agents'
  16. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 16

    16 3.2 原因 `create_pandas_dataframe_agent`(`langchain_experimental`パッケージ)が内部で参照しようと している`AgentType`は、`langchain`本体の`langchain.agents`モジュールから削除された?? >uv pip show langchain-experimental Name: langchain-experimental Version: 0.3.4 ・ ・ `langchain_experimental`パッケージのバージョン はLangChain v0.3から変わっていない。 Langchain-experimentalは、LangChain v1.0に対 応していないってことか?! LangLangChain v1.0にアップデート後にlangchain-experimentalを インストールしたらLangChain v0.3になったのを思い出した。(依存関係) (LangChainは再度LangChain v1.0にアップデート)
  17. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 17

    17 そもそも「 langchain_experimental」って何? ‘create_pandas_dataframe_agent’ : ユーザの要求に沿ったデータ操作(検索/挿入/・・)を行うPythonコードを動的に 生成してくれるとても便利な機能 <主な特徴> •実験的: まだ研究段階であったり、APIが将来的に大きく変更される可能性がある。 •不安定な可能性: メインのlangchainパッケージほど安定的ではない。 •本体への昇格: 将来的にメインのlangchainパッケージに統合されることもある。 <どのような時に使うか> langchain-experimental は、主に新しい機能をいち早く試したい研究者や開発者向け。 簡単に言えば、「LangChainの公式な"お試し"機能置き場」のようなもの。 langchain_experimentalとは 利用したかった機能 (出典:Google Gemini Pro2.5)
  18. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 18

    18 3.3 対策内容 ★ LangChainの最新の(v1.0以降の)アプローチに従って、エージェントを 構築し直す 1. Pandasを操作するツールを自作する `@tool`デコレータを使い、DataFrameを操作する関数をツールとして定義する。 2. エージェントを構築する 作成したツールを`create_tool_calling_agent`や`create_react_agent`などの最新の 関数と組み合わせて、`AgentExecutor`を作成。
  19. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 19

    19 3.3 対策内容 Pandasを操作するツールは、LangChain v0.3アプリのLLMが生成した ‘create_pandas_dataframe_agent’のコードを新しいtoolに移植した。 (LangSmithをコード生成AIエージェント代わりにした) Pandas DataFrameを 操作するtool 内容を理解して移植
  20. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 20

    20 3.4 新たな出来事(2025/11/14) >uv pip show langchain-experimental Name: langchain-experimental Version: 0.4.0 LangChain Meetup Tokyo#7 スライド作成でいろいろ動かしていたら langchain-experimental のupdateが出てきた! Langchain-experimental v0.4によって LangChain v1.0環境で create_pandas_dataframe_agentが動いて 正しい結果も得られた! 2025/11/11リリース!
  21. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 21

    21 LangChain v0.3からv1.0への移行をLangchain-experimental v0.4リリース後に 移行すれば結果オーライだったようだ。 しかし、 Langchain-experimentalの本質を理解すれば LangChain v1.0対応の ・Pandasを操作するツール作成 ・エージェント構築 が正解だ!
  22. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 22

    22 22 22 4.まとめ ⚫ langchain_experimental は、「実験的」なパッケージ 真の実験/確認目的で使用しましょう ⚫ モノつくりは、 「Do the right thing right the first time」に徹するのがいいね (最初から正しく作る) ⚫ LangChain v0.3からv1.0は “ChainからAgentへの進化”、 Agentをサクッと書ける時代の到来 ⚫ the best is yet to come! (どんどんLangChainしようぜ!)
  23. Copyright © 2025 Happy Samurai294 All rights reserved. コロッケそば 23

    23 23 23 ご清聴ありがとうございました ⚫ no+e 記事 https://note.com/hs294 ⚫ 所属先ブログ https://gugen-inc-sp.com/tech-blog/ai-lab/ ⚫ X https://x.com/happysamurai294 ふーしー編集長のAIラボ コロッケそば(note ID hs294)