Techsy
Επικοινωνία
Ξεκίνα τώρα
Επιστροφή στο blog
guides

Οδηγός Google ADK: Δημιουργία AI Agents από το Μηδέν έως την Παραγωγή

Ραίτη Mert Batur Gürbüz
Apr 4, 2026
15 εξάγουμε ανάγνωση
Περιεχόμενα
Οδηγός Google ADK: Δημιουργία AI Agents από το Μηδέν έως την Παραγωγή

Οδηγός Google ADK: Δημιουργία AI Agents από το Μηδέν έως την Παραγωγή

Το Agent Development Kit (ADK) της Google είναι το framework που κάνει επιτέλους τα συστήματα πολλαπλών agents (multi-agent systems) να φαίνονται προσβάσιμα. Εάν έχετε κατασκευάσει AI agents χρησιμοποιώντας LangChain ή CrewAI και νιώθατε ότι παλεύατε περισσότερο με το framework παρά χτίζοντας με αυτό, αυτός ο οδηγός Google ADK σας καθοδηγεί σε όλα, από τον πρώτο σας agent μέχρι την ανάπτυξή του στο Cloud Run.

Τι είναι το Google ADK (και γιατί πρέπει να σας ενδιαφέρει);

Το Agent Development Kit (ADK) της Google είναι ένα open-source Python framework για τη δημιουργία, αξιολόγηση και ανάπτυξη AI agents. Κυκλοφόρησε το 2025 και είναι βελτιστοποιημένο για το Gemini, αλλά υποστηρίζει πάνω από 100 μοντέλα μέσω του LiteLLM. Το κορυφαίο χαρακτηριστικό του ADK είναι η εγγενής orchestration πολλαπλών agents, όπου οι agents αναθέτουν εργασίες σε άλλους agents χωρίς την ανάγκη για «κόλλες» κώδικα (glue code).

Αφού έχω κατασκευάσει agents με LangChain, CrewAI και τώρα με ADK, ecco τι ξεχωρίζει: Το ADK έχει σαφείς αρχές στα σωστά σημεία. Σας παρέχει μια δομή project, ένα ενσωματωμένο UI για developers και μια εντολή ανάπτυξης. Δεν χρειάζεται να συνδυάσετε πέντε διαφορετικές βιβλιοθήκες για να κάνετε έναν βασικό agent να λειτουργήσει.

Εάν το LangChain είναι ένα πολυεργαλείο γενικής χρήσης, το ADK είναι το ειδικά σχεδιασμένο toolkit της Google για workflows πολλαπλών agents. Το CrewAI είναι πιο κοντά φιλοσοφικά, με agents βασισμένους σε ρόλους που συνεργάζονται, αλλά το ADK πάει ένα βήμα παραπέρα με ενσωματωμένη αξιολόγηση, εγγενή βελτιστοποίηση για Gemini και ανάπτυξη στο Cloud Run με μία εντολή. Για μια πιο αναλυτική σύγκριση, δείτε την εμπεριστατωμένη σύγκρισή μας των frameworks agents.

Για кого είναι το ADK; Για developers Python που θέλουν δομημένα συστήματα πολλαπλών agents. Για ομάδες που χρησιμοποιούν ήδη το Google Cloud ή το Gemini. Για όποιον έχει κουραστεί να γράφει boilerplate κώδικα για orchestration.

Να πώς συγκρίνονται τα frameworks με μια ματιά:

ΧαρακτηριστικόGoogle ADKLangGraphCrewAI
Εγγενής υποστήριξη Multi-agentΝαιΜέσω graphΝαι
Υποστήριξη ΜοντέλωνGemini + 100+ via LiteLLMΟποιοδήποτεΟποιοδήποτε
Ενσωματωμένο UIΝαι (adk web)LangSmithΌχι
Ανάπτυξη (Deployment)Cloud Run, Vertex AIΠροσαρμοσμένηΠροσαρμοσμένη
Καμπύλη μάθησηςΧαμηλή-ΜεσαίαΥψηλήΧαμηλή
Open sourceΝαι (Apache 2.0)ΝαιΝαι

Η σύντομη εκδοχή: εάν θέλετε τον ταχύτερο δρόμο από την «ιδέα» στο «αναπτυγμένο σύστημα πολλαπλών agents», το ADK είναι δύσκολο να νικηθεί αυτή τη στιγμή.

Προαπαιτούμενα και Εγκατάσταση Google ADK

Για να ξεκινήσετε με το Google ADK, χρειάζεστε Python 3.9+, ένα κλειδί API για Gemini (διαθέσιμο δωρεάν στο Google AI Studio) και το πακέτο google-adk. Εγκαταστήστε το με pip install google-adk, ορίστε το κλειδί API σας ως environment variable και είστε έτοιμοι να χτίσετε τον πρώτο σας agent σε λιγότερο από 5 λεπτά.

Ακολουθεί η λίστα ελέγχου setup:

  • Python 3.9+ (προτείνεται 3.10+ για πλήρη υποστήριξη type hints)
  • Ένα κλειδί API Gemini, αποκτήστε ένα δωρεάν στο aistudio.google.com. Το δωρεάν tier σας δίνει 15 αιτήματα ανά λεπτό, που είναι αρκετά για development.
  • pip (ή uv αν προτιμάτε ταχύτητα, λειτουργεί και το uv pip install google-adk)

Εγκαταστήστε το πακέτο και ορίστε το κλειδί σας:

bash
pip install google-adk

# Set your API key (add to .bashrc/.zshrc for persistence)
export GOOGLE_API_KEY="your-api-key-here"

Το ADK αναμένει μια συγκεκριμένη δομή φακέλων. Κάθε agent βρίσκεται στον δικό του φάκελο package:

text
my_agent/
  __init__.py    # Exports root_agent
  agent.py       # Agent definition
.env             # Optional: GOOGLE_API_KEY=your-key

Το όνομα του φακέλου γίνεται το όνομα του package του agent σας, οπότε επιλέξτε κάτι περιγραφικό. Μην το ονομάσετε test ή agent, καθώς θα μπερδέψετε το σύστημα imports της Python.

Pro tip: Εάν χρησιμοποιείτε uv, δημιουργήστε πρώτα ένα virtual environment με uv venv && source .venv/bin/activate. Είναι αισθητά ταχύτερο από το κανονικό pip για την επίλυση εξαρτήσεων.

Δημιουργία του Πρώτου σας Agent με Google ADK

Ο πρώτος σας agent ADK χρειάζεται μόνο τρία πράγματα: ένα όνομα, ένα μοντέλο (όπως gemini-2.0-flash) και ένα string οδηγιών. Ορίστε το στο agent.py, τοποθετήστε το μέσα σε έναν φάκελο με ένα __init__.py και εκτελέστε adk web για να συνομιλήσετε μαζί του μέσω ενός browser UI. Όλη η ρύθμιση απαιτεί περίπου 10 γραμμές Python.

Δημιουργήστε έναν φάκελο με το όνομα my_agent και προσθέστε δύο αρχεία. Πρώτον, τον ορισμό του agent:

python
# my_agent/agent.py
from google.adk.agents import LlmAgent

root_agent = LlmAgent(
    name="my_assistant",
    model="gemini-2.0-flash",
    instruction="""You are a helpful coding assistant. 
    You explain concepts clearly and provide working code examples.
    Keep responses concise but thorough.""",
    description="A coding assistant that explains concepts and writes code"
)

Στη συνέχεια, το αρχείο init που εξάγει τον agent σας:

python
# my_agent/__init__.py
from .agent import root_agent

Αυτό το όνομα μεταβλητής έχει σημασία, το ADK αναζητά συγκεκριμένα το root_agent. Εάν το παραλείψετε, θα λάβετε ένα σφάλμα "agent not found" που δεν εξηγεί γιατί.

Τώρα εκτελέστε το. Έχετε δύο επιλογές:

bash
# CLI mode -- chat in your terminal
adk run my_agent

# Web UI mode -- opens a browser interface
adk web my_agent

Η διεπαφή adk web είναι πραγματικά χρήσιμη. Σας δείχνει το πλήρες ίχνος συνομιλίας, ποια εργαλεία κάλεσε ο agent, τι έλαβε το μοντέλο και τι επέστρεψε. Σκεφτείτε το ως Chrome DevTools για τον agent σας. Όταν αρχίσετε να χτίζετε συστήματα πολλαπλών agents αργότερα, αυτό γίνεται απαραίτητο για την κατανόηση της ροής ανάθεσης εργασιών.

Δοκιμάστε να τροποποιήσετε τις οδηγίες για να δείτε πώς αλλάζει η συμπεριφορά. Κάντε τον πειρατή. Κάντε τον να απαντά μόνο σε haiku. Η απόκτηση μιας αίσθησης για το πώς οι οδηγίες διαμορφώνουν τη συμπεριφορά είναι η βάση για everything else σε αυτόν τον οδηγό.

Προσθήκη Προσαρμοσμένων Εργαλείων στον Agent σας με Google ADK

Οι agents ADK γίνονται χρήσιμοι όταν τους δίνετε εργαλεία. Ορίστε μια συνάρτηση Python με μια σαφή docstring και το ADK τη μετατρέπει αυτόματα σε ένα εργαλείο που μπορεί να καλέσει ο agent. Η docstring είναι κρίσιμη, καθώς λέει στο μοντέλο τι κάνει το εργαλείο και πότε να το χρησιμοποιήσει. Το ADK διαθέτει επίσης ενσωματωμένα εργαλεία όπως η Αναζήτηση Google και η εκτέλεση κώδικα.

Τα εργαλεία είναι τα «χέρια» ενός agent. Χωρίς αυτά, ο agent σας μπορεί μόνο να μιλά. Με αυτά, μπορεί να ελέγχει βάσεις δεδομένων, να καλεί APIs, να εκτελεί υπολογισμούς και να αλληλεπιδρά με εξωτερικά συστήματα. Εάν θέλετε να κατανοήσετε πώς λειτουργεί η κλήση συναρτήσεων κάτω από την επιφάνεια, έχουμε έναν ξεχωριστό εμπεριστατωμένο οδηγό γι' αυτό.

Προσαρμοσμένα Εργαλεία Συνάρτησης

Εδώ είναι ένα πρακτικό παράδειγμα, ένα εργαλείο που αναζητά τιμές μετοχών:

python
# my_agent/agent.py
from google.adk.agents import LlmAgent

