Yazılım aracısı - Software agent

Gelen bilgisayar bilimleri , bir yazılım ajanı Latince türetilmiştir ajansı ilişkisi, bir kullanıcı veya başka bir program için davranan bir bilgisayar programıdır Agere kişinin adına hareket etme anlaşma: (yapmak). Böyle bir "adına eylem" , varsa, hangi eylemin uygun olduğuna karar verme yetkisini ifade eder . Ajanlar halk dilinde şekilde bilinmektedir botlara gelen, robot . Yürütme bir robot gövdesiyle eşleştirildiğinde veya bir telefonda (örneğin Siri ) veya başka bir bilgisayar cihazında yürütülen bir sohbet robotu gibi bir yazılım olarak somutlaştırılabilirler . Yazılım aracıları özerk olabilir veya diğer aracılar veya kişilerle birlikte çalışabilir. İnsanlarla etkileşime giren yazılım aracıları (örneğin sohbet robotları , insan-robot etkileşim ortamları), doğal dil anlayışı ve konuşma, kişilik gibi insan benzeri niteliklere sahip olabilir veya insansı bir form içerebilir (bkz. Asimo ).

İlgili ve türetilmiş kavramlar arasında akıllı ajanlar (özellikle akıl yürütme gibi yapay zekanın bazı yönlerini sergileyen ), otonom ajanlar (amaçlarına ulaşma yöntemlerini değiştirebilen), dağıtılmış ajanlar (fiziksel olarak farklı bilgisayarlarda yürütülür), çoklu ajan yer alır. sistemler (tek başına hareket eden tek bir aracı tarafından gerçekleştirilemeyecek bir hedefe ulaşmak için birlikte çalışan dağıtılmış aracılar) ve mobil aracılar (yürütmelerini farklı işlemcilere yerleştirebilen aracılar).

kavramlar

Özerk bir yazılım aracısının temel özellikleri, aracıların

  • bir görev için kesinlikle çağrılmazlar, ancak kendilerini aktive ederler,
  • bağlamı algılayarak bir ana bilgisayarda bekleme durumunda kalabilir,
  • başlangıç ​​koşulları üzerine bir ana bilgisayarda çalışma durumuna geçebilir,
  • Kullanıcı etkileşimi gerektirmez,
  • iletişim dahil olmak üzere diğer görevleri çağırabilir.
Nwana'nın Yazılım Aracısı Kategorisi

"Aracı" terimi , yöntemler, işlevler ve nesneler gibi OOP terimlerine benzer bir yazılım soyutlamasını , bir fikri veya bir kavramı tanımlar . Aracı kavramı , ana bilgisayarı adına görevleri yerine getirmek için belirli bir düzeyde özerklikle hareket edebilen karmaşık bir yazılım varlığını tanımlamanın uygun ve güçlü bir yolunu sağlar . Ancak, yöntemler ve nitelikler açısından tanımlanan nesnelerden farklı olarak , bir etmen davranışı açısından tanımlanır.

Çeşitli yazarlar, ajanların farklı tanımlarını önermiştir, bunlar genellikle aşağıdaki gibi kavramları içerir:

  • kalıcılık (kod isteğe bağlı olarak yürütülmez, ancak sürekli olarak çalışır ve ne zaman bir faaliyet gerçekleştirmesi gerektiğine kendisi karar verir)
  • özerklik (aracılar görev seçimi, önceliklendirme, hedefe yönelik davranış, insan müdahalesi olmadan karar verme yeteneklerine sahiptir)
  • sosyal yetenek (temsilciler bir tür iletişim ve koordinasyon yoluyla diğer bileşenleri devreye sokabilir, bir görev üzerinde işbirliği yapabilirler)
  • tepkisellik (ajanlar içinde çalıştıkları bağlamı algılar ve buna uygun şekilde tepki verir).

Ajanları programlardan ayırt etme

Tüm aracılar programdır, ancak tüm programlar aracı değildir. Terimi ilgili kavramlarla karşılaştırmak, anlamını netleştirmeye yardımcı olabilir. Franklin ve Graesser (1997), aracıları keyfi programlardan ayıran dört temel kavramı tartışır: çevreye tepki, özerklik, hedef yönelimi ve ısrar.

Nesnelerden sezgisel ayırt edici ajanlar

