ADK Studio

بيئة تطوير مرئية لبناء وكلاء الذكاء الاصطناعي بالسحب والإفلات.

نظرة عامة

يوفر ADK Studio واجهة منخفضة التعليمات البرمجية لتصميم واختبار ونشر وكلاء الذكاء الاصطناعي المبنيين باستخدام ADK-Rust. أنشئ سير عمل معقدًا متعدد الوكلاء بصريًا، ثم قم بتجميعه إلى كود Rust جاهز للإنتاج.

الواجهة الرئيسية لـ ADK Studio

التثبيت

# Install from crates.io (self-contained binary)
cargo install adk-studio

# Or build from source
cargo build --release -p adk-studio

بدء سريع

# Start the studio server
adk-studio

# Open in browser
open http://localhost:3000

خيارات CLI

الخيارالوصفالافتراضي
--port, -pمنفذ الخادم3000
--host, -hعنوان الربط127.0.0.1
--dir, -dدليل المشاريع~/.local/share/adk-studio/projects
--static, -sتجاوز دليل الملفات الثابتة(مضمن)
# Bind to all interfaces for remote access
adk-studio --host 0.0.0.0 --port 8080

# Custom projects directory
adk-studio --dir ./my-projects

دليل تعليمي خطوة بخطوة

اتبع هذا الشرح لبناء أول وكيل ذكاء اصطناعي لك في ADK Studio.

الخطوة 1: إنشاء مشروع جديد

انقر على زر + مشروع جديد في الزاوية العلوية اليمنى.

إنشاء مشروع جديد

أدخل اسمًا لمشروعك (مثل "مشروع تجريبي") وانقر على إنشاء.

الخطوة 2: إضافة وكيل إلى اللوحة

يحتوي الشريط الجانبي الأيسر على لوحة الوكلاء مع أنواع الوكلاء المتاحة:

  • LLM Agent - وكيل ذكاء اصطناعي واحد مدعوم بنموذج لغة
  • Sequential - تنفيذ الوكلاء الفرعيين بالترتيب
  • Parallel - تنفيذ الوكلاء الفرعيين بشكل متزامن
  • Loop - التكرار حتى شرط الخروج
  • Router - توجيه إلى الوكلاء الفرعيين بناءً على الإدخال

انقر على LLM Agent لإضافته إلى اللوحة.

وكيل على اللوحة

الخطوة 3: تهيئة الوكيل

عند تحديد وكيل، تظهر لوحة الخصائص على الجانب الأيمن. هنا يمكنك تهيئة:

  • الاسم - معرّف الوكيل
  • النموذج - مزود LLM والنموذج (Gemini, OpenAI, إلخ.)
  • التعليمات - موجه النظام للوكيل

لوحة الخصائص

الخطوة 4: إضافة أدوات إلى الوكيل

مرر لأسفل في الشريط الجانبي الأيسر للعثور على لوحة الأدوات:

  • Function - دالة Rust مخصصة مع محرر الكود
  • MCP - خادم Model Context Protocol
  • Browser - 46 إجراء أتمتة WebDriver
  • Google Search - بحث ويب مرتكز
  • Load Artifact - تحميل الملفات إلى السياق

انقر على أداة لإضافتها إلى وكيلك.

وكيل مع أداة Google Search

الخطوة 5: البناء والاختبار

انقر على إنشاء مشروع لتجميع وكيلك. بمجرد بنائه، استخدم لوحة الدردشة في الأسفل لاختبار وكيلك بمحادثات حقيقية.

لوحة الدردشة

تدعم الدردشة:

  • استجابات بث SSE مباشرة
  • رسوم متحركة لتنفيذ الوكيل
  • لوحة تتبع الأحداث لتصحيح الأخطاء

الخطوة 6: عرض الكود المولد

انقر على عرض الكود لرؤية كود Rust الجاهز للإنتاج الذي تم إنشاؤه من تصميمك المرئي.

عرض الكود المولد

يمكنك نسخ هذا الكود أو استخدام تجميع لإنشاء مشروع Rust كامل.


الميزات

أنواع Agent

Agentالوصف
LLM AgentAgent واحد مدعوم بواسطة LLM
Sequentialتنفيذ sub-agents بالترتيب
Parallelتنفيذ sub-agents بشكل متزامن
Loopالتكرار حتى شرط الخروج
Routerالتوجيه إلى sub-agents بناءً على الإدخال

أنواع Tool

Toolالوصف
Functionوظيفة Rust مخصصة مع محرر التعليمات البرمجية
MCPخادم Model Context Protocol
Browser46 إجراء أتمتة WebDriver
Google Searchبحث ويب مستند
Load Artifactتحميل الملفات إلى السياق

الدردشة في الوقت الفعلي

اختبر agents مباشرة في الاستوديو:

  • استجابات تدفق SSE المباشرة
  • رسوم متحركة لتنفيذ Agent
  • لوحة تتبع الأحداث لتصحيح الأخطاء
  • استمرارية ذاكرة Session

توليد التعليمات البرمجية

حوّل التصميمات المرئية إلى تعليمات برمجية جاهزة للإنتاج:

  1. عرض التعليمات البرمجية - معاينة Rust التي تم إنشاؤها مع تمييز بناء الجملة
  2. تجميع - إنشاء مشروع Rust كامل
  3. بناء - التجميع إلى ملف تنفيذي مع مخرجات في الوقت الفعلي
  4. تشغيل - تنفيذ الـ agent المبني

البنية المعمارية

┌─────────────────────────────────────────────────────────────┐
│                     ADK Studio UI                           │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐ │
│  │   Palette   │  │   Canvas    │  │   Properties        │ │
│  │  - Agents   │  │  ReactFlow  │  │  - Name             │ │
│  │  - Tools    │  │  Workflow   │  │  - Model            │ │
│  │             │  │  Designer   │  │  - Instructions     │ │
│  └─────────────┘  └─────────────┘  └─────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼ HTTP/SSE
┌─────────────────────────────────────────────────────────────┐
│                    ADK Studio Server                        │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐ │
│  │   Routes    │  │   Codegen   │  │   Storage           │ │
│  │  /api/*     │  │  Rust code  │  │  Projects           │ │
│  │  /chat      │  │  generation │  │  File-based         │ │
│  └─────────────┘  └─────────────┘  └─────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼ Build
┌─────────────────────────────────────────────────────────────┐
│                   Generated Rust Project                    │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  Cargo.toml + src/main.rs                           │   │
│  │  Uses: adk-rust, adk-agent, adk-model, etc.        │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

نقاط نهاية API

المشاريع

نقطة النهايةالأسلوبالوصف
/api/projectsGETسرد جميع المشاريع
/api/projectsPOSTإنشاء مشروع جديد
/api/projects/:idGETالحصول على تفاصيل المشروع
/api/projects/:idPUTتحديث المشروع
/api/projects/:idDELETEحذف المشروع

توليد الكود

نقطة النهايةالأسلوبالوصف
/api/projects/:id/codegenPOSTتوليد كود Rust
/api/projects/:id/buildPOSTتجميع المشروع
/api/projects/:id/runPOSTتشغيل الملف التنفيذي المبني

الدردشة

نقطة النهايةالأسلوبالوصف
/api/chatPOSTإرسال رسالة (تدفق SSE)

متغيرات البيئة

المتغيرالوصفمطلوب
GOOGLE_API_KEYمفتاح API لـ Geminiنعم (لـ Gemini)
OPENAI_API_KEYمفتاح API لـ OpenAIنعم (لـ OpenAI)
ADK_DEV_MODEاستخدام تبعيات مساحة العمل المحليةلا
RUST_LOGمستوى السجللا (افتراضي: info)

هيكل الكود المولد

my-project/
├── Cargo.toml
└── src/
    └── main.rs

مثال لملف main.rs المولد:

use adk_rust::prelude::*;
use adk_rust::Launcher;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    dotenvy::dotenv().ok();
    let api_key = std::env::var("GOOGLE_API_KEY")?;
    let model = GeminiModel::new(&api_key, "gemini-2.0-flash")?;

    let agent = LlmAgentBuilder::new("assistant")
        .description("Helpful AI assistant")
        .instruction("You are a helpful assistant.")
        .model(Arc::new(model))
        .build()?;

    Launcher::new(Arc::new(agent)).run().await?;
    Ok(())
}

القوالب

يتضمن Studio قوالب جاهزة:

  • مساعد أساسي - وكيل LLM بسيط
  • وكيل بحث - وكيل مزود بـ Google Search
  • موجه دعم - توجيه متعدد الوكلاء
  • مساعد الكود - وكيل مزود بأدوات الكود

أفضل الممارسات

الممارسةالوصف
ابدأ بسيطًاابدأ بوكيل LLM واحد، ثم أضف التعقيد
اختبر كثيرًااستخدم لوحة الدردشة للتحقق من السلوك
راجع الكودتحقق من الكود المولد قبل النشر
تحكم في إصدارات المشاريعصدّر وتحكم في إصدار JSON المشروع
استخدم القوالبابدأ من القوالب للأنماط الشائعة

السابق: ← الذاكرة | التالي: إرشادات التطوير →