def evaluate_flat(tokens):
if not tokens or len(tokens) % 2 == 0:
raise ValueError("logic.shape")
if any(type(x) is not bool for x in tokens[::2]):
raise ValueError("logic.value")
if any(x not in ("AND", "OR") for x in tokens[1::2]):
raise ValueError("logic.operator")
terms, term = [], tokens[0]
for i in range(1, len(tokens), 2):
if tokens[i] == "AND":
term = term and tokens[i + 1]
else:
terms.append(term)
term = tokens[i + 1]
return any([*terms, term])
✳Parantezsiz mantıksal öncelik
✓ DeğişikliklerUygulamadan önce inceleyin ↗
Çalışma alanı çizimi
Proje
True OR False AND False örneğini test edip metin çalıştırmadan boş girdiyi, yanlış işleçleri, parantezleri ve boole olmayan değerleri reddedin.
Uygulamadan önce inceleyin
Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.
Modeller
Temel URL ve gerekiyorsa API anahtarıyla OpenAI uyumlu veya Anthropic endpoint yapılandırın. Bağlantıyı test edin. Yerel model sunucusu çalışıyor olmalıdır; uzak araçlar ayrıca veri aktarabilir.
def evaluate_flat(tokens):
if not tokens or len(tokens) % 2 == 0:
raise ValueError("logic.shape")
if any(type(x) is not bool for x in tokens[::2]):
raise ValueError("logic.value")
if any(x not in ("AND", "OR") for x in tokens[1::2]):
raise ValueError("logic.operator")
terms, term = [], tokens[0]
for i in range(1, len(tokens), 2):
if tokens[i] == "AND":
term = term and tokens[i + 1]
else:
terms.append(term)
term = tokens[i + 1]
return any([*terms, term])
Yapay zekâ ile kod çalışma alanı
Kural değişikliğini çağıranlar için açıklanabilir kılın
LogicStitch, mevcut bir projedeki koşullu davranışı değerlendirmesi gereken geliştiriciler için bir Windows yapay zekâ kodlama çalışma alanıdır. Klasörü açın ve beklenmedik sonuç üreten kararı belirtin. Bağlı bir model ilgili kodu incelemeye ve odaklı bir değişikliği tartışmaya yardımcı olabilir; sohbet de inceleme sırasında beklenen davranışı görünür tutar.
boolean_tokens.py örneği düz Boole ifadeleriyle ilgili bir görev önerir. Uygulamanızda kabul edilen girdinin, işleç önceliğinin ve hata davranışının çağıranın beklentileriyle uyuşup uyuşmadığını sorun. Düzenleme istemeden önce sonuçları bilinen birkaç ifade verin. Böylece örnek, ana sayfayı dil öğreticisine dönüştürmeden veya yazılımla bir kural motoru verildiğini ima etmeden proje bağlamı olarak yararlı olur.
Desteklenen OpenAI uyumlu veya Anthropic uç noktanızda mevcutsa filtresiz bir yapay zekâ modeli seçilebilir. Gerektirdiği adresi ve kimlik bilgilerini yapılandırın, modelin gerçek bağlam ve araç desteğini göz önünde bulundurun. Yamayı inceledikten sonra amaçlanan davranışı eskisinden ayıran ifadeleri ve hatalı girdileri test edin. İfade anlamındaki değişiklikleri biçim temizliğinden ayrı tutun. İnceleme hangi kararların değiştiğini, neden değiştiğini ve çağıranların bunu nasıl gözlemleyeceğini açıklamalıdır.
Kural işleme yamasını tanımlamak
Hangi örnekler öncelik uyuşmazlığını gösterir?
Desteklenen işleçleri karıştıran ve rakip yorumlarda farklı sonuç veren bir ifade kullanın. Amaçlanan sonucu ve uygulamanın bunu neden beklediğini yazın. Anlam değişikliği önermeden önce modelden mevcut kodu izlemesini isteyin.
Yardımcı bu düzeltmeden sonra parantez kabul etmeli mi?
Yalnızca istenen sözleşmenin parçasıysa. Sözdizimi eklemek kapsamı değiştirir; farklı ayrıştırıcı ve yeni hata işleme gerektirebilir. Proje açıkça daha geniş bir dil gerektirmiyorsa düz ifade düzeltmesini sınırlı tutun.
Reddedilen ifadeleri nasıl kontrol ederim?
Eksik işlenenleri, bilinmeyen işleçleri ve yanlış türdeki değerleri ekleyin. Çağıranın her hatayı nasıl aldığını doğrulayın. Yardımcının hata üretmesi, ancak çevredeki uygulama bu hatayı kendi sözleşmesine göre işliyorsa yararlıdır.
Model yalnızca koddan iş kurallarını çıkarabilir mi?
Görünen davranışı açıklayabilir ama belirtilmemiş amacı belirleyemez. Kuralın amacını ve kabul edilen sonuçları sağlayın, ardından bu gereksinimleri uygulamayla karşılaştırın. Makul bir yorumu kural olarak kabul etmek yerine belirsiz durumları karar verilmek üzere işaretleyin.