Visual Studio Codeで AI エージェントを開発する
Tip
詳細については、「 テキストと画像 」タブを参照してください。
Visual Studio Codeは、Microsoft Foundry を使用するエージェントを構築するための使い慣れた開発環境を提供します。 Foundry Toolkit 拡張機能を視覚的に操作し、Foundry SDK または Microsoft Agent Framework でエージェント コードを記述し、GitHub Copilotを使用してソリューションの開発とテストを行うことができます。
Foundry Toolkit を使用する
Foundry Toolkit 拡張機能は、Visual Studio Codeを Foundry プロジェクトとリソースに接続します。 エディターから離れることなく、エージェントを作成、管理、テスト、デプロイするためのツールが提供されます。
エージェント ビルダーには、エージェントのモデル、手順、およびツールを構成できるビジュアル インターフェイスが用意されています。 その後、チャット ウィンドウにプロンプトを入力し、エージェントを調整しながら応答を確認できます。
コードベースのエージェントとワークフローの場合、ツールキットは、テンプレートからプロジェクトを作成し、ローカルでテストおよびデバッグし、トレースを検査し、Foundry でホストされるエージェントとしてデプロイするのにも役立ちます。
コードを使用してエージェントを開発する
コードでエージェントを開発すると、その定義とライフサイクルを直接制御できます。 2 つの一般的な方法は、Foundry Agent Service を使用してプロンプト エージェントを作成するか、Microsoft Agent Framework などの SDK を使用してエージェントを構築し、Foundry のコンテナーでホストすることです。
Foundry Agent Service を使用してプロンプト エージェントを作成する
Foundry SDK には、Foundry プロジェクト内の資産を操作するための AIProjectClient が用意されています。 クライアントのエージェント操作を使用して、Foundry Agent Service に保持される名前付きのバージョン管理されたプロンプト エージェントを作成できます。
次の例では、Microsoft Entra IDで認証し、Foundry プロジェクトに接続して、エージェントのバージョンを作成します。 エージェント定義では、デプロイされたモデル、命令、および Web 検索ツールを指定します。 次に、エージェントにバインドされている OpenAI 互換クライアントを取得し、それを使用してプロンプトを送信します。
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import PromptAgentDefinition, WebSearchTool
# Create client to call Foundry API
project = AIProjectClient(
endpoint="https://ai-resrce.services.ai.azure.com/api/projects/ai-project", # Project endpoint
credential=DefaultAzureCredential())
# Create an agent with a web search tool
agent = project.agents.create_version(
agent_name="computinghistorycode",
definition=PromptAgentDefinition(
model="gpt-5-mini",
instructions="You are a helpful expert on computing history",
tools=[WebSearchTool()]))
# Test the agent with a prompt
openai_client = project.get_openai_client(agent_name="computinghistorycode")
response = openai_client.responses.create(input="Who was Ada Lovelace?")
print(response.output_text)
エージェントは Foundry にバージョン管理された資産として格納されるため、他のアプリケーションは名前でエージェントを参照し、そのマネージド定義を使用できます。 そのモデル、命令、またはツールの変更は、後続のバージョンでキャプチャできます。
Microsoft Agent Framework を使用してエージェントを作成する
Microsoft Agent Framework は、Pythonまたは.NETでエージェントとマルチエージェント ワークフローを構築するためのオープンソースの開発フレームワークです。 エージェントの定義、ツールの追加、会話の管理、より複雑なエージェント動作の調整のための一貫した抽象化が提供されます。
次の例では、 FoundryChatClient を使用して Foundry プロジェクトに配置されたモデルに接続します。 アプリケーションはエージェントの指示とツールを定義し、Agent Framework は Foundry Responses エンドポイントとの対話を処理します。
import asyncio
from azure.identity import AzureCliCredential
from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
# Create client for a FoundryChat agent
foundry_client = FoundryChatClient(
project_endpoint="https://ai-resrce.services.ai.azure.com/api/projects/ai-project", # Project endpoint
model="gpt-5-mini",
credential=AzureCliCredential()
)
# Create an agent with a web search tool
agent = Agent(
client=foundry_client,
instructions="You are a helpful expert on computing history",
tools=[FoundryChatClient.get_web_search_tool()]
)
# Test the agent with a prompt
async def main():
result = await agent.run("Who was Ada Lovelace?")
print(f"Agent: {result}")
asyncio.run(main())
この方法では、エージェント定義はアプリケーションに存在し、コードの実行時に作成されます。 この エフェメラル エージェント パターンは、定義とそのライフサイクルをアプリケーション コードと共に維持する場合に便利です。 Foundry の永続的なマネージド エンドポイントを介してコード ベースのエージェントを使用できるようにするには、それをパッケージ化し、 ホストされたエージェントとしてデプロイします。 Foundry Toolkit は、このワークフローの開発とデプロイのサポートを提供します。
GitHub Copilotを使用した開発
Visual Studio Code GitHub Copilotと統合され、エージェント コードの理解、作成、変更に役立ちます。 Copilot Chatでは、ワークスペースの検査、アプローチの提案、ファイルの編集、コマンドの実行、ビルドまたはテスト結果への応答を行うコーディング エージェントと共同作業を行うことができます。
たとえば、エージェントにツールを追加したり、指示を改善したり、テストを作成したり、予期しない応答を調査したりするようにCopilotに依頼できます。 Copilotは、変更をコードベースに反映する前に、変更を確認し、エージェントを実行し、応答をテストできるように、行った変更を示します。 結果のエージェントが意図したとおりに安全に動作することを検証する責任は引き続きお客様にあります。