代码执行优化工具

一个基于Model Context Protocol (MCP)的AI代理工具,通过代码执行代替传统的工具调用方式,显著提高数据处理效率并减少token消耗。

  • by yazilimcikisi
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 yazilimcikisi/CodeExecutionWithMCP

使用说明

MCP ile Kod Yürütme (Code Execution) Demosu

Bu proje, Model Context Protocol (MCP) prensiplerine dayanarak, bir AI ajanının verimsiz "araç çağırma" (tool calling) yöntemi yerine, Kod Yürütme (Code Execution) yöntemini kullanarak nasıl daha verimli çalışabileceğini gösteren bir örnektir.

Projenin Amacı

Geleneksel yöntemlerde bir ajan, veritabanından tüm veriyi çekip kendi bağlamında (context window) işlemeye çalışır. Bu hem yavaştır hem de çok fazla token tüketir.

Bu demoda ise ajan:

  1. Veriyi çekmek ve filtrelemek için bir kod parçacığı (script) yazar.
  2. Bu kodu güvenli bir ortamda çalıştırır.
  3. Sadece filtrelenmiş, temiz sonucu alır.

Bu yöntem %98'e varan token tasarrufu sağlar ve çok daha hızlıdır.

Kurulum

Projeyi çalıştırmadan önce gerekli bağımlılıkları yükleyin:

npm install

Kullanım

Bu projede iki farklı çalışma yöntemi bulunmaktadır:

1. Manuel Ajan Senaryosu (agent_script.ts)

Bu senaryoda, ajanın yazması gereken ideal kodun elle yazılmış halini çalıştırırsınız.

npx ts-node agent_script.ts

Beklenen Çıktı: Sadece "Pending" (Beklemede) durumunda ve tutarı 50.000$ üzeri olan 3 sipariş listelenir.

2. LLM Destekli Ajan (llm_agent.ts)

Bu senaryoda, Gemini 2.0 Flash-Lite modeli, kullanıcının doğal dildeki isteğini ("Büyük bir satış veritabanından, sadece 'Beklemede' olan 50.000$ üzeri siparişleri bul ve listele") anlar ve gerekli filtreleme kodunu dinamik olarak yazar ve çalıştırır.

Gereksinimler:

  • Bir .env dosyası oluşturun ve Gemini API anahtarınızı ekleyin:
    GEMINI_API_KEY=senin_api_anahtarin
    

Çalıştırma:

npx ts-node llm_agent.ts

Ajan şunları yapacaktır:

  1. İsteği analiz eder.
  2. servers/crm-database modülünü kullanacak bir TypeScript kodu üretir.
  3. Kodu generated_task.ts dosyasına kaydeder.
  4. Kodu çalıştırır ve sonucu ekrana basar.

Dosya Yapısı

  • servers/crm-database/: Örnek veritabanı simülasyonu.
  • agent_script.ts: Manuel olarak optimize edilmiş örnek kod.
  • llm_agent.ts: Gemini API kullanarak kodu dinamik üreten ve çalıştıran ajan.
  • generated_task.ts: LLM tarafından üretilen geçici kod dosyası.