Merhaba bu yazımızda UiPath Agent Builder ile bir Agent nasıl oluşturulur? Gerekli ayarlamalar nasıl yapılır? Gibi sorulara cevap vermeye çalışacağız, şimdiden iyi okumalar. 🙂
Bu yazımızda olabildiğince teoriden uzak kalmaya çalışacağız ancak konunun teori kısmını incelemek isteyen okuyucularımızı da unutmayarak Agentic AI ile alakalı kategorilerimizin linkini paylaşıyoruz. Agentic AI, Agentic Automation
UiPath Agent Builder, tüm kullanıcılar için 30 Nisan 2025 tarihinde genel ön izleme (Public Preview) sürümüyle aktif hale geldi. İlk olarak UiPath Agent Builder’ın ön yüzünü inceleyelim;
- UiPath bizlere birçok Agent şablonu sunmuş. Örneğin Language Detection Agent şablonu, ilgili şablondaki input – output değişkenleri, prompt yapıları tamamen bir dil algılama üzerine özel olarak yapılandırılmış.
- Bu kısımda “Import agent” butonu yardımıyla başka bir geliştiricinin geliştirmiş olduğu Agent’i import edebiliyor ve kullanabiliyoruz. “New agent” butonu ile yeni bir Agent oluşturabiliyoruz.
- Oluşturmuş olduğumuz Agent’leri görebildiğimiz alan.
İncelemek amacı ile “Hava Durumu Agent” isimli projemizi açalım.
- Oluşturacağımız ajana isim ve açıklama belirlediğimiz alan.
- Ajanın karakterini, görev kapsamını ve davranış biçimini tanımladığın temel yerdir. Bu alan, Large Language Model’in (LLM) nasıl davranması gerektiğine dair “arka plan talimatlarını” içerir. Kullanıcıdan gelen girdilerden bağımsız olarak modelin genel yaklaşımını belirler.
-
Ajanın kişiliği ve üslubu
Örnek: Nazik mi konuşacak? Resmi mi olacak? Mizahi olabilir mi? -
Ajanın uzmanlık alanı
Örnek: Hava durumu, finans, İK, otomasyon gibi -
Ajanın cevap biçimi
Örnek: Kısa ve net mi olacak, açıklayıcı mı? -
Ajanın dil ve format kuralları
Örnek: Türkçe konuşacak mı, tabloyla mı yanıt verecek, adım adım mı açıklayacak?
Biz System Prompt alanı için bu promptu kullanmayı tercih ettik.
You are a weather assistant. Provide current weather, forecasts, and temperature details in a clear and friendly tone.
Promptumuzu daha ayrıntılı bir şekilde inceyelim;
“You are a weather assistant.”
-
Ajanın kimliği tanımlanıyor: Hava durumu asistanı.
-
Yani genel bilgiden, finansal analizden veya başka konulardan bahsetmemesi gerektiği ima ediliyor.
“Provide current weather, forecasts, and temperature details”
-
Görev kapsamı net:
-
Şu anki hava durumu (örneğin: güneşli, yağmurlu)
-
Hava tahminleri (bugün/yarın/haftalık)
-
Sıcaklık bilgisi (°C veya °F)
-
“in a clear and friendly tone”
-
Cevapların tonu belirleniyor:
-
Anlaşılır ve sade bir dil kullanılmalı.
-
Dostça bir üslupla yanıt vermeli, sert ya da resmi değil.
-
3. User prompt, ajana kullanıcıdan gelecek girdiye nasıl yanıt vereceğini anlatan talimattır. Ajanın görevi, tepki biçimi ve yanıt içeriği bu alanda tanımlanır. Böylece kullanıcıyla doğru ve tutarlı bir etkileşim kurması sağlanır.
User Prompt alanında ise bu promptu kullanmayı tercih ettik.
Promptumuzu daha ayrıntılı bir şekilde inceyelim;
The user will provide a city name as input (InStrSehirBilgisi). Your task is to return the current weather condition in that city for today in a clear and concise manner. If the city is not recognized, politely ask the user to provide a valid city name, also in Turkish
Input: {{InStrSehirBilgisi}}
Bu User Prompt, kullanıcıdan bir şehir adı beklediğini belirtir. Bu bilgi InStrSehirBilgisi
adlı değişken aracılığıyla gelir. Ajanın görevi, girilen şehir için bugünkü hava durumunu sade ve anlaşılır biçimde sunmaktır. Eğer şehir adı geçersizse veya tanınmıyorsa, kullanıcıya Türkçe ve kibar bir şekilde geçerli bir şehir adı girmesini hatırlatması gerekir.
Bu yapı sayesinde ajan:
-
Hangi bilgiyi bekleyeceğini bilir,
-
Şehir bilgisine göre nasıl yanıt vereceğini anlar,
-
Hatalı girdiler karşısında kullanıcıyı yönlendirebilir.
Bu prompt, ajanın kullanıcıyla sağlıklı ve tutarlı bir etkileşim kurmasına yardımcı olur.
Ajanımıza Input ve Output değişkenleri tanımlayalım;
İlk olarak Input değişkenimizi oluşturalım.
String türünde IntStrSehirBilgisi isminde bir değişken oluşturduk.
- Input değişkeni oluşturduğumuz alan.
- Oluşturduğumuz değişkene isim verdiğimiz alan.
- Oluşturduğumuz değişkeninin türünü belirlediğimiz alan.
- Değişkenimize açıklama belirlediğimiz alan.
- İhtiyaç duyulması halinde birden fazla değişken oluşturmamıza olanak veren alan.
Şimdi de Output değişkenimizi oluşturalım.
String türünde OutStrHavaDurumu isminde bir değişken oluşturduk.
Input ve Output değişkenleri oluşturma aşamasında iki işlem arasında hiç bir fark yok, aynı işlemleri yapmamız yeterli.
4. Tools:
Bu bölümde, ajanına dış servislerle veya UiPath robotlarıyla etkileşim kurma yeteneği kazandıran araçlar eklenir. Örneğin, bir hava durumu API’sine bağlanmak ya da bir RPA sürecini tetiklemek için kullanılır.
5. Contexts:
Ajanın verdiği yanıtları zenginleştirmek için bağlamsal veri kaynakları tanımlanır. Bunlar dokümanlar, PDF’ler, tablolar gibi içerikler olabilir ve kullanıcıya daha doğru, veri tabanlı cevaplar vermesini sağlar.
6. Escalations and Agent Memory:
Bu alan, ajanın cevap veremediği ya da belirli bir sınırı aştığı durumlarda süreci bir üst seviyeye (örneğin bir insan operatöre) aktarmasını sağlar. Ayrıca, ajanın kullanıcıyla olan önceki konuşmaları hatırlamasını sağlayan hafıza fonksiyonu burada yapılandırılır.
7. Ajanımıza girdi olarak değer verdiğimiz alan, ilgili değer Türkiye’de bir şehir olacak.
8. Ajanımızı çalışması için tetiklediğimiz buton.
Çıktılarımızı incelediğimizde ajanımızın gayet başarılı bir şekilde çalıştığını görebiliyoruz.
Ajanımızı yanıltmaya çalışalım, ajanımıza sadece şehirlerin hava durumu bilgisini vermesini istediğimiz bir prompt yazmıştık. Ajanımıza bir ülke bilgisi verelim, sonuç ne olacak gözlemleyelim.
Ajanımız input değerini analiz etti ve yazdığımız prompt ile uyuşmadığı için hata verdi.