1 puan yazan GN⁺ 2 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • qm, startup ekip üyelerinin herkesin yalıtılmış çalışma alanlarını kullanırken Slack kanalları, grup mesajları ve projelerde ajanlarla birlikte çalışabilmesini sağlayan çok oyunculu bir ajan harness'idir
  • İnsan ve sohbet odası bazında bellek, dosyalar, anahtar zinciri, izinler, zamanlanmış işler, web uygulamaları ve kalıcı sandbox'ları ayırır; Slack ve web'de aynı kimlik ve ayarları korur
  • Pi, OpenCode, Codex ve Claude Code'u aynı çekirdeğe bağlayabilir; oturum depoları, sandbox'lar ve bellek de arayüzlerin arkasına yerleştirilerek belirli bir modele veya sağlayıcıya bağımlılık önlenir
  • Strict, Auto ve Dangerous güvenlik modları sunar; tüm modlarda özyinelemeli silme veya yıkıcı SQL gibi işlemler için komut politikaları ve zorunlu ret uygular
  • Kurum bazlı ayarlar ve altyapı, ayrı bir dağıtım deposunda veya normal klonla oluşturulmuş özel bir depoda tutulur; yöneticiler bunu doğrudan kendi Fly.io veya AWS hesaplarına dağıtmalıdır

Kurum düzeyinde ajan çalışma alanı

  • Kişisel asistan tipi ajanları şirket geneline uygularken ortaya çıkan karmaşıklığı azaltmak için kişisel ve paylaşımlı kapsamlar (scope) temel birim olarak tasarlanmıştır
    • Her çalışan, başkalarını etkilemeden bağımsız bir çalışma alanında çalışabilir
    • Slack kanalları, grup mesajları ve projelerde birden fazla kişi aynı ajanla birlikte çalışabilir
  • Her kişi ve sohbet odası ayrı bellek, dosyalar, anahtar zinciri görünümü, izinler, zamanlanmış işler, web uygulamaları ve kalıcı sandbox'lara sahiptir
  • Slack ile web uygulaması arasında aynı kimlik ve yapılandırma kullanılır
  • Yöneticiler kurum düzeyindeki ayarları, güvenlik duruşunu ve kullanılabilir harness'leri ve modelleri kontrol edebilir
  • Teknik yetenekler kapsam tarafından sahiplenilir ve yetki verilerek paylaşılabilir
    • Kurum genelinde yükseltme için yönetici onayı gerekir
    • Skill paketleri Git depolarından içe aktarılabilir
  • Zamanlanmış işler (cron) ve izleme işleri (watch), kullanıcı takip etmese de arka planda çalışır

Desteklenen işler

  • Dahili notlar, e-postalar, belgeler, veritabanları ve web birlikte aranabilir; kurum bilgisine erişilebilir
  • Dahili web uygulamaları oluşturulup gereken kişilerle paylaşılabilir ve veriler güncel tutulabilir
  • Geçmiş gönderim kayıtlarından kullanıcının üslubunu öğrenip takvime göre gelen kutusunu sınıflandırabilir, etiketler ve yanıt taslakları oluşturabilir
  • Mevcut depolarda test çalıştırma, PR oluşturma, CI izleme ve sistem günlüklerini kontrol etme yapılabilir
  • Paylaşılan kanallarda projeler takip edilip ilerleme durumu ve sonraki işler yayınlanabilir

Çekirdek ve yürütme yapısı

  • Tüm istekler, farklı modeller ve harness'lerle yanıt üreten headless çekirdekten geçer
  • Postgres; kullanıcı verileri, oturum kayıtları, kuyruklar ve bellek gibi kalıcı durumu saklar
  • Ajanın kullandığı araç yüzeyi küçük ve sabittir; execute aracı, komutları ilgili kapsamın yalıtılmış sandbox'ında çalıştırır
    • Sandbox, her kapsamın sahip olduğu kalıcı bir bilgisayar gibi çalışır
    • Kurulan araçlar sonraki işlerde de korunur
  • Web UI, yönetici paneli ve genel portal, çekirdeğin HTTP API'si üzerine kurulan isteğe bağlı eklentilerdir
  • Slack, çekirdeğin doğrudan servis istemcisi olarak başlattığı ve yönettiği isteğe bağlı bir süreç içi eklentidir
  • Çekirdek, Node üzerinde TypeScript'i doğrudan çalıştırır ve HTTP için Fastify kullanır
    • Slack eklentisi Bolt kullanır
    • Web UI, Vite ile derlenir ve Lit ile render edilir
  • Harness'ler, oturum depoları, sandbox'lar ve bellek ayrı ayrı arayüzlerin arkasındadır; üretim uygulamaları tek bir wiring dosyasında değiştirilebilir