def get_stock_price(ticker: str) -> dict:
    """Get the current stock price for a given ticker symbol.
    
    Args:
        ticker: The stock ticker symbol (e.g., 'AAPL', 'GOOGL', 'MSFT')
    
    Returns:
        A dictionary with the ticker and its current price.
    """
    # In production, you'd call a real API here
    mock_prices = {"AAPL": 198.50, "GOOGL": 175.20, "MSFT": 425.80}
    price = mock_prices.get(ticker.upper(), None)
    if price:
        return {"ticker": ticker.upper(), "price": price, "currency": "USD"}
    return {"error": f"Ticker {ticker} not found"}

root_agent = LlmAgent(
    name="finance_assistant",
    model="gemini-2.0-flash",
    instruction="You help users check stock prices. Use the get_stock_price tool when asked about any stock.",
    tools=[get_stock_price],
    description="A financial assistant that looks up stock prices"
)

Παρατηρήστε τα type hints και την docstring. Δεν είναι προαιρετικές λεπτομέρειες, το ADK τα χρησιμοποιεί για να δημιουργήσει το schema του εργαλείου που βλέπει το μοντέλο. Παραλείψτε την docstring και το μοντέλο δεν θα ξέρει πότε να καλέσει τη συνάρτησή σας. Παραλείψτε τα type hints και θα λάβετε σφάλμα signature.

Ενσωματωμένα Εργαλεία (Αναζήτηση Google, Εκτέλεση Κώδικα)

Το ADK έρχεται με εργαλεία που μπορείτε να χρησιμοποιήσετε χωρίς να γράψετε κανένα κώδικα:

python
from google.adk.agents import LlmAgent
from google.adk.tools import google_search, code_execution

root_agent = LlmAgent(
    name="research_agent",
    model="gemini-2.0-flash",
    instruction="You research topics using Google Search and can run Python code to analyze data.",
    tools=[google_search, code_execution],
    description="A research agent with search and code execution capabilities"
)

Το google_search επιτρέπει στον agent να κάνει queries στο web σε πραγματικό χρόνο. Το code_execution του δίνει ένα sandboxed περιβάλλον Python για να εκτελεί υπολογισμούς. Αυτά τα δύο alone καλύπτουν έναν εκπληκτικό αριθμό use cases.

Συστήματα Πολλαπλών Agents: Πώς οι Agents του Google ADK Αναθέτουν Εργασίες

Το σύστημα πολλαπλών agents του ADK χρησιμοποιεί έναν root agent που αναθέτει εργασίες σε εξειδικευμένους sub-agents. Κάθε sub-agent χειρίζεται έναν τομέα, έρευνα, συγγραφή, coding. Ο root agent αποφασίζει ποιον sub-agent θα καλέσει based on το αίτημα του χρήστη. Μπορείτε επίσης να χρησιμοποιήσετε το pattern agent-as-tool, όπου ένας agent καλεί έναν άλλον σαν να ήταν συνάρτηση. Το επίσημο blog της Google για συστήματα πολλαπλών agents αναλύει βαθύτερα τα αρχιτεκτονικά patterns.

Σκεφτείτε το σαν έναν project manager που αναθέτει σε ειδικούς. Ο root agent διαβάζει το αίτημα του χρήστη, καταλαβαίνει ποιος ειδικός πρέπει να το χειριστεί και το δρομολογεί accordingly. Οι ειδικοί δεν γνωρίζουν ο ένας τον άλλον, απλά κάνουν τη δουλειά τους και αναφέρουν πίσω.

Pattern Root Agent + Sub-Agents

Εδώ είναι ένα λειτουργικό παράδειγμα με έναν root agent που αναθέτει σε έναν agent έρευνας και έναν agent συγγραφής:

python
from google.adk.agents import LlmAgent
from google.adk.tools import google_search

# Sub-agent 1: handles research
research_agent = LlmAgent(
    name="researcher",
    model="gemini-2.0-flash",
    instruction="You research topics thoroughly using Google Search. Return factual, well-sourced information.",
    tools=[google_search],
    description="Researches topics and returns factual information"
)

# Sub-agent 2: handles writing
writing_agent = LlmAgent(
    name="writer",
    model="gemini-2.0-flash",
    instruction="You write clear, engaging content based on provided information. Focus on readability and accuracy.",
    description="Writes polished content from research notes"
)

# Root agent: delegates to the right sub-agent
root_agent = LlmAgent(
    name="content_manager",
    model="gemini-2.0-flash",
    instruction="""You manage content creation. 
    - When the user wants information gathered, delegate to the researcher.
    - When the user wants content written or edited, delegate to the writer.
    - You can chain both: research first, then write.""",
    sub_agents=[research_agent, writing_agent],
    description="Manages content creation by delegating to research and writing specialists"
)

Το πεδίο description σε κάθε sub-agent είναι ο τρόπος με τον οποίο ο root agent καταλαβαίνει τι μπορούν να κάνουν. Γράψτε καθαρές περιγραφές, οι ασαφείς οδηγούν σε κακές αποφάσεις δρομολόγησης.

Pattern Agent-as-Tool

Μερικές φορές θέλετε περισσότερο έλεγχο στο πώς ένας agent καλεί έναν άλλον. Το pattern agent-as-tool τυλίγει έναν sub-agent ως callable tool:

python
from google.adk.tools import agent_tool

research_tool = agent_tool.AgentTool(agent=research_agent)

root_agent = LlmAgent(
    name="writer_with_research",
    model="gemini-2.0-flash",
    instruction="You write articles. Use the research tool to gather facts before writing.",
    tools=[research_tool],
    description="A writer that can research topics on demand"
)

Χρησιμοποιήστε sub-agents όταν θέλετε ο root agent να αναθέσει πλήρως τον έλεγχο. Χρησιμοποιήστε agent-as-tool όταν θέλετε ο καλών agent να παραμείνει στο τιμόνι και απλά να χρησιμοποιήσει την έξοδο του sub-agent ως είσοδο. Εάν χτίζετε συστήματα όπου οι agents χρειάζονται κοινό context, δείτε τον ολοκληρωμένο οδηγό μας για αρχιτεκτονικές μνήμης agents.

Agents Workflow: Διαδοχικοί, Παράλληλοι και Loop

Πέρα από την ανάθεση που οδηγείται από LLM, το ADK προσφέρει τρεις τύπους workflow agents για deterministic orchestration: ο SequentialAgent εκτελεί sub-agents έναν μετά τον άλλον, ο ParallelAgent τους εκτελεί ταυτόχρονα και ο LoopAgent επαναλαμβάνει μια ακολουθία μέχρι να ικανοποιηθεί μια συνθήκη. Αυτά είναι χρήσιμα όταν χρειάζεστε προβλέψιμη σειρά εκτέλεσης αντί να αφήνετε το LLM να αποφασίζει.

Η διάκριση έχει σημασία. Η ανάθεση που οδηγείται από LLM (το pattern sub_agents παραπάνω) επιτρέπει στο μοντέλο να επιλέξει ποιον θα καλέσει. Οι workflow agents σας δίνουν προγραμματιστικό έλεγχο. Χρησιμοποιήστε workflow agents όταν η σειρά εκτέλεσης είναι γνωστή εξαρχής.

python
from google.adk.agents import SequentialAgent, ParallelAgent, LlmAgent

# Three agents that must run in order
research_agent = LlmAgent(name="researcher", model="gemini-2.0-flash",
    instruction="Research the given topic.", description="Researches topics")
    
draft_agent = LlmAgent(name="drafter", model="gemini-2.0-flash",
    instruction="Write a draft based on the research.", description="Writes drafts")
    
review_agent = LlmAgent(name="reviewer", model="gemini-2.0-flash",
    instruction="Review the draft for accuracy and clarity.", description="Reviews content")

# Pipeline: research -> draft -> review
content_pipeline = SequentialAgent(
    name="content_pipeline",
    sub_agents=[research_agent, draft_agent, review_agent],
    description="Runs a complete content creation pipeline"
)

Για ανεξάρτητες εργασίες που μπορούν να εκτελεστούν ταυτόχρονα, ο ParallelAgent εξοικονομεί πραγματικό χρόνο:

python
# Three data fetchers that run concurrently
fetch_news = LlmAgent(name="news_fetcher", model="gemini-2.0-flash",
    instruction="Fetch latest tech news.", description="Fetches news")
    
fetch_stocks = LlmAgent(name="stock_fetcher", model="gemini-2.0-flash",
    instruction="Fetch stock market summary.", description="Fetches stocks")
    
fetch_weather = LlmAgent(name="weather_fetcher", model="gemini-2.0-flash",
    instruction="Fetch weather forecast.", description="Fetches weather")

morning_briefing = ParallelAgent(
    name="morning_briefing",
    sub_agents=[fetch_news, fetch_stocks, fetch_weather],
    description="Gathers morning briefing data in parallel"
)
PatternΤύπος AgentUse CaseΠαράδειγμα
PipelineSequentialAgentΤα βήματα πρέπει να γίνουν με σειράΈρευνα -> Συγγραφή -> Αναθεώρηση
Fan-outParallelAgentΑνεξάρτητες εργασίεςΛήψη δεδομένων από 3 APIs ταυτόχρονα
IterationLoopAgentΕπανάληψη μέχρι την επίτευξη ποιότηταςΠρόχειρο -> Αναθεώρηση -> Διόρθωση (loop)

Διαχείριση State και Μνήμης

Το ADK διαχειρίζεται την κατάσταση του agent σε δύο επίπεδα: session state (δεδομένα μέσα σε μια συνομιλία, όπως προτιμήσεις χρήστη που συλλέγονται mid-chat) και υπηρεσίες μνήμης (δεδομένα που επιμένουν across conversations). Το session state είναι ένα απλό key-value store accessible via context.state. Η μνήμη χρησιμοποιεί υπηρεσίες όπως InMemoryMemoryService ή VertexAIMemoryBankService για production.

Το session state είναι το πιο απλό. Είναι ένα dictionary attached σε κάθε συνομιλία:

python
from google.adk.agents import LlmAgent

def save_preference(key: str, value: str, context) -> str:
    """Save a user preference to session state.
    
    Args:
        key: The preference name (e.g., 'language', 'theme')
        value: The preference value
        context: The ADK context object
    
    Returns:
        Confirmation message
    """
    context.state[key] = value
    return f"Saved preference: {key} = {value}"

