MRが楽しい

MRやVRについて学習したことを書き残す

AWESOME-COPILOTのドキュメントを読む その85(LangChain Python Instructions)

本日はAWESOME-COPILOTの技術調査枠です。
AWESOME-COPILOTのドキュメントを読みながら実際に操作を試して記事に残します。
今回はカスタムインストラクションの一つLangChain Python Instructionsについてです。

LangChain Python Instructions

LangChain Python InstructionsはPythonでLangChainを使ったAIアプリ開発のベストプラクティスです。
LangChainはLLM(ChatGPTなど)と外部データ・ツールをつなぐフレームワークです。
チャットボット・RAG・エージェント構築に使われます。

以下のページからGenaiscriptのインストールボタンをクリックして取得します。
github.com

インストールボタンを押してLangChain Python Instructionsをダウンロードします。
すると.github/instructions配下にインストラクションがインストールされます。

インストールしたインストラクションはCopilotの動作に自動的に適用されます。
このインストラクションを読み込むと、CopilotはLangChainを使ったAIアプリの提案を行うようになります。

対象は Python ファイル全般です。
.pyが対象の場合Copilotは以下の方針を優先します。

  • LangChainAPI を使う方向
  • LangChainの構造に沿う方向
  • Provider SDKを直叩きしすぎない方向

具体的にはCopilotは以下のような行動をとります。

LangChain前提で設計する(最重要)

CopilotはAI機能を実装する際にLangChainの構成要素を使う前提でコードを提案します。
主な要素は以下の通りです。

  • LLM
  • Prompt
  • Chain
  • Tool
  • Memory

Chain(処理の流れ)を構築する

CopilotはChain(処理の連結)を構築したコードを提案します。
以下のようなワークフローを構築します。

入力 → 前処理 → LLM → 後処理 → 出力

Promptを構造的に扱う

Copilotはプロンプトを文字列ではなく構造として扱います。
例えば以下のような設計を提案します。

  • PromptTemplate
  • 変数埋め込み

これにより再利用・管理しやすい設計になります。

ツール(Tool)統合を前提にする

CopilotはLLMが外部ツールと連携できる設計を提案します。
例えば以下のような機能です。

  • API呼び出し
  • DBアクセス
  • ファイル操作

エージェント(Agent)設計

Copilotはエージェントとして扱う自律型AI設計を提案します。
例えば以下のような判断をAIが行います。

  • 判断
  • ツール選択
  • 実行

RAG(Retrieval Augmented Generation)を活用

LangChainは複数のデータソースと連携可能です。
例えば以下のデータソースと連携し、「知識を持つAI」を構築します。

  • PDF
  • DB
  • Webデータ

LLMを抽象化して扱う

LangChainはモデルを差し替えることができます。
例えば以下のようなモデルを切り替えられる設計を提案します。

  • OpenAI
  • Anthropic
  • 他モデル