Kurum bazlı dağıtım modeli

  • Şirkete özgü yapılandırma, özel araçlar ve skill'ler, sandbox imajları ve altyapı; çekirdekten ayrı bir deployment dizininde tutulur
  • qm CLI, deployment dizinini doğrular ve dağıtır
  • Kuruma ait bir depoda @yc-software/qm bağımlılığı eklendikten sonra şu şekilde başlatılabilir
npm exec --yes --package=@yc-software/qm@latest -- \
  qm init . --org <slug> --target <fly-or-aws>
npm install
  • Başlatma süreci; altyapı, web oturumu açma, bağlayıcı kimlik bilgileri, isteğe bağlı Slack erişimi, dağıtım ve gerçek doğrulama için rehberlik eder; kaynak kod checkout'u gerekmez
  • Dağıtım, yöneticinin kendi bulut hesabında çalışır
  • Başlatma işlemi dağıtım CI'ı oluşturmaz veya etkinleştirmez; qm deposunda da üretim dağıtım iş akışı yoktur
  • Ayrıntılı prosedürler deployment.md dosyasında yer alır

Güvenlik ve gizli bilgiler

  • Ajanlar, birlikte çalıştıkları kişinin kimlik bilgileri ve izinleriyle hareket eder; yaptıkları tüm işlemler denetim kaydına yazılır
  • Kurumlar tek bir güvenlik duruşu seçer ve daha dar kapsamlar bunu gevşetemez, yalnızca sıkılaştırabilir
    • Strict: Etkisiz iki tur sonlandırma işi dışında tüm harness araç çağrılarını insan onayı gelene kadar durdurur
    • Auto: Varsayılan moddur; kaynak etiketi taşıyan harici veriler ve araç sonuçları modele gönderilmeden önce bir sınıflandırıcı tarafından incelenir
      • Dağıtım ortamında özel bir denetim proxy'si belirtilebilir
    • Dangerous: İçerik denetimi veya araç çağrıları arasında duraklama yoktur
  • Önceden tanımlanmış komut politikaları tüm güvenlik modlarında uygulanır
    • Onay kurallarıyla birlikte özyinelemeli silme, yıkıcı SQL gibi komutları zorunlu olarak reddeder
    • Dangerous modu da istisna değildir
  • Tehdit modeli, yönetici ön koşulları ve bilinen sınırlamalar SECURITY.md dosyasında açıklanır

Özel özelleştirme deposu

  • Sadece deployment deposunun yetmediği kurumlar, çekirdek ile özel özelleştirme kodunu tek yerde okuyabilmek için özel bir klon deposu işletebilir
  • Bu, GitHub'un Fork özelliğiyle değil normal klonla oluşturulmalıdır
    • Genel deponun GitHub fork'u özel hale getirilemez
    • GitHub fork'ları kaynakla aynı nesne ağını paylaştığı için fork'a push edilen commit'ler genel tarafta SHA ile bulunabilir
    • Normal klon depolarında bu sorun yoktur, ancak upstream CI iş akışları kurum hesabında gerçekten çalışır
    • Gerekli gizli bilgileri sağlamanız veya istenmeyen iş akışlarını devre dışı bırakmanız gerekir
  • Kuruma özgü yapılandırma, sandbox araçları ve skill'ler, eklenti imajları ve altyapı deploy/layers/<org>/ altında saklanır
  • Çekirdeği upstream ile bayt düzeyinde aynı tutarak birleştirme yükünü azaltır
  • İki skill, genel çekirdek ile özel özelleştirme alanı arasındaki sınırı yönetir
    • update-qm, upstream qm'i özel depoya birleştirir ve senkronizasyon PR'ı oluşturur
    • upstream-pr, upstream/main üzerinden dal açar ve kuruma özgü olmayan değişiklikleri qm'e gönderir
    • Push öncesinde diff, commit mesajları ve ekran görüntülerinde kurum tanımlayıcıları denetlenir
    • deploy/layers/ altındaki dosyalar upstream'e gönderilmez