Uzman sistemlerden ayırt edici ajanlar

  • Uzman sistemler çevrelerine bağlı değildir.
  • Uzman sistemler reaktif, proaktif davranış için tasarlanmamıştır.
  • Uzman sistemler sosyal yeteneği dikkate almaz.

Yapay zekada akıllı yazılım aracılarını akıllı aracılardan ayırt etme

  • Akıllı ajanlar ( rasyonel ajanlar olarak da bilinir ) sadece bilgisayar programları değildir: aynı zamanda makineler, insanlar, insan toplulukları ( firmalar gibi ) veya hedefe yönelik davranışa sahip herhangi bir şey olabilir.
( Russell & Norvig 2003 )

Yazılım aracılarının etkisi

Yazılım aracıları, karmaşık veya tekrarlayan görevleri otomatikleştirerek son kullanıcılarına çeşitli avantajlar sunabilir. Ancak, bu teknolojinin yazılım aracılarını uygulamadan önce dikkate alınması gereken kurumsal ve kültürel etkileri vardır.

Organizasyonel etki

İş tatmini ve iş tatmini etkisi

İnsanlar, basit görevlerin tekrarı genel çıktıyı etkilemediği sürece, başarı hissi veren kolay görevleri gerçekleştirmeyi severler. Genel olarak, yazılım aracılarını idari gereksinimleri yerine getirmek için uygulamak, kendi işlerini yönetmek işçiyi asla memnun etmediğinden, iş tatmininde önemli bir artış sağlar. Serbest bırakılan çaba, bireysel çalışmanın önemli görevlerine daha yüksek derecede katılıma hizmet eder. Bu nedenle, yazılım aracıları, hiyerarşik kontrollerden ve müdahaleden kurtulmuş, kendi kendini kontrol eden çalışmayı uygulamak için temelleri sağlayabilir. Bu koşullar, gerekli resmi destek için yazılım aracılarının uygulanmasıyla güvence altına alınabilir.

kültürel etki

Yazılım aracılarının uygulanmasının kültürel etkileri arasında güven sıkıntısı, beceri erozyonu, mahremiyet yıpranması ve sosyal kopuş yer alır. Bazı kullanıcılar, önemli görevleri yazılım uygulamalarına tamamen devretmek konusunda tamamen rahat hissetmeyebilir. Yalnızca akıllı aracılara güvenmeye başlayanlar, örneğin bilgi okuryazarlığı ile ilgili önemli becerilerini kaybedebilir. Bir kullanıcı adına hareket etmek için bir yazılım aracısının, kişisel tercihleri ​​de dahil olmak üzere bir kullanıcının profilini tam olarak anlaması gerekir. Bu da, öngörülemeyen gizlilik sorunlarına yol açabilir. Kullanıcılar, özellikle iletişim faaliyetleri için yazılım aracılarına daha fazla güvenmeye başladıklarında, diğer insan kullanıcılarla iletişimlerini kaybedebilir ve dünyaya aracılarının gözüyle bakabilirler. Bu sonuçlar, etmen araştırmacılarının ve kullanıcıların akıllı etmen teknolojileriyle uğraşırken dikkate almaları gereken şeydir.

Tarih

Bir etmen kavramı, Hewitt'in Aktör Modeline kadar izlenebilir (Hewitt, 1977) - "İç durum ve iletişim yeteneğine sahip, bağımsız, etkileşimli ve eşzamanlı olarak çalışan bir nesne."

Daha akademik olmak gerekirse, yazılım aracı sistemleri, Çoklu Ajan Sistemlerinin (MAS) doğrudan bir evrimidir. MAS evrimleştiği Distributed Yapay Zeka (DAI) Dağıtılmış Problem Çözme (DPS) ve dolayısıyla DAI ve tüm özelliklerini (iyi ve kötü) devralan AI (PAI), Parallel AI .

John Sculley'nin 1987 tarihli “ Knowledge Navigator ” videosu, son kullanıcılar ve aracılar arasındaki ilişkinin bir görüntüsünü tasvir ediyordu . İlk olarak ideal olan bu alan, parça parça aşağıdan yukarıya bir yaklaşım yerine, bir dizi başarısız yukarıdan aşağıya uygulama yaşadı. Aracı türlerinin aralığı artık (1990'dan itibaren) geniştir: WWW, arama motorları vb.

Akıllı yazılım aracılarına örnekler

