Araçlar, agent flow'ları ve Adaptive Card'lar

Hesaplama, dönüştürme, harici işlem ve yapılandırılmış çıktı için doğru aracı seçin. Başarıyı ancak sorumlu sistem sonucu doğruladığında bildirin.


Bu derste neler öğreneceksiniz?

  • Her iş için yeterli olan en küçük aracı seçin
  • Eksik bilgi ve geçersiz sayı uydurmayan prompt'lar yazın
  • Başarıyı yalnızca doğrulanmış sonuçla bildiren agent flow'u tasarlayın
  • Adaptive Card hatasını veri, sunum veya davranış katmanında bulun
Bu sayfada

Agent ekipman talepleri hakkında gün boyu konuşabilir. Bir kullanıcı talebi gerçekten göndermesini istediğinde iş değişir. Yanıt metindir. Gönderim ise hedef sistemde ya bulunan ya da bulunmayan bir kayıttır.

Prompt'lar, hesaplamalar, connector'lar, flow'lar ve kartlar agent'ı konuşmanın ötesine taşır. Fakat aynı şeyi kanıtlamazlar. Bu derste her aracı yaptığı işleme göre seçecek, başarı ifadesini yalnızca sorumlu sistemin doğruladığı sonuç için kullanacaksınız.

Aracı yaptığı işe göre seçin

Araçsız agent yalnızca yanıt üretir. Araç eklediğinizde bilgi getirebilir, hesaplayabilir, dönüştürebilir ve işlem yapabilir. Her yeteneğin sınırı farklıdır. Yanlış araç seçimi, yapılmayan işlemin yapılmış gibi sunulmasına yol açabilir.

Bileşen Ne işe yarar Örnek
Bilgi Yanıt için olgu sağlamak Onaylı politikadaki kuralı bulmak
Konu Betikli konuşma yolunu yönetmek Eksik talep numarasını sormak
Connector Hizmette tek işlem çağırmak Kayıt oluşturmak veya okumak
Özel prompt Verilen içeriği yorumlamak veya dönüştürmek Dağınık talebi standart biçime çevirmek
Code interpreter Python ile hesaplama veya analiz yapmak Sütunun toplam ve ortalamasını bulmak
Agent flow Doğrulama, işlem ve sonucu koordine etmek Doğrulanan talebi göndermek

İki ilke seçimi kolaylaştırır. Önce göreve uyan en küçük aracı kullanın. Metni biçimlendirmek için prompt, tek hizmet işlemi için connector, birkaç adımı koordine etmek için flow yeterlidir. İkinci olarak üretilen yanıtı harici işlem kanıtı saymayın. Oluşturma, güncelleme, gönderme veya silme başarısı ancak sorumlu connector ya da flow sonucu doğruladığında söylenebilir.

Gerçek işte araçlar zincirlenebilir. Özel prompt girdiyi standartlaştırır, konu eksik alanları toplar, flow tamamlanan değerleri doğrulayıp hizmeti çağırır. Konu yalnızca flow'un doğruladığı sonucu gösterir. Her araç dar görevini yapar. Agent'ın "bitti" diyebileceği tek nokta doğrulanmış son sonuçtur. Önceki adımlar hazırlıktır.

Üretilen cümleyi işlem makbuzu saymayın

Hiçbir kayıt oluşmadığı hâlde "Bitti, gönderdim" demek yaygın agent hatasıdır. Başarıyı aracın doğruladığı sonuca ve tanımlayıcıya bağlayın. Araç doğrulamadıysa agent işlemin bittiğini söylememelidir.

Özel prompt'un çıktı ve eksik bilgi kurallarını sabitleyin

Özel prompt, sağlanan içeriği sınırlı yanıta dönüştüren yeniden kullanılabilir talimattır. Hedef, bağlam, kaynak ve beklenti olmak üzere dört öğeyle kurun. Beklentileri kesin yazın. Sabit başlık, kelime sınırı, kaynak sınırı ve eksik bilgi kuralı, "Talebi özetle" isteğini denetlenebilir hâle getirir. Kaynağın doldurmadığı her başlığa "Belirtilmemiş" yazdırın. Böylece boşluk uydurma içerikle kapanmaz.

Aritmetik gerektiğinde tahmin yerine Python çalıştıran code interpreter kullanın. Önce geçersiz değer politikasını tanımlayın. Eksik veya sayısal olmayan değer, hatalı satırı adlandıran doğrulama hatası üretmeli ve hesaplama durmalıdır. Boş değeri sıfır sayan toplam kabul edilemez. Code interpreter matematik sonucunu doğrular, iş kaydının varlığını değil.

Eksik alanı uydurmayan özel prompt· copilot-studio
Zayıf örnek

Bu destek talebini süpervizöre özetle.

İyi örnek