Katkı ve lisans

  • Katkılar kod olarak değil, insanlar tarafından yazılmış .txt veya .md belgeleri olarak kabul edilir
    • İstenen değişiklikler adrs/ altında gayriresmî olarak yazılır; proje tarafı mutabakat sonrası uygular
    • Ayrıntılı kurallar CONTRIBUTING.md dosyasında yer alır
  • Güvenlik açıkları, herkese açık issue yerine SECURITY.md içindeki prosedüre göre gizli olarak bildirilmelidir
  • Aksi ayrıca belirtilmeyen bölümler MIT License ile sunulur

1 yorum

 
GN⁺ 2 시간 전
Hacker News yorumları
  • LLM çağında yeni UI temel öğeleri ve kavramlarının ortaya çıkışını görmek ilginç; ancak çok fazla yaratıcı uygulama var ve açıklamalar da yetersiz olduğundan her birinin ne yaptığını anlamak zorlaşıyor.
    Hermes ajanı web sayfasında işlevleri hiç anlayamadım; qm sayfasını uzun süre kurcaladıktan sonra ancak düzgün bir açıklama bulabildim. Son zamanlarda kodlama oturumlarını yönetmek için YC destekli Orca'yı severek kullanıyorum, ancak PostgreSQL tabanlı oturum veritabanı eksik olduğu için qm denemeye değer görünüyor.

    • Nihayetinde kişiye özel yazılımı kendiniz yapabilirsiniz. Bugünlerde bu tür araçlardan ilham alıp Claude ile birkaç iyi oturum geçirdikten sonra istediğinizi kendiniz uygulayabiliyorsunuz.
    • Bir aracın farklılaştırıcı yönlerini öne çıkarmak, yabancı ve işe yaramaz görünme riski taşıyor. Bu yüzden gerçekte yenilikçi ve birbirinden farklı araçların pazarlama sayfaları bile birbirine benzemeye meylediyor.
    • Yapay zeka için birçok alanda tamamen yeni temel öğelere ihtiyaç var.
  • Buzz ile birlikte bu yönde bir şeyler görmek sevindirici. Çok kullanıcılı ajanlarda en zor kısım ajan döngüsü değil, kapsam belirleme; QM'nin kişiye özel kapsamı ve paylaşılan odaları, şirket geneli yardımcılar için makul bir çözüm.
    Ekip olarak Claude Code ve Codex'i birlikte çalıştıran çok kullanıcılı kodlama aracı AQ'yu (aq.dev) geliştiriyoruz; YC'nin iş için çok kullanıcılı ajan aracı çıkardığını görmek yönü doğrularken aynı zamanda biraz gerçek dışı hissettiriyor.

  • Zaten benzer birçok ürün varken neden Claude Cowork yerine bunu kullanmam gerektiğini anlamıyorum. Cowork daha basit, daha olgun ve daha özellikli görünüyor; bu yüzden QM vs Cowork karşılaştırmasına ihtiyaç var.

    • Anthropic'in kapalı ağırlıklı model ekosistemine kalıcı olarak bağlanıp token başına sürekli ödeme yapmak yerine, kendi çalıştırdığı LLM'leri ve pi ya da opencode istemcilerini kullanmak isteyen bir talep var.
    • Henüz kimsenin çözemediği çok kullanıcılı moda sözcüğüne tutunmaya çalışıyor gibi; ama UI berbat ve doğru cevap bu değil gibi duruyor.
    • Başka modeller kullanmak isteyebilirsiniz.
  • Organizasyon genelindeki bağlam ve güvenliği nasıl uyguladıklarına bakmak gerekiyor. Şu anda birey için en iyi yapay zeka arayüzünü sunan kendi kodlama aracımla çok tamamlayıcı görünüyor; birkaç büyük biletle hem şirket geneli mimariye hem de üretken bir kişisel kodlama arayüzüne sahip olmak güzel olurdu.

  • Hermes'in daha önce kullandığı OpenClaw ailesi ajanlar arasında en iyi seçenek olup olmadığını ve ileri düzey kullanıcıların bu tür sistemleri gerçekte nerede kullandığını merak ediyorum.

    • İç sistemlere erişebilen ve webhook'larla çalıştırılabilen sürekli çalışan bir ajan çok kullanışlı.
      Basit CI hatalarını otomatik düzeltme, üretim alarmlarını aldıktan sonra kök neden analizi yapıp düzeltme PR'ı oluşturma, yavaş veritabanı sorgularını düzenli kontrol edip optimize etme, tek seferlik veri sorularına yanıt veren grafikler üretme gibi işlerde kullanıyorum. Yoldayken kodlama için de denedim ama kodu doğrudan kontrol edebildiğim etkileşimli ajanları daha çok tercih ediyorum.
    • Hermes'i kullandım ama sık sık bir-iki seviye daha derinde kontrol sahibi olmak istediğim için rahatsız oldum. Dünden beri sadece bana yönelik, son derece özelleştirilmiş bir sürümünü kendim yapıyorum; henüz yalnızca bir günlük balayı dönemi olduğunu düşünsek bile keyifle çalışıyorum.
      Yazılım yapmanın kendisini ve tam kontrolü seviyorum; temel ajan döngüsü aslında özel bir şey değil. Ana döngünün dışında ayarlanacak çok fazla şey var ve çeşitli genişletme yollarını denemek eğlenceli. Para kazanmayı ya da genel kullanıma uygunluğu düşünmeden yalnızca ihtiyaç duyduğum özellikleri ekleyebilirim; sonsuz eklenti destekli yapmak zorunda değilim. nanoclaw ve Hermes'e ana fikri gösterdikleri için minnettarım, ama artık bunu kendi yöntemimle dönüştürmek istiyorum.
    • Hermes devasa ve birçok gereksiz özelliği var; ihtiyaca göre genişletilebilen küçük ajanları tercih ediyorum. GitHub'daki birkaç projeyi denedim; dirge (https://github.com/dirge-code/dirge) etkileyiciydi, projeyle bir ilgim yok.
      Yardımcı RSS feed'lerini ve bültenleri okuyup yalnızca benim için önemli bilgileri filtreleyerek haberleri ve piyasa eğilimlerini iletmesi için kullanıyorum.
    • Üretim alarmlarına ilk yanıt veren on-call yardımcı aracı olarak kullanıyorum. Varsayılan ayarlarda bir kodlama ajanı kadar verimli değil ama büyük yardım sağlıyor.
    • Çoğu kişi bunu LLM ile e-postaları ve anlık mesajları düzenli olarak kontrol etmek için kullanıyor gibi.
  • Buzz'a kaptırılan alanı en aza indirmek için YC'nin aceleyle yayımladığı bir iç araç gibi görünüyor. İki aracı doğrudan karşılaştıran değerlendirmeleri merak ediyorum.

  • yc software ifadesinin ne anlama geldiğini merak ediyorum.

  • Şablon gibi görünmeyen arayüzler üretmeye yönelik anti-slop tasarım becerisini de birlikte dağıtmaları ilginç.
    Üst segment tüketici ürünlerinde yapay zekanın sık kullandığı renk paletlerini yasaklıyor; landing page ve portföyleri görsel ürünler olarak gördüğü için yalnızca sahte ekran görüntüsü alanı olan metin sayfalarını düşük kaliteli çıktı sayıyor. https://github.com/yc-software/qm/blob/7f2c916360f1797a8ff2a...

    • Sonuçta yalnızca bugünkü düşük kaliteli yapay zeka tasarımlarından farklı görünecek; zamanla bunun kendisi de başka bir kişiliksiz tasarım yakınsama noktası haline gelmez mi diye düşünüyorum.
  • Başlığın qm - a multiplayer agent harness for work gibi aracın ne işe yaradığını gösteren bir biçimde olması daha yararlı olur.

    • Okurun başlığı anlamak için biraz çaba göstermesine izin vermek HN'ye özgü bir gelenek.