Alıcı aracılar (alışveriş botları)

Alıcı aracılar, mallar ve hizmetler hakkında bilgi almak için bir ağda (örn. internet) dolaşırlar. 'Alışveriş botları' olarak da bilinen bu aracılar, CD'ler, kitaplar, elektronik bileşenler ve diğer tek bedene uyan ürünler gibi ticari ürünler için çok verimli çalışır. Alıcı aracıları, genellikle e-ticarette ve geleneksel işletmelerde kullanılan dijital ödeme hizmetlerine izin verecek şekilde optimize edilir.

Kullanıcı aracıları (kişisel aracılar)

Kullanıcı aracıları veya kişisel aracılar, sizin adınıza işlem yapan akıllı aracılardır. Bu kategori, aşağıdaki görevleri halihazırda gerçekleştiren veya kısa süre içinde gerçekleştirecek olan akıllı ajanlara aittir:

  • E-postanızı kontrol edin, kullanıcının tercih sırasına göre sıralayın ve önemli e-postalar geldiğinde sizi uyarın.
  • Rakibiniz olarak bilgisayar oyunları oynayın veya sizin için oyun alanlarında devriye oynayın.
  • Sizin için özelleştirilmiş haber raporları oluşturun. CNN de dahil olmak üzere bunların çeşitli versiyonları vardır.
  • Seçtiğiniz konu hakkında sizin için bilgi bulun.
  • Web'deki formları sizin için otomatik olarak doldurun, bilgilerinizi ileride başvurmak üzere saklayın
  • Buradaki bilgilerin "önemli" bölümünü oluşturan metni arayan ve vurgulayan Web sayfalarını tarayın
  • En derin korkularınızdan spora kadar çeşitli konuları sizinle tartışın
  • Bilinen iş panolarını tarayarak ve özgeçmişi istenen kriterleri karşılayan fırsatlara göndererek çevrimiçi iş arama görevlerini kolaylaştırın
  • Heterojen sosyal ağlar arasında profil senkronizasyonu

İzleme ve gözetim (tahmin edici) aracıları

İzleme ve Gözetim Ajanları , genellikle bilgisayar sistemleri olmak üzere ekipmanı gözlemlemek ve raporlamak için kullanılır. Temsilciler, şirket envanter seviyelerini takip edebilir, rakiplerin fiyatlarını gözlemleyebilir ve bunları şirkete geri iletebilir , içeriden öğrenenlerin ticareti ve söylentiler yoluyla hisse senedi manipülasyonunu izleyebilir , vb.

hizmet izleme

Örneğin, NASA'nın Jet Propulsion Laboratuvarı, envanteri izleyen, planlama yapan, maliyetleri düşük tutmak için ekipman siparişlerini programlayan ve gıda depolama tesislerini yöneten bir ajana sahiptir. Bu aracılar genellikle, ağa bağlı her bilgisayarın yapılandırmasını takip edebilen karmaşık bilgisayar ağlarını izler.

İzleme ve Gözetleme ajanlarının özel bir durumu, taktik operasyonlar sırasında İnsan Karar Verme sürecini taklit etmek için kullanılan ajanların organizasyonlarıdır. Temsilciler varlıkların durumunu (mühimmat, mevcut silahlar, nakliye platformları vb.) izler ve daha yüksek seviyeli ajanlardan Hedefler (Görevler) alır. Aracılar daha sonra Eldeki Varlıklarla Hedefleri takip ederek, Hedefe Ulaşmayı maksimize ederken Varlıkların harcamalarını en aza indirir. (Bkz. Popplewell, "Ajanlar ve Uygulanabilirlik")

Veri madenciliği aracıları

Bu aracı, birçok farklı kaynaktan gelen bol miktarda bilgideki eğilimleri ve kalıpları bulmak için bilgi teknolojisini kullanır. Kullanıcı, aradıkları bilgileri bulmak için bu bilgileri sıralayabilir.

Bir veri madenciliği aracısı, bilgileri keşfeden bir veri ambarında çalışır. Bir 'veri ambarı' birçok farklı kaynaktan gelen bilgileri bir araya getirir. "Veri madenciliği", satışları artırmanın veya hata yapmayı düşünen müşterileri elde tutmanın yolları gibi harekete geçmek için kullanabileceğiniz bilgileri bulmak için veri ambarına bakma sürecidir.