def get_preference(key: str, context) -> str:
    """Retrieve a user preference from session state.
    
    Args:
        key: The preference name to look up
        context: The ADK context object
    
    Returns:
        The preference value or a not-found message
    """
    value = context.state.get(key, "Not set")
    return f"{key} = {value}"

root_agent = LlmAgent(
    name="personalized_assistant",
    model="gemini-2.0-flash",
    instruction="You remember user preferences. Save them when told, recall them when asked.",
    tools=[save_preference, get_preference],
    description="An assistant that remembers user preferences"
)

Για μνήμη across conversations, το είδος όπου ο agent σας θυμάται έναν χρήστη από την περασμένη Τρίτη, χρειάζεστε μια υπηρεσία μνήμης:

python
from google.adk.memory import InMemoryMemoryService

# For development (data lost on restart)
memory_service = InMemoryMemoryService()

# For production, use VertexAIMemoryBankService
# memory_service = VertexAIMemoryBankService(project="your-project")

Πότε χρειάζεστε μνήμη vs session state; Εάν είναι within a single conversation (καλάθι αγορών, current task context), χρησιμοποιήστε session state. Εάν πρέπει να επιβιώσει μεταξύ συνομιλιών (προτιμήσεις χρήστη, past interactions), χρησιμοποιήστε μια υπηρεσία μνήμης. Δείτε τον ολοκληρωμένο οδηγό μας για αρχιτεκτονικές μνήμης agents για production patterns.

Callbacks: Έλεγχος Συμπεριφοράς Agent

Τα callbacks του ADK σας επιτρέπουν να intercept και να modify τη συμπεριφορά του agent σε τέσσερα σημεία: before_model_callback (πριν την κλήση LLM), after_model_callback (μετά την απόκριση LLM), before_tool_callback (πριν την εκτέλεση εργαλείου) και after_tool_callback (μετά το αποτέλεσμα εργαλείου). Χρησιμοποιήστε τα για validation εισόδου, safety filtering, logging ή τροποποίηση αποκρίσεων πριν φτάσουν στον χρήστη.

Τα callbacks είναι εκεί που προσθέτετε guardrails. Σκεφτείτε τα ως middleware για τον agent σας, κάθε αίτημα και απόκριση περνάει μέσα από αυτά και μπορείτε να inspect, modify ή block anything.

python
from google.adk.agents import LlmAgent

def safety_filter(callback_context, llm_request):
    """Block requests containing harmful content patterns."""
    user_message = str(llm_request)
    blocked_patterns = ["ignore your instructions", "pretend you are"]
    
    for pattern in blocked_patterns:
        if pattern.lower() in user_message.lower():
            # Return a response directly, skipping the model call
            return {"blocked": True, "reason": "Request matched safety filter"}
    
    # Return None to proceed normally
    return None

def log_tool_usage(callback_context, tool_name, tool_result):
    """Log every tool call for monitoring."""
    print(f"[TOOL LOG] {tool_name}: {tool_result}")
    return None  # Don't modify the result

root_agent = LlmAgent(
    name="safe_assistant",
    model="gemini-2.0-flash",
    instruction="You are a helpful assistant.",
    before_model_callback=safety_filter,
    after_tool_callback=log_tool_usage,
    description="A safety-filtered assistant with tool logging"
)

Το before_model_callback είναι το πιο σημαντικό για production. Εκτελείται πριν από κάθε κλήση LLM, δίνοντάς σας την ευκαιρία να μπλοκάρετε prompt injections, να validate inputs ή να προσθέσετε system context. Εάν επιστρέψετε ένα response object, το ADK παρακάμπτει entirely το μοντέλο. Επιστρέψτε None για να αφήσετε το αίτημα να περάσει. Για περισσότερα patterns, δείτε βαθύτερα patterns για LLM safety guardrails.

Δοκιμή και Αξιολόγηση των ADK Agents σας

Το ADK περιλαμβάνει ένα ενσωματωμένο framework αξιολόγησης με δύο τύπους evaluators: ο ResponseEvaluator ελέγχει εάν η τελική απάντηση του agent είναι σωστή και ο TrajectoryEvaluator επαληθεύει εάν ο agent ακολούθησε τα σωστά βήματα, κάλεσε τα σωστά εργαλεία με τη σωστή σειρά. Γράψτε test cases ως αρχεία JSON και εκτελέστε τα με pytest για να catch regressions πριν την ανάπτυξη.

Γιατί να ασχοληθείτε με testing agents; Επειδή είναι non-deterministic. Η ίδια είσοδος μπορεί να παράγει διαφορετικές εξόδους και μια μικρή αλλαγή στην instruction σας μπορεί να break την κλήση εργαλείων με subtle ways. Σύμφωνα με την εμπειρία μας, οι agents που περνούν trajectory evaluation είναι πολύ πιο reliable σε production από αυτούς που δοκιμάζονται μόνο στην ποιότητα της τελικής εξόδου. Για broader evaluation strategies, δείτε τον οδηγό μας για στρατηγικές αξιολόγησης LLM.

Τα test cases σας μπαίνουν σε ένα αρχείο JSON:

json
[
  {
    "input": "What's the stock price of AAPL?",
    "expected_output": "198.50",
    "expected_trajectory": [
      {"tool_name": "get_stock_price", "args": {"ticker": "AAPL"}}
    ]
  },
  {
    "input": "Compare AAPL and GOOGL prices",
    "expected_output": "AAPL.*198.*GOOGL.*175",
    "expected_trajectory": [
      {"tool_name": "get_stock_price", "args": {"ticker": "AAPL"}},
      {"tool_name": "get_stock_price", "args": {"ticker": "GOOGL"}}
    ]
  }
]

Στη συνέχεια εκτελέστε αξιολογήσεις με pytest. Το repository Python του ADK έχει την πλήρη αναφορά API αξιολόγησης:

python
# test_agent.py
import pytest
from google.adk.evaluation import ResponseEvaluator, TrajectoryEvaluator

def test_stock_agent_response():
    evaluator = ResponseEvaluator(agent=root_agent)
    results = evaluator.evaluate("test_cases.json")
    
    assert results.pass_rate >= 0.8, f"Response pass rate too low: {results.pass_rate}"

def test_stock_agent_trajectory():
    evaluator = TrajectoryEvaluator(agent=root_agent)
    results = evaluator.evaluate("test_cases.json")
    
    assert results.pass_rate >= 0.9, f"Trajectory pass rate too low: {results.pass_rate}"

Εκτελέστε με pytest test_agent.py -v. Ορίστε τα thresholds σας based on criticality -- 80% accuracy απόκρισης μπορεί να είναι fine για έναν creative writing agent, αλλά θα θέλατε 95%+ για anything that handles financial data.

Ανάπτυξη του Google ADK Agent σας σε Production

Αναπτύξτε τον agent ADK σας στο Google Cloud Run με μία εντολή: adk deploy cloud_run --project YOUR_PROJECT --region us-central1. Το ADK πακετάρει τον κώδικά σας, χτίζει ένα container και lanzáει ένα serverless endpoint. Για managed hosting, χρησιμοποιήστε το Vertex AI Agent Engine. Για custom infrastructure, το ADK υποστηρίζει επίσης containerization Docker.

Έχουμε αναπτύξει agents ADK στο Cloud Run για internal tools και οι χρόνοι cold start είναι εκπληκτικά γρήγοροι, κάτω από 3 δευτερόλεπτα για έναν basic agent. Για production systems, consider pairing your deployment with monitoring tools for production agents.

Ανάπτυξη στο Cloud Run (Προτείνεται για τους Περισσότερους)

Το Cloud Run είναι ο απλούστερος δρόμος. Μία εντολή και ο agent σας είναι live με ένα HTTPS endpoint:

bash
adk deploy cloud_run \
  --project your-gcp-project-id \
  --region us-central1 \
  --service-name my-agent-service \
  --with_ui

Η σημαία --with_ui αναπτύσσει τη διεπαφή ADK Web alongside τον agent σας, ώστε να έχετε ένα chat based on browser για testing σε production. Behind the scenes, το ADK χτίζει μια εικόνα container, την pushάρει στο Google Artifact Registry και δημιουργεί μια υπηρεσία Cloud Run. Η πλήρης ροή ανάπτυξης τεκμηριώνεται στο Google's Cloud Run quickstart for ADK.

Για custom infrastructure, εδώ είναι ένα minimal Dockerfile:

dockerfile
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8080
CMD ["adk", "api_server", "--port", "8080", "my_agent"]

Εναλλακτική: Vertex AI Agent Engine

Για enterprise teams που χρειάζονται managed scaling, monitoring και versioning, το Vertex AI Agent Engine χειρίζεται entirely την infrastructure. Ανταλλάσσετε ευελιξία για convenience, no containers to manage, automatic scaling, built-in analytics.

Considerations Κόστους

Real numbers που πρέπει να γνωρίζετε:

  • Free tier API Gemini: 15 αιτήματα ανά λεπτό, 1 εκατομμύριο tokens/ημέρα. Αρκετό για development και light demos.
  • Gemini 2.0 Flash (paid): $0.10 per million input tokens, $0.40 per million output tokens. Αρκετά φθηνό για production.
  • Free tier Cloud Run: 2 εκατομμύρια αιτήματα/μήνα, 360.000 GB-seconds compute. Ένας basic agent που χειρίζεται 1.000 αιτήματα/ημέρα μένει well within free tier.
  • Tip βελτιστοποίησης: Χρησιμοποιήστε gemini-2.0-flash (όχι gemini-2.0-pro) για sub-agents που κάνουν simple routing ή formatting. Reserve τα πιο capable models για agents που κάνουν complex reasoning.

Πώς η Techsy Προσεγγίζει την Ανάπτυξη AI Agents

Στην Techsy, έχουμε χτίσει συστήματα πολλαπλών agents για clients χρησιμοποιώντας ADK, LangGraph και CrewAI. Η επιλογή framework depends on your stack: εάν είστε already στο Google Cloud, το ADK eliminates a lot of integration friction. Εάν χρειάζεστε υποστήριξη LLM multi-provider από day one, το LangGraph σας δίνει περισσότερη ευελιξία.

Η τυπική μας engagement starts with architecture consulting, mapping your use case to the right agent patterns, followed by prototype development and Cloud Run deployment. Έχουμε διαπιστώσει ότι οι ομάδες εξοικονομούν 2-3 εβδομάδες getting the architecture right upfront instead of refactoring later.