Hedef: Destek talebini kurum içi destek süpervizörü için özetle. Bağlam: Süpervizör talebi atamadan önce tarafsız özet okuyacak. Kaynak: Yalnızca ticketText içeriğini kullan. Müşteri adı, son tarih, önem derecesi, tanı, sorumlu veya çözüm üretme. Beklentiler: Şu başlıkları aynen kullan: Sorun, Müşteri etkisi, Talep edilen eylem, Eksik bilgi. En fazla 80 kelime yaz. Başlık için bilgi yoksa "Belirtilmemiş" de. Sorunun çözüldüğünü söyleme.

Bu prompt neden daha iyi? 80 kelimenin altında, dört sabit başlıklı özet. Her satır talebe izlenir, boş alanlar "Belirtilmemiş" olarak görünür.

Hesaplamayı geçerli veriye bağlayın· copilot-studio
Zayıf örnek

Aylık hizmet hacminin toplamını, ortalamasını, en yüksek ve en düşük değerini bul.

İyi örnek

Hedef: monthlyValues içindeki hizmet hacmi değerlerini doğrula ve hesapla. Kaynak: Yalnızca monthlyValues içindeki "Ay: sayı" biçimli satırları kullan. Beklentiler: Önce bütün satırları doğrula. Değer eksik veya sayısal değilse hesaplama yapma. "Doğrulama hatası" başlığını kullan, geçersiz ayları değerleriyle listele ve "Hiçbir hesaplama yapılmadı" de. Bütün değerler geçerliyse toplam hacmi, iki ondalık basamaklı ortalamayı ve en yüksek ile en düşük ayları Python kullanarak hesapla. Eksik değeri tahmin etme, geçersiz değeri sıfır sayma.

Bu prompt neden daha iyi? Geçerli veride kısa istatistik tablosu oluşur. Tek bozuk satır, onu açıkça adlandıran doğrulama hatası üretir ve hiçbir kısmi hesap gösterilmez.

Agent flow'unun uç durumlarını açıkça adlandırın

Agent flow, agent'ın araç olarak çağırdığı workflow'dur. Arayüzünü sözleşme gibi kurun: adlandırılmış girdiler, doğrulama ve diğer eylemler, adlandırılmış çıktılar, açık hata davranışı. Çıktılar gönderildi, geçersiz girdi ve gönderilmedi gibi uç yolları ayırmalıdır. Flow'u çağıran konu hangi yolun çalıştığını tahmin etmek zorunda kalmamalıdır.

Zorunlu değerler eksikse boş girdilerin adlarını birlikte döndürün. Konu bu değerleri sorup flow'u yeniden çağırabilir. Başarıyı yalnızca işlemin belgelenmiş sonucu doğruladığında ve bir tanımlayıcı verdiğinde bildirin. Hedef sistem tanımlayıcı vermiyorsa "gönderilmedi" deyin. Örnek tanımlayıcı, sistemin döndürdüğü gerçek değerin yerini tutmaz.

Flow hâlâ tek başınayken her uç yolu deneyin: bir eksik girdi, birkaç eksik girdi, benzetimli başarı ve benzetimli hata. Flow düzgün bir konuşmanın arkasına bağlandığında basit hataları görmek zorlaşır.

Flow'u konuya bağlamadan önce sınayın

Flow tek başınayken eksik girdi, birden çok eksik girdi, başarı ve hata yollarını çalıştırın. Test edilmemiş flow'u konuya bağlamak hatayı yalnızca daha akıcı konuşmanın arkasına saklar.

Serbest metni uydurmadan standartlaştırın· copilot-studio
Zayıf örnek

requestText içeriğini düzenli ekipman talebine çevir.

İyi örnek

Yalnızca requestText'i kullan. Şu biçimi aynen döndür: Talep edilen öğe: <değer ya da Belirtilmemiş> Miktar: <tam sayı ya da Belirtilmemiş> İş gerekçesi: <değer ya da Belirtilmemiş> Eksik bilgi: <virgülle ayrılmış alanlar ya da Belirtilmemiş> Talep sahibi, miktar, öncelik, teslim tarihi, öğe veya gerekçe üretme. "Eksik bilgi" için yalnızca Talep edilen öğe, Miktar ve İş gerekçesini dikkate al ve eksik olanları listele.

Bu prompt neden daha iyi? Eksik alanları "Belirtilmemiş" diye gösteren dört satırlık kayıt. Eksik bilgi satırı tamamlanması gereken alanları tam adıyla listeler.

Adaptive Card katmanlarını ayrı doğrulayın

Adaptive Card ilişkili değerleri sabit etiketlerle sunar ve paragraftan daha kolay taranır. Üç katmanı ayırın. Veri kaynak değerleri sağlar ve gösterim değerlerine dönüştürür. Sunum başlık, etiket, sıra ve alan binding'lerini tanımlar. Davranış gönderme gibi etkileşimleri yönetir. Bu sırayla kurup doğrulayın. Gösterim kuralı kaynak değerini değiştirmemelidir. Özgün kaydı koruyup dönüşümler için ayrı gösterim değişkeni kullanın.

