“HeyGitHub!”, Ajans ve Konuşma Yardımcı Pilotu Üzerine Düşünceler
Bu yayın için daha teknik olan son iki makalemde, #DisabledDevelopers ile parlak ama savant benzeri "Rainman" GitHub arasındaki #HeyGitHub ses kodlama diyaloğuna "Sherlockean" tümdengelimli düşünceyi eklemek için oldukça bağımsız bir tasavvura devam ettim . Yardımcı pilot kod üreteci. Bu makaleleri yazarken, Makine Öğrenimi araştırma topluluğunda bu daha düşünceli kod oluşturma konuşmalarını uygulamak için gereken türden desteği sağlayabilecek yöntemler ve ilerlemelerin halka açık uygulamaları için bir arama arayışına başladım.
Şans eseri, LLM'nin kaba kuvvet örüntü tanımasını tamamlayıcı olarak bağlam ve ön bilgileri kullanarak daha "insan benzeri" düşünme süreçlerini desteklemek için bu zorluklar üzerinde çalışan bir dizi Makine Öğrenimi araştırma alt topluluğu olduğunu buldum ( Büyük Dil Modeli ) performansı. Makine Öğrenimi alanındaki diğer keşif ve geliştirme alanlarının yanı sıra #CoT ( Düşünce Zinciri ), hızlı sıralama , model değiştirme ve aracılar hakkında bilgi edindim. Harrison Chase ve LangChainAI'nin heyecan verici LangChain Python kitaplığını kullanarak ilk elden deneyim kazanmaya başlıyorumgeliştiriciler. İzlediğim bu kırıntı yollarının çoğu, John McDonnell tarafından yazılan "Yapay Zekanın Yakın Geleceği Eylem Odaklıdır" başlıklı kapsamlı genel bakış makalesini okumamla başladı .
Ayrıca , robotik otomasyon ve endüstriyel süreç kontrolünün zorluklarına AI/ML çözümleri getiren Microsoft'ta sürmekte olan devasa, aşırı finanse edilen bir gündem olan Project Bonsai'yi öğrendim. Bu fiziksel dünya sorun alanında, simülasyon ve döngüdeki insan koçluğu , daha genel Makine Öğrenimi uygulama alanındaki veri modelleme ve veri bilimi yöntemlerine yapılan vurgu kadar önemlidir .
Bu makaledeki odak noktam, bu SOTA ilerlemelerini daha derinlemesine incelemek değil, rol tabanlı ajansın rolü hakkında biraz spekülasyon yapmaktır, çünkü #HeyGitHub/Yardımcı pilot platformuna yalnızca yazılım geliştirmeyi desteklemek için uygulanamaz. #DisabledDevelopers ve #DisabledSTEMstudents , ancak geliştirme üretkenliği çarpanı olarak #HeyGitHub/Copilot kullanan tüm potansiyel geliştiriciler tarafından.
Yürütülebilir İş Modellerinde Ajans Üzerine Bir Wayback Yansıması
Bu #HeyGitHub serisindeki Metamodel Subgraph makalemde , EBM'lerin , Yürütülebilir İş Modellerinin dinamik bileşimini ve uygulama üretimini destekleyen Smalltalk tabanlı bir çerçeve geliştiren bir skunkworks'teki katılımıma kısa bir genel bakış verdim .
1990'ların başlarında, hem yazılım geliştirme hem de iş süreci mühendisliği için bir dizi model güdümlü yöntem görüldü. Bu çağda güçlü bir iplik, BPR veya Business Process Reengineering hareketiydi. IBM'in danışmanlık hizmetleri kapsamında, o dönemde kullanılan popüler bir yönteme LOVEM , Line of Visibility Enterprise Model veya bazen Line of Visibility Engineering Method deniyordu . Bu yöntemin merkezinde, iş süreci modelleri için "yüzme şeritleri" kullanan bir diyagram formatı vardı.
LOVEM'in yüzme kulvarları, insanlar veya makineler (AKA yazılım süreçleri) tarafından oynanabilecek rolleri temsil ediyordu. David Gelernter'in 1993 tarihli “Mirror Worlds: or the Day Software Puts in a Shoebox…How Olacak ve Ne Anlam Verecek” adlı kitabından esinlenilmiştir. IBM'in Nesne Teknolojisi Uygulamasındaki meslektaşlarım ve ben, bu rol tabanlı LOVEM modellerini oluşturmak ve yürütmek için kullanılabilecek bir Smalltalk nesne çerçevesi tasavvur ettik. Yürütülebilir İş Modeli olan EBM çerçevemiz , bir Dijital Beşeri Bilimler Vatandaş Bilim İnsanı olarak kanser sonrası yeniden doğuşumdaki erken faaliyetlerimden bu UML Sınıfı modeline çok benzeyen nesne sınıflarından oluşan bir meta model "inşa kitine" dayanıyordu:
EBM modelimizin bu makalede vurgulamak istediğim yönü, bu diyagramın sol alt köşesindeki kırmızı kutuda görülen sınıflar kümesidir. Bu üç sınıf - Aktörler olarak Kişiler veya Temsilciler - Hedef odaklı, Rol tabanlı süreçlere katılır . Bu şekilde, EBM çerçevemiz, LOVEM iş süreci yöntemi için gerekli olan Ajans kavramını uyguladı. Meta modelimizin Ajans uygulaması, tahmin edebileceğiniz gibi, Mirror Worlds ilhamımız tarafından yönlendirildi.
Gelernter kitabında, okuyucuları burada başka kelimelerle ifade eden bir düşünce deneyine götürdü: "Gerçek Dünyada iş başında olan karmaşık sistemlerimizin ayrıntılı yazılım simülasyonlarını oluşturduğumuzu hayal edin. Bu simülasyonlar devam ederken, simülasyonlarımızın tüm girdi ve çıktı beslemelerini alıp bunları bu Gerçek Dünya sistemlerindeki gerçek beslemelere bağladığımızda ne olacağını hayal edin. Bu noktada, yazılım modellerimiz simülasyon olmayı bırakır ve Gerçek Dünya'da uyarı ekranları veya pano görünümleri olmaya başlardı…” veya Gelernter'in Ayna Dünyalar dediği şey .
Bu yaklaşımı Ajans'a EBM metamodel tabanlı çerçevemizde uyguladık, böylece Ajan nesneleri yürütülebilir LOVEM modellerinde Rollerin Aktörleri olarak Kişiler için yazılım proxy'leri olarak uygulanabilir. Bu tasarım bize Mirror Worlds ilhamımızla tutarlı iki önemli özellik sağladı. İlk olarak, müşteri yöneticileriyle istişare toplantıları sırasında, müşterilerin konu uzmanları olan KOBİ'leri, gelişen simülasyon modellerimizle etkileşimde bulunmak ve doğrulamak için bir konferans odasındaki ağa bağlı dizüstü bilgisayarların başına oturtabiliriz. Bu oturumlar sırasında, modellenmiş bir iş sürecindeki diğer tüm Rolleri gerçekleştirmek için bir yürütme modeli eşgörünümünü sim-aktör Aracı yazılım proxy'leri ile doldurabiliriz.
Müşterilerin KOBİ'leri, EBM simülasyonumuzda bu iş süreçlerini çivilediğimize ikna olduktan sonra - gerçek Mirror Worlds'ten ilham alan bir tarzda - bu modelleri gerçek müşteri işinde devreye alınmış bir sistem olarak bağlayabilirdik. Bu bağlantı süreci sırasında, kullanıcılar tarafından tipik yazılım uygulamaları olarak görülen model üzerinde dinamik olarak oluşturulmuş EBM görünümlerini kullanarak Kişiler tarafından veya müşterilerin yazılım proxy Aracı Aktörleri tarafından oynanacak Roller tarafından hangi Rollerin oynanacağını belirlerdik. iş süreçleri.
Yaklaşık otuz yıl önceki o zamanı düşündüğümde, bu EBM kokarca fabrikasında bir düşünce lideri/geliştirici olarak çalışarak geçirdiğim günlerim, çalışma kariyerimdeki en heyecan verici deneyimlerden bazılarıydı.
#HeyGitHub/Copilot Platformunda Ajans Hakkında İleriye Dönük Bir Spekülasyon
Öyleyse Ajans kavramı, GitHub'ın #HeyGitHub/Yardımcı Pilot hizmetinin uygulanmasına katkıda bulunan gelişen teknolojiler yığınının bir parçası olarak Düşünce Zinciri, hızlı sıralama ve model değiştirme gibi yaklaşımların yeteneklerinden yararlanmamıza nasıl katkıda bulunabilir?
Kesin veya önemsiz olmayan bir örnek vermek niyetinde olmadan, bu basit kulvar diyagramında olduğu gibi, EBM deneyimimden gelen bu Rol Tabanlı Ajans konseptini #HeyGitHub/Copilot hizmetinin çözüm tasarımına uygulayabiliriz:
Bu fazlasıyla basit diyagramda gördüğümüz şey, üst katmanlarda aktif olarak bir İnsan ve üç yazılım Aracısı olarak etkileşime giren dört yüzme şeridinden oluşan bir kümedir ve bunların konuşması, IDE'nin "aptal"/veri transkripsiyoncu benzeri Rollerinde nihai nesle yol açar. uygulama ve kaynak dosya (bellek). Bu basit şema, ilerideki muazzam zorluğun, savant benzeri Rainman-Agent Copilot LLM'den en iyi şekilde yararlanmadan önce, Ajan tabanlı sohbete "Sherlockean akıllılarını" nasıl enjekte edeceğimiz olduğunu açıkça ortaya koyuyor.
Tasarım gereksinimimizin, örneğin, yüksek işlevli bir telefon Çağrı Merkezi bot Temsilcisi oluşturmak olduğunu hayal edin. Bu durumda, hedefe yönelik bir sonuç için dinamik olarak seçilebilen esnek bir şablon tabanlı bilgi istemleri repertuvarı konuşlandırmaya gitmek için yeterli olabilir. Ancak GitHub'ın Copilot hizmetini açıklarken sıklıkla iddia ettiği gibi, insan olmayan bir Çift Programcı (Ajan "dost") olarak başarılı bir şekilde hareket eden #HeyGitHub Listener ve CoT Dialoguer Agent'ların, komut dosyası yazılabilir bir Çağrı Merkezi botundan çok daha karmaşık bir zeka uygulaması gerekecek konuşma.
Örneğin, bir Geliştiricinin bir uygulama için UI/UX — kullanıcı arayüzü ve etkileşimli deneyim — oluşturmasına yardımcı olan #HeyGitHub/Copilot mücadelesini ele alalım. Geliştiricinin kullanabileceği çok sayıda mükemmel UI/UX çerçevesi vardır. Rainman-savant Copilot'umuz, kod oluşturma yeteneğini geliştirmek için Copilot'un temel model eğitiminde bu çerçevelerin sayısız örneğini zaten gördü. Ancak eğitim deneyiminden alınan örüntü tanımaya dayalı kod önerilerini yararlı bir şekilde sunabilmek, Copilot'a yetkin bir insan Geliştiricinin katılımcı rolüne getirdiği çerçeve mimarisi, en iyi uygulamalar ve kullanıcı arabirimi/etkileşim yönergelerinin altında yatan anlayışı sağlamaz. bir Programlama Çifti ortaklığında.
Saygıdeğer C++ wxWidgets çerçevesindeki wxPython sarmalayıcı örneğini düşünün . Herkese açık sayısız kod deposunda hiçbir rastgele gezinti, adresindeki mükemmel çevrimiçi belgeleme web sitesine derinlemesine dalarak verilen bilginin kapsamını ortaya çıkarmayacaktır.https://docs.wxpython.org/. Bu web sitesinin içeriği üzerinde hiçbir miktarda NLP ayrıştırması, konu modellemesi/toplam çalışması #HeyGitHub/Yardımcı Pilot<>Geliştirici görüşmesine insan-geliştirici bilgisi aktarmak için yeterli olmayacaktır.
Peki Buradan Nereye Gidiyoruz?
Keşke günümüzün kod üreten LLM'lerinin performansını o meşhur "bir sonraki seviyeye" taşımak için gereken teknolojileri üretmek için ileride belirli bir çözüm tasarımı ve geliştirme yolu önerecek kadar alan bilgisine sahip olsaydım. Önümüzdeki tam yol haritası henüz yazılmamış olsa da, sonraki adımlar hakkında yapabileceğimiz bazı varsayımlar var. #HeyGitHub Listener aracısının, daha ayrıntılı etkileşim için CoT Dialoguer'a aktarılmasını gerektiren veya metin biçiminde Copilot LLM'ye aktarılan Geliştirici ses girişlerini ayırt edebilmesinin önemli olacağını tahmin edebiliriz . kod önerileri oluşturma.
Önümüzde duran korkunç zorluk, CoT Dialoguer'ın gerçek bir Programlama Çifti ortağı olarak güvenilir bir şekilde performans gösterebilmesi için yazılım mühendisliği sanatının ve biliminin bilgi yapılarını ve semantik anlamını kapsamaktır. Bu zorluğun üstesinden gelmek için teknolojiler muhtemelen Düşünce Zinciri, hızlı seçim/sıralama, model değiştirme ve döngüdeki insan takviyeli öğrenme/koçluk etrafındaki araştırma faaliyetinin öncülerinden gelecektir.
Bu "Sherlockean akıllıları" çözüm alanındaki atılımlardan bazıları, Makine Öğrenimi araştırma mühendisleri tarafından yapılan parlak yenilikçi kodlamayı içerecektir. Bununla birlikte, bu zorluğa önemsiz olmayan bir katkının, alana özgü modellerin ortak bir ortamda el ele çalışması için eğitim müfredatı materyalleri olarak hizmet edecek etkili Zemin Gerçeği referans modeli veri setlerinin tasarlanması ve geliştirilmesinden geleceğine de inanıyorum. sürekli gelişen temel Copilot Büyük Dil Modeli ile model değiştirme bağlamı. Ortaya çıkan bu referans veri kümelerine bir örnek, Dijital Beşeri Bilimler araştırmam boyunca takip ettiğim ve burada #HeyGitHub makale dizimde tasavvur ettiğim Metamodel Subgraph Ground Truth Storage tasarımıdır.
Ancak standart bir Ajan yönelimli Yer Gerçeği referans veri seti formatı geliştirmek, bir insan Geliştirici ile ML tabanlı bir Yardımcı Pilot Çifti Programlama ortağı arasında öngördüğüm Sherlockean diyalogları uyandırmak için yeterli olmayacaktır. Bunun yerine, etki alanı bilgisinin bu Temel Gerçeği referans veri kümelerinin, CoT Dialoger temsilcisinin insan Geliştirici ortağıyla işbirliğine dayalı konuşma yapma becerisini iyileştiren model eğitimi simüle edilmiş kullanıcı etkileşimli senaryolarda öğretim materyali olarak hizmet etmesi gerekecektir. Bu simülasyon oturumları, zamanı sıkıştırabilir ve CoT Dialoger'ın etki alanı bilgisini etkili bir şekilde kullanmasını yorulmadan geliştirmeye devam edebilir.
Şu anda mevcut veri yoğun makine öğrenimi uygulamaları için eğitim veri kümeleri oluşturmak üzere en iyi veri modelleme uygulamalarını kullandığımız gibi, bilgi odaklı uygulamalarımızın hayal edilen gibi modelleri eğitmesine ve iyileştirmesine olanak tanıyan Aracı tabanlı simülasyon deneyimleri de oluşturabileceğiz. gelecekteki #HeyGitHub/Yardımcı pilot hizmeti. Bu Mirror Worlds benzeri simülasyon eğitim ortamının bir parçası olarak, eğitim içi #HeyGitHub CoT Dialoguer modelini engelleyen konuşma alışverişleri, yanıt koçluğu uygun model davranışını teşvik edecek ve güçlendirecek olan döngüdeki insan Süpervizörüne açılır.
GitHub ve Microsoft'ta Şapkalı Bir Çift Arı
Bu noktada, ileriye giden yolu hayal etme uçuşlarım, bağımsız bir Dijital Beşeri Bilimler Vatandaş Bilim İnsanı ve Engelli Geliştiricinin ateşli hayallerinden biraz daha fazlası. Ama GitHub ve Microsoft'ta eski IBM danışmanı şapkamın tozunu alıp, birkaç arıyı işe almak isteseydim, ne önereceğimi biliyorum...
Öncelikle, GitHub yönetiminin bir parçası olsaydım, GitHub Next araştırma ekibinin bir üyesi olarak bana bir iş teklif ederdim, söylemeden edemeyeceğim. Bu pozisyonda, bu #HeyGitHub makaleleri serisinde yazdığım fikirler üzerinde özenle çalışırdım * .
Ardından, Metamodel Subgraph Ground Truth alan bilgisi modeli-eğitim veri kümeleri için Kavram Kanıtı'na sahip olduğumuzda, yakın zamanda duyurulan GitHub Accelerator'ın veya M12 GitHub Fonunun bir kısmının yüksek performanslı şirketlere maaş veya proje başlangıç finansmanı sağlamak üzere tahsis edilmesi için lobi yapacağım. , uzman Açık Kaynak geliştiricileri, bu alana özgü Aracı odaklı model eğitimi veri kümelerinden oluşan bir koleksiyon oluşturmak için. UI/UX çerçevesine özgü meta model tabanlı eğitim veri kümeleri geliştirmek için özel bir vurgu yapılmalıdır.
Neden UI/UX çerçevesine özgü etki alanı bilgisi veri kümeleri? Çünkü bu "canavarlar" genellikle parametre bazında aşırı derecede ayrıntılı özelleştirmeye sahip büyük, karmaşık mimarilerdir. Ve çoğu geliştirme projesi senaryosu için, bir uygulama kullanıcı arabirimi ve bunun kullanıcı etkileşimlerini hazırlamak, UI/UX uygulamasının projenin son kullanıcısına sunduğu projenin sorun alanına çözümü kodlamaktan zaman ve çaba harcayan gerekli etkinliklerdir. #HeyGitHub/Copilot'ta ses girişiyle güçlü UI/UX çerçeve kodu üretimi sağlamak, güçlü bir WYSIWYG arabirim oluşturucu uygulamasına sahip bir UI/UX çerçevesine sahip olmakla karşılaştırılabilir.
Daha geniş kapsamlı ve stratejik bir öneri olarak, GitHub Next ve Microsoft'un Project Bonsai'sinden düşünce lideri kişileri bir İşbirliği Komitesi oluşturmaya teşvik ediyorum. Bu grubun amacı, GitHub'ın Microsoft'un robotik ve endüstriyel süreç otomasyonu pazarlarına sunduğu kapsamlı taahhüdün en iyi uygulamalarından ve deneyiminden yararlanabilmesinin yollarını keşfetmek olacaktır.
Ve Umarım Ufkun Ötesinde Gizlenir
Pembe gözlüklerimi ve iyimser sloganlı tişörtümü giyerken İnovasyon Otoyolunda daha da aşağıya baktığımda, bu araştırma gündemi nereye varabilir? Sınırlı sayıda alana özgü Metamodel Subgraph referansı Ground Truth veri kümeleri oluşturduktan ve birkaç alanda CoT Dialoguer aracısı rolünü oynayacak bir Makine Öğrenimi modeli eğitmek için zaman ve çaba harcadıktan sonra, bir gün Dialoguer sistemini görebiliriz acil davranış sergiler .
Bununla şunu kastediyorum, CoT Dialoguer Agent modeli, alan bilgisinin genelleştirilmiş yapısını ve kullanımını o kadar iyi anlayabilir ki, yeni bir bağlama katılmada yararlı olması için alana özgü yeni bir referans modeliyle önceden yüklenmesi gerekmez. Bu işlev düzeyinde, uzak geleceğin #HeyGitHub/Yardımcı Pilot çoklu model sistemi, kendi yeni etki alanı bilgi modelini oluşturmak ve doğrulamak için Geliştirici Çifti Programlama ortağıyla kendi kendini yöneten bir öğrenme görüşmesine girebilir. Bu süreç sayesinde #HeyGitHub/Copilot hizmeti, temel yazılım sistemlerinin tasarımı ve geliştirilmesinde gerçekten çok yönlü, eş düzeyinde bir işbirlikçi haline gelebilir.
Kapanışta
Kanser savaşımdan sağ çıktıktan ve omurilik yaralanmamın el becerisi ve hareketlilik zorluklarıyla başa çıkmayı öğrendikten sonra, tasarım ve geliştirmede heyecan verici gelecek olağanüstü yenilik dalgasına katkıda bulunarak Azraili Yenme şansına sahip olmayı çok isterim. #HeyGitHub makale dizimde öngörüldüğü gibi yazılım. ✌️
Colorado ABD'den Mutlu Sağlıklı Vibes,
-: Jim :-
* Not : Açık olmak gerekirse, bu #HeyGitHub makale dizisinde öngörülen araştırma gündemini takip etme ilgime ek olarak, #DisabledDevelopers ve # için araştırma çalışması ve destek programı aracılığıyla #AssistiveTechnology olarak Copilot gündeminin uygulanmasına tutkuyla bağlı kalmaya devam ediyorum. Bu Medium yayınındaki makalelerin büyük bölümünde açıklanan engelli STEM öğrencileri.
Jim Salmons , yetmiş bir yaşında, kanser sonrası Dijital Beşeri Bilimler Vatandaş Bilim Adamı. Başlıca araştırması, basılı dönem dergi ve gazetelerinin dijitalleştirilmiş koleksiyonlarının incelenmesi için entegre bir karmaşık belge yapısı ve içerik tasviri modeli sağlayan bir Yer Gerçeği Depolama formatının geliştirilmesine odaklanmıştır. Temmuz 2020'de evde düşmesi, el becerisini ve hareket kabiliyetini önemli ölçüde tehlikeye atan ciddi bir omurilik yaralanmasına neden oldu.
Jim, birincil araştırma ilgisinin Python tabanlı araç geliştirme faaliyetleri üzerinde çalışmaya geri dönmeye yönelik ilk çabaları sırasında GitHub Copilot Teknolojisi Erken Erişim Topluluğuna erişim sağladığı için şanslıydı. GitHub Copilot'un kendi geliştirme üretkenliği üzerindeki dramatik olumlu etkisini deneyimledikten sonra, bu yenilikçi programlama yardımcı teknolojisinin engelli geliştiriciler tarafından kullanımını araştırmak ve belgelemek için bir araştırma ve destek programı tasarlamaya tutkuyla ilgi duymaya başladı.