'Sınıflandırma', bilgideki kalıpları bulan ve bunları farklı sınıflara ayıran en yaygın veri madenciliği türlerinden biridir. Veri madenciliği aracıları ayrıca trendlerdeki veya önemli bir göstergedeki büyük değişiklikleri tespit edebilir ve yeni bilgilerin varlığını tespit edebilir ve sizi bu konuda uyarabilir. Örneğin, aracı bir ekonomi için inşaat sektöründe bir düşüş tespit edebilir; Bu aktarılan bilgilere dayanarak inşaat şirketleri, firmalarına en uygun şekilde çalışanların işe alınması/işten çıkarılması veya ekipman satın alınması/kiralanması ile ilgili akıllı kararlar alabileceklerdir.

Ağ ve iletişim aracıları

Mevcut akıllı aracıların diğer bazı örnekleri, bazı spam filtrelerini, oyun botlarını ve sunucu izleme araçlarını içerir. Arama motoru indeksleme botları da akıllı aracılar olarak nitelendirilir.

  • Kullanıcı aracısı - World Wide Web'de gezinmek için
  • Posta aktarım aracısı - Microsoft Outlook gibi E-posta sunmak için . Niye ya? Kullanıcıların POP3 komut protokollerini anlaması gerekmeden POP3 posta sunucusuyla iletişim kurar . Hatta kullanıcı için postaları filtreleyen kural kümeleri bile vardır, böylece onları kendileri yapmak zorunda kalma zahmetinden kurtarır.
  • SNMP aracısı
  • Unix tarzı ağ sunucularında httpd , World Wide Web'in kökündeki Köprü Metni Aktarım Protokolünü uygulayan bir HTTP arka plan programıdır.
  • Telekom cihazlarını yönetmek için kullanılan yönetim aracıları
  • Güvenlik planlaması veya 3D bilgisayar grafikleri için kalabalık simülasyonu ,
  • Kablosuz işaret aracı , örneğin kablosuz alıcılarda barındırılan daha karmaşık yazılım aracıları ile birlikte kablosuz kilit veya elektronik tasma uygulamak için basit bir süreç barındırılan tek görev varlığıdır .
  • Çevrimiçi gruplarda koordinasyonu optimize etmek için otonom ajanların (kasıtlı olarak gürültüyle donatılmış) kullanılması.

Yazılım geliştirme aracıları (diğer adıyla yazılım botları)

Yazılım botları, yazılım mühendisliğinde önem kazanıyor. Yazılım botuna bir örnek, sürekli entegrasyon oluşturma hatalarını otomatik olarak onaran bir bottur .

Güvenlik ajanları

Aracılar ayrıca çeşitli içerik türlerini engellemek, incelemek ve bunlar üzerinde hareket etmek için yazılım güvenliği uygulamasında kullanılır. Örnek şunları içerir:

  • Veri Kaybını Önleme (DLP) Aracıları - bir bilgisayar veya ağdaki kullanıcı işlemlerini inceleyin, izin verilen eylemleri belirten politikalarla karşılaştırın ve uygun eylemi yapın (örneğin izin ver, uyarı, engelle). EDR işlevlerini gerçekleştirmek için daha kapsamlı DLP aracıları da kullanılabilir.
  • Uç Nokta Algılama ve Yanıt (EDR) Aracıları - kötü amaçlı etkinlikleri tespit etmek ve bunlara yanıt vermek için bir uç nokta bilgisayarındaki tüm etkinlikleri izleyin
  • Bulut Erişimi Güvenlik Aracısı (CASB) Aracıları - DLP Aracılarına benzer, ancak bulut uygulamalarına giden trafiği inceler

TASARIM SORUNLARI

Etmen tabanlı sistemlerin geliştirilmesinde dikkate alınması gereken konular şunlardır:

  • görevlerin nasıl planlandığı ve görevlerin senkronizasyonunun nasıl sağlandığı
  • Görevler aracılar tarafından nasıl önceliklendirilir
  • aracıların nasıl işbirliği yapabileceğini veya kaynakları nasıl işe alabileceğini,
  • Aracıların farklı ortamlarda nasıl yeniden başlatılabileceği ve iç durumlarının nasıl saklanabileceği,
  • ortamın nasıl araştırılacağı ve ortam değişikliğinin ajanların davranış değişikliklerine nasıl yol açtığı
  • mesajlaşma ve iletişimin nasıl sağlanabileceği,
  • hangi aracı hiyerarşilerinin yararlı olduğu (örneğin, görev yürütme aracıları, zamanlama aracıları, kaynak sağlayıcıları ...).

