{"slug": "multi-agent-gift-recommendation-engine-powered-by-google-adk-gemini", "title": "Multi-Agent Gift Recommendation Engine Powered by Google ADK & Gemini", "summary": "A developer built GiftAdvisor, a multi-agent gift recommendation system using Google's Agent Development Kit (ADK) and Gemini 3.1 Flash Lite. The system splits the task across three specialized agents—ProfileAnalyzerAgent, IdeaFinderAgent, and BudgetFilterAgent—chained via SequentialAgent to produce budget-compliant gift ideas. Deployed on Cloud Run with zero-instance scaling, it aims to keep costs near zero.", "body_md": "*This post is my submission for DEV Education Track: Build Multi-Agent Systems with ADK.*\n\n*Finding the perfect, thoughtful gift shouldn't feel like a chore.*\n\nWhether it's for a birthday, anniversary, or holiday, we all experience gift-buying paralysis:\n\nTo solve this, I built **GiftAdvisor**. It is an intelligent, consumer-friendly gift recommendation system built with **Google Agent Development Kit (ADK)**, **Gemini ( gemini-3.1-flash-lite)**, and deployed seamlessly to\n\n**GiftAdvisor** transforms unstructured descriptions of a person into tailored, ranked, and strictly budget-compliant gift recommendations.\n\nInstead of dumping everything into a single monolithic prompt, GiftAdvisor splits the cognitive load across **three specialized AI agents** orchestrated via Google ADK:\n\n`LlmAgent`\n\n, `SequentialAgent`\n\n, and `InMemorySessionService`\n\n.`min-instances=0`\n\n(scales to zero when idle for $0.00 base cost).`.md`\n\n), JSON (`.json`\n\n), Clipboard, or Print / Save as PDF.`ProfileAnalyzerAgent`\n\n)\n`recipient_profile`\n\n```\nprofile_analyzer_agent = LlmAgent(\n    name=\"ProfileAnalyzerAgent\",\n    model=model_name,\n    instruction=\"\"\"\n    You are an expert gift persona analyzer.\n    Analyze the recipient's description, occasion, and relationship.\n    Extract key traits, hobbies, lifestyle context, and explicit anti-preferences (what to avoid).\n    Save your structured analysis to session state key 'recipient_profile'.\n    \"\"\",\n    output_key=\"recipient_profile\",\n)\n```\n\n`IdeaFinderAgent`\n\n)\n`{recipient_profile}`\n\nfrom the session state and ideates 6–10 candidate ideas across diverse categories (e.g., `candidate_gift_ideas`\n\n```\nidea_finder_agent = LlmAgent(\n    name=\"IdeaFinderAgent\",\n    model=model_name,\n    instruction=\"\"\"\n    You are a creative gift brainstormer.\n    Given the recipient profile:\n    {recipient_profile}\n\n    Brainstorm 6 to 10 distinct, creative gift ideas across multiple categories.\n    For each idea, provide a realistic estimated market price.\n    Save your candidate ideas to session state key 'candidate_gift_ideas'.\n    \"\"\",\n    output_key=\"candidate_gift_ideas\",\n)\n```\n\n`BudgetFilterAgent`\n\n)\n`{candidate_gift_ideas}`\n\n, `{budget_limit}`\n\n, and `{currency}`\n\n. It validates each candidate against the budget ceiling. Any item that exceeds the budget is logged in an `final_gift_recommendations`\n\n```\nbudget_filter_agent = LlmAgent(\n    name=\"BudgetFilterAgent\",\n    model=model_name,\n    instruction=\"\"\"\n    You are a meticulous gift budget auditor and curator.\n    Budget Limit: {budget_limit} {currency}\n    Candidate Ideas:\n    {candidate_gift_ideas}\n\n    1. Audit each idea against the budget ceiling.\n    2. Eliminate items that exceed the limit and suggest budget-friendly alternatives.\n    3. Present the Top 3-5 Recommended Gifts formatted into budget tiers with rationale.\n    Save the final report to session state key 'final_gift_recommendations'.\n    \"\"\",\n    output_key=\"final_gift_recommendations\",\n)\n```\n\n`SequentialAgent`\n\nGoogle ADK makes chaining agents intuitive using `SequentialAgent`\n\n. State flows from one agent's `output_key`\n\ndirectly into the next agent's prompt template variables:\n\n```\ngift_advisor_pipeline = SequentialAgent(\n    name=\"GiftAdvisorPipeline\",\n    sub_agents=[\n        profile_analyzer_agent,\n        idea_finder_agent,\n        budget_filter_agent,\n    ],\n)\n```\n\n`google-adk`\n\n(Agent Development Kit v2.7.0)`gemini-3.1-flash-lite`\n\n(via `google-genai`\n\n)To keep running costs near $0.00 while maintaining rapid startup times:\n\n`min-instances = 0`\n\n`memory = 512MiB`\n\n& `cpu = 1 vCPU`\n\n`gemini-3.1-flash-lite`\n\n**Separation of Concerns Prevents Hallucination**:\n\nWhen asking a single LLM prompt to analyze personality, brainstorm 10 items, and filter by budget simultaneously, it often ignores budget limits or produces bland suggestions. By decoupling *Analysis* -> *Ideation* -> *Budget Auditing* into separate ADK agents, each agent performs its task with significantly higher precision.\n\n**Session State is the Superpower of ADK**:\n\nUsing `InMemorySessionService`\n\nand prompt variable injection (`{recipient_profile}`\n\n, `{candidate_gift_ideas}`\n\n) made passing structured context between agents clean, traceable, and modular.\n\n**Cloud Run + Gemini is a Perfect Match**:\n\nDeploying containerized Python agent applications to Cloud Run gives you an instant HTTPS public API with scale-to-zero economics. No idle server bills, automatic TLS certificates, and global scaling out of the box.\n\nBuilding **GiftAdvisor** with Google ADK demonstrated how accessible and clean multi-agent orchestration has become in Python.", "url": "https://wpnews.pro/news/multi-agent-gift-recommendation-engine-powered-by-google-adk-gemini", "canonical_source": "https://dev.to/inushathathsara/multi-agent-gift-recommendation-engine-powered-by-google-adk-gemini-3669", "published_at": "2026-08-21 15:27:55+00:00", "updated_at": "2026-08-21 15:45:33.650168+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-agents", "ai-products", "developer-tools"], "entities": ["Google ADK", "Gemini", "GiftAdvisor", "Cloud Run", "ProfileAnalyzerAgent", "IdeaFinderAgent", "BudgetFilterAgent", "SequentialAgent"], "alternates": {"html": "https://wpnews.pro/news/multi-agent-gift-recommendation-engine-powered-by-google-adk-gemini", "markdown": "https://wpnews.pro/news/multi-agent-gift-recommendation-engine-powered-by-google-adk-gemini.md", "text": "https://wpnews.pro/news/multi-agent-gift-recommendation-engine-powered-by-google-adk-gemini.txt", "jsonld": "https://wpnews.pro/news/multi-agent-gift-recommendation-engine-powered-by-google-adk-gemini.jsonld"}}