Teams için Ajan Tasarımı: Grup Sohbetinde Gürültüyü Yönetmek
Birebir sohbetlerde bir ajanla konuşmak görece basittir: yalnızca siz ve ajan varsınız, her mesajın niyeti nettir, istediğiniz zaman soru sorabilir, durabilir ya da baştan başlayabilirsiniz. Ekiplere, kanallara ve grup sohbetlerine geçtiğimizde tablo değişir. Her mesaj dikkat için yarışır; birine yardımcı olan bir yanıt, beş kişinin işini bölebilir. Microsoft 365 Developer Blog’unda Lily Du bu konuya değinirken, Teams içindeki ajanların grup dinamiklerini bozmadan katkı sunması için üç temel etkileşim biçimini öne çıkarıyor: emoji tepkileri, iş parçacığı (thread) yanıtları ve alıntılı yanıtlar.
Grup işbirliği neden farklıdır?
Etkili işbirliği; ne zaman konuşulacağına, ne kadar söyleneceğine ve ortamın araçlarının nasıl kullanılacağına dair sayısız küçük sosyal karara dayanır. İnsanlar bu davranışları rehberlik, deneme-yanılma ve gözlemle öğrenir. Ajanlar da paylaşılan alanlara katıldıklarında benzer bir uyum göstermek zorunda. Söyleneni anlayıp yanıt üretmek yetmez; ajanın sohbeti takip edilemez hale getirmeden katılması gerekir. Aksi halde varsayılan davranışı, akışa “bir mesaj daha” eklemekten ibaret kalır.
Emoji tepkileri: sessizce onaylama
Bazen bir emoji, ayrı bir mesaj yazmaya gerek kalmadan durumu bildirmek için yeterlidir. Bir ekip üyesi “@agent, en son satış raporunu getirebilir misin?” dediğinde ajan, isteği gördüğünü ve üzerinde çalıştığını göstermek için mesaja bir tepki (ör. beğeni) bırakabilir. İş tamamlandığında bu tepkiyi kaldırıp farklısıyla değiştirebilir. Böylece durum bilgisi net kalır, sohbet ise sessiz.
Teams SDK ile bu davranış şu şekilde uygulanabilir:
app.on('message', async ({ api, activity }) => {
// Gelen mesaja tepki bırak
await api.conversations.addReaction(activity.conversation.id, activity.id, 'like');
//...ve sonra kaldır
await api.conversations.deleteReaction(activity.conversation.id, activity.id, 'like');
return;
});
Thread yanıtları: konuşmayı kanalın dışında tutmak
Kanallarda konuşmayı sürdürmenin doğru yeri çoğu zaman bir iş parçacığıdır. Böylece tartışma dar bir alanla sınırlanır, kanalın tamamını meşgul etmez. Biri kanalda bir kod incelemesi başlattığında ajan bulgularını thread içinde paylaşabilir; ilgilenenler thread’i açar, diğerleri akışta rahatsız olmadan ilerler.
app.on('message', async ({ reply }) => {
// reply() otomatik olarak doğru thread'e yanıt gönderir
await reply('This is a threaded reply to your message.');
return;
});
Alıntılı yanıtlar: doğru anı yakalamak
Bazen yanıtlanan mesajı yeniden ön plana çıkarmak gerekir. Alıntılı yanıt (quoted reply) tam da bunun için vardır; ajan da bu yöntemi kullanabilir. On mesaj öncesinde sorulan bir soruya doğrudan cevap verilecekse ajan o mesajı alıntılayarak yanıtlar, kimse “Neye cevap veriyorsun?” diye sormak zorunda kalmaz. Bu, özellikle asenkron görevlerde işe yarar: Bir olay takibi ajana verilir, siz başka işlere geçersiniz; ajan görevi saatler sonra tamamladığında alıntılı yanıt sayesinde cevap, aradaki konuşmalar ne olursa olsun ilk mesaja bağlı kalır.
app.on('message', async ({ quote, send }) => {
const sent = await send('The meeting has been moved to 3 PM tomorrow.');
await quote(sent.id, 'Just to confirm — does the new time work for everyone?');
return;
});
Bu kalıplar neden önemli?
Bu üç örüntü, ajanlara katkı sunmak için tek bir yol yerine birden fazla kanal sağlar ve günlük iletişimde kullandığımız kalıpları yansıtır. Bu araçlar olmadan ajanın varsayılan etkileşim modeli, konuşmaya yeni bir mesaj eklemekten ibaret olur. Oysa grup işbirliği çoğu zaman daha hafif bir şey ister: bir onay, sınırlı bir devam yanıtı ya da doğru bağlama tutunan bir cevap. Tepkiler, thread yanıtları ve alıntılı yanıtlar, ajanların ana kanalı her seferinde meşgul etmeden katılmasını mümkün kılar.
Blog yazısında altı çizilen fikir şu: Paylaşılan alanlarda ajan tasarlamak yalnızca onları daha yetenekli yapmakla ilgili değil; sosyal ipuçlarını gözeten bir katılım biçimi kazandırmakla ilgili. En iyi işbirlikçi ajanlar en çok yanıt verenler değil, ne zaman ve nasıl yanıt vereceğini bilenler olacak.
Nereden başlanır?
Bu etkileşim kalıplarını kendi ajanınıza eklemek için Teams SDK ve ilgili coding agent skill kullanılabilir. Konunun daha kapsamlı bir sunumu için Microsoft Build oturumu “Build agents where work happens: chats, channels, and meetings in Microsoft Teams” da referans olarak öneriliyor.
Kaynaklar ve İleri Okuma
- Building Agents for Teams: Managing the noise of collaboration — Lily Du, Microsoft 365 Developer Blog
- Teams SDK — Microsoft Learn
- Teams SDK: Agent Skills — Microsoft Learn
- Build agents where work happens: chats, channels, and meetings in Microsoft Teams (Build oturumu)
- Microsoft 365 Developer Blog
- Teams Agent Kurulumu Artık Tek Komutla Tamam
- .NET Agent Skills: Üç Yöntem, Tek Sağlayıcı







Yorum gönder