Yazılım aracılarının birlikte verimli bir şekilde çalışması için veri öğelerinin anlamlarını paylaşmaları gerekir . Bu, bilgisayar sistemlerinin meta verilerini yayınlamasını sağlayarak yapılabilir .

Etmen işlemenin tanımına birbiriyle ilişkili iki yönden yaklaşılabilir:

  • bilgiyi temsil etmek için dahili durum işleme ve ontolojiler
  • etkileşim protokolleri – görevlerin iletişimini belirleyen standartlar

Ajan sistemleri, gerçek dünya sistemlerini eşzamanlılık veya paralel işleme ile modellemek için kullanılır .

  • Ajan Makineleri - Farklı zeka derecelerini destekleyen çeşitli türlerde motorlar
  • Aracı İçeriği – Makineler tarafından Akıl Yürütme ve Öğrenmede kullanılan veriler
  • Aracı Erişimi – Makinenin içeriği algılamasını ve Akıl Yürütmenin sonuçları olarak eylemleri gerçekleştirmesini sağlayan yöntemler
  • Ajan Güvenliği – Aracılarla ilgili birkaç özel endişeyle artan, dağıtılmış bilgi işlemle ilgili endişeler

Aracı, içerik aramak için yerel ve uzak veritabanlarına gitmek için erişim yöntemlerini kullanır. Bu erişim yöntemleri, aracıya haber akışı sağlamayı veya bülten panolarından alma veya Web'de gezinmek için bir örümcek kullanmayı içerebilir. Bu şekilde alınan içerik, muhtemelen, haber kaynağının veya aranan veritabanlarının seçimiyle kısmen filtrelenmiştir. Temsilci daha sonra, alınan veya alınan içeriğin gövdesinden anahtar sözcükleri veya imzaları çıkarmak için ayrıntılı arama veya dil işleme makinelerini kullanabilir. Bu soyutlanmış içerik (veya olay), daha sonra yeni içerikle ne yapılacağına karar vermek için aracının Akıl Yürütme veya çıkarım yapma makinesine iletilir. Bu süreç, etkinlik içeriğini, kullanıcı tarafından sağlanan kural tabanlı veya bilgi içeriğiyle birleştirir. Bu işlem yeni içerikte iyi bir sonuç veya eşleşme bulursa, aracı içerik üzerinde daha ayrıntılı bir arama yapmak için makinesinin başka bir parçasını kullanabilir. Son olarak, temsilci, yeni içeriğe dayalı olarak bir işlem yapmaya karar verebilir; örneğin, önemli bir olayın meydana geldiğini kullanıcıya bildirmek için. Bu eylem, bir güvenlik işlevi tarafından doğrulanır ve ardından kullanıcıya yetki verilir. Aracı, bu mesajı kullanıcıya iletmek için bir kullanıcı erişim yöntemini kullanır. Kullanıcı bildirime göre hızlı hareket ederek olayın önemli olduğunu onaylarsa, aracı bu tür bir olay için ağırlığını artırmak için öğrenme mekanizmasını da kullanabilir.

Botlar, yaratıcıları adına iyi ve kötü şeyler yapmak için hareket edebilir. En iyi niyetle tasarlandıklarını ve zarar vermek için tasarlanmadıklarını göstermek için botların oluşturulabileceği birkaç yol vardır. Bu, ilk olarak, bir siteyle iletişim kurarken bir botun kullanıcı aracısı HTTP başlığında kendisini tanımlamasını sağlayarak yapılır. Kaynak IP adresinin de meşru olarak kabul edilmesi için doğrulanması gerekir. Ardından, web'in çoğunda standart haline geldiğinden, bot ayrıca bir sitenin robots.txt dosyasına da her zaman saygı göstermelidir. Ve robots.txt dosyasına saygı göstermek gibi, botlar da çok agresif olmaktan kaçınmalı ve herhangi bir tarama gecikme talimatına uymalıdır.

Aracılar için kavramlar ve çerçeveler

Ayrıca bakınız

Referanslar

Dış bağlantılar