Microsoft เผยตัวอย่าง C# ใช้ GitHub Copilot SDK กับ Model Provider ของทีมเอง
ProviderConfig แยก agent runtime จาก endpoint inference โดยตัวอย่างใช้ Microsoft Foundry
Microsoft เผยแพร่ตัวอย่างวันที่ 19 ตุลาคม 2026 ว่าแอป C# ใช้ GitHub Copilot SDK เป็น agent runtime แล้วส่ง model inference ไปยัง provider ที่ทีมควบคุมเองได้ ผ่าน ProviderConfig ตัวอย่างใช้ Microsoft Foundry และอยู่ในชุด Generative AI for Beginners .NET ประเด็นสำคัญคือแยก “runtime ที่จัดการ session/tool” ออกจาก “endpoint โมเดลที่ตอบคำถาม” ซึ่งช่วยทีมทดลองโมเดลต่างที่มาโดยไม่ต้องสร้าง agent harness ใหม่ทั้งหมด
BYOK ในที่นี้หมายถึงอะไร
บทความเรียกแนวทางนี้ Bring Your Own Key แต่เน้นว่าคือ นำ provider ของตัวเองมาใช้ ไม่ใช่ customer-managed encryption key Copilot SDK ยังจัดการ client, session และการตั้งค่า agent ส่วน ProviderConfig ชี้ปลายทาง inference ไปยัง OpenAI, Anthropic, Ollama, Microsoft Foundry Local หรือ endpoint แบบ OpenAI-compatible เช่น vLLM และ LiteLLM ตาม provider ที่ SDK รองรับ ตัวอย่างของ Microsoft ใช้ Foundry ผ่าน Microsoft Entra ID หรือ API key
ตัวอย่างเป็น .NET 10 console app ขนาดเล็ก อ่านค่า model deployment และ endpoint จาก User Secrets แล้วสร้าง provider ที่มี Type = "openai", WireApi = "responses", ModelId และ WireModel ตาม deployment ปลายทาง ต้องเลือก deployment ที่รองรับ Responses API หากไม่ใส่ API key ตัวอย่างใช้ AzureCliCredential จาก az login หากใส่ key จะส่งผ่าน header api-key การแยกคีย์ออกจาก source control เป็นส่วนสำคัญ ไม่ควรคัดลอกค่า endpoint พร้อม secret ลงไฟล์ตัวอย่างใน repository
ทำไมตัวอย่างจึงปิดเครื่องมือบางอย่าง
Microsoft ปิด tools, skills, configuration discovery และ host Git operations ใน session ตัวอย่าง เพื่อพิสูจน์เพียงว่า model request วิ่งไป provider ของทีมได้จริง ไม่ใช่ demo ว่า agent ที่มีสิทธิ์แก้ไฟล์พร้อมใช้ production หลังเรียกสำเร็จ ทีมควรค่อยเปิด tool ทีละตัว ตรวจ scope และบันทึกผล เพราะการเปลี่ยน provider อาจทำให้คุณภาพ tool use ต่างจากโมเดลเดิม
ตัวอย่างตั้ง MaxPromptTokens และ MaxOutputTokens เพื่อคุมขนาดงาน แต่ Microsoft เตือนว่ารุ่น reasoning นับ reasoning tokens อยู่ใน output limit ด้วย ตั้งไว้ต่ำเกินอาจหมดโควตาก่อนเห็นคำตอบ จึงต้องทดสอบกับ deployment จริง ไม่สรุปจากโค้ดตัวอย่างว่า 512 tokens พอทุกกรณี
แนวทางสำหรับทีมที่อยากใช้
เริ่มด้วยคำถามที่มีคำตอบตรวจได้หนึ่งชุด วัด response time, token usage และคุณภาพกับ provider เดิมและ provider ใหม่ ใช้ credential ของ environment แยกกัน และบันทึกว่า user identity หรือ service identity ใดเรียก endpoint ได้ ตรวจข้อมูลที่ส่งไปยัง provider โดยเฉพาะถ้าเป็น endpoint ภายนอกองค์กร หากตั้ง BaseUrl ผิดรูปแบบหรือ model deployment ไม่ตรง อาการอาจดูเหมือน SDK เสีย ทั้งที่เป็นการกำหนดปลายทางผิด
ข่าวนี้คือการเผยแพร่ ตัวอย่าง integration ไม่ใช่ประกาศว่าโมเดลทุกตัวที่พูดถึงใช้งานได้ฟรีหรือมีพฤติกรรม agent เท่ากัน การแยก runtime ออกจาก inference เปิดทางให้ทีมเลือกโมเดล แต่ต้องรับผิดชอบการวัดผล สิทธิ์ และค่าใช้จ่ายของปลายทางเอง
ตัวอย่างต้นทาง: https://devblogs.microsoft.com/dotnet/bring-your-own-model-to-the-github-copilot-sdk-with-csharp/