Katman ayrımı hatayı teşhis edilebilir kılar. Dönüşüm "Resolved" değerini doğru biçimde "Closed" yapıyor, kart hâlâ "Resolved" gösteriyorsa veri sunum sınırına doğru ulaşmıştır. Görünür alan muhtemelen gösterim değişkeni yerine ham duruma bağlıdır. Veriyi değil binding'i düzeltin. Gösterim değişkeni de "Resolved" olsaydı sorun veri katmanında olurdu. Değişiklikten önce yanlış değerin hangi katmanda bulunduğunu kanıtlayın.

Kart önizlemedir, işlem sonucu değildir. Planlanan rotayı veya mevcut durumu gösterebilir, arka plandaki eylemin gerçekleştiğini kanıtlamaz. Kâğıttaki metin de kart içeriğinin değerlendirilebilir taslağıdır. Mesaja yapıştırıldığında çalışan JSON sayılmaz.

Şimdi siz deneyin

Kartı kurup binding hatasını bilerek üretin

Üç kaynak kaydını gösterim değerlerine dönüştürüp kart tasarlayın. Ardından binding hatasını doğru katmanda teşhis edin. Kâğıt üzerinde on dakika.

  1. 01

    Üç ekipman talebi kullanın. E1 "Pending approval" ve onaylayanı yok. E2 "Approved", E3 "In review" durumunda, ikisinin onaylayanı Taylor Kim.

  2. 02

    "Pending approval" değerini "Awaiting approval" olarak dönüştürün, diğer durumları koruyun. Eksik onaylayanı "Not assigned" ile gösterin, var olan onaylayana dokunmayın.

  3. 03

    Dönüşüm tablosu hazırlayın. Gösterim değerlerini Çalışan, Ekipman, Durum, Gereken tarih ve Onaylayan etiketleriyle kartlara aktarın.

  4. 04

    E1'in görünür durum alanını ham kaynak değerine bağlayıp kartı yeniden oluşturun. "Awaiting approval" yerine "Pending approval" görünmelidir.

    İpucu: Dönüşüm doğru kalır, yalnızca görünür binding değişir.

  5. 05

    Dönüşen değer doğru, görünür değer yanlış olduğundan hatayı sunum binding'ine yazın. Gösterim değişkeni binding'ini geri getirip yeniden oluşturun.

Üç doğru kart, sunum katmanına izlenen kasıtlı hata ve doğrulanmış binding düzeltmesi.

Agent'ın söylediği ile sistemin doğruladığını ayırmaya devam ediyorsunuz. Eksik alana "Belirtilmemiş" yazan prompt, gerçek tanımlayıcı döndüren flow ve kendisini önizleme olarak sunan kart aynı disiplini uygular. Akıcı çıktı olgu kanıtı değildir. Otonom Agent'lar, Test ve Yayınlama dersinde agent gözetimsiz çalışmaya başladığında bu ayrım daha kritik hâle gelecek.

Aklınızda kalsın

  • Prompt dönüştürür, code interpreter hesaplar, connector tek hizmet çağırır, agent flow adımları koordine eder.
  • Harici işlem başarısını yalnızca connector veya flow doğrulanmış tanımlayıcı döndürdüğünde bildirin.
  • Güvenilir özel prompt biçimi sabitler, uydurmayı yasaklar ve eksik alana "Belirtilmemiş" yazar.
  • Flow önce doğrular, bütün eksik girdileri adlandırır ve hatayı başarıdan ayrı durumla döndürür.
  • Adaptive Card veri, sunum ve davranış katmanlarını ayırıp hatayı yanlış değerin bulunduğu yerde düzeltin.

Kendinizi test edin

  1. 1. Asistan serbest metni dört satırlık kayda dönüştürecek, alanları doğrulayıp onaylı hizmeti çağıracak ve açık başarı ya da hata durumu döndürecek. Hangi araç dağılımı doğrudur?

  2. 2. Dönüşüm "Closed" gösterim değerini doğru üretiyor, kartta "Resolved" görünüyor. Önce hangi katmanı incelemelisiniz?

  3. 3. Agent "Bitti, talebinizi gönderdim" diyor. Bu cümle kayıt hakkında neyi kanıtlar?

  4. 4. Aylık değerlerden biri sayısal değil. Hesaplama prompt'u nasıl davranmalıdır?

  5. 5. Flow'da iki zorunlu girdi eksik. Konunun eksikleri tek seferde toplaması için flow ne döndürmelidir?

Sık sorulan sorular

Bu dersteki terimler

araç
Agent'ın yanıt üretmenin ötesine geçmesini sağlayan connector, özel prompt, code interpreter veya agent flow gibi çağrılabilir yetenek.
özel prompt
Sağlanan içeriği sınırlı ve biçimlenmiş yanıta dönüştüren yeniden kullanılabilir talimat.
code interpreter
Prompt içinde değerleri tahmin etmek yerine Python ile hesaplayan veya analiz eden yetenek.
agent flow
Agent veya konunun çağırdığı, adlandırılmış girdi, eylem, çıktı ve açık hata davranışı bulunan workflow.
Adaptive Card
İlişkili değerleri sabit etiket ve konumlarda sunan, veri, sunum ve davranış katmanlarından oluşan yapılandırılmış yanıt.

Daha fazla kaynak