AIエージェント開発ってどうやんの？

いやーIPAの試験ですね！全然勉強できてないや。でも実力を測る模試として受けてきます！受かることじゃない、勉強の助けになることが目的なのだから...!

現実逃避はさておき2025年、生成AIの「次の波」は**エージェントの社会実装**。MCPとかいろんなものがでてきましたね。さらに、今週発表されたOpenAIのo3がエージェント的な推論と実行をしているね～ｔ話題は日々事欠かない状態...

そのような中、「**来年までにはAIエージェントはChatGPTあたりに要望だけ伝えたら簡単に作ってくれるでしょ！**」という気もしますが、「**AIエージェントの仕組みを深く理解するなら今！**」とも感じています。しかしながら、「どのフレームワークを使えばいいの？」という問題があります。

そこで、「**今から勉強するのに、技術の特徴を簡単に比較出来たらいいなあ**」と調べてみたのでそれをもとに個人的メモを作りました。選択肢が色々あるとは思いますが、本記事ではざっくり代表例として**コード駆動型としてLangGraph**と、**GUIワークフロー型としてDify**を中心に比較してみます。

::: note alert
まだ調べている途中なので追記どんどんしていく予定です！
:::


## まず最初に結論
- **Dify** はGUIで爆速プロトタイピング。PoCや業務部門との共創フェーズに最適  
- **LangGraph** は Python コードで精密制御とテスト自動化。長期運用・高信頼が要求される本番フェーズで有利
- **ハイブリッド導入**──「Dify で試作 → LangGraphで堅牢化」がいいのかも
- 選択の勘所は **①フェーズ ②チーム構成 ③制御粒度**。迷ったらフェーズを軸に分担すると失敗しにくい  
- ブラックボックス対策に **ログ観測 & ユニットテスト** を組み込み、LLM の不確実性を可視化しようぜ
- **MCPクライアント**としてどう動かせるかも含めて学習した方がよさそう 


## LangGraph と Dify──選定基準を整理する
生成AIエージェントの開発では「何を・どこまで自動化したいか」によって必要な制御粒度が大きく変わると考えられます。**LangGraph** は Stateful DAG を Python コードで定義できるため、**条件分岐・ループ・ロールバック** といった複雑フローをユニットテスト付きで運用できます。一方で**Dify** はドラッグ＆ドロップの GUI でワークフローを瞬時に可視化でき、ビジネス担当者が自らプロンプトを改良しながら**仮説検証を高速回転** できます。

| 観点              | LangGraph                           | Dify                                   |
|-------------------|-------------------------------------|----------------------------------------|
| 開発スタイル      | コード駆動                          | ノーコード／ローコード                 |
| 学習コスト        | Python＋LangChain の理解必須        | GUI 触れば即動く                       |
| 保守・テスト      | Git／CI で回帰試験                  | 全実行履歴を GUI で保存                |
| スケール          | 自前設計 or LangGraph Cloud         | プラットフォーム標準で水平展開         |
| 代表フェーズ      | 本番・長期運用                      | PoC・ユーザ検証                        |

### 設計思想の違い
この2つのフレームワークは設計思想が大きく異なるようです。**LangGraph**はコードベースで細かな制御や拡張性を重視し、グラフ状の状態遷移管理によって**複雑なタスクを信頼性高く処理**することを目指している​そうです。一方<strong>Dify</strong>は直感的なGUIによって迅速かつ容易にアプリケーションを構築・編集できるようにし、**エンジニア以外のメンバーも開発プロセスに参加できる**ようにする点が強み。

例えば、Difyでは視覚的なワークフローエディタ上でノードをつなぎ合わせることで高度なLLMアプリを構築でき、プログラミングの知識がなくても複雑な処理を組み立てられます。

::: note
結論：**PoC の速度 > 制御性** なら **Dify**、**制御性 > 開発速度** なら **LangGraph**。  
フェーズを横断する案件では両者の使い分けが前提となる。
:::


## ハイブリッド導入で“いいとこ取り”
### 1. Dify で “見える PoC”
1. GUI で業務担当とフローを共作  
2. リアルタイムプレビューで I/O 検証  
3. フロー JSON をエクスポート  

### 2. LangGraph で “堅牢実装”
1. JSON を設計図に StateGraph を Python 実装  
2. ユニットテストで異常系を網羅  
3. CI/CD で自動デプロイ  

### 3. 疎結合 API で協調
- LangGraph を REST API 化し Dify から HTTP ノードで呼び出す  
- GUI は **仕様ドキュメント兼モニタリング UI** として残す  

> **Tips**  
> GUI は **仕様共有と速度担当**、コードは **信頼性と拡張性担当**。  
> 境界を API で切り、疎結合に保つと運用がラクに！


