インテリジェント アシスタントが、設計から運用、保守まで、ソフトウェア開発プロセス全体を処理します。

インテリジェント アシスタントが、設計から運用、保守まで、ソフトウェア開発プロセス全体を処理します。

設計、コーディングからテスト、導入、運用・保守まで、ソフトウェア開発の全プロセスをAIに任せることができます。

ソフトウェア開発のライフサイクル全体をカバーし、分散型ソフトウェア開発業務を統合かつインテリジェント化するエンドツーエンドの AI スマート アシスタント。

この AI アシスタントは開発分野向けに特別に設計されており、信頼性の低い一般的な大規模モデル、タイムリーでない情報、不完全なドメイン タスクなどの問題を回避します。

この AI アシスタントは DevOps-ChatBot と呼ばれ、Ant Codefuse プロジェクト チームによって開発されました。インストール プロセスはシンプルで高速であり、Docker を介してワンクリックでデプロイすることもできます。

DevOps-ChatBot の具体的な機能や性能については、作者の投稿をご覧ください。

一般的な大規模モデルの欠陥を解決する

ChatGPTなどの一般的な大規模モデルやさまざまな垂直分野の大規模モデルの出現により、さまざまな分野の製品インタラクションモードとユーザー情報取得モードが徐々に変化しています。

しかし、DevOps では、事実の正確性、情報の適時性、問題の複雑さ、データのセキュリティに対する要件が比較的高く、一般的な大規模モデルによって生成される信頼性の低いコンテンツ、タイムリーでない情報、不完全なドメイン タスクなどの問題が常に存在します。

そのため、Codefuse チームは、ソフトウェア開発のライフサイクル全体を対象に設計されたエンドツーエンドの AI インテリジェント アシスタントである DevOps-ChatBot を立ち上げ、オープンソース化しました。

  • DevOps 垂直ナレッジベース + ナレッジグラフ拡張 + SandBox 実行環境などのテクノロジーにより、生成されたコンテンツの正確性と適時性が保証され、ユーザーはコードのコンパイルと実行をインタラクティブに変更して、回答の信頼性を確保できます。
  • 静的解析技術+RAG検索強化生成などの技術により、大規模なモデルにコンテキストを認識させ、関数スニペットレベルでのコード補完だけでなく、コードベースレベルでのコンポーネント理解、リポジトリプロジェクトレベルでのコードファイルの変更と生成を実現できます。
  • リンクレベルのマルチエージェント スケジューリング設計、共同ナレッジ ベース、コード ベース、ツール ライブラリ、サンドボックス環境を改善することで、大規模なモデルを使用して、DevOps 分野で複雑なマルチステップ タスクを実装できるようになります。
  • プライベート展開をサポートする DevOps 固有のドメイン モデルと評価データを構築することで、特定のタスクのデータ セキュリティと高可用性を確保できます。

Codefuse チームは、このプロジェクトを通じて、あらゆる場所で情報を照会し、独立した分散型プラットフォームを運用するという従来の開発運用モードから、大規模な質疑応答というインテリジェントな開発運用モードへと、元の開発運用習慣を徐々に変え、「世の中に難しいコーディングをする人がいなくなる」ことを期待しています。

5つのコアモジュール

DevOps-ChatBot プロジェクトの全体的なアーキテクチャ図は次のとおりです。

具体的には、次の 9 つの機能モジュールが含まれます。

  • 🕷 マルチソースウェブクロール: 指定されたURLの関連情報をクロールする機能を提供するウェブクローラー
  • 🗂️ データ処理: ドキュメントローダー、データクリーニング、テキストセグメンテーション機能を提供し、複数のソース形式のデータドキュメントを処理および統合するデータ処理モジュール
  • 🗄️ テキスト埋め込みインデックス: 文書分析の中核であり、文書をアップロードすることで文書検索を実現できます。
  • 📈 ベクターデータベースとグラフデータベース: データ管理のためのベクターデータベースとグラフデータベース
  • 🧠 マルチエージェントスケジュールコア: 簡単な設定で必要なインタラクティブエージェントを構築できるマルチエージェントスケジューリングコア
  • 📝 プロンプト制御: プロンプト制御および管理モジュール。エージェントのコンテキスト管理を定義します。
  • 🚧 SandBox: コードのコンパイルと実行、アクションの実行のための環境を提供するサンドボックスモジュール
  • 💬 LLM: さまざまなオープンソースモデルとLLMインターフェース範囲をサポートできるインテリジェントエージェントの頭脳
  • 🛠️ API 管理: API 管理コンポーネント。関連するオープンソース コンポーネントや運用保守プラットフォームとすぐに互換性があります。

