Okullar için Robotik ve Mühendislik · anaokulundan liseye

Bölüm 8 · Büyük dil modellerinin parçaları · Ders 36

Araç kullanan yapay zekâ ajanı

Hedef → düşün → araç çağır → gözle → tekrar

Veri. Bir depo robotuna dört görev veriyoruz: şarj kontrolü, raftan kutu taşıma, takvimdeki bakıma gitme, koridor denetimi. Robotun altı aracı var: sensör okuma, harita sorgusu, motor komutu, tutucu, takvim ve mesaj. Her araç aynı biçimde tanımlı (ad, açıklama, girdi şeması); ajan bu listeye bakıp hangisini çağıracağını seçer. Burada ajan bir dil modeli değil, birkaç kuraldan oluşan küçük bir planlayıcı; döngü ise gerçek ajanlarınkiyle aynı.

hedef: Raf B3’teki kutuyu yükleme alanına götür.ajan: kurallı planlayıcı (dil modeli yok)
1 / 83
ajan.pypython
  1. W = {"B3": (8, 5), "dock": (9, 1)} # harita
  2. S = {"pos": (4, 1), "held": False, "fails": 1} # dünya; tutucu 1 kez kayar
  3. def gripper(op):
  4. if S["fails"]: S["fails"] -= 1; raise IOError("slip")
  5. S["held"] = op == "pick"; return S["held"]
  6. def move(xy): S["pos"] = xy; return xy
  7. TOOLS = {"map": W.get, "move": move, "grip": gripper} # ortak arayüz
  8. def plan(m): # kurallı planlayıcı (LLM yok)
  9. if "drop" in m: return None, None # hedef tamam
  10. goal = "dock" if S["held"] else "B3"
  11. if goal not in m: return "map", goal # yer bilinmiyor → sor
  12. if S["pos"] != m[goal]: return "move", m[goal] # oraya git
  13. return "grip", "drop" if S["held"] else "pick"
  14. m, step = {}, 0 # bellek
  15. while step < 10: # en fazla 10 adım
  16. tool, arg = plan(m); step += 1 # düşün
  17. if tool is None: break
  18. for attempt in range(3): # en fazla 3 deneme
  19. try: m[arg] = TOOLS[tool](arg); break # çağır, gözle
  20. except IOError as e: print(step, tool, "error:", e)
  21. print(step, tool, arg, "->", m.get(arg))
  22. print("done after", step - 1, "tool steps")

Sahnedeki her sayı, aynı algoritmanın tarayıcında yapılan gerçek çalıştırmasından gelir (sabit tohum, her seferinde aynı sonuç). Python kodunu kendi bilgisayarında çalıştırırsan rastgele başlangıçlar farklı olacağı için sayılar biraz değişebilir.

Bu dersin kodu verisini kendi içinde üretir; indirilecek dosya yok. Kodu yine de aşağıda tarayıcında çalıştırabilirsin.

Kodu tarayıcıda çalıştırPython · NumPy · matplotlib · Pyodide

Python ve NumPy bu sayfada, tarayıcında çalışır (Pyodide). Kodu değiştirip yeniden çalıştırabilirsin; dersin veri setleri çalışma klasöründe hazır. Kod matplotlib kullanırsa grafikler çıktının altında görünür, yazdığı dosyalar (ör. egitim_gecmisi.csv) indirilebilir.

ajan.pypython

Çıktı

Çıktı burada görünecek.

Nasıl çalışır

  1. Düşün: ajan hedefe ve şimdiye kadarki gözlemlere (belleğe) bakar ve bir sonraki adımı seçer: "kutunun yeri bilinmiyor → haritaya sor".
  2. Araç çağır: seçilen aracın adı ve girdileri (ör. drive_to {x: 8, y: 5}) ortak arayüzle gönderilir. MCP (Model Context Protocol) bu arayüzü standart yapar; aynı araç her ajana takılabilir.
  3. Gözle: aracın dönüşü belleğe yazılır. Hata dönerse aynı çağrı en fazla 3 kez denenir.
  4. Hedef sağlanınca döngü biter; sağlanmazsa en fazla 10 adımda durur.
  5. Şunu dene: araç hatasını kapat; yeniden denemeler kaybolur ve adım sayısı azalır. Görev 4’te LiDAR iki kez zaman aşımına uğrar, üçüncüde cevap verir.

Neden önemli

Bugünün yapay zekâ asistanları bu döngüyle çalışır: dil modeli "düşün" adımını yapar, araçlar (takvim, e-posta, veritabanı, kod çalıştırma) gerçek işi görür; MCP sayesinde binlerce araç aynı biçimde bağlanır. Robotikte aynı yapı, görev planlayıcının algılama, haritalama ve hareket modüllerini çağırmasıdır; hata durumunda yeniden deneme ve adım sınırı, sahada güvenli çalışmanın temelidir.

ESOF 323, 11. hafta: robotlarda derin öğrenme →
Esc
  • PanelAna sayfaSayfa
  • ModüllerTüm modüllerSayfa
  • ParçalarParça ansiklopedisiSayfa
  • Mühendislik yoluBüyükler için robotik: 128 parça, 7 seviyeSayfa
  • Robotik dersi (ESOF 323)Üniversite robotik dersi, 14 haftaSayfa
  • Drone dersiBüyükler için: parça, simülasyon, yazılım; 10 üniteSayfa
  • Blok atölyesiSerbest blok programlamaAraç
  • Devre laboratuvarıSanal Arduino ve devreAraç
  • Robot arenasıSanal robot sürüşüAraç
  • OyunlarBloklarla 8 öğretici oyunAraç
  • Mikro Kart atölyesiSanal LED kartı bloklarla programlaAraç
  • Robot atölyesiMikro Kart'ı robota tak, bloklarla görev yapAraç