Wolfram Language 15'i pratikte kullanmak: Agent Tools, CAG ve yeni veri altyapısı üzerine kod odaklı bir rehber

Enorm Teknoloji

Lilac Flower

Wolfram 15'in genel hatlarını ve kurumsal ekipler için öne çıkan başlıklarını ayrı bir yazıda derlemiştik. Bu yazı ise özellik listesinden bir adım öteye gidiyor: yeni özelliklerin pratikte nasıl yazıldığına bakıyoruz. Elinizde bir notebook varsa, aşağıdaki örnekleri doğrudan deneyebilirsiniz.

CAG'i kendi kodunuzda nasıl çağırırsınız?

Version 15'in AI Assistant'ı arka planda CAG (computation-augmented generation) kullanıyor: yanıt bir vektör deposundan metin çekilerek değil, Wolfram çekirdeği ve Knowledgebase üzerinde gerçek hesaplama yapılarak üretiliyor. Önemli olan, bunun sadece asistan arayüzüne gömülü kalmaması — LLMEvaluator seçeneği üzerinden tüm LLM fonksiyonlarına açılmış durumda:

(* Wolfram'ın ajan sistemini LLM sentezinde kullanmak *)
LLMSynthesize[
  "compute the period of a pendulum of length 2m on Mars",
  LLMEvaluator -> "AgentOne"
]

(* AI Assistant'ın CAG sistemini Wolfram Language yardımı için kullanmak *)
LLMSynthesize[
  "how do I compute a moving average over irregular time data?",
  LLMEvaluator -> "WolframAIAssistant"
]

(* Oturum genelinde varsayılan olarak ayarlamak *)
$LLMEvaluator = "WolframAIAssistant"
(* Wolfram'ın ajan sistemini LLM sentezinde kullanmak *)
LLMSynthesize[
  "compute the period of a pendulum of length 2m on Mars",
  LLMEvaluator -> "AgentOne"
]

(* AI Assistant'ın CAG sistemini Wolfram Language yardımı için kullanmak *)
LLMSynthesize[
  "how do I compute a moving average over irregular time data?",
  LLMEvaluator -> "WolframAIAssistant"
]

(* Oturum genelinde varsayılan olarak ayarlamak *)
$LLMEvaluator = "WolframAIAssistant"
(* Wolfram'ın ajan sistemini LLM sentezinde kullanmak *)
LLMSynthesize[
  "compute the period of a pendulum of length 2m on Mars",
  LLMEvaluator -> "AgentOne"
]

(* AI Assistant'ın CAG sistemini Wolfram Language yardımı için kullanmak *)
LLMSynthesize[
  "how do I compute a moving average over irregular time data?",
  LLMEvaluator -> "WolframAIAssistant"
]

(* Oturum genelinde varsayılan olarak ayarlamak *)
$LLMEvaluator = "WolframAIAssistant"

Aynı "AgentOne" değeri LLMFunction, ChatEvaluate ve LLMGraph içinde de kullanılabiliyor. Pratik faydası şu: LLM'in zayıf olduğu kesin sayısal/sembolik hesap işini, "makul görünen" bir cevap yerine gerçekten hesaplanmış bir sonuçla döndürüyorsunuz. Mars'taki sarkacın periyodu örneği tam da bunu gösteriyor — birim (unit) farkındalığı çekirdekten geliyor.

Claude Code veya Codex'i Wolfram çekirdeğine nasıl bağlarsınız?

Version 15'in stratejik özelliği Wolfram Agent Tools. Bilgisayarınızda çalışan bir AI ortamını (Claude Code, Codex vb.) Wolfram sistemine araç olarak bağlıyor. Notebook'tan tek tıkla yapılabildiği gibi, programatik kurulum da tek satır:

DeployAgentTools["ClaudeCode"]
DeployAgentTools["ClaudeCode"]
DeployAgentTools["ClaudeCode"]

Bağlantı kurulduğunda AI ortamınız; Wolfram Language kodu çalıştırma, notebook okuma/yazma ve kod analizi araçlarına ihtiyaç duydukça otomatik erişiyor. Yani şöyle bir iş akışı mümkün oluyor: doğal dilde ne istediğinizi AI ortamına söylüyorsunuz, o kesin hesaplama gerektiren adımları Wolfram çekirdeğine devrediyor, sonucu geri alıp sentezi yapıyor.

Not: AI Assistant genel amaçlı bir kod asistanı değil — yalnızca Wolfram Language kodu üretiyor. Python, JavaScript veya TypeScript üretimi için bu asistan devreye girmiyor; onun için Claude Code / Codex tarafını kullanmaya devam ediyorsunuz. İki dünyayı birbirine bağlayan şey Agent Tools çerçevesi.

Yeni TimeSeries: neden "Tabular üzerine yeniden inşa" önemli?

TimeSeries 2014'ten beri vardı, ama Version 15'te tamamen Tabular çerçevesi üzerine yeniden yazıldı (geriye dönük uyumlu). Bu, kozmetik bir değişiklik değil; ölçek ve veri modeli tarafında somut sonuçları var:

  • Milyonlarca kayıt rutin olarak işleniyor. On yıllık, saniye çözünürlüklü sensör verisini tek bir TimeSeries nesnesinde tutmak artık makul.

  • Çok bileşenli seriler: her zaman damgasına birden fazla kolon bağlanabiliyor — sıcaklık + nem + basınç aynı seride.

  • Eksik veri ve tip farkındalığı Tabular'dan miras. Sayısal kolonlarda interpolasyon yapılırken, string veya entity kolonlarında yapılmıyor. Zaman granülerliği de hesaba katılıyor: günlük bir seriden haftalık değer istediğinizde uygun toplulaştırma otomatik uygulanıyor.

Kesikli olaylar için ise ayrı bir EventSeries çerçevesi geldi. Sürekli bir seriden olay çıkarmak ve bunları kümülatif işlemek doğrudan destekleniyor:

(* Sürekli seriden yerel olayları (örn. tepe noktaları) çıkarmak *)
events = TimeSeriesEvents[series, "PeakDetection"]

(* Olayları kümülatif saymak *)
EventSeriesAccumulate[events]
(* Sürekli seriden yerel olayları (örn. tepe noktaları) çıkarmak *)
events = TimeSeriesEvents[series, "PeakDetection"]

(* Olayları kümülatif saymak *)
EventSeriesAccumulate[events]
(* Sürekli seriden yerel olayları (örn. tepe noktaları) çıkarmak *)
events = TimeSeriesEvents[series, "PeakDetection"]

(* Olayları kümülatif saymak *)
EventSeriesAccumulate[events]

Sunucu logları, işlem kayıtları veya IoT sensör akışlarıyla çalışan ekipler için bu ikili (TimeSeries + EventSeries) tek başına yükseltme sebebi olabilir.

Veri kaynağı bağlantıları nereye kadar genişledi?

DataConnectionObject, mevcut Amazon S3 ve Azure Blob desteğinin yanına Azure Files, Azure Tables, Databricks ve Snowflake ekledi. İlişkisel veritabanı erişimi bir önceki sürüme göre kabaca iki kat hızlandı. Belki en pratik detay: dosyalardan yalnızca ihtiyaç duyulan kolonları içe aktarabiliyorsunuz — devasa veri setlerinde bellek yönetiminin en temiz yolu. Wolfram'ı Databricks/Snowflake tabanlı modern bir veri yığınının içine yerleştirmek artık gerçekçi bir senaryo.

ModelFit: dağınık fitting fonksiyonlarını tek çatıda toplamak

Önceki sürümlerde veri uydurma için LinearModelFit, NonlinearModelFit, Fit gibi ayrı yollar vardı. Version 15 bunları ModelFit superfonksiyonu altında birleştiriyor. Mantık, önce modelin sembolik taslağını vermek, sonra ModelFit'in parametreleri veriye uydurması:

(* Üstel model *)
ModelFit[data, ExponentialModel[]]

(* 5. dereceye kadar tüm polinom modellerini deneyip en iyisini seçmek *)
ModelFit[data, PolynomialModel[UpTo[5]]]
(* Üstel model *)
ModelFit[data, ExponentialModel[]]

(* 5. dereceye kadar tüm polinom modellerini deneyip en iyisini seçmek *)
ModelFit[data, PolynomialModel[UpTo[5]]]
(* Üstel model *)
ModelFit[data, ExponentialModel[]]

(* 5. dereceye kadar tüm polinom modellerini deneyip en iyisini seçmek *)
ModelFit[data, PolynomialModel[UpTo[5]]]

Dikkat çeken nokta, ModelFit'in klasik istatistiksel modellerle sınırlı olmaması. Aynı arayüzden makine öğrenmesi modelleri de kullanılabiliyor: k-en yakın komşu (NearestModel), yapay sinir ağı (MultilayerPerceptronModel) ve yorumlanabilir karar ağaçları (DecisionTreeModel). Model seçimi otomatik yapılabiliyor ve hangi modelin neden seçildiği raporlanabiliyor. Birim desteği sayesinde, gezegen verisinden Kepler'in üçüncü yasasını türetip Dünya yılını birimli olarak hesaplamak gibi örnekler mümkün.

Üretim düzeyi kod için: tipli istisnalar ve paket formatı

Wolfram Language ile küçük scriptler değil de gerçek uygulamalar geliştiren ekipler için Version 15'in en önemli iki eklentisi burada. İlki, hiyerarşik ve tipli istisna yönetimi:

CatchExceptions[
  ThrowException["DataError", <|"Reason" -> "eksik kolon"|>],
  {"DataError"}

CatchExceptions[
  ThrowException["DataError", <|"Reason" -> "eksik kolon"|>],
  {"DataError"}

CatchExceptions[
  ThrowException["DataError", <|"Reason" -> "eksik kolon"|>],
  {"DataError"}

Exception, ExceptionTypes, RegisterExceptionType gibi fonksiyonlarla kendi istisna tiplerinizi tanımlayıp yakalayabiliyorsunuz — büyük kod tabanlarında hata yönetimini "her şeyi yakala" mantığından çıkarıp yapılandırıyor.

İkincisi, modüler projeler için yeni Structured Package Format. PackageExported, PackageScoped ve PackageImport ile sembol görünürlüğünü paket sınırında net biçimde kontrol edebiliyorsunuz:

PackageExported[myPublicFunction]   (* paket dışına görünür *)
PackageScoped[myInternalHelper]     (* yalnızca paket içinde görünür *)
PackageExported[myPublicFunction]   (* paket dışına görünür *)
PackageScoped[myInternalHelper]     (* yalnızca paket içinde görünür *)
PackageExported[myPublicFunction]   (* paket dışına görünür *)
PackageScoped[myInternalHelper]     (* yalnızca paket içinde görünür *)

Bir de artımlı veri yapıları geldi: IncrementalObject ve NextValue ile durum tutan, adım adım değer üreten (generator benzeri) nesneler tanımlanabiliyor. SocketWriteMessage ve web socket desteğiyle birlikte, Wolfram'ın "hesaplama motoru" rolünden "servis yazılabilen platform" rolüne doğru genişlediğini gösteren eklemeler bunlar.

Notebook altyapısındaki yeniden yazımın teknik sonucu

Notebook altyapısı yaklaşık on yıllık bir çalışmayla, çok çekirdekli ve çok iş parçacıklı olacak şekilde sıfırdan yeniden yazıldı. Geliştirici açısından gözle görülür sonucu: gigabayt boyutundaki notebook'lar rutin şekilde açılıp işlenebiliyor ve yeni gerçek zamanlı Find/Replace, dosya ne kadar büyük olursa olsun siz yazarken eşleşme sayısını anında gösteriyor. Karanlık mod artık DarkModePane / LightModePane ile programatik olarak da kontrol edilebiliyor. Ve 1988'de Version 1 ile oluşturulmuş notebook'lar hâlâ açılıyor — uyumluluk tam.

Özet: bu sürüm kimin iş akışını değiştirir?

Kısaca: veri mühendisleri için yeni TimeSeries/EventSeries + Databricks/Snowflake bağlantısı, yazılım geliştiren ekipler için tipli istisnalar ve paket formatı, AI ile çalışanlar için Agent Tools + CAG, veri bilimciler için ModelFit'in tek çatısı. Bunların hiçbiri "eklenti" değil; çekirdek dilin parçası olarak geliyor.

Mevcut bir Mathematica veya Wolfram|One lisansınız varsa Version 15'e geçiş ve AI Assistant Basic kullanımı ek maliyet gerektirmiyor. Lisans durumunuzu netleştirmek, kurumsal sürüm yükseltmesi planlamak veya System Modeler dâhil Wolfram ürün ailesinde teknik danışmanlık almak isterseniz ENORM Teknoloji olarak yanınızdayız — Wolfram'ın Türkiye'deki tek yetkili satıcısı olarak lisanslama, kurulum ve destek süreçlerinin tamamında hizmet veriyoruz.

İletişim: info@enorm.com.tr · +90 850 305 05 86

Kaynaklar: Stephen Wolfram, "Launching Version 15 of Wolfram Language & Mathematica" (writings.stephenwolfram.com); Wolfram Language 15.0 Yeni Özellikler Özeti (reference.wolfram.com).

Formu doldurun, size ulaşalım.

Şirketiniz için yazılım
ve donanım çözümleri hakkında
daha fazla bilgi edinin.

Şirketiniz için yazılım
ve donanım çözümleri hakkında
daha fazla bilgi edinin.

Şirketiniz için yazılım
ve donanım çözümleri hakkında
daha fazla bilgi edinin.