>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Python

1つのリポジトリに集結する自律型AIエージェントエコシステム

AIエージェントの厳選リスト

Andrew Ngは最近、興味深い指摘を行った。GPT-3.5のようなシンプルなモデルをエージェント型ワークフローでラップすることで、実用的なタスクで基本的なGPT-4を上回ることができるという主張だ。議論の余地はあるが、トレンドは明確だ。従来のチャットボットは、ステップを計画し、外部APIを呼び出し、自分のミスを修正できる自律型システムに道を譲りつつある。

一部の開発者はゼロからエージェントを構築しようとするがOthers create tools for orchestration, memory, and debugging such systems. All these projects are scattered across GitHub. Slava Kuryliak assembled the awesome-ai-agents catalog, organizing over two hundred libraries, frameworks, and ready-made solutions for building agents.

カタログの中身

The selection is broken down into thematic blocks, though the main focus is on development tools. If you filter out the noise and promotional links, the repository provides a clear map of the modern agent technology stack.

The categories in the list cover almost all stages of development:

  • オーケストレーションフレームワークとマルチエージェントシステム
  • コードの操作やOSでのコマンド実行のためのツール
  • メモリレイヤー、関数呼び出し、構造化出力
  • ローカルでのモデル実行とメトリクストラッキングのソリューション

注目すべきプロジェクト

数百ものリンクがあるため迷子になりやすい。コードの書き方やシステム構築のアプローチを本気で変えているプロジェクトのグループをいくつか選んだ。

マルチエージェントフレームワーク

複雑なタスクを複数の specialized agentsに分割するというアイデアは標準となった。リストの上位はcrewAI、LangGraph、Microsoft AutoGenだ。

crewAIでは、エージェントの役割(例えばresearcherやeditor)を定義し、目標とツールを設定してからプロセスを起動する。LangGraphはさらに踏み込み、サイクルグラフを構築する。その中で状態はノード間で渡され、人間の介入が可能だ。MicrosoftのAutoGenはエージェント間のダイアログに焦点を当て、自律的にコードを書き、テストし、互いにフィードバックを提供する。

自律型プログラマー

Open InterpreterやAiderのようなツールは、従来のターミナルやIDEでの作業方法を変えている。

Open Interpreterは生成されたコードを直接コンピュータ上で実行し、自然言語でファイルやシステムユーティリティを管理する。Aiderはgitリポジトリで直接動作する。関数の書き換えやテストの追加を依頼すると、変更を加え、情報量の多いコミットを自分で作成する。

信頼性と構造化出力

基本的なLLMの主な問題は予測不能な応答だ。エージェントがREST APIを呼び出す必要がある場合、厳密なJSONが必要だ。そのために、InstructorとOutlinesライブラリが選択されている。

InstructorはPydanticを拡張し、モデルに検証済みのデータ型を返させる。モデルがスキーマでミスを犯した場合、ライブラリは自動的にエラー詳細を含むリトライリクエストを送信する。Outlinesはトークン生成レベルで正規表現と文脈自由文法を使用し、100%のフォーマットコンプライアンスを保証する。

長期メモリ

メモリのないエージェントは過去のセッションのコンテキストを忘れる。Mem0プロジェクトは、LLM用のインテリジェントなメモリレイヤーを追加することでこれを解決する。ユーザーと過去の操作に関する事実を保存し、すべてのプロンプトで大量コンテキストを渡す必要性を排除する。

from mem0 import Memory

m = Memory()
m.add("Пользователь предпочитает код на Python и использует PostgreSQL", user_id="dev_123")
related_memories = m.search(query="Какой стек использовать?", user_id="dev_123")

実践的なメリットと落とし穴

このカタログは特定のタスク用のスタックを素早く選択するのに役立つ。データを外部に漏らさずにドキュメント操作用のローカルエージェントが必要か?Ollama、PrivateGPT、Janを調べてみる。呼び出しのモニタリングとトークンコストの追跡を設定する必要がある?LangfuseとHeliconeが対応している。

同時に、このプロジェクトには癖がある。ページには商用サービスや著者のスタートアップへのプロモリンクが多い。GitHubの未解決issueは200以上あり、著者は一部のエントリを手動で更新している。プロジェクトの説明は時に簡素なので、リンクをクリックして元のREADMEを読む必要がある。

ブックマークする価値はあるか

自律型エージェントを設計している場合やLLMインフラ開発動向を追いかけている場合、このリポジトリは便利な出発点として役立つ。スキーマバリデーターやローカルメモリエンジンなどのライブラリを探す時間を節約できる。リストの上部をざっと見るだけで、業界がどの方向に向かっているかが理解できる。

関連プロジェクト