## 今後の展望と落とし穴
### 展望
- **GUI ↔︎ コード自動変換** とワークフロー DSL 標準化  
- LangGraph Studio 等による **観測・可視化** の高度化  
- **LangGraph×Autogen / CrewAI** など重ねがけ事例の増加  

### 落とし穴と対策、 まだ考えている点
| 落とし穴 | 典型的事故 | 対策 |
|----------|-----------|------|
| 過信した自動化 | GUI PoC をそのまま本番→思わぬ暴走 | ランタイムガード＋人間承認 |
| バージョン管理の空白 | GUI のみ編集→差分追跡不能 | Git 連携 or エクスポート JSON 管理 |
| 評価指標欠如 | 品質劣化に気付かない | LLM 出力を KPI 化しダッシュボード監視 |

- クラウドで運用することを考えた際、使いやすい技術はどれだろう？AWSでは？GCPでは？Difyなら公式のUIだけでいける？
- 情報をいかに安全に運用するかという観点ではどういうやり方がよいのか？
- MCPクライアントとして他のエージェントと連携する戦略は？

## 考察とかまとめとか
今回は **AIエージェント開発を今から学び始める前提でどういう技術を学ぶべきか** というところが知りたかったので、LangGraph vs Difyみたいな書き方になってしまいましたが、実際は両方を上手に使えると良い学びになりそうです。

「LangGraphかDifyか」は二者択一ではなく、**“速さ”と“強さ”をフェーズで分担し、ログとテストで LLM の不確実性を飼いならす。**  それが2025年現在、AIエージェントを本番投入で“勝たせる”ベストプラクティスかもしれません。

ただしこれも、「手軽に実装」「個人で使う」と、「長期的事業に組み込む」で使う技術が変わってきそうだなと感じています。具体的にはこれらの技術はクラウドかローカルLLMを使う話になり、クラウドプラットフォーム上で行う必要が出てきます。AWSやGoogle Cloud, Azureで実装する際にはまた選択肢が変わってくるかもしれません。

また、マルチエージェントを構築する場合、エージェントは単体でMCPを使うのか、なぜ複数のエージェントを使わないといけないのかはもう少し理解が必要だと感じています。AIエージェントは人間の脳とは違うので、長期思考メモリや役割設定などを外部化できる思考エンジンなので、これをマルチにする場合スケーリングや速度の問題なのか？それともAIエージェントにも単一責任原則のような概念が検証上や正確性の担保の上で妥当なのか？など、まだまだわからないことだらけで勉強が必要そうです...

## 参考文献

### DifyやGUIワークフロー型

[気になる記事を効率的に情報収集！～ 「Googleアラート⇒GAS⇒Dify要約⇒Slack」の実装～](https://note.com/m_r_k_w/n/n26698cd1c4b4)
Difyは非常に多くのユースケースや学習のとっかかりになる記事があります。M_R_K_Wさんの以下の記事は、１時間ぐらいでDifyの良さが体感できるのでおすすめ  

[Vertex AI Agent Builderを試してみた](https://qiita.com/kato10315/items/8882df104f4135f8f8fe)
Google Cloud上で動くエージェント構築の仕組み。ちょっと勉強してみたい。

### LangGraphなどコード駆動型

[LangChainとLangGraphによるRAG・AIエージェント［実践］入門](https://gihyo.jp/book/2024/978-4-297-14530-9)
現在この本を勉強中です。わかりやすいだけでなく、AIエージェントはなんなのか？そもそもLLMはAIエージェント内でなにをしているのか？がとてもよくわかります。おすすめ

[JAWSDAYS 2025 B-8 AIエージェント時代のエンジニアになろう：Agentic Workflows から環境に溶けこむ Ambient Agents まで基礎と実践を50分で身につける](https://www.youtube.com/watch?v=ews3lN072BE&list=PLYMeJaIBczfqEUNq_KrXuUs55YlbYaH2v&index=25)
上記著者がJAWS DAYS2025でお話されていました。

[OpenAI - エージェント構築のための実践ガイド 日本語翻訳](https://zenn.dev/ml_bear/articles/ea1371fc02305c)
OpenAIのエージェント構築ガイド。ML_Bearさんによる翻訳。

[OpenAI Agents SDK で「人類はもう生成AIに勝てないと痛感したDeep Researchの使い方」を自動化してみた](https://qiita.com/osamasao/items/ffbd58f741be6ac1ea4f)
以前にも紹介しましたがOpenAI Agents SDKの使用例としてとてもわかりやすい、試したうえでの考察が参考になりました。これ以外にもAgents関係の記事を多く書かれています

[【マルチエージェント徹底入門】Agent Development Kit ではじめるマルチエージェント開発](https://zenn.dev/google_cloud_jp/articles/c5fa102f468cdf)
Google CloudにもAgent Development Kitがある模様...