Χτίζετε AI agents για την ομάδα σας; Λάβετε δωρεάν consultation, θα σας βοηθήσουμε να επιλέξετε το σωστό framework και strategy deployment.

Κοινά Σφάλματα και Αντιμετώπιση Προβλημάτων

Αυτά είναι τα σφάλματα που συναντάμε most often when getting started with ADK. Γλιτώστε τον χρόνο debugging:

ΣφάλμαΑιτίαΛύση
GOOGLE_API_KEY not setMissing environment variableexport GOOGLE_API_KEY="your-key" ή προσθήκη στο .env
Model not foundΛάθος string ονόματος μοντέλουΧρησιμοποιήστε exact IDs: gemini-2.0-flash, όχι gemini-flash
Tool function signature errorMissing type hints ή docstringΠροσθέστε type hints σε όλες τις παραμέτρους, προσθέστε μια descriptive docstring
Agent not foundΛάθος δομή φακέλων ή missing exportΒεβαιωθείτε ότι το __init__.py εξάγει το root_agent με αυτό το exact όνομα
Rate limit exceeded (429)Too many API calls στο free tierUpgrade σε paid tier Gemini ή προσθήκη exponential backoff
ImportError: google-adkPackage not installedΕκτελέστε pip install google-adk στο active virtual environment σας

Debugging tip: Το adk web είναι ο καλύτερός σας φίλος εδώ. Δείχνει το full conversation trace, every model call, tool invocation και agent delegation, σε real time. Όταν κάτι πάει wrong σε ένα σύστημα πολλαπλών agents, το web UI σας δείχνει exactly where the chain broke.

FAQ

Τι είναι το Google ADK;

Το Agent Development Kit (ADK) της Google είναι ένα open-source Python framework για τη δημιουργία, αξιολόγηση και ανάπτυξη AI agents. Είναι βελτιστοποιημένο για τα μοντέλα Google Gemini αλλά υποστηρίζει πάνω από 100 LLMs μέσω integration LiteLLM. Η core strength του ADK είναι η εγγενής orchestration πολλαπλών agents με ενσωματωμένα εργαλεία, ένα dev UI και ανάπτυξη στο Cloud Run με μία εντολή.

Είναι δωρεάν η χρήση του Google ADK;

Ναι. Το ίδιο το ADK είναι open-source under the Apache 2.0 license. Χρειάζεστε ένα κλειδί API Gemini, το οποίο έχει ένα free tier offering 15 αιτήματα ανά λεπτό και 1 εκατομμύριο tokens per day. Τα κόστη cloud deployment depend on your hosting choice, το free tier του Cloud Run καλύπτει 2 εκατομμύρια αιτήματα per month.

Ποια είναι η διαφορά μεταξύ Google ADK και LangChain;

Το ADK είναι το opinionated framework της Google optimized for Gemini με εγγενή orchestration πολλαπλών agents και ενσωματωμένα εργαλεία deployment. Το LangChain είναι model-agnostic με broader third-party integrations αλλά significantly more complexity. Το ADK είναι better for Gemini-first teams wanting fast deployment; το LangChain suits multi-provider setups needing maximum flexibility.

Υποστηρίζει το Google ADK συστήματα πολλαπλών agents;

Ναι, και είναι το flagship feature του ADK. Δημιουργείτε έναν root agent που αναθέτει σε εξειδικευμένους sub-agents based on user requests. Το ADK προσφέρει επίσης SequentialAgent, ParallelAgent και LoopAgent για deterministic workflow orchestration. Το pattern agent-as-tool lets agents call other agents as callable functions.

Πώς αναπτύσσω έναν agent Google ADK;

Εκτελέστε adk deploy cloud_run --project YOUR_PROJECT --region us-central1 για serverless deployment στο Google Cloud Run. Προσθέστε --with_ui για να include the browser-based chat interface. Μπορείτε επίσης να αναπτύξετε στο Vertex AI Agent Engine για managed hosting ή να χτίσετε ένα Docker container για custom infrastructure.

Μπορεί το Google ADK να χρησιμοποιήσει μοντέλα άλλα από το Gemini;

Ναι. Το ADK υποστηρίζει 100+ μοντέλα μέσω integration LiteLLM, including Anthropic Claude, OpenAI GPT-4, Meta Llama και Mistral. Ορίστε την παράμετρο model στο LiteLLM model string, για παράδειγμα, litellm/anthropic/claude-3-sonnet ή litellm/openai/gpt-4o. Τα μοντέλα Gemini work natively without the LiteLLM prefix.

Τι είναι το ADK Web UI;

Ένα browser-based debugging interface launched with adk web your_agent_folder. Displays real-time conversation traces, tool calls, agent delegation chains και state changes as they happen. Το Web UI είναι essential για debugging multi-agent systems because it shows exactly which sub-agent handled each request.

Υποστηρίζει το Google ADK το MCP (Model Context Protocol);

Ναι. Το ADK έχει εγγενή υποστήριξη Model Context Protocol, allowing agents to connect to any MCP-compatible tool server for external tools and data sources. Αυτό makes ADK agents interoperable with the growing MCP ecosystem. Για background on the protocol, see our MCP guide.

Πώς δοκιμάζω agents ADK;

