CodeAct

CodeAct, bir aracının bir görevi kod yazarak ve bir execute_code araç aracılığıyla yürüterek çözmesini sağlar. CodeAct, modelden bir kerede bir araç çağrısı yaymasını istemek yerine denetim akışını, veri dönüştürmeyi ve araç düzenlemeyi tek bir yürütme adımında birleştirmek için korumalı bir yer sağlar.

Agent Framework'te CodeAct, tek bir yerleşik çekirdek türü yerine arka uca özgü paketler aracılığıyla kullanıma sunulur. Bağlayıcı, execute_code aracını ekleyebilir, çalışma zamanı kılavuzu enjekte edebilir ve isteğe bağlı olarak korumalı alan içerisinden çağrılabilen sağlayıcıya ait araçları kullanıma sunabilir.

Neden CodeAct

Modern yapay zeka ajanları genellikle model kalitesiyle değil, orkestrasyon ek yüküyle sınırlanmaktadır. Bir ajan birçok küçük araç çağrısını birbirine bağladığında, her adım genellikle hem gecikme süresini hem de belirteç kullanımını artıran başka bir model döngüsü gerektirir.

CodeAct bu modeli daraltıyor -> araç -> model döngüsü. Agent Framework, modelin bir kerede bir araç seçmesini istemek yerine tek bir aracı sunarak modelin tüm planı kısa bir program olarak ifade etmesine olanak tanır. Araçlar aynı kalır, model aynı kalır ve asıl değişiklik, planın, birkaç araç çağrısı sırasında dağılmak yerine, bir korumalı alan içinde bir kez çalıştırılmasıdır.

Araç yoğunluklu iş yükleri için bu, uçtan uca gecikme süresini ve belirteç kullanımını önemli ölçüde azaltabilir ve planı tek bir kod bloğunda sıkıştırarak denetlenebilir durumda tutabilir. Hiper ışık karşılaştırma örneği bu şekli doğrudan karşılaştırır.

CodeAct'in iyi bir seçenek olduğu durumlar

Bir görev aşağıdakilerden yararlandığında CodeAct kullanın:

  • birden çok araç çağrısını döngüler, dallanma, filtreleme veya toplama ile birleştirme
  • son yanıtı döndürmeden önce araç sonuçlarını dönüştürme
  • Bir çalıştırma sırasında daha büyük yapılandırılmış çıktılar veya artefaktlar oluşturma.
  • bazı araçları yalnızca denetimli yürütme ortamında kullanılabilir durumda tutma
  • çok sayıda küçük, zincirlenebilir aramayı veya basit hesaplamayı tek bir yürütme adımında daraltma

Aşağıdaki durumlarda doğrudan araç çağrısını kullanın:

  • görevin yalnızca bir veya iki araç çağrısına ihtiyacı olduğundan kaldırılacak çok az düzenleme yükü vardır
  • her çağrının model ve kullanıcı tarafından ayrı ayrı görünür kalması gereken yan etkileri vardır
  • tüm execute_code çalıştırma boyunca tek bir onay kararı yerine çağrı başına onay istemlerine ihtiyaç duyarsınız

CodeAct Aracı Çerçevesi'ne nasıl uyum sağlar?

CodeAct bağlayıcısı genellikle bir çalıştırma için dört şey yapar:

  1. Modele yönelik araç yüzeyine bir execute_code araç ekler.
  2. Yapılandırılan korumalı alan çalışma zamanı için yönergeler sağlar.
  3. İsteğe bağlı olarak call_tool(...) aracılığıyla sağlayıcıya ait araçları kullanıma sunar.
  4. Dosya sistemi erişimi veya giden ağ izin listeleri gibi yetenek sınırlarını uygular.

Bağlayıcı çalışma zamanı yapılandırmasına sahip olduğundan, tam kurulum ayrıntıları seçtiğiniz arka uça bağlıdır.

Mevcut sınırlamalar

CodeAct, yoğun araç kullanımlı iş akışları için güçlü bir uyum sağlar, ancak göz önünde bulundurulması gereken birkaç geçerli kısıtlama vardır:

  • Belgelenen Agent Framework bağlayıcısı, bugün Hyperlight CodeAct aracılığıyla Python öncelikli olarak tanımlanmaktadır. .NET belgeleri yakında kullanıma sunulacaktır.
  • Mevcut onaylar şu anda çağrının execute_code tamamı için geçerlidir. İşlemlerin tek tek onaylanması gerekiyorsa, bu işlemleri call_tool(...) yerine doğrudan araçlar olarak tutun.
  • Aracılığıyla call_tool(...) ulaşılan araçlar hala konak işleminde yürütülür. Korumalı alan erişimini gereksiz yere genişletmek yerine hassas G/Ç için dar, gözden geçirilmiş konak araçlarını kullanın.
  • CodeAct, düzenleme ek yükü hakim olduğunda en iyi şekilde çalışır. Yalnızca bir veya iki araç çağrısına sahip küçük görevler için eklenen soyutlama size fazla bir şey kazandırmayabilir.
  • Model bir kerede tek bir doğrudan araç çağrısından seçim yerine bu sözleşmeye karşı kod yazdığından, araç adları, parametre meta verileri ve döndürülen şekiller burada daha önemlidir.

Get started

Çok yakında.

Get started

Python için belgelenen bağlayıcı bugün Hyperlight CodeAct'tir.

Hyperlight paketi aşağıdakileri sağlar:

  • HyperlightCodeActProvider bağlam sağlayıcı tabanlı çalıştırmalar için
  • HyperlightExecuteCodeTool doğrudan kablo execute_code göndermek istediğinizde
  • Sağlayıcı tarafından yönetilen araçlar call_tool(...) aracılığıyla korumalı alanın içinde kullanılabilir durumda kalır.
  • korumalı alan çalışma zamanı için isteğe bağlı dosya sistemi ve giden ağ yapılandırması

Kurulum, örnekler, ne zaman print(...) ve /output/ kullanılmalı gibi çalışma zamanına özgü yönergeler ile geçerli Hyperlight'a özel kısıtlamalar için Hyperlight CodeAct'e bakın.

Sonraki Adımlar