Skip to content

Görev Zarfları ​

Devredilen bir görev, bir görev zarfı olarak yolculuk eder: ne istendiğini, işin yapıldığını neyin kanıtlayacağını ve alıcının bu iş sırasında hangi dosyalara sahip olduğunu belirten tipli bir sözleşme. Zarf, tek başına bir mesaj gövdesinin "bitti"nin ne demek olduğunu hiçbir zaman söylememesi nedeniyle vardır — gönderen bilir, alıcı tahmin eder ve hiçbir şey bunu denetlemez.

Bir zarfın taşıması gerekenler ​

Bunların her biri mevcut olmadıkça, bir thread açılmadan önce görev reddedilir:

AlanNeyi kesinleştirir
objectiveNe istendiği.
outputFormatSonucun hangi biçimde gelmesi gerektiği.
toolAndSourceGuidanceİşin hangi araç ve kaynaklardan yararlanması gerektiği.
boundariesAlıcının ne yapmaması gerektiği.
filesAndInterfacesAlıcının bu görev için sahiplendiği dosyalar ve arayüzler.
acceptanceCheck.passFailCommandÇıkışı geçti/kaldı kararını veren çalıştırılabilir komut.
acceptanceCheck.endToEndVerificationSonucun bağlam içinde çalıştığını kanıtlayan adım.
contextIDGörevin ait olduğu bağlam.

Eksik olan her alan, tek bir genel "bozuk görev" yerine kendi adlandırılmış hatası olarak bildirilir — objective_required, acceptance_check_command_required gibi — böylece çağırana sözleşmenin hangi parçasını atladığı söylenir.

Sahiplenilen dosyalar, iki ajanın aynı şeyi düzenlemesini böyle önler ​

filesAndInterfaces, alıcının görev süresince sahiplendiği kümeyi adlandırır. Aynı dosya üzerinde çalışan iki ajan sorunu, sonradan yazma işlemleri hakemlik edilerek değil, bu sahipliğin görev içinde önceden bildirilmesiyle çözülür.

İstenen araçlar bir istektir, asla bir yetki değil ​

toolsAllowed istek biçimindedir. Görev alıcıya ulaşmadan önce, harness bunu gönderenin erişemeyeceği bir yetenek defteriyle kesiştirir; böylece bir zarf yalnızca alıcının zaten sahip olduğunu daraltabilir — asla genişletemez ve boş bir istek hiçbir zaman araç kazandırmaz. Bağlama işlemi bir kopya döndürür; bu yüzden bağlanmamış bir zarf asla yetkilendirilmiş sanılmaz. Ajanlar arası bir mesaj, güvenilmeyen girdi olarak kalır.

Bağımlılıklar ​

dependsOn, opak görev kimlikleri taşır. Bunlar çözülene kadar görev üstlenilemez. Kendisine bağımlı olan veya aynı bağımlılığı iki kez tekrarlayan bir görev reddedilir.

Teslimatlar ve kanıt, mesajdan ayrıdır ​

artifacts, teslimatları mesaj metnine katmak yerine adlandırılmış referanslar — bir ad ve bir konum — olarak taşır. evidence, işi gerçekte neyin kanıtladığını kaydeder: çalışan kabul komutu, çıktısı ve çıkış durumu, uçtan uca doğrulama ve kararın çalıştırılabilir bir betikten mi yoksa bir LLM hakemden mi geldiği. Taze bir bağlamda bağımsız bir ikinci görüş çalıştıysa, sonucu da yanında kaydedilir.

Yaşam döngüsünün nihai durumları vardır ​

Bir görev submitted durumunda başlar ve yalnızca izin verilen kenarlar boyunca ilerler:

  • submitted → working, failed, canceled veya rejected
  • working → input_required, auth_required, completed, failed veya canceled
  • input_required ve auth_required → working'e geri, ya da failed veya canceled

completed, failed, canceled ve rejected nihaidir: giden kenarları yoktur, bu yüzden biten bir görev sessizce yeniden açılamaz.

Tamamlanma kanıt taşır. Bir görev yalnızca bir iddiaya dayanarak completed durumuna geçemez — kayıtlı kanıt kabul kontrolünün geçtiğini göstermedikçe geçiş reddedilir. İşi yapamayan veya yapmayacak olan bir alıcı, sessizce başarısız olmak yerine gerekçesini belirterek reddeder.

Sırada ne var ​

  • Delivery Semantics — teslimat bir sonraki turdadır ve asenkrondur; senkron bir yanıt yoktur.
  • Posta ve Sayaçlar — sıraya alınmış görevlerin nerede görüldüğü ve rozetin neyi saydığı.
  • MCP Tools — agent_* araçlarının tam listesi.

Built with purpose.