Το ADK ships with built-in evaluators: ResponseEvaluator για checking output quality against expected answers και TrajectoryEvaluator για verifying the agent called the right tools in the right order. Γράψτε test cases ως αρχεία JSON defining inputs, expected outputs και expected tool call sequences, then run them with pytest.

Ποια έκδοση Python απαιτεί το Google ADK;

Το ADK requires Python 3.9 or higher. Python 3.10+ is recommended for full type hinting support, which matters because ADK uses type hints to generate tool schemas. Python 3.11 or 3.12 also offer meaningful performance improvements for agent workloads. Install with pip install google-adk.

Ετικέτες

οδηγός google adkagent development kitσυστήματα πολλαπλών agentsgemini apiai agentspythoncloud run

Κοινοποίηση άρθρου

Σχετικά άρθρα

Περισσότερα στο guides

guides
Jul 18, 2026

Σύγκριση Τιμών LLM API 2026: Κάθε Κύριο Μοντέλο, Τιμολογημένο

Πλήρης σύγκριση τιμών LLM API για το 2026 — Claude, GPT-5.6, Gemini, DeepSeek, Qwen, GLM και Mistral τιμολογημένα παράλληλα ανά εκατομμύριο tokens, απευθείας από τις επίσημες σελίδες τιμολόγησης.

12 min read εξάγουμε ανάγνωση
Ανάγνωση
guides
Apr 12, 2026

Οδηγός Surfer SEO 2026: Content Editor, Βαθμολογία NLP και AI Search

Ένας πρακτικός οδηγός για το Surfer SEO που καλύπτει τη ροή εργασίας του Content Editor, το σύστημα βαθμολόγησης NLP, το AI Tracker για βελτιστοποίηση GEO και τον αυτοματισμό API. Με βάση δοκιμές σε πάνω από 50 άρθρα.

14 min read εξάγουμε ανάγνωση
Ανάγνωση
guides
Apr 12, 2026

Οδηγός Semrush 2026: Κάθε Εργαλείο Αναλυτικά (Με Παραδείγματα)

Ένας πρακτικός οδηγός για το Semrush που καλύπτει την έρευνα λέξεων-κλειδιών, τον έλεγχο ιστότοπου, την ανταγωνιστική ανάλυση, την παρακολούθηση ορατότητας AI και τη ρύθμιση διακομιστή MCP. Περιλαμβάνει παραδείγματα κώδικα και ροές εργασίας από μια πραγματική διαδικασία SEO.

14 min read εξάγουμε ανάγνωση
Ανάγνωση
Εμφάνιση όλων των άρθρων
Ξεκινήσετε το Project σας

Έτοιμοι να δημιουργήσουμε κάτι εξαιρετικό;

Ας κάνουμε το όραμά σας πραγματικότητα. Η ομάδα μας είναι έτοιμη να σας βοηθήσει να φτιάξετε λογισμικό που κάνει τη διαφορά.

Κλείστε μια κλήση αξιολόγησης 30 λεπτάΔείτε το Έργο μας

Τα πιο hot από τη βιβλιοθήκη

Claude Skills

Δείτε όλα
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

AI Automatizations

Δείτε όλα
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Τα πιο hot από τη βιβλιοθήκη

Claude Skills

Δείτε όλα
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

AI Automatizations

Δείτε όλα
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Υπηρεσίες

  • Enterprise Λύσεις
  • Mobile Εφαρμογές
  • Web Application

Λύσεις

  • CRM Συστήματα
  • AI Ενσωμάτωση
  • ERP Λύσεις
  • Φωνητικοί Πράκτορες
  • Αυτοματοποίηση Διαδικασιών
  • Κιберασφάλεια

Βιβλιοθήκη

  • Ιστολόγιο
  • Έργα

Κοινότητα

  • AI Automatizations
  • Claude Skills

Εργαλεία

  • Υπολογισμό Κόστους Mobile App
  • Υπολογισμός Κόστους OpenAI / LLM APIs
  • Υπολογισμός Κόστους MVP
  • Υπολογισμός Κόστους Voice AI Agent

Εταιρεία

  • Σχετικά
  • Συνεργάτες
  • Επικοινωνία

Νομικά

  • Πολιτική Απορρήτου
  • Όροι Χρήσης
  • Πολιτική Cookies

Υπηρεσίες

  • Enterprise Λύσεις
  • Mobile Εφαρμογές
  • Web Application

Λύσεις

  • CRM Συστήματα
  • AI Ενσωμάτωση
  • ERP Λύσεις
  • Φωνητικοί Πράκτορες
  • Αυτοματοποίηση Διαδικασιών
  • Κιберασφάλεια

Βιβλιοθήκη

  • Ιστολόγιο
  • Έργα

Κοινότητα

  • AI Automatizations
  • Claude Skills

Εργαλεία

  • Υπολογισμό Κόστους Mobile App
  • Υπολογισμός Κόστους OpenAI / LLM APIs
  • Υπολογισμός Κόστους MVP
  • Υπολογισμός Κόστους Voice AI Agent

Εταιρεία

  • Σχετικά
  • Συνεργάτες
  • Επικοινωνία
ΝομικάΠολιτική ΑπορρήτουΌροι ΧρήσηςΠολιτική Cookies
TECHSY
© 2026 Techsy. Με επιφύλαξη παντός δικαιώματος.