上記の機能モジュールの組み立てと調整に加えて、DevOps-ChatBot プロジェクトには、次のコア差別化テクノロジーと機能ポイントもあります。

  • インテリジェントなスケジューリングコア: 完全なシステムリンクとマルチモードのワンクリック構成を備えたスケジューリングコア
  • コードライブラリ分析: リポジトリレベルのコード理解、プロジェクトファイルレベルのコード記述と生成
  • 文書分析の強化: 文書知識ベースと知識グラフ検索および推論強化を組み合わせたもの
  • 業種別ナレッジ:DevOpsに特化したナレッジベース、業種別ナレッジベースのセルフサービスワンクリック構築
  • 垂直モデル互換性: DevOps分野の小規模モデルとDevOps周辺プラットフォームの互換性

インテリジェントなスケジューリングコア

複雑な問題に対処する場合、ReAct プロセスを使用してツール フィードバックを選択、呼び出し、実行し、複数回のツール使用と複数ステップの実行を実現できます。

しかし、複雑なコードの開発など、より複雑なシナリオでは、単一の LLM エージェントでは対応できません。

研究チームは、簡単な構成で日常のオフィス業務、データ分析、開発、運用などのさまざまな一般的なタスクの完了を支援できる、スケーラブルで使いやすいマルチエージェント フレームワークを構築したいと考えています。

このプロジェクトのマルチエージェント フレームワークは、metaGPT のメッセージ プールや autogen のエージェント セレクターなど、複数のフレームワークの優れた設計を活用しています。

DevOps-ChatBot のマルチエージェント フレームワークの中核要素には、次の 6 つの側面が含まれます。

  • エージェント通信: エージェント間の効果的な情報交換は、コンテキスト管理と質問応答の効率向上に不可欠です。簡潔で直感的でわかりやすいチェーンダイアログと、metaGPT にヒントを得たメッセージプールフレームワークの 2 つの通信モードが含まれています。
  • 標準操作プロセス(SOP): エージェントの入力および出力範囲を定義し、ツール、計画、コーディング、応答、完了などの SOP 識別子を定義して、LLM 生成結果の標準化された分析と処理を実行します。
  • 計画と実行: 大規模モデル、エージェントのスケジュール設定、コード生成のためのツールを追加します。
  • 長期短期記憶管理: 人間のチームコラボレーションプロセスをシミュレートするために、内容を要約するエージェント(会議アシスタントに類似)を追加して、長期記憶を要約し、伝達のためのより効果的な情報を抽出します。
  • 人間とエージェントのインタラクション: 複雑なシナリオでは、人間がエージェントのインタラクション プロセスに介入してフィードバックを提供することで、大規模なモデルが人間の意図を正確に理解し、より効果的にタスクを完了できるようになります。
  • プロンプト制御と管理: エージェント間のプロンプト対話の調整と管理を担当し、システムの複雑さの制御と対話の効率を向上します。入力と出力は Markdown 構造設計を採用しており、明確で標準化された結果表示を実現し、読み取りと分析に便利です。

実際の運用では、ユーザーは、需要チェーン (CEO)、製品デモンストレーション チェーン (CPO、CFO、CTO)、エンジニアリング グループ チェーン (セレクター、開発者 1 ~ N)、展開チェーン (開発者、展開者) などの複数のインテリジェント エージェントを組み合わせることで、完全かつ複雑なプロジェクト開始シナリオ (開発フェーズ) を実現できます。

コードライブラリ分析

現在、大規模モデルは主にコード生成、修復、コンポーネント理解のタスクに使用されており、次のような課題に直面しています。

  • コードトレーニングデータには遅れがあり、頻繁に更新されるオープンソース/プライベートリポジトリにはタイムリーでないデータ情報が含まれています。
  • 大規模なモデルは、コード コンテキストとコードベースの依存関係構造を認識しません。

研究チームは、開発中に遭遇した主な問題をまとめました。下の図から、開発プロセス中に、既存のコードベースの理解、依存パッケージ、コードの取得、メタ情報のクエリなどに時間がかかったことがわかります。

上記の問題に対処するため、チームはプログラム分析を通じてコードの論理構造を取得し、それをナレッジ グラフに保存しました。次に、RAG 反復クエリ拡張を通じて必要なコンテキスト情報を取得し、それをマルチエージェント ロール プレイングと組み合わせて、大規模なモデルとコード ベースの有機的な組み合わせを実現しました。

この部分の全体的な枠組みは次のとおりです。

  • コード構造分析: 元のコードをクリーンアップして重複を排除し、貴重なコード部分を保持します。次に、静的解析を通じて、コードベースからコード間の依存関係グラフをマイニングします。同時に、大規模モデルの理解能力を利用してコードを解釈し、生成された構造化情報グラフの重要な補足として機能します。
  • コード取得生成: 3 つの異なる取得モードを提供します。暗号検索生成は主に、ユーザーのコードベース構造(クエリクラスの数など)の理解を目的としており、グラフ検索は主に、ユーザーの質問に特定のクラス名やメソッド名が含まれている場合にコードを取得することを目的としています。

同時に、チームは、コード リポジトリを繰り返し検索してコンテキスト情報を取得するマルチエージェント モデルの使用も検討しており、他のエージェントは、定期的な改良や情報と結果の生成の要約などの他のタスクを担当します。

ドキュメント分析の強化

専門的な知識に関する質問と回答(医療や通信など)や私的な知識に関する質問と回答(私的領域データ)の場合、大規模なモデルでは幻覚が発生しやすく、信頼できない回答が得られます。

最も直感的な解決策は、特定の/プライベートなドメインからトレーニング データを追加してモデルの知識を強化することですが、大規模なモデルをトレーニングするコストは膨大です。

そのため、研究チームは知識ベースと検索強化生成の手段を選択し、知識ベースから問題に関連するデータを取得し、それを追加知識として大規模モデルに入力して、トレーニングのオーバーヘッドを回避しながら結果の信頼性とリアルタイムのパフォーマンスを確保しました。

より正確に検索および取得する方法が、このモジュールで解決すべき中心的な問題です。この目的のために、研究チームは次のアーキテクチャを提案しました。

DocSearch 全体には 3 つの検索リンクが含まれています。ユーザーは自分で検索リンクを選択することも、3 つすべてを選択して異なる結果を取得することもできます。

  • 従来のドキュメント ベクター データベース クエリ: ドキュメント ベクター データベースは現在、知識ベースを構築するための最も主流の方法です。テキスト埋め込みモデルは、文書をベクトル化し、ベクトル データベースに保存するために使用されます。コンテキスト学習の結果と組み合わせることで、このプロジェクトでは、さまざまな検索戦略を選択して、知識ベースから対応する知識を抽出できます。
  • ナレッジ グラフクエリ: このプロジェクトでは、Nebula グラフ データベースを使用してナレッジ グラフを保存および管理し、ナレッジ検索のために既存のナレッジ グラフをインポートすることをサポートします。また、大規模なモデルを通じてエンティティと関係を自動的に抽出し、データ内のさまざまな複雑な関係をマイニングすることもサポートします。
  • ナレッジグラフ推論 + ベクトルデータクエリ: このプロジェクトでは、これら 2 つの融合検索も提供します。まず、各ドキュメントのタグを抽出し、次にユーザーの質問に基づいてグラフ内に関連するタグを構築します。最後に、タグ セットに基づいて、元の質問に関連するドキュメントがドキュメント ベクトル データベースから取得されます。

ナレッジベース構築とDevOpsナレッジベース

前述のように、独自の/プライベートな知識の質問と回答の問題は、知識ベースと強化された検索生成によって十分に解決できます。次の中心的な問題は、知識ベースをより適切に構築する方法です。

ナレッジベースを構築する際には、次のような問題に直面することがよくあります。

  • データソースによって形式が異なり、品質も異なる
  • 誤り、重複、または無関係なデータを自動的に識別して削除する方法
  • ナレッジベースの構築には専門知識が必要
  • 情報を正確かつ最新の状態に保つために、ナレッジベースを定期的に更新する必要があります。

