Sequential Agents
Flow'da Sequential Agents'ın Temellerini Öğrenin
Last updated
Flow'da Sequential Agents'ın Temellerini Öğrenin
Last updated
Bu kılavuz, Flow Intelligence içindeki Sequential Agent AI sistem mimarisine eksiksiz bir genel bakış sunarak temel bileşenlerini ve iş akışı tasarım ilkelerini keşfeder.
Yasal Uyarı: Bu belge, AIFINEX kullanıcılarının Sequential Agent sistem mimarisini kullanarak konuşma iş akışlarını anlamalarına ve oluşturmalarına yardımcı olmayı amaçlamaktadır. LangGraph çerçevesi için kapsamlı bir teknik referans olması amaçlanmamıştır ve endüstri standartlarını veya temel LangGraph kavramlarını tanımladığı şeklinde yorumlanmamalıdır.
üzerine inşa edilen Flow Intelligence Sıralı Aracılar mimarisi, iş akışını yönlendirilmiş bir döngüsel grafik (DCG) olarak yapılandırarak, kontrollü döngülere ve yinelemeli süreçlere izin vererek, konuşma aracılı sistemlerin geliştirilmesini kolaylaştırır.
Birbirine bağlı düğümlerden oluşan bu grafik, bilgi ve eylemlerin sıralı akışını tanımlayarak aracıların girdileri işlemesine, görevleri yürütmesine ve yapılandırılmış bir şekilde yanıtlar oluşturmasına olanak tanır.
Bu mimari, DCG yapısı aracılığıyla açık ve anlaşılır bir işlem dizisi tanımlayarak karmaşık konuşma iş akışlarının yönetimini basitleştirir.
Bu yaklaşımın bazı temel unsurlarını inceleyelim:
Düğüm tabanlı işleme: Grafikteki her düğüm, dil işleme, araç yürütme veya koşullu mantık gibi kendi işlevlerini kapsayan ayrı bir işlem birimini temsil eder.
Bağlantı olarak veri akışı: Grafikteki kenarlar, bir düğümün çıktısının sonraki düğüm için girdi haline geldiği ve bir işleme adımları zincirini mümkün kıldığı düğümler arasındaki veri akışını temsil eder.
Devlet yönetimi: Durum, paylaşılan bir nesne olarak yönetilir ve konuşma boyunca devam eder. Bu, düğümlerin iş akışı ilerledikçe ilgili bilgilere erişmesini sağlar.
Flow'daki hem Multi-Agents hem de Sequential Agents sistemleri LangGraph çerçevesi üzerine inşa edilmiş ve aynı temel ilkeleri paylaşsa da, Sequential Agent mimarisi bir daha düşük soyutlama seviyesi, iş akışının her adımı üzerinde daha ayrıntılı kontrol sunar.
Görevleri uzman çalışan temsilcilere devreden merkezi bir denetleyici aracıya sahip hiyerarşik bir yapı ile karakterize edilen Çok Aracılı sistemler, karmaşık iş akışlarını yönetilebilir alt görevlere ayırarak yönetmede mükemmeldir. Alt görevlere ayrıştırma, bir Sequential Agents sisteminde manuel kurulum gerektirecek olan koşul düğümleri gibi çekirdek sistem öğelerinin kaputun altında önceden yapılandırılmasıyla mümkün olur. Sonuç olarak, kullanıcılar aracı ekiplerini daha kolay oluşturabilir ve yönetebilir.
Buna karşılık, Sequential Agents sistemleri, verilerin bir düğüm zinciri boyunca sırayla aktığı aerodinamik bir montaj hattı gibi çalışır ve bu da onları kesin bir işlem sırası ve artımlı veri iyileştirmesi gerektiren görevler için ideal hale getirir. Multi-Agents sistemle karşılaştırıldığında, temel iş akışı yapısına daha düşük seviyeli erişimi, paralel düğüm yürütme ve sistem mantığı üzerinde tam kontrol sunarak, koşulları, durumu ve döngü düğümlerini iş akışına dahil ederek onu temelde daha esnek ve özelleştirilebilir hale getirir ve yeni dinamik dallanma yeteneklerinin oluşturulmasına olanak tanır.
Flowda Sıralı Aracıları, kullanıcı girişine uyum sağlayabilen, bağlama dayalı kararlar alabilen ve yinelemeli görevleri gerçekleştirebilen konuşma sistemleri oluşturmak için yeni yetenekler sunar.
Bu yetenekler, dört yeni çekirdek düğümün tanıtılmasıyla mümkün olmuştur; Durum Düğümü, Döngü Düğümü ve iki Koşul Düğümü.
Durum Düğümü: State'i, uygulamamızın veya iş akışımızın geçerli anlık görüntüsünü temsil eden paylaşılan bir veri yapısı olarak tanımlarız. Durum Düğümü, konuşmanın başlangıcından itibaren iş akışımıza özel bir Durum eklememize olanak tanır. Bu özel Durum, iş akışındaki diğer düğümler tarafından erişilebilir ve değiştirilebilir, böylece dinamik davranış ve veri paylaşımına olanak tanır.
Döngü Düğümü: Bu düğüm, Sıralı Ajan iş akışı içinde kontrollü döngüler sunarak, belirli koşullara bağlı olarak bir düğüm dizisinin tekrarlanabildiği yinelemeli süreçleri mümkün kılar. Bu, aracıların çıktıları iyileştirmesine, kullanıcıdan ek bilgi toplamasına veya görevleri birden çok kez gerçekleştirmesine olanak tanır.
Koşul Düğümleri: Koşul ve Koşul Aracısı Düğümü, dallanma yollarıyla karmaşık konuşma akışları oluşturmak için gerekli denetimi sağlar. Koşul Düğümü koşulları doğrudan değerlendirirken, Koşul Aracısı Düğümü dallanma mantığını belirlemek için bir aracının mantığını kullanır. Bu, kullanıcı girişine, özel Duruma veya diğer düğümler tarafından gerçekleştirilen eylemlerin sonuçlarına dayalı olarak akışın davranışını dinamik olarak yönlendirmemize olanak tanır.
Uygulamanız için ideal sistemi seçmek, özel iş akışı ihtiyaçlarınızı anlamanıza bağlıdır. Görev karmaşıklığı, paralel işleme ihtiyacı ve veri akışı üzerinde istediğiniz kontrol düzeyi gibi faktörlerin tümü önemli hususlardır.
Basitlik için: İş akışınız, görevlerin birbiri ardına tamamlanabildiği ve bu nedenle paralel düğüm yürütme veya Döngüdeki İnsan (HITL) gerektirmediği nispeten basitse, Çoklu Aracılı yaklaşım kullanım kolaylığı ve hızlı kurulum sunar.
Esneklik için: İş akışınız paralel yürütmeye, dinamik konuşmalara, özel Durum yönetimine ve HITL'yi dahil etme yeteneğine ihtiyaç duyuyorsa, Sıralı Aracı yaklaşımı gerekli esnekliği ve denetimi sağlar.
Flow'daki Çoklu Ajan ve Sıralı Ajan uygulamalarını karşılaştıran, temel farklılıkları ve tasarım konularını vurgulayan bir tablo aşağıda verilmiştir:
Yapı
Hiyerarşik; Süpervizör, uzman Çalışanlara delege eder.
Doğrusal, döngüsel ve/veya dallanma; Düğümler, dallanma için koşullu mantıkla bir dizi halinde bağlanır.
İş Akışı
Esnek; Karmaşık bir görevi, birbiri ardına tamamlanan bir dizi alt göreve bölmek için tasarlanmıştır.
Son derece esnek; Tek bir konuşma dönüşünde paralel düğüm yürütmeyi, karmaşık diyalog akışlarını, dallanma mantığını ve döngüleri destekler.
Paralel Düğüm Yürütme
Hayır; Süpervizör her seferinde bir görevi yerine getirir.
Evet; tek bir çalıştırmada paralel olarak birden çok eylemi tetikleyebilir.
Devlet Yönetimi
Örtük; Durum yerinde, ancak geliştirici tarafından açıkça yönetilmiyor.
Açık; Durum yerindedir ve geliştiriciler, Durum Düğümünü ve çeşitli düğümlerdeki "Durumu Güncelle" alanını kullanarak ilk veya özel bir Durum tanımlayabilir ve yönetebilir.
Araç Kullanımı
Çalışanlar gerektiğinde araçlara erişebilir ve bunları kullanabilir.
Araçlara, Aracı Düğümleri ve Araç Düğümleri aracılığıyla erişilir ve yürütülür.
Döngüdeki İnsan (HITL)
HITL desteklenmemektedir.
Aracı Düğümü ve Araç Düğümü'nün "Onay İste" özelliği aracılığıyla desteklenir ve insan tarafından gözden geçirilmesine ve araç yürütmesinin onaylanmasına veya reddedilmesine olanak tanır.
Karmaşıklık
Daha yüksek soyutlama seviyesi; İş akışı tasarımını basitleştirir.
Daha düşük soyutlama seviyesi; düğüm etkileşimlerinin dikkatli bir şekilde planlanmasını, özel Durum yönetimini ve koşullu mantığı gerektiren daha karmaşık iş akışı tasarımı.
İdeal Kullanım Durumları
Doğrusal süreçlerin otomatikleştirilmesi (örneğin, veri çıkarma, müşteri adayı oluşturma).
Alt görevlerin birbiri ardına tamamlanması gereken durumlar.
Dinamik akışlara sahip konuşma sistemleri oluşturma.
Paralel düğüm yürütme veya dallanma mantığı gerektiren karmaşık iş akışları.
Konuşmanın birden fazla noktasında karar vermenin gerekli olduğu durumlar.
Sıralı Aracılar, her biri belirli bir amaca hizmet eden 10 özel düğümü tanıtarak Flow'a yepyeni bir boyut getiriyor ve konuşma aracılarımızın kullanıcılarla nasıl etkileşime girdiği, bilgileri nasıl işlediği, kararlar aldığı ve eylemleri nasıl yürüttüğü üzerinde daha fazla kontrol sunuyor.
Aşağıdaki bölümler, her düğümün işlevselliği, girişleri, çıkışları ve en iyi uygulamaları hakkında kapsamlı bir anlayış sağlamayı ve sonuç olarak çeşitli uygulamalar için karmaşık konuşma iş akışları oluşturmanıza olanak tanımayı amaçlamaktadır.
Başlangıç Düğümü, konuşma iş akışlarımızın doğru çalışması için gerekli kuruluma ve bağlama sahip olmasını sağlar. İş akışının geri kalanı boyunca kullanılacak temel işlevlerin ayarlanmasından sorumludur:
Varsayılan LLM'yi tanımlama: Başlangıç Düğümü, iş akışındaki temsilcilerin araçlar ve harici sistemlerle etkileşim kurmasını sağlamak için işlev çağrısıyla uyumlu bir Sohbet Modeli (LLM) belirtmemizi gerektirir. İş akışında kaputun altında kullanılan varsayılan LLM olacaktır.
Belleği Başlatma: İsteğe bağlı olarak, konuşma geçmişini depolamak ve almak için bir Ajan Bellek Düğümü bağlayarak bağlama daha duyarlı yanıtlar sağlayabiliriz.
Özel bir Durum ayarlama: Varsayılan olarak, Durum, kullanıcı ile aracılar arasındaki konuşmanın dökümü veya geçmişi olarak işlev gören değişmez bir dizi içerir. Başlangıç Düğümü, bir Durum Düğümü ekleyerek iş akışına özel bir Durum bağlamanıza olanak tanır ve iş akışınızla ilgili ek bilgilerin depolanmasını sağlarstate.messages
Moderasyonun etkinleştirilmesi: İsteğe bağlı olarak, kullanıcının girdisini analiz etmek ve potansiyel olarak zararlı içeriğin LLM'ye gönderilmesini önlemek için Giriş Moderasyonunu bağlayabiliriz.
Sohbet Modeli
Evet
Konuşmayı güçlendirecek varsayılan LLM. Yalnızca işlev çağırma özelliğine sahip modellerle uyumludur.
Ajan Bellek Düğümü
Hayır
Kalıcılığı ve bağlam korumasını etkinleştirmek için bir Ajan Bellek Düğümü bağlayın.
Durum Düğümü
Hayır
İş akışındaki diğer düğümler tarafından erişilebilen ve değiştirilebilen paylaşılan bir bağlam olan özel bir Durum ayarlamak için bir Durum Düğümü bağlayın.
Giriş Moderasyonu
Hayır
Zararlı çıktı oluşturabilecek metni algılayarak içeriği filtrelemek için bir Moderasyon Düğümü bağlayın ve LLM'ye gönderilmesini önleyin.
Başlangıç Düğümü aşağıdaki düğümlere çıkış olarak bağlanabilir:
Aracı Düğümü: Konuşma akışını, daha sonra konuşmanın bağlamına göre eylemleri yürütebilen veya araçlara erişebilen bir Aracı Düğümüne yönlendirir.
LLM Düğümü: Konuşma akışını, işleme ve yanıt oluşturma için bir LLM Düğümüne yönlendirir.
Koşul Aracısı Düğümü: Aracının konuşmayı değerlendirmesine dayalı olarak dallanma mantığını uygulamak için bir Koşul Aracısı Düğümüne bağlanır.
Koşul Düğümü: Önceden tanımlanmış koşullara dayalı dallanma mantığını uygulamak için bir Koşul Düğümüne bağlanır.
Doğru Sohbet Modelini Seçin
Seçtiğiniz LLM'nin, aracı-araç etkileşimlerini etkinleştirmek için önemli bir özellik olan işlev çağrısını desteklediğinden emin olun. Ek olarak, uygulamanızın karmaşıklığı ve gereksinimleri ile uyumlu bir LLM seçin. Gerektiğinde varsayılan LLM'yi Agent/LLM/Condition Agent düğüm düzeyinde ayarlayarak geçersiz kılabilirsiniz.
Bağlamı ve kalıcılığı göz önünde bulundurun
Kullanım durumunuz gerektiriyorsa, bağlamı korumak ve etkileşimleri kişiselleştirmek için Agent Memory Node'u kullanın.
Ajan Bellek Düğümü, kalıcı bellek depolaması için bir mekanizma sağlayarak Sıralı Ajan iş akışının konuşma geçmişini ve daha önce birden çok etkileşimde tanımlanan herhangi bir özel Durumu tutmasına olanak tanır. state.messages
Bu uzun süreli bellek, temsilcilerin önceki etkileşimlerden öğrenmesi, uzun konuşmalar üzerinde bağlamı koruması ve daha alakalı yanıtlar vermesi için çok önemlidir.
Varsayılan olarak Flow, konuşma geçmişini ve özel durum verilerini depolamak için yerleşik SQLite veritabanını kullanır ve bu kalıcı bilgileri yönetmek için bir "kontrol noktaları" tablosu oluşturur.
"Kontrol noktaları" tablo yapısını ve veri biçimini anlama
Bu tablo, bir konuşma sırasında çeşitli noktalarda sistem Durumunun anlık görüntülerini depolayarak konuşma geçmişinin kalıcılığını ve alınmasını sağlar. Her satır, iş akışının yürütülmesinde belirli bir noktayı veya "kontrol noktasını" temsil eder.
Tablo yapısı
thread_id: Belirli bir konuşma oturumunu temsil eden benzersiz bir tanımlayıcı olan oturum kimliğimiz. Tek bir iş akışı yürütmesiyle ilgili tüm denetim noktalarını birlikte gruplandırır.
checkpoint_id: İş akışı içindeki her yürütme adımı (düğüm yürütme) için benzersiz bir tanımlayıcı. İşlemlerin sırasını izlemeye ve her adımda Durumu tanımlamaya yardımcı olur.
parent_id: Geçerli denetim noktasına yol açan önceki yürütme adımının checkpoint_id gösterir. Bu, kontrol noktaları arasında hiyerarşik bir ilişki kurarak iş akışının yürütme akışının yeniden yapılandırılmasına olanak tanır.
denetim noktası: Söz konusu denetim noktasındaki iş akışının geçerli Durumunu temsil eden bir JSON dizesi içerir. Bu, değişkenlerin değerlerini, değiş tokuş edilen mesajları ve yürütmenin o noktasında yakalanan diğer ilgili verileri içerir.
Meta veriler: Denetim noktası hakkında, özellikle düğüm işlemleriyle ilgili ek bağlam sağlar.
İşleyiş şekli
Sıralı Aracı iş akışı yürütülürken, sistem her önemli adım için bu tabloda bir denetim noktası kaydeder. Bu mekanizma çeşitli avantajlar sağlar:
Yürütme takibi: Denetim noktaları, sistemin yürütme yolunu ve iş akışı içindeki işlemlerin sırasını anlamasını sağlar.
Devlet yönetimi: Denetim noktaları, değişken değerleri, konuşma geçmişi ve diğer ilgili veriler dahil olmak üzere her adımda iş akışının Durumunu depolar. Bu, sistemin bağlamsal farkındalığı korumasına ve mevcut Duruma dayalı olarak bilinçli kararlar almasına olanak tanır.
İş akışının devam ettirilmesi: İş akışı duraklatılır veya kesintiye uğrarsa (örneğin, bir sistem hatası veya kullanıcı isteği nedeniyle), sistem son kaydedilen Durumdan yürütmeye devam etmek için saklanan kontrol noktalarını kullanabilir. Bu, konuşmanın veya görevin kaldığı yerden devam etmesini sağlayarak kullanıcının ilerlemesini korur ve veri kaybını önler.
Ajan Bellek Düğümünün belirli bir giriş bağlantısı yoktur.
Veritabanı
Evet
Konuşma geçmişini depolamak için kullanılan veritabanı türü. Şu anda yalnızca SQLite desteklenmektedir.
Veritabanı Dosya Yolu
Hayır
SQLite veritabanı dosyasının dosya yolu. Sağlanmazsa, sistem varsayılan bir konum kullanır.
Temsilci Bellek Düğümü yalnızca Başlangıç Düğümü ile etkileşime girerek konuşma geçmişini iş akışının en başından itibaren kullanılabilir hale getirir.
Stratejik kullanım
Ajan Belleğini yalnızca gerektiğinde kullanın. Basit, durumsuz etkileşimler için aşırıya kaçabilir. Dönüşler veya oturumlar arasında bilgileri saklamanın önemli olduğu senaryolar için ayırın.
Yalnızca Başlangıç Düğümüne bağlanabilen Durum Düğümü, konuşmanın başlangıcından itibaren iş akışımıza kullanıcı tanımlı veya özel bir Durum ayarlamak için bir mekanizma sağlar. Bu özel Durum, grafikteki düğümler tarafından paylaşılan ve güncellenebilen, akış ilerledikçe bir düğümden diğerine geçen bir JSON nesnesidir.
Varsayılan olarak, Durum, konuşma geçmişimiz olarak işlev gören bir dizi içerir. Bu dizi, kullanıcı ile aracılar veya iş akışındaki diğer aktörler arasında değiş tokuş edilen tüm iletileri depolar ve iş akışı yürütmesi boyunca korur.state.messages
Tanım gereği bu dizi değişmez olduğundan ve değiştirilemediğinden, Durum Düğümünün amacı, iş akışımızla ilgili herhangi bir ek bilgiyi tutmak için durum nesnesini genişleterek özel anahtar-değer çiftleri tanımlamamıza izin vermektir.state.messages
Durum Düğümü'nün belirli bir giriş bağlantısı yoktur.
Durum Düğümü yalnızca Başlangıç Düğümüne bağlanabilir, bu da iş akışının başlangıcından itibaren özel bir Durumun ayarlanmasına izin verir ve diğer düğümlerin bu paylaşılan özel Duruma erişmesine ve potansiyel olarak değiştirmesine izin verir.
Özel Durum
Evet
İş akışının ilk özel Durumunu temsil eden bir JSON nesnesi. Bu nesne, uygulamayla ilgili herhangi bir anahtar-değer çifti içerebilir.
Durum nesnesi için anahtarı, işlem türünü ve varsayılan değeri belirtin. İşlem türü "Değiştir" veya "Ekle" olabilir.
Değiştirmek
Mevcut değeri yeni değerle değiştirin.
Yeni değer null ise, mevcut değer korunur.
Ekleme
Yeni değeri varolan değere ekleyin.
Varsayılan değerler boş veya bir dizi olabilir. Örn: ["a", "b"]
Son değer bir dizidir.
JS kullanma örneği
Tablo kullanma örneği
Durum Düğümü'ndeki tablo arabirimini kullanarak özel bir Durum tanımlamak için şu adımları izleyin:
Öğe ekle: Tabloya satır eklemek için "+ Öğe Ekle" düğmesini tıklayın. Her satır, özel Durumunuzdaki bir anahtar-değer çiftini temsil eder.
Anahtarları belirtin: "Anahtar" sütununa, durum nesnenizde tanımlamak istediğiniz her anahtarın adını girin. Örneğin, "userName", "userLocation" gibi anahtarlarınız olabilir.
İşlemleri seçin: "İşlem" sütununda, her tuş için istediğiniz işlemi seçin. İki seçeneğiniz vardır:
Değiştirmek: Bu, anahtarın mevcut değerini bir düğüm tarafından sağlanan yeni değerle değiştirir. Yeni değer null ise, mevcut değer korunur.
Ekleme: Bu, yeni değeri anahtarın mevcut değerine ekler. Son değer bir dizi olacaktır.
Varsayılan değerleri ayarlayın: "Varsayılan Değer" sütununda, her anahtar için başlangıç değerini girin. Bu değer, başka hiçbir düğüm anahtar için bir değer sağlamazsa kullanılır. Varsayılan değer boş veya bir dizi olabilir.
Örnek Tablo
kullanıcı adı
Değiştirmek
sıfır
Bu tablo, özel Durum'da bir anahtar tanımlar: .userName
Anahtar, "Değiştir" işlemini kullanacaktır, yani bir düğüm yeni bir değer sağladığında değeri güncellenecektir.userName
Anahtarın varsayılan değeri null olup, başlangıç değeri olmadığını gösterir.userName
Özel Durum yapınızı planlayın
İş akışınızı oluşturmadan önce, özel Durumunuzun yapısını tasarlayın. İyi düzenlenmiş bir özel Durum, iş akışınızın anlaşılmasını, yönetilmesini ve hata ayıklamasını kolaylaştırır.
Anlamlı anahtar adları kullanın
Tuttukları verilerin amacını açıkça belirten açıklayıcı ve tutarlı anahtar adları seçin. Bu, kodunuzun okunabilirliğini artırır ve başkalarının (veya gelecekte sizin) özel Durumun nasıl kullanıldığını anlamasını kolaylaştırır.
Özel Durumu minimumda tutun
Bilgileri yalnızca iş akışının mantığı ve karar verme için gerekli olan özel Durumda depolayın.
Devlet kalıcılığını göz önünde bulundurun
Durumu birden fazla konuşma oturumunda korumanız gerekiyorsa (örneğin, kullanıcı tercihleri, sipariş geçmişi vb. için), Durumu kalıcı bir veritabanında depolamak için Aracı Bellek Düğümünü kullanın.
Ajan Düğümü, Sequential Agents mimarisinin temel bir bileşenidir. İş akışımızda bir karar verici ve düzenleyici olarak hareket eder.
Aracı Düğümü, her zaman tam konuşma geçmişini ve yürütmenin o noktasındaki herhangi bir özel Durumu içeren önceki düğümlerden girdi aldıktan sonra, kullanıcının isteğini yerine getirmek için harici araçların gerekli olup olmadığını belirlemek için Sistem İstemi tarafından oluşturulan tanımlı "kişiliğini" kullanır.state.messages
Araçlar gerekliyse, Aracı Düğümü uygun aracı otonom olarak seçer ve yürütür. Bu yürütme otomatik olabilir veya hassas görevler için devam etmeden önce insan onayı (HITL) gerektirebilir. Araç çalışmasını tamamladıktan sonra, Aracı Düğümü sonuçları alır, bunları belirlenen Sohbet Modelini (LLM) kullanarak işler ve kapsamlı bir yanıt oluşturur.
Herhangi bir araca ihtiyaç duyulmayan durumlarda, Aracı Düğümü, mevcut konuşma bağlamına dayalı bir yanıt formüle etmek için doğrudan Sohbet Modeli'nden (LLM) yararlanır.
Harici Araçlar
Hayır
Ajan Düğümüne, eylemler gerçekleştirmesini ve bilgi almasını sağlayan bir dizi harici araca erişim sağlar.
Sohbet Modeli
Hayır
İş akışının varsayılan Sohbet Modeli'nin (LLM) üzerine yazmak için yeni bir Sohbet Modeli ekleyin. Yalnızca işlev çağırma özelliğine sahip modellerle uyumludur.
Başlangıç Düğümü
Evet
Başlangıç Düğümü'nden özel Durum (ayarlanmışsa) ve varsayılan dizinin geri kalanıyla birlikte ilk kullanıcı girişini alır.state.messages
Koşul Düğümü
Evet
Önceki bir Koşul Düğümünden girdi alarak Ajan Düğümünün Koşul Düğümünün değerlendirmesinin sonucuna göre eylemler gerçekleştirmesini veya konuşmayı yönlendirmesini sağlar.
Koşul Aracısı Düğümü
Evet
Önceki bir Koşul Aracısı Düğümünden girdi alır ve Aracı Düğümünün Koşul Aracısı Düğümünün değerlendirmesinin sonucuna göre eylemler gerçekleştirmesini veya konuşmayı yönlendirmesini sağlar.
Agents Düğümü
Evet
Önceki bir Aracı Düğümünden giriş alarak zincirleme aracı eylemlerini etkinleştirir ve konuşma bağlamını korur
LLM Düğümü
Evet
LLM Düğümünden çıktıyı alır ve Ajan Düğümünün LLM'nin yanıtını işlemesini sağlar.
Araç Düğümü
Evet
Çıktıyı bir Araç Düğümünden alır ve Aracı Düğümünün aracın çıktılarını işlemesini ve yanıtına entegre etmesini sağlar.
Agents'ı Düğümü aşağıdaki düğümlere çıkış olarak bağlanabilir:
Agents Düğümü: Kontrolü sonraki bir Ajan Düğümüne geçirerek bir iş akışı içinde birden çok ajan eyleminin zincirlenmesini sağlar. Bu, daha karmaşık konuşma akışlarına ve görev düzenlemesine olanak tanır.
LLM Düğümü: Aracının çıktısını bir LLM Düğümüne geçirerek, aracının eylemlerine ve içgörülerine dayalı olarak daha fazla dil işleme, yanıt oluşturma veya karar verme olanağı sağlar.
Koşul Aracısı Düğümü: Akışı bir Koşul Aracısı Düğümüne yönlendirir. Bu düğüm, iş akışındaki uygun sonraki adımı belirlemek için Aracı Düğümünün çıktısını ve önceden tanımlanmış koşullarını değerlendirir.
Koşul Düğümü: Koşul Aracısı Düğümüne benzer şekilde, Koşul Düğümü, Aracı Düğümünün çıktısını değerlendirmek için önceden tanımlanmış koşulları kullanır ve sonucu temel olarak akışı farklı dallar boyunca yönlendirir.
Bitiş Düğümü: Konuşma akışını sonlandırır.
Döngü Düğümü: Akışı önceki bir düğüme geri yönlendirerek iş akışı içinde yinelemeli veya döngüsel süreçleri etkinleştirir. Bu, birden çok adım gerektiren veya önceki etkileşimlere dayalı olarak sonuçların iyileştirilmesini içeren görevler için kullanışlıdır. Örneğin, ek bilgi toplamak veya mevcut Ajan Düğümünün çıktısına göre konuşma akışını iyileştirmek için daha önceki bir Ajan Düğümüne veya LLM Düğümüne geri dönebilirsiniz.
Temsilci Adı
Evet
İş akışı okunabilirliğini geliştirmek ve iş akışı içindeki döngüleri kullanırken kolayca geri hedeflemek için Aracı Düğümüne açıklayıcı bir ad ekleyin.
Sistem İstemi
Hayır
Ajanın 'kişiliğini' tanımlar ve davranışına rehberlik eder. Örneğin, "Teknik destek konusunda uzmanlaşmış bir müşteri hizmetleri temsilcisisiniz [...]."
Onay gerektir
Hayır
Döngüdeki İnsan (HITL) özelliğini etkinleştirir. 'Doğru' olarak ayarlanırsa, Aracı Düğümü herhangi bir aracı çalıştırmadan önce insan onayı isteyecektir. Bu, özellikle hassas operasyonlar için veya insan gözetimi istendiğinde değerlidir. Varsayılan olarak 'False' değerindedir ve Aracı Düğümünün araçları otonom olarak yürütmesine izin verir.
İnsan İstemi
Hayır
Bu istem, diziye bir insan mesajı olarak eklenir. Ajan Düğümü girdisini işledikten sonra ve bir sonraki düğüm Ajan Düğümünün çıktısını almadan önce konuşma akışına insan benzeri bir mesaj enjekte etmemize olanak tanır.state.messages
Onay İstemi
Hayır
HITL özelliği etkin olduğunda insan gözden geçirene sunulan özelleştirilebilir bir istem. Bu istem, aracın adı ve amacı da dahil olmak üzere aracın yürütülmesi hakkında bağlam sağlar. Bilgi istemindeki değişken, aracı tarafından önerilen gerçek araç listesiyle dinamik olarak değiştirilecek ve insan gözden geçirenin bilinçli bir karar vermesi için gerekli tüm bilgilere sahip olmasını sağlayacaktır.{tools}
Onayla düğmesi metni
Hayır
HITL arayüzünde araç yürütmeyi onaylamak için düğmede görüntülenen metni özelleştirir. Bu, dilin belirli bir bağlama göre uyarlanmasına ve insan gözden geçiren için netlik sağlanmasına olanak tanır.
Düğme Metnini Reddet
Hayır
HITL arayüzünde takım yürütmeyi reddetmek için düğmede görüntülenen metni özelleştirir. Onayla Düğmesi Metni gibi, bu özelleştirme de anlaşılırlığı artırır ve insan gözden geçirenin araç yürütmeyi gereksiz veya potansiyel olarak zararlı bulması durumunda gerçekleştirmesi gereken net bir eylem sağlar.
Güncelleme Durumu
Hayır
İş akışı içindeki paylaşılan özel Durum nesnesini değiştirmek için bir mekanizma sağlar. Bu, aracı tarafından toplanan bilgileri depolamak veya sonraki düğümlerin davranışını etkilemek için kullanışlıdır.
Maksimum Yineleme
Hayır
Bir Ajan Düğümünün tek bir iş akışı yürütmesi içinde yapabileceği yineleme sayısını sınırlar
Sistem istemini temizle
Temsilcinin rolünü ve yeteneklerini doğru bir şekilde yansıtan kısa ve net bir Sistem İstemi oluşturun. Bu, temsilcinin karar verme sürecine rehberlik eder ve tanımlanan kapsamı dahilinde hareket etmesini sağlar.
Stratejik araç seçimi
Aracı Düğümü için kullanılabilir araçları seçin ve yapılandırın, böylece aracının amacı ve iş akışının genel hedefleriyle uyumlu olduklarından emin olun.
Hassas görevler için HITL
Hassas veriler içeren, insan yargısı gerektiren veya istenmeyen sonuç riski taşıyan görevler için 'Onay İste' seçeneğini kullanın.
Özel Durum güncellemelerinden yararlanın
Toplanan bilgileri depolamak veya aşağı akış düğümlerinin davranışını etkilemek için özel State nesnesini stratejik olarak güncelleştirin.
Ajan Düğümü gibi, LLM Düğümü de Sıralı Ajan mimarisinin temel bir bileşenidir. Her iki düğüm de varsayılan olarak aynı Sohbet Modellerini (LLM'ler) kullanır ve aynı temel dil işleme yeteneklerini sağlar, ancak LLM Düğümü bu kilit alanlarda kendini ayırt eder.
Yapılandırılmış veriler: LLM Düğümü, çıktısı için bir JSON şeması tanımlamak için özel bir özellik sağlar. Bu, LLM'nin yanıtlarından yapılandırılmış bilgileri çıkarmayı ve bu verileri iş akışındaki sonraki düğümlere iletmeyi son derece kolaylaştırır. Aracı Düğümü bu yerleşik JSON şeması özelliğine sahip değil
HITL: Her iki düğüm de araç yürütme için HITL'yi desteklerken, LLM Düğümü bu kontrolü Araç Düğümü'nün kendisine erteler ve iş akışı tasarımında daha fazla esneklik sağlar.
Sohbet Modeli
Hayır
İş akışının varsayılan Sohbet Modeli'nin (LLM) üzerine yazmak için yeni bir Sohbet Modeli ekleyin. Yalnızca işlev çağırma özelliğine sahip modellerle uyumludur.
Başlangıç Düğümü
Evet
Başlangıç Düğümü'nden özel Durum (ayarlanmışsa) ve varsayılan dizinin geri kalanıyla birlikte ilk kullanıcı girişini alır.state.messages
Aracı Düğümü
Evet
Araç yürütme sonuçlarını veya aracı tarafından oluşturulan yanıtları içerebilen bir Aracı Düğümünden çıktı alır.
Koşul Düğümü
Evet
Önceki bir Koşul Düğümünden girdi alır ve LLM Düğümünün Koşul Düğümünün değerlendirmesinin sonucuna dayalı olarak harekete geçmesini veya konuşmayı yönlendirmesini sağlar.
Koşul Aracısı Düğümü
Evet
Önceki bir Koşul Aracısı Düğümünden girdi alır ve LLM Düğümünün Koşul Aracısı Düğümünün değerlendirmesinin sonucuna dayalı olarak harekete geçmesini veya konuşmayı yönlendirmesini sağlar.
LLM Düğümü
Evet
Başka bir LLM Düğümünden çıktı alır ve birden fazla LLM Düğümü arasında zincirleme akıl yürütme veya bilgi işlemeyi mümkün kılar.
Agents Düğümü
Evet
Bir Araç Düğümünden çıktı alır ve daha fazla işleme veya yanıt oluşturma için araç yürütme sonuçlarını sağlar.
LLM Düğüm Adı
Evet
İş akışı okunabilirliğini artırmak ve iş akışı içinde döngüler kullanırken kolayca geri hedeflemek için LLM Düğümüne açıklayıcı bir ad ekleyin.
LLM Düğümü aşağıdaki düğümlere çıkış olarak bağlanabilir:
Aracı Düğümü: LLM'nin çıktısını bir Aracı Düğümüne geçirir ve bu düğüm daha sonra bilgileri eylemlere karar vermek, araçları yürütmek veya konuşma akışını yönlendirmek için kullanabilir.
LLM Düğümü: Çıktıyı bir sonraki LLM Düğümüne geçirerek birden çok LLM işleminin zincirlenmesini sağlar. Bu, metin oluşturmayı iyileştirmek, birden çok analiz yapmak veya karmaşık dil işlemeyi aşamalara ayırmak gibi görevler için kullanışlıdır.
Araç Düğümü: Çıktıyı bir Araç Düğümüne geçirir ve LLM Düğümünün talimatlarına dayalı olarak belirli bir aracın yürütülmesini sağlar.
Koşul Aracısı Düğümü: Akışı bir Koşul Aracısı Düğümüne yönlendirir. Bu düğüm, iş akışındaki uygun sonraki adımı belirlemek için LLM Düğümünün çıktısını ve önceden tanımlanmış koşullarını değerlendirir.
Koşul Düğümü: Koşul Aracısı Düğümüne benzer şekilde, Koşul Düğümü, LLM Düğümünün çıktısını değerlendirmek için önceden tanımlanmış koşulları kullanır ve sonucu temel olarak akışı farklı dallar boyunca yönlendirir.
Bitiş Düğümü: Konuşma akışını sonlandırır.
Döngü Düğümü: Akışı önceki bir düğüme geri yönlendirerek iş akışı içinde yinelemeli veya döngüsel süreçleri etkinleştirir. Bu, LLM'nin çıktısını birden çok yinelemede iyileştirmek için kullanılabilir.
Sistem İstemi
Hayır
Ajanın 'kişiliğini' tanımlar ve davranışına rehberlik eder. Örneğin, "Teknik destek konusunda uzmanlaşmış bir müşteri hizmetleri temsilcisisiniz [...]."
İnsan İstemi
Hayır
Bu istem, diziye bir insan mesajı olarak eklenir. LLM Düğümü girdisini işledikten sonra ve bir sonraki düğüm LLM Düğümü'nün çıktısını almadan önce konuşma akışına insan benzeri bir mesaj enjekte etmemizi sağlar.state.messages
JSON Yapılandırılmış Çıktı
Hayır
LLM'ye (Sohbet Modeli) JSON yapı şemasında (Anahtar, Tür, Enum Değerleri, Açıklama) çıktıyı sağlaması talimatını vermek.
Güncelleme Durumu
Hayır
İş akışı içindeki paylaşılan özel Durum nesnesini değiştirmek için bir mekanizma sağlar. Bu, LLM Düğümü tarafından toplanan bilgileri depolamak veya sonraki düğümlerin davranışını etkilemek için kullanışlıdır.
Sistem istemini temizle
LLM Düğümünün rolünü ve yeteneklerini doğru bir şekilde yansıtan kısa ve net bir Sistem İstemi oluşturun. Bu, LLM Düğümünün karar vermesine rehberlik eder ve tanımlanmış kapsamı dahilinde hareket etmesini sağlar.
Yapılandırılmış çıktı için optimize edin
Temel veri öğelerine odaklanarak JSON şemalarınızı mümkün olduğunca basit tutun. JSON Yapılandırılmış Çıktıyı yalnızca LLM'nin yanıtından belirli veri noktalarını ayıklamanız gerektiğinde veya aşağı akış düğümleri JSON girişi gerektirdiğinde etkinleştirin.
Stratejik araç seçimi
LLM Düğümü için mevcut araçları seçin ve yapılandırın (Araç Düğümü aracılığıyla), uygulama amacı ve iş akışının genel hedefleri ile uyumlu olduklarından emin olun.
Hassas görevler için HITL
Hassas veriler içeren, insan yargısı gerektiren veya istenmeyen sonuç riski taşıyan görevler için 'Onay İste' seçeneğini kullanın.
Durum güncellemelerinden yararlanın
Toplanan bilgileri depolamak veya aşağı akış düğümlerinin davranışını etkilemek için özel State nesnesini stratejik olarak güncelleştirin.
Araç Düğümü, Flow'un Sıralı Ajan sisteminin değerli bir bileşenidir ve harici araçların konuşma iş akışlarına entegrasyonunu ve yürütülmesini sağlar. LLM Düğümlerinin dil tabanlı işlenmesi ile harici araçların, API'lerin veya hizmetlerin özel işlevleri arasında bir köprü görevi görür.
Araç Düğümü'nün birincil işlevi, bir LLM Düğümünden alınan talimatlara dayalı olarak harici araçları yürütmek ve araç yürütme sürecinde Döngüdeki İnsan (HITL) müdahalesi için esneklik sağlamaktır.
İşte nasıl çalıştığına dair adım adım bir açıklama
Araç Çağrısı Alımı: Araç Düğümü, bir LLM Düğümünden girdi alır. LLM'nin çıktısı özelliği içeriyorsa, Araç Düğümü araç yürütmeye devam eder.tool_calls
İdam: Araç Düğümü, LLM'leri (araç adını ve gerekli parametreleri içeren) belirtilen harici araca doğrudan iletir. Aksi takdirde, Araç Düğümü söz konusu iş akışı yürütmesinde herhangi bir araç çalıştırmaz. LLM'nin çıktısını hiçbir şekilde işlemez veya yorumlamaz.tool_calls
Döngüdeki İnsan (HITL): Araç Düğümü, isteğe bağlı HITL'ye izin vererek, takım yürütmesinin gerçekleşmeden önce insan tarafından gözden geçirilmesini ve onaylanmasını veya reddedilmesini sağlar.
Çıktı geçişi: Araç yürütmeden sonra (otomatik veya HITL onayından sonra), Araç Düğümü aracın çıktısını alır ve iş akışındaki bir sonraki düğüme iletir. Araç Düğümünün çıktısı sonraki bir düğüme bağlı değilse, aracın çıktısı daha fazla işlem için orijinal LLM Düğümüne geri gönderilir.
LLM Düğümü
Evet
Çıktıyı, özellik içerebilen veya içermeyebilen bir LLM Düğümünden alır. Varsa, Araç Düğümü belirtilen aracı çalıştırmak için bunları kullanacaktır.tool_calls
Harici Araçlar
Hayır
Araç Düğümüne, eylemler gerçekleştirmesini ve bilgi almasını sağlayan bir dizi harici araca erişim sağlar.
Araç Düğümü Adı
Evet
İş akışı okunabilirliğini geliştirmek için Araç Düğümüne açıklayıcı bir ad ekleyin.
Onay Gerektir (HITL)
Hayır
Döngüdeki İnsan (HITL) özelliğini etkinleştirir. 'Doğru' olarak ayarlanırsa, Araç Düğümü herhangi bir aracı çalıştırmadan önce insan onayı isteyecektir. Bu, özellikle hassas operasyonlar için veya insan gözetimi istendiğinde değerlidir. Varsayılan olarak 'False' değerindedir ve Araç Düğümünün araçları otonom olarak yürütmesine izin verir.
Araç Düğümü aşağıdaki düğümlere çıkış olarak bağlanabilir:
Aracı Düğümü: Araç Düğümünün çıktısını (yürütülen aracın sonucu) bir Aracı Düğümüne geçirir. Temsilci Düğümü daha sonra bu bilgileri eylemlere karar vermek, daha fazla araç yürütmek veya konuşma akışını yönlendirmek için kullanabilir.
LLM Düğümü: Çıktıyı sonraki bir LLM Düğümüne geçirir. Bu, araç sonuçlarının LLM'nin işlenmesine entegrasyonunu sağlayarak, aracın çıktısına dayalı olarak konuşma akışının daha fazla analizine veya iyileştirilmesine olanak tanır.
Koşul Aracısı Düğümü: Akışı bir Koşul aracı Düğümüne yönlendirir. Bu düğüm, iş akışındaki uygun sonraki adımı belirlemek için Araç Düğümünün çıktısını ve önceden tanımlanmış koşullarını değerlendirir.
Koşul Düğümü: Koşul Aracısı Düğümüne benzer şekilde, Koşul Düğümü, Araç Düğümünün çıktısını değerlendirmek için önceden tanımlanmış koşulları kullanır ve sonucu temel olarak akışı farklı dallar boyunca yönlendirir.
Bitiş Düğümü: Konuşma akışını sonlandırır.
Döngü Düğümü: Akışı önceki bir düğüme geri yönlendirerek iş akışı içinde yinelemeli veya döngüsel süreçleri etkinleştirir. Bu, birden çok araç yürütmesi gerektiren veya araç sonuçlarına göre konuşmayı iyileştirmeyi içeren görevler için kullanılabilir.
Onay İstemi
Hayır
HITL özelliği etkin olduğunda insan gözden geçirene sunulan özelleştirilebilir bir istem. Bu istem, aracın adı ve amacı da dahil olmak üzere aracın yürütülmesi hakkında bağlam sağlar. Bilgi istemindeki değişken, LLM Düğümü tarafından önerilen gerçek araç listesiyle dinamik olarak değiştirilecek ve insan gözden geçirenin bilinçli bir karar vermek için gerekli tüm bilgilere sahip olmasını sağlayacaktır.{tools}
Onayla düğmesi metni
Hayır
HITL arayüzünde araç yürütmeyi onaylamak için düğmede görüntülenen metni özelleştirir. Bu, dilin belirli bir bağlama göre uyarlanmasına ve insan gözden geçiren için netlik sağlanmasına olanak tanır.
Düğme Metnini Reddet
Hayır
HITL arayüzünde takım yürütmeyi reddetmek için düğmede görüntülenen metni özelleştirir. Onayla Düğmesi Metni gibi, bu özelleştirme de anlaşılırlığı artırır ve insan gözden geçirenin araç yürütmeyi gereksiz veya potansiyel olarak zararlı bulması durumunda gerçekleştirmesi gereken net bir eylem sağlar.
Güncelleme Durumu
Hayır
İş akışı içindeki özel State nesnesini değiştirmek için bir mekanizma sağlar. Bu, Araç Düğümü tarafından toplanan bilgileri depolamak (araç yürütüldükten sonra) veya sonraki düğümlerin davranışını etkilemek için kullanışlıdır.
Stratejik HITL yerleşimi
Hangi araçların insan gözetimi (HITL) gerektirdiğini göz önünde bulundurun ve buna göre "Onay İste" seçeneğini etkinleştirin.
Bilgilendirici Onay İstemleri
HITL kullanırken, insan gözden geçirenler için açık ve bilgilendirici istemler tasarlayın. Konuşmadan yeterli bağlam sağlayın ve aracın amaçlanan eylemini özetleyin.
Koşul Düğümü, Sıralı Ajan iş akışlarında bir karar verme noktası görevi görür ve akışın bir sonraki yolunu belirlemek için önceden tanımlanmış bir dizi koşulu değerlendirir.
Koşul Düğümü, farklı durumlara ve kullanıcı girdilerine uyum sağlayan iş akışları oluşturmak için gereklidir. Değiş tokuş edilen tüm iletileri ve daha önce tanımlanmış tüm özel Durum değişkenlerini içeren konuşmanın geçerli Durumunu inceler. Ardından, düğüm kurulumunda belirtilen koşulların değerlendirilmesine bağlı olarak, Koşul Düğümü akışı çıkışlarından birine yönlendirir.
Örneğin, bir Ajan veya LLM Düğümü bir yanıt verdikten sonra, bir Koşul Düğümü, yanıtın belirli bir anahtar kelime içerip içermediğini veya özel Durumda belirli bir koşulun karşılanıp karşılanmadığını kontrol edebilir. Varsa, akış daha fazla eylem için bir Aracı Düğümüne yönlendirilebilir. Aksi takdirde, belki konuşmayı sonlandırarak veya kullanıcıdan ek sorular sorarak farklı bir yola yol açabilir.
Bu, iş akışımızda, izlenen yolun sistemden akan verilere bağlı olduğu dallar oluşturmamızı sağlar.
İşte nasıl çalıştığına dair adım adım bir açıklama
Koşul Düğümü, önceki herhangi bir düğümden girdi alır: Başlangıç Düğümü, Aracı Düğümü, LLM Düğümü veya Araç Düğümü.
Tam konuşma geçmişine ve özel Duruma (varsa) erişimi vardır ve bu da ona çalışmak için bol miktarda bağlam sağlar.
Düğümün değerlendireceği bir koşul tanımlarız. Bu, anahtar kelimeleri kontrol etmek, durumdaki değerleri karşılaştırmak veya JavaScript aracılığıyla uygulayabileceğimiz başka herhangi bir mantık olabilir.
Koşulun doğru veya yanlış olarak değerlendirilmesine bağlı olarak, Koşul Düğümü akışı önceden tanımlanmış çıkış yollarından birine gönderir. Bu, iş akışımız için bir "yol ayrımı" veya dal oluşturur.
Koşul Düğümü, konuşma akışını kontrol edecek koşulları tanımlamak için tablo tabanlı bir arayüz veya bir JavaScript kod düzenleyicisi seçerek iş akışımızda dinamik dallanma mantığını tanımlamamıza olanak tanır.
Bu görsel yaklaşım, kullanıcı girişi, konuşmanın mevcut durumu veya diğer düğümler tarafından gerçekleştirilen eylemlerin sonuçları gibi faktörlere dayalı olarak konuşma akışınızın yolunu belirleyen kuralları kolayca ayarlamanıza olanak tanır.
Başlangıç Düğümü
Evet
Durumu Başlangıç Düğümü'nden alır. Bu, Koşul Düğümünün, herhangi bir özel Durum da dahil olmak üzere konuşmanın ilk bağlamına dayalı olarak koşulları değerlendirmesine olanak tanır.
Aracı Düğümü
Evet
Aracı Düğümünün çıktısını alır. Bu, Koşul Düğümünün, herhangi bir özel Durum da dahil olmak üzere temsilcinin eylemlerine ve konuşma geçmişine dayalı kararlar vermesini sağlar.
LLM Düğümü
Evet
LLM Düğümünün çıktısını alır. Bu, Koşul Düğümünün, herhangi bir özel Durum da dahil olmak üzere LLM'nin yanıtına ve konuşma geçmişine dayalı olarak koşulları değerlendirmesine olanak tanır.
Araç Düğümü
Evet
Araç Düğümünün çıktısını alır. Bu, Koşul Düğümünün, herhangi bir özel Durum da dahil olmak üzere araç yürütme sonuçlarına ve konuşma geçmişine dayalı kararlar vermesini sağlar.
Koşul Düğümü, aşağıdaki düğümlerden en az bir bağlantı gerektirir: Başlangıç Düğümü, Aracı Düğümü, LLM Düğümü veya Araç Düğümü.
Koşul Düğümü, tablo tabanlı arabirimi veya JavaScript'i kullanarak önceden tanımlanmış koşullara göre çıkış yolunu dinamik olarak belirler. Bu, koşul değerlendirmelerine dayalı olarak iş akışını yönlendirmede esneklik sağlar.
Koşul değerlendirme mantığı
Tablo Tabanlı koşullar: Tabloda yer alan koşullar yukarıdan aşağıya doğru sıralı olarak değerlendirilir. Doğru olarak değerlendirilen ilk koşul, karşılık gelen çıktısını tetikler. Önceden tanımlanmış koşullardan hiçbiri karşılanmazsa, iş akışı varsayılan "Son" çıkışına yönlendirilir.
Kod Tabanlı koşullar: JavaScript kullanırken, varsayılan "Bitiş" çıktısı için bir ad da dahil olmak üzere, istenen çıktı yolunun adını açıkça döndürmeliyiz.
Tek çıkış yolu: Aynı anda yalnızca bir çıkış yolu etkinleştirilir. Birden çok koşul doğru olsa bile, akışı yalnızca ilk eşleşen koşul belirler.
Varsayılan "Bitiş" çıkışı da dahil olmak üzere önceden tanımlanmış her çıkış, aşağıdaki düğümlerden herhangi birine bağlanabilir:
Aracı Düğümü: Bir temsilciyle görüşmeye devam etmek, potansiyel olarak durumun sonucuna göre eylemler gerçekleştirmek.
LLM Düğümü: Mevcut Durumu ve konuşma geçmişini bir LLM ile işlemek, yanıtlar oluşturmak veya daha fazla karar almak.
Bitiş Düğümü: Konuşma akışını sonlandırmak için. Varsayılan "Bitiş" çıkışı da dahil olmak üzere herhangi bir çıktı bir Uç Düğüme bağlıysa, Koşul Düğümü önceki düğümden gelen son yanıtı verir ve iş akışını sonlandırır.
Döngü Düğümü: Akışı önceki bir sıralı düğüme geri yönlendirmek ve koşulun sonucuna göre yinelemeli süreçleri etkinleştirmek için.
Koşul Düğümü Adı
Hayır
Değerlendirilen koşul için isteğe bağlı, insan tarafından okunabilir bir ad. Bu, iş akışını bir bakışta anlamak için yararlıdır.
Koşul
Evet
Çıkış yollarını belirlemek için değerlendirilecek mantığı burada tanımlıyoruz.
Koşul adlandırmayı temizle
İş akışınızın daha kolay anlaşılmasını ve hata ayıklamasını sağlamak için koşullarınız için açıklayıcı adlar kullanın (ör. "Kullanıcı 18 yaşın altındaysa Policy Advisor Aracısı", "Sipariş onaylanırsa Bitiş Düğümü").
Basit koşullara öncelik verin
Basit koşullarla başlayın ve gerektiğinde karmaşıklığı kademeli olarak ekleyin. Bu, iş akışınızı daha yönetilebilir hale getirir ve hata riskini azaltır.
Koşul Aracısı Düğümü, Sıralı Aracı akışları içinde dinamik ve akıllı yönlendirme sağlar. LLM Düğümünün (LLM ve JSON Yapılandırılmış Çıktı) ve Koşul Düğümünün (kullanıcı tanımlı koşullar) yeteneklerini birleştirerek, tek bir düğüm içinde ajan tabanlı akıl yürütme ve koşullu mantıktan yararlanmamızı sağlar.
Birleşik aracı tabanlı yönlendirme: Aracı mantığını, yapılandırılmış çıktıyı ve koşullu mantığı tek bir düğümde birleştirerek iş akışı tasarımını basitleştirir.
Bağlamsal farkındalık: Temsilci, koşulları değerlendirirken tüm konuşma geçmişini ve herhangi bir özel Durumu dikkate alır.
Esneklik: Farklı kullanıcı tercihlerine ve beceri düzeylerine hitap ederken koşulları tanımlamak için hem tablo tabanlı hem de kod tabanlı seçenekler sunar.
Koşul Aracısı Düğümü, hem bilgileri işleyebilen hem de yönlendirme kararları verebilen özel bir aracı olarak hareket eder. Bunu nasıl yapılandıracağınız aşağıda açıklanmıştır:
Temsilcinin kişiliğini tanımlayın
"Sistem İstemi" alanında, aracının rolünün ve koşullu yönlendirme için gerçekleştirmesi gereken görevin açık ve özlü bir tanımını sağlayın. Bu istem, temsilcinin konuşmayı anlamasına ve karar verme sürecine rehberlik edecektir.
Aracının çıkışını yapılandırma (isteğe bağlı)
Aracının yapılandırılmış çıktı üretmesini istiyorsanız, "JSON Yapılandırılmış Çıktı" özelliğini kullanın. Anahtarları, veri türlerini ve sabit listesi değerlerini belirterek çıktı için istenen şemayı tanımlayın. Bu yapılandırılmış çıktı, aracı tarafından koşulları değerlendirirken kullanılacaktır.
Koşulları tanımlayın
Yönlendirme davranışını belirleyecek koşulları tanımlamak için tablo tabanlı arabirimi veya JavaScript kod düzenleyicisini seçin.
Tablo Tabanlı arayüz: Tabloya satırlar ekleyin, denetlenecek değişkeni, karşılaştırma işlemini, karşılaştırılacak değeri ve koşul karşılanırsa izlenecek çıkış adını belirtin.
JavaScript kodu: Koşulları değerlendirmek için özel JavaScript parçacıkları yazın. Koşulun sonucuna bağlı olarak izlenecek çıkış yolunun adını belirtmek için deyimini kullanın. return
Çıkışları bağlayın
Varsayılan "Son" çıkışı da dahil olmak üzere önceden tanımlanmış her çıktıyı iş akışındaki uygun sonraki düğüme bağlayın. Bu bir Ajan Düğümü, LLM Düğümü, Döngü Düğümü veya bir Uç Düğüm olabilir.
Koşul Aracısı Düğümü, konuşma akışını kontrol edecek koşulları tanımlamak için tablo tabanlı bir arayüz veya bir JavaScript kod düzenleyicisi seçerek iş akışımızda dinamik dallanma mantığını tanımlamamıza olanak tanır.
Bu görsel yaklaşım, kullanıcı girişi, konuşmanın mevcut durumu veya diğer düğümler tarafından gerçekleştirilen eylemlerin sonuçları gibi faktörlere dayalı olarak konuşma akışınızın yolunu belirleyen kuralları kolayca ayarlamanıza olanak tanır.
Başlangıç Düğümü
Evet
Durumu Başlangıç Düğümü'nden alır. Bu, Koşul Aracısı Düğümünün, herhangi bir özel Durum da dahil olmak üzere konuşmanın ilk bağlamına dayalı olarak koşulları değerlendirmesine olanak tanır.
Aracı Düğümü
Evet
Aracı Düğümünün çıktısını alır. Bu, Koşul Aracısı Düğümünün, herhangi bir özel Durum da dahil olmak üzere temsilcinin eylemlerine ve konuşma geçmişine dayalı kararlar vermesini sağlar.
LLM Düğümü
Evet
LLM Düğümünün çıktısını alır. Bu, Koşul Aracısı Düğümünün, herhangi bir özel Durum da dahil olmak üzere LLM'nin yanıtına ve konuşma geçmişine dayalı olarak koşulları değerlendirmesine olanak tanır.
Araç Düğümü
Evet
Araç Düğümünün çıktısını alır. Bu, Koşul Aracısı Düğümünün, herhangi bir özel Durum da dahil olmak üzere araç yürütme sonuçlarına ve konuşma geçmişine dayalı kararlar vermesini sağlar.
Ad
Hayır
İş akışı okunabilirliğini geliştirmek ve kolayca geliştirmek için Koşul Aracısı Düğümüne açıklayıcı bir ad ekleyin.
Koşul
Evet
Çıkış yollarını belirlemek için değerlendirilecek mantığı burada tanımlıyoruz.
Koşul Aracısı Düğümü, Koşul Düğümü gibi, tablo tabanlı arabirimi veya JavaScript'i kullanarak tanımlanan koşullara göre çıkış yolunu dinamik olarak belirler. Bu, koşul değerlendirmelerine dayalı olarak iş akışını yönlendirmede esneklik sağlar.
Koşul değerlendirme mantığı
Tablo Tabanlı koşullar: Tabloda yer alan koşullar yukarıdan aşağıya doğru sıralı olarak değerlendirilir. Doğru olarak değerlendirilen ilk koşul, karşılık gelen çıktısını tetikler. Önceden tanımlanmış koşullardan hiçbiri karşılanmazsa, iş akışı varsayılan "Son" çıkışına yönlendirilir.
Kod Tabanlı koşullar: JavaScript kullanırken, varsayılan "Bitiş" çıktısı için bir ad da dahil olmak üzere, istenen çıktı yolunun adını açıkça döndürmeliyiz.
Tek çıkış yolu: Aynı anda yalnızca bir çıkış yolu etkinleştirilir. Birden çok koşul doğru olsa bile, akışı yalnızca ilk eşleşen koşul belirler.
Çıkışların bağlanması
Varsayılan "Bitiş" çıkışı da dahil olmak üzere önceden tanımlanmış her çıkış, aşağıdaki düğümlerden herhangi birine bağlanabilir:
Aracı Düğümü: Bir temsilciyle görüşmeye devam etmek, potansiyel olarak durumun sonucuna göre eylemler gerçekleştirmek.
LLM Düğümü: Mevcut Durumu ve konuşma geçmişini bir LLM ile işlemek, yanıtlar oluşturmak veya daha fazla karar almak.
Bitiş Düğümü: Konuşma akışını sonlandırmak için. Varsayılan "Son" çıkışı bir Uç Düğüme bağlıysa, Koşul Düğümü önceki düğümden son yanıtı çıkaracak ve konuşmayı sonlandıracaktır.
Döngü Düğümü: Akışı önceki bir sıralı düğüme geri yönlendirmek ve koşulun sonucuna göre yinelemeli süreçleri etkinleştirmek için.
Koşul Düğümünden temel farklar
Koşul Aracısı Düğümü, bir aracının akıl yürütmesini ve yapılandırılmış çıktısını koşul değerlendirme sürecine dahil eder.
Aracı tabanlı koşul yönlendirmeye daha tümleşik bir yaklaşım sağlar.
Sistem İstemi
Hayır
Koşul Aracısı'nın 'kişiliğini' tanımlar ve yönlendirme kararları vermek için davranışına rehberlik eder. Örneğin: "Teknik destek konusunda uzmanlaşmış bir müşteri hizmetleri temsilcisisiniz. Amacınız, müşterilerimize ürünümüzle ilgili teknik konularda yardımcı olmaktır. Kullanıcının sorgusuna bağlı olarak, belirli teknik sorunu (örneğin, bağlantı sorunları, yazılım hataları, donanım arızaları) tanımlayın."
İnsan İstemi
Hayır
Bu istem, diziye bir insan mesajı olarak eklenir. Koşul Aracısı Düğümü girdisini işledikten sonra ve bir sonraki düğüm Koşul Aracısı Düğümünün çıktısını almadan önce konuşma akışına insan benzeri bir mesaj enjekte etmemize olanak tanır.state.messages
JSON Yapılandırılmış Çıktı
Hayır
Koşul Aracısı Düğümüne JSON yapı şemasında (Anahtar, Tür, Enum Değerleri, Açıklama) çıktıyı sağlamasını bildirmek için.
Net ve odaklanmış bir sistem istemi oluşturun
Sistem İstemi'nde temsilciye iyi tanımlanmış bir kişilik ve net talimatlar sağlayın. Bu, akıl yürütmesine rehberlik edecek ve koşullu mantık için ilgili çıktıyı oluşturmasına yardımcı olacaktır.
Güvenilir koşullar için yapı çıktısı
Koşul Aracısı'nın çıktısı için bir şema tanımlamak üzere JSON Yapılandırılmış Çıktı özelliğini kullanın. Bu, çıktının tutarlı ve kolayca ayrıştırılabilir olmasını sağlayarak koşullu değerlendirmelerde kullanım için daha güvenilir hale getirir.
Döngü Düğümü, konuşma akışımız içinde döngüler oluşturmamıza ve konuşmayı belirli bir noktaya geri yönlendirmemize olanak tanır. Bu, kullanıcı girişine veya belirli koşullara dayalı olarak belirli bir eylem veya soru dizisini tekrarlamamız gereken senaryolar için kullanışlıdır.
Döngü Düğümü, akışı grafikteki belirli bir noktaya geri yönlendiren bir bağlayıcı görevi görür ve konuşma akışımız içinde döngüler oluşturmamıza olanak tanır. Döngü Düğümünden önceki düğümün çıktısını içeren mevcut Durumu hedef düğümümüze iletir. Bu veri aktarımı, hedef düğümümüzün döngünün önceki yinelemesindeki bilgileri işlemesine ve davranışını buna göre ayarlamasına olanak tanır.
Örneğin, kullanıcıların uçuş rezervasyonu yapmasına yardımcı olan bir sohbet robotu oluşturduğumuzu varsayalım. Kullanıcı geri bildirimlerine dayalı olarak arama kriterlerini yinelemeli olarak iyileştirmek için bir döngü kullanabiliriz.
Döngü Düğümü şu şekilde kullanılabilir:
LLM Düğümü (İlk Arama): LLM Düğümü, kullanıcının ilk uçuş talebini alır (örneğin, "Temmuz ayında Madrid'den New York'a uçuş bulun"). Bir uçuş arama API'sini sorgular ve olası uçuşların bir listesini döndürür.
Ajan Düğümü (Mevcut Seçenekler): Temsilci Düğümü, kullanıcıya uçuş seçeneklerini sunar ve aramalarını daraltmak isteyip istemediklerini sorar (örneğin, "Fiyata, havayoluna veya kalkış saatine göre filtrelemek ister misiniz?").
Koşul Aracısı Düğümü: Koşul Aracısı Düğümü kullanıcının yanıtını kontrol eder ve iki çıktıya sahiptir:
Kullanıcı hassaslaştırmak isterse: Akış, "Aramayı Rafine Et" LLM Düğümüne gider.
Kullanıcı sonuçlardan memnunsa: Akış, rezervasyon işlemine devam eder.
LLM Düğümü (Aramayı İyileştir): Bu LLM Düğümü, kullanıcının iyileştirme kriterlerini toplar (örneğin, "Bana yalnızca 500 doların altındaki uçuşları göster") ve Durumu yeni arama parametreleriyle günceller.
Döngü Düğümü: Döngü Düğümü, akışı ilk LLM Düğümüne ("İlk Arama") geri yönlendirir. Artık iyileştirilmiş arama kriterlerini içeren güncelleştirilmiş Durum'u geçer.
İterasyon: İlk LLM Düğümü, rafine edilmiş kriterleri kullanarak yeni bir arama gerçekleştirir ve işlem 2. adımdan itibaren tekrarlanır.
Bu örnekte, Döngü Düğümü yinelemeli bir arama iyileştirme işlemini etkinleştirir. Sistem, kullanıcı sunulan seçeneklerden memnun kalana kadar geri dönmeye ve arama sonuçlarını iyileştirmeye devam edebilir.
Aracı Düğümü
Evet
Önceki bir Aracı Düğümünün çıktısını alır. Bu veriler daha sonra "Loop To" parametresinde belirtilen hedef düğüme geri gönderilir.
LLM Düğümü
Evet
Önceki bir LLM Düğümünün çıktısını alır. Bu veriler daha sonra "Loop To" parametresinde belirtilen hedef düğüme geri gönderilir.
Araç Düğümü
Evet
Önceki bir Araç Düğümü'nün çıktısını alır. Bu veriler daha sonra "Loop To" parametresinde belirtilen hedef düğüme geri gönderilir.
Koşul Düğümü
Evet
Önceki bir Koşul Düğümü'nün çıktısını alır. Bu veriler daha sonra "Loop To" parametresinde belirtilen hedef düğüme geri gönderilir.
Koşul Aracısı Düğümü
Evet
Önceki bir Koşul Aracısı Düğümünün çıktısını alır. Bu veriler daha sonra "Loop To" parametresinde belirtilen hedef düğüme geri gönderilir.
Döngü
Evet
Döngü Düğümü, konuşma akışının yeniden yönlendirilmesi gereken hedef düğümü ("Döngü To") belirtmemizi gerektirir. Bu hedef düğüm bir Ajan Düğümü veya LLM Düğümü olmalıdır.
Döngü Düğümünün herhangi bir doğrudan çıkış bağlantısı yoktur. Akışı, grafikteki belirli sıralı düğüme geri yönlendirir.
Net döngü amacı
İş akışınızdaki her döngü için net bir amaç tanımlayın. Mümkünse, döngü ile ne elde etmeye çalıştığınızı yapışkan bir notla belgeleyin.
Bitiş Düğümü, Sıralı Aracı iş akışında konuşmanın kesin sonlandırma noktasını işaretler. Daha fazla işlem, eylem veya etkileşim gerekmediğini belirtir.
Aracı Düğümü
Evet
Aracının işlemesinin sonunu belirten önceki bir Aracı Düğümünden son çıktıyı alır.
LLM Düğümü
Evet
Önceki bir LLM Düğümünden, LLM Düğümünün işleminin sonunu gösteren son çıktıyı alır.
Araç Düğümü
Evet
Önceki bir Araç Düğümünden, Araç Düğümünün yürütülmesinin tamamlandığını gösteren son çıktıyı alır.
Koşul Düğümü
Evet
Koşul Düğümü'nün yürütülmesinin sonunu belirten önceki bir Koşul Düğümü'nden son çıktıyı alır.
Koşul Aracısı Düğümü
Evet
Koşul Aracısı Düğümü'nün işlemesinin tamamlandığını gösteren önceki bir Koşul Düğümü'nden son çıktıyı alır.
Uç Düğüm, bilgi akışının sona erdiğini ifade ettiği için herhangi bir çıkış bağlantısına sahip değildir.
Son bir yanıt verin
Uygunsa, kullanıcı için son bir mesaj veya özet oluşturmak için Uç Düğümü özel bir LLM veya Ajan Düğümüne bağlayın ve konuşmanın kapanışını sağlayın.
Koşul ve Koşul Aracısı Düğümleri, dinamik konuşma deneyimleri oluşturmak için Flow'un Sıralı Aracı mimarisinde çok önemlidir.
Bu düğümler, kullanıcı girdisine, bağlama ve karmaşık kararlara yanıt vererek uyarlanabilir iş akışlarını mümkün kılar, ancak durum değerlendirmesi ve karmaşıklaştırma yaklaşımlarında farklılık gösterir.
Karar Mantığı
Önceden tanımlanmış mantıksal koşullara dayalıdır.
Ajanın mantığına ve yapılandırılmış çıktısına dayanmaktadır.
Ajan Katılımı
Durum değerlendirmesinde yer alan hiçbir ajan yok.
Bağlamı işlemek ve koşullar için çıktı oluşturmak için bir aracı kullanır.
Yapılandırılmış Çıktı
Mümkün değil.
Güvenilir durum değerlendirmesi için mümkün ve teşvik edilir.
Durum Değerlendirmesi
Yalnızca tam konuşma geçmişine karşı denetlenen koşulları tanımlayın.
Yapılandırılmış olsun ya da olmasın, aracının kendi çıktısına karşı denetlenen koşulları tanımlayabilir.
Karmaşıklık
Basit dallanma mantığı için uygundur.
Daha incelikli ve bağlama duyarlı yönlendirmeyi işler.
İdeal Kullanım Durumları
Kullanıcının yaşına veya görüşmedeki bir anahtar kelimeye göre yönlendirme.
Kullanıcı duyarlılığına, amacına veya karmaşık bağlamsal faktörlere dayalı yönlendirme.
Koşul Düğümü: Yönlendirme mantığınız kolayca tanımlanabilir koşullara dayalı basit kararlar içeriyorsa Koşul Düğümünü kullanın. Örneğin, belirli anahtar kelimeleri kontrol etmek, Durumdaki değerleri karşılaştırmak veya diğer basit mantıksal ifadeleri değerlendirmek için mükemmeldir.
Koşul Aracısı Düğümü: Ancak, yönlendirmeniz konuşmanın nüanslarının daha derin bir şekilde anlaşılmasını gerektiriyorsa, Koşul Aracısı Düğümü daha iyi bir seçimdir. Bu düğüm, konuşmayı analiz etmek, bağlama dayalı kararlar vermek ve daha karmaşık ve dinamik yönlendirmeyi yönlendiren yapılandırılmış çıktı sağlamak için bir LLM'den yararlanan akıllı yönlendirme asistanınız olarak işlev görür.
Hem LLM Düğümü'nün hem de Aracı Düğümünün, her ikisi de büyük bir dil modelinin (LLM) veya Sohbet Modelinin yeteneklerinden yararlandıkları için sistemimiz içinde aracılık varlıkları olarak kabul edilebileceğini anlamak önemlidir.
Bununla birlikte, her iki düğüm de dili işleyebilir ve araçlarla etkileşime girebilirken, bir iş akışı içinde farklı amaçlar için tasarlanmıştır.
Araç Etkileşimi
Dahili HITL ile birden fazla aracı doğrudan çağırır ve yönetir.
Takım Düğümü aracılığıyla takımları, takım seviyesinde ayrıntılı HITL kontrolü ile tetikler.
Döngüdeki İnsan (HITL)
HITL, Ajan Düğümü düzeyinde kontrol edilir (etkilenen tüm bağlı araçlar).
HITL, bireysel Takım Düğümü düzeyinde yönetilir (daha fazla esneklik).
Yapılandırılmış Çıktı
LLM'nin doğal çıktı formatına dayanır.
LLM'nin doğal çıktı biçimine dayanır, ancak gerekirse LLM çıktısını yapılandırmak için JSON şema tanımı sağlar.
İdeal Kullanım Durumları
Karmaşık araç orkestrasyonuna sahip iş akışları.
Aracı düzeyinde basitleştirilmiş HITL.
LLM çıktısından yapılandırılmış verilerin çıkarılması
Karışık HITL seviyeleri gerektiren karmaşık LLM ve araç etkileşimlerine sahip iş akışları.
Aracı düğümünü seçin: Tümü aynı HITL ayarını paylaşan (tüm Aracı Düğümü için etkinleştirilmiş veya devre dışı bırakılmış) birden çok aracın yürütülmesini yönetebilen bir konuşma sistemi oluşturmanız gerektiğinde Aracı Düğümünü kullanın. Temsilci Düğümü, tutarlı temsilci benzeri davranışın istendiği karmaşık çok adımlı konuşmaları yönetmek için de çok uygundur.
LLM düğümünü seçin: Öte yandan, Agent Node'da bulunmayan bir yetenek olan JSON şema özelliğini kullanarak LLM'nin çıktısından yapılandırılmış verileri çıkarmanız gerektiğinde LLM Düğümünü kullanın. LLM Düğümü ayrıca, bireysel araç düzeyinde HITL üzerinde ince taneli kontrol ile araç yürütmesini düzenlemede mükemmeldir ve LLM Düğümüne bağlı birden fazla Araç Düğümü kullanarak otomatik ve insan tarafından gözden geçirilen araç yürütmelerini karıştırmanıza olanak tanır.
LLM Düğümü ve Ajan Düğümü arasında ayrıntılı bir karşılaştırma mevcut olsa da, LLM Düğümü'nün temel avantajlarına kısa bir genel bakış: