Microsoft Agent Framework Harness Kararlı Sürümde Yayınlandı
Microsoft, Agent Framework kapsamında geliştirilen harness bileşenini hem Python hem de.NET tarafında kullanıma sundu. Bu yeni yapı; döngü yönetimi, planlama, hafıza, bağlam denetimi, onay akışları ve telemetriyi tek çatı altında toplayarak bir dil modelini gerçek anlamda iş yapan bir ajana dönüştüren iskeleyi hazır olarak sağlıyor.
Agent Harness Nedir?
Bir dil modeli, kendi başına yalnızca metin üretebilir. Bu modeli araç çağıran, çok adımlı görevlerde ilerleyen, ne yaptığını hatırlayan ve iş bitene kadar çalışmaya devam eden bir ajana çevirmek için modelin etrafına sarılmış bir çalışma zamanı gerekir. İşte bu çalışma zamanına agent harness deniyor.
Agent Framework, bu iskeleyi sıfırdan yazmak zorunda kalmayasınız diye kendi hazır sürümünü sunuyor. Aslında yapı, altta bir sohbet istemcisiyle çalışan bir ajandan (Python tarafında Agent,.NET tarafında ChatClientAgent) ibaret; ancak üzerine seçilmiş bir dizi Agent Framework yeteneği eklenmiş durumda. Tüm bu yetenekler varsayılan olarak açık geliyor ve tek tek özelleştirilebiliyor ya da devre dışı bırakılabiliyor.
Harness ile Hazır Gelen Yetenekler
Kaynak yazıda listelenen ve harness ile birlikte varsayılan olarak devreye giren bileşenler şunlar:
- Function invocation: Yapılandırılabilir bir yineleme sınırıyla otomatik araç çağırma döngüsü.
- Servis çağrısı başına geçmiş kalıcılığı: Her model çağrısından sonra sohbet geçmişinin kaydedilmesi; çökme sonrası kurtarma ve çalışma sırasında inceleme için.
- Compaction: Uzun araç çağrısı döngülerinde bağlam penceresinin taşmaması için bağlam yönetimi.
- Todo ve agent-mode sağlayıcıları: Kalıcı bir yapılacaklar listesi ile plan/uygulama modu takibi; böylece ajan önce planlıyor sonra uyguluyor.
- Dosya hafızası: Turlar arasında kalıcı olan oturum notları ve çıktılar.
- Skills: Paketlenmiş uzmanlık alanlarının aşamalı olarak keşfi ve yüklenmesi.
- Web arama: Altta yatan servis destekliyorsa çıkarım servisinin dahili web arama aracını etkinleştirerek yanıtları güncel bilgiye dayandırma.
- Araç onayı: “Bir daha sorma” kalıcı kuralları ve güvenli çağrılar için sezgisel otomatik onay.
- Telemetri: Yerleşik OpenTelemetry desteği.
Geliştirici olarak yalnızca kendi sohbet istemcinizi getiriyor, ajanı sizin yapan iki şeyi yapılandırıyorsunuz: talimatlar ve araçlar. Geri kalan her şey mantıklı varsayılanlarla geliyor.
Nerelerde Kullanılabilir?
Kaynak, harness ile kurulabilecek ajan tiplerine dair birkaç örnek veriyor:
- Araştırma asistanları: Bir konuyu yapılacaklara bölen, plan ve uygulama modları arasında geçiş yapan, web araması yapan ve planı özerk biçimde işleyen ajanlar.
- Veri işleme ajanları: Onay kapılı dosya araçlarıyla bir klasördeki dosyaları okuyup analiz eden ajanlar.
- Alan asistanları: Kişisel finans için bir “claw” örneğinde olduğu gibi; özel araçları, hafızayı, skill’leri ve planlamayı tek ajanda birleştiren, özellik özellik büyütebileceğiniz yapılar.
Temel Bir Harness Ajanı
Harness, tüm bu boru hattını tek bir çağrıya indiriyor. Siz sohbet istemcisini, talimatları ve isteğe bağlı olarak özel araçlarınızı sağlıyorsunuz; harness ise fonksiyon çağrısı, planlama, geçmiş kalıcılığı, compaction, onaylar, web araması ve telemetriyi ekliyor.
.NET Örneği
using Azure.AI.Projects;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
var endpoint = Environment.GetEnvironmentVariable("FOUNDRY_PROJECT_ENDPOINT")
? throw new InvalidOperationException("FOUNDRY_PROJECT_ENDPOINT is not set.");
var deploymentName = Environment.GetEnvironmentVariable("FOUNDRY_MODEL") ? "gpt-5.4";
IChatClient chatClient =
new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential())
.GetProjectOpenAIClient()
.GetResponsesClient()
.AsIChatClient(deploymentName);
AIAgent agent = chatClient.AsHarnessAgent(new HarnessAgentOptions
{
ChatOptions = new ChatOptions
{
Instructions = "You are a helpful research assistant. Plan your work, then execute it.",
Tools = [/* your custom AIFunction tools */],
},
});
AgentRunResponse response = await agent.RunAsync("Research the outlook for renewable energy stocks.");
Console.WriteLine(response.Text);
Python Örneği
import asyncio
from agent_framework import create_harness_agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
async def main() -> None:
client = FoundryChatClient(credential=AzureCliCredential())
agent = create_harness_agent(
client=client,
agent_instructions="You are a helpful research assistant. Plan your work, then execute it.",
tools=[],
)
response = await agent.run("Research the outlook for renewable energy stocks.")
print(response.text)
if __name__ == "__main__":
asyncio.run(main())
Bu tek çağrı; fonksiyon çağrısı, servis çağrısı başına geçmiş kalıcılığı, todo listesi ve plan/uygulama modu takibi, compaction, onaylar, web araması ve telemetriyi varsayılan olarak açık şekilde getiriyor. Sizin yaptığınız tek şey talimatları ve araçları vermek.
Henüz Yayınlanmayan Opsiyonel Özellikler
Microsoft, harness’ın çekirdeğini kararlı olarak yayınlarken bazı opsiyonel özellikleri henüz stabil sürüme almadığını belirtiyor. Bu özellikleri kullanmak mümkün, ancak devreye aldığınızda bir uyarı ile karşılaşıyorsunuz. Kaynağa göre bu bekleme listesinde şunlar var:
- Background agents: Alt görevleri eşzamanlı olarak başka ajanlara devretme.
- File access: Bir çalışma dizinine kısıtlı okuma/yazma dosya araçları.
- Looping: Bir tamamlanma koşulu sağlanana kadar ajanı otomatik olarak yeniden çağırma.
- Shell tooling: Alfa aşamasındaki araç paketinden gelen kabuk komutlarını çalıştırma.
Değerlendirme
Harness ile birlikte Agent Framework, geliştiricilere kutudan çıktığı haliyle üretime hazır bir ajan çalışma zamanı sunuyor. Modelinizi, talimatlarınızı ve araçlarınızı getirmeniz yeterli; planlama, hafıza, araç orkestrasyonu, onaylar, bağlam yönetimi ve telemetri gibi tekrarlayan mühendislik yüklerini çerçeve üstleniyor. Böylece asıl dikkatinizi ajanın alanına özgü davranışına ve araç setine ayırabiliyorsunuz.
Kaynaklar ve İleri Okuma
- The Microsoft Agent Framework Harness is now released — Wes Steyn (Orijinal yazı)
- Agent Harnesses — Microsoft Learn dokümantasyonu
- .NET örnekleri: dotnet/samples/02-agents/Harness
- Python örnekleri: python/samples/02-agents/harness
- Build your own claw and agent harness with Microsoft Agent Framework serisi
- Microsoft Agent Framework’te Asıl Değişim: Harness, Hosted Agents ve CodeAct
- Agent Harness ile Ajana Veri Vermek: Onay ve Hafıza Dahil
- Agent Harness: Kıskacı Büyütmek ve Yetenekleri Kuşanmak
- Agent Framework ile Claw Mimarisi: İlk Ajanı Üç Adımda Kurmak
- Microsoft Agent Framework 1.0: Ajanlar Artık Ciddileşti







Yorum gönder