これに基づいて、研究チームは次のような全体的なアーキテクチャを提案しました。

  • クローラー: データを収集し、データ更新の適時性を確保します。
  • ドキュメント ローダー: 複数のソースから異種データをインポートし、多様なデータ ニーズに柔軟に対応します。
  • フィルター機能: 後続の分析の精度と効率を確保するためにデータをフィルターしてクリーンアップします。
  • テキスト アナライザー: データのインテリジェントな分析を実現し、複雑なテキスト データを構造化された (ナレッジ グラフを含む) わかりやすい情報に変換します。
  • パイプライン: プロセス全体を直列に接続し、データ入力からクリーンな出力までのエンドツーエンドの自動化を実現します。

研究チームは、DevOps 分野におけるデータの収集と構築に重点を置き、標準化されたデータ取得、クリーニング機能、インテリジェントな処理プロセスを通じて、よりプライベートな知識ベースの構築を支援したいと考えています。

プラットフォームとモデルの互換性

大規模言語モデル (LLM) の出現により、インテリジェントな顧客サービス システムが小規模モデルの微調整と固定ルールに依存するものから、より柔軟なエージェント インタラクションへと移行するなど、問題解決の方法が変化してきました。

研究チームは、周囲のオープンソース DevOps プラットフォームとの互換性を実現し、API の登録、管理、実行を通じて、会話型のインタラクションによってさまざまな特定のタスク (データクエリ、コンテナ操作など) を完了できるようにしたいと考えています。

このプロジェクトを関連するオープンソース コンポーネントや運用保守プラットフォームと迅速に互換性を持たせるために、Python を通じてテンプレート BaseToolModel クラスを登録し、Tool_name、Tool_description、ToolInputArgs、ToolOutputArgs、run などの関連プロパティとメソッドを記述して、ツールへの迅速なアクセスを実現します。

  • FastChat または Qwen2.0、Wenxinyiyan などの他の RESTful API を介してプライベート モデルの推論サービスを開始し、スケジュール設定のために LLM への登録を完了します。
  • また、Ant Groupの関連オープンソースプロジェクトや運用保守プラットフォームのAPIを登録し、簡単なLLMダイアログを通じて関連する運用保守操作を完了することもできます。

現在パッケージ化されているツールのリストは次のとおりです: k-sgima 異常検出、コード検索、ドキュメント検索、duckduckgo 検索、Baidu OCR 認識、株価情報クエリ、天気クエリ、およびタイムゾーン クエリ。

今後の展望

DevOps フレームワークはまだ初期段階にあり、多くの欠陥があります。次に、研究チームは次の領域でコアとなる進化を行う予定です。

  • マルチエージェントスケジューリングの核心:エージェントリンクの自動構築
  • 強化されたドキュメント分析: 複数の修正方法とナレッジグラフ検索方法を提供
  • コードライブラリ分析: コード解析および抽出機能を改良し、コードグラフスキーマを充実させる
  • 知識ベースの構築: さまざまな垂直分野の知識ベースデータを構築する
  • プラットフォームとモデルの互換性: 関連するオープンソースプロジェクトと運用保守プラットフォームのAPIが接続されています

機能表示

これら 5 つのコア モジュールによって駆動される DevOps-ChatBot には、次の機能があります。

1 つ目はテキスト知識ベース管理です。

  • テキスト読み込み、テキストベクトル化サービス、知識ベースベクトル検索サービス
  • 複数のナレッジベースの作成、管理、ダウンロードなどの機能を提供します
  • クローラーをサポートしてURLコンテンツをリアルタイムでクロールする

DevOps-ChatBot は、テキスト ナレッジ ベースに加えて、ナレッジ グラフコード ナレッジベース ファイルのアップロードと管理もサポートしています。

さらに、R&D チームは、chatPhase、docChatPhase、searchChatPhase、codeChatPhase などのエージェント シナリオもカプセル化しており、ナレッジ ベースの Q&A、コード Q&A、ツールの呼び出し、コードの実行などの機能をサポートできます。

DevOpsでの利用だけでなく、DevOps-ChatBotは他の分野にも応用可能です!

複数のインテリジェントエージェントの調整により、DevOps-ChatBot は多くの興味深いゲームプレイを拡張できます。

このプロジェクトのモジュールを組み立てて構築することで、次のゲームプレイを完了できます。

コードインタープリター

データ ファイルをアップロードするだけで、DevOps-ChatBot が自動的にデータ分析を実行します。

ツールの使用

たとえば、サーバーの基本的なタイミングを照会し、それを監視ツールに渡して分析する

スマート株式分析 (ツール + コードインタープリター)

ユーザーは、簡単な自然言語クエリを通じて、過去の株価チャート、市場パフォーマンス、可能性のある市場動向など、特定の株式に関する詳細な情報を取得できます。

テストケースを生成する

DevOps-ChatBot は、コード ベース内のメソッドのテスト ケースを生成できます。

プレイヤーセイバー(ナレッジベースQ&A)

これらのアプリケーション シナリオに加えて、DevOps-ChatBot は特定のオンライン ゲームに関連する質問にも回答できます。ヒーロー情報、登場時間、都市国家などが含まれます。

例: リーグ・オブ・レジェンドのヒーロー関係知識グラフ

もう一つ

Codefuse チームは、DevOps 分野の大規模モデルに関するオープンソース プロジェクト DevOpsGPT をリリースしました。これは主に 3 つのモジュールに分かれており、この記事の DevOps-ChatBot もその 1 つです。

さらに、DevOps-Model と DevOps-ChatBot という 2 つのモジュールがあり、それぞれ DevOps 固有の大規模モデルと DevOps 固有のインテリジェント アシスタントです。

チームの目標は、開発、テスト、運用と保守、監視シナリオなど、DevOps 分野での効率を向上させ、コストを削減するために、大規模なモデルを真に統合することです。

チームは、コーダーがコーダーになりやすくなるよう、関連する実践者が才能を発揮してくれることを期待しています。また、チームは LLM4DevOps の分野での経験や取り組みを定期的に共有していきます。

<<:  Google の最新画像処理ソフトウェア Imagen 2 がリリースされ、実機テストでは DALL·E 3 や Midjourney に勝利しました。

>>: 

ブログ    
ブログ    
ブログ    

推薦する

自動運転車の安全基準を緩和?米国上院議員の提案は拒否された

最近、ジョー・バイデン米大統領は1740億ドルの電気自動車提案を行った。バイデン氏は、米国民に電気自...

ロボット警察がファンタジーを現実に変える

人工知能、コンピュータービジョン、モノのインターネット、その他の先進技術を備えたロボット警察は、法と...

人工知能はクラウドストレージとデータサービスの革新を推進する

[[358649]]従来のストレージとデータ構造が、クラウドネイティブ アプリケーションに必要な移植...

...

ロボットのウォーリーがやってきた!ディズニーは、RLを使って歩くことを学び、社会的にも交流できる新しいロボットを発表した。

チン、チン、チン、『ウォーリー』が舞台に登場!頭は平らで、体は四角い。地面を指差して見るように言うと...

神経系とビッグデータ、新しい次元削減アルゴリズムが脳をシンプルにする

ネイチャー・ニューロサイエンス誌に掲載されたレビュー記事で、カーネギーメロン大学のバイロン・M・ユー...

...

機械学習における特徴選択の3つの代替手法

ソレダッド・ガリ翻訳者:趙青棠企画丨孫淑娇、梁策インターネットで「特徴選択」を検索してみると、特徴選...

AI時代になっても、あなたのキャリアは存続できるでしょうか?

人工知能(AI)技術はどこまで発展したのでしょうか? [[278665]]将来、AIが社会に本格的に...

2020年のAI開発の現状と展望の分析

中国政府は人工知能を国家戦略のレベルにまで高めた。 2017年7月、国務院は「次世代人工知能発展計画...

...

一般的な基本的なソートアルゴリズムを今回から理解しましょう

[[383742]]この記事はWeChatの公開アカウント「Beta Learns JAVA」から転...

...

建物内の生体認証システム

新しい建物では、利用可能なリソースの最適化を最大限にしながら、セキュリティと有用かつ重要なデータを豊...

...