Konsep agen

Agen Agent Framework menggabungkan abstraksi agen, model atau koneksi agen jarak jauh, instruksi, alat, middleware, penyedia konteks, dan status sesi di belakang antarmuka eksekusi yang konsisten.

Waktu proses dan eksekusi

  • Agen yang berjalan menjelaskan eksekusi reguler dan streaming, opsi eksekusi, respons, pesan, dan konten.
  • Alur agen menjelaskan bagaimana middleware, penyedia konteks, pemanggilan model, dan alat berpartisipasi dalam eksekusi.
  • Perutean model runtime menjelaskan kapan percakapan dapat beralih model atau penyedia inferensi tanpa kehilangan konteks.

Jenis agen

  • Agen kustom menjelaskan antarmuka agen umum dan kapan harus mengimplementasikan agen secara langsung.
  • Penyedia model menghubungkan agen milik aplikasi ke layanan inferensi.
  • Layanan agen terhubung ke agen jarak jauh yang dikelola atau didukung protokol.

Agen klien chat

Agen klien obrolan adalah agen milik aplikasi yang didukung oleh klien inferensi model. Mereka mendukung alat fungsional, percakapan multi-putaran, alat yang dihosting oleh penyedia jika tersedia, keluaran terstruktur, streaming, middleware, dan riwayat percakapan lokal atau yang dikelola oleh layanan.

Setiap klien inferensi yang mengimplementasikan Microsoft.Extensions.AI.IChatClient dapat mendukung ChatClientAgent:

using Microsoft.Agents.AI;

AIAgent agent = new ChatClientAgent(
    chatClient,
    instructions: "You are a helpful assistant.");

Semua implementasi agen berbagi AIAgent abstraksi, sehingga kode aplikasi dan orkestrasi dapat bekerja dengan agen klien obrolan, agen kustom, dan proksi agen jarak jauh melalui satu antarmuka.

Untuk kemampuan penyedia, dukungan riwayat percakapan, dan pemilihan titik akhir SDK, lihat Penyedia model.

Buat standar Agent dari klien apa pun yang mengimplementasikan SupportsChatGetResponse:

from agent_framework import Agent

agent = Agent(
    client=client,
    instructions="You are a helpful assistant.",
)

Antarmuka yang sama Agent berfungsi di seluruh penyedia model yang didukung. Jenis agen langsung seperti FoundryAgent, , A2AAgentGitHubCopilotAgent, dan ClaudeAgent terhubung ke runtime agen terkelola atau jarak jauh sebagai gantinya.

Gunakan async with agent saat alat klien atau MCP mengelola sumber daya asinkron. Pengelola konteks membuka dan menutupnya secara otomatis. Untuk kontrol siklus hidup aplikasi eksplisit, panggil open() sekali dan tutup agen dalam finally blok:

await agent.open()
try:
    response = await agent.run("Hello")
finally:
    await agent.close()

close() juga merilis alat MCP yang terhubung hanya saat diperlukan selama proses berjalan. Jika open() gagal di tengah proses startup, agen menutup sumber daya yang sudah dibuka.

Untuk klien inferensi yang tersedia, lihat Penyedia model.

Paket penyedia model untuk Go membentuk tipe standar *agent.Agent menggunakan konstruktor khusus penyedia. Ini memberikan antarmuka yang konsisten untuk run, session, tool, middleware, dan streaming kepada kode aplikasi, sementara inisialisasi klien tetap ditangani oleh masing-masing penyedia.

Untuk konstruktor dan jalur impor, lihat Penyedia model.

Percakapan dan memori

Konsep percakapan mencakup sesi, penyedia konteks, penyimpanan, pemadatan, dan penyedia memori riwayat obrolan bawaan.

Middleware

Konsep middleware mencakup definisi, cakupan, pengurutan, status bersama, konteks run-time, penghentian, kesalahan, dan penimpaan hasil.

Safety

Keselamatan agen menggambarkan pola desain untuk membatasi perilaku agen dan mengurangi risiko operasional. Penerapan keamanan dengan FIDES tetap menjadi Kapabilitas Agen.

Langkah berikutnya