[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"summary-668072030a93af7f-next-26-build-agents-with-adk-skills-and-gemini-summary":3,"summaries-facets-categories":247,"summary-related-668072030a93af7f-next-26-build-agents-with-adk-skills-and-gemini-summary":3816},{"id":4,"title":5,"ai":6,"body":13,"categories":196,"created_at":198,"date_modified":198,"description":67,"extension":199,"faq":198,"featured":200,"kicker_label":198,"meta":201,"navigation":229,"path":230,"published_at":231,"question":198,"scraped_at":232,"seo":233,"sitemap":234,"source_id":235,"source_name":236,"source_type":237,"source_url":238,"stem":239,"tags":240,"thumbnail_url":198,"tldr":244,"tweet":198,"unknown_tags":245,"__hash__":246},"summaries\u002Fsummaries\u002F668072030a93af7f-next-26-build-agents-with-adk-skills-and-gemini-summary.md","Next '26: Build Agents with ADK, Skills, and Gemini",{"provider":7,"model":8,"input_tokens":9,"output_tokens":10,"processing_time_ms":11,"cost_usd":12},"openrouter","x-ai\u002Fgrok-4.1-fast",8783,2529,29411,0.0029986,{"type":14,"value":15,"toc":189},"minimark",[16,21,34,37,40,44,51,109,112,119,122,126,133,136,139,143,146,149,152,156,185],[17,18,20],"h2",{"id":19},"agent-development-kit-adk-enables-flexible-production-ready-agents","Agent Development Kit (ADK) Enables Flexible, Production-Ready Agents",[22,23,24,25,29,30,33],"p",{},"ADK, Google's open-source framework launched at Next '26, stands out for building enterprise agents in 2026. It supports Python (primary), Go, TypeScript, and Java libraries, decoupling agent logic from specific models. Use Gemini 3\u002F3.1 Flash\u002FPro for reasoning, or integrate Claude, open models on GKE, or any provider. Agents gain intelligence via ",[26,27,28],"strong",{},"tools"," (functions for computation or external services like MCP servers\u002Fdatabases) and ",[26,31,32],{},"skills"," (new concept: YAML metadata for quick loading + on-demand markdown body with code\u002Fscripts).",[22,35,36],{},"Skills keep context lean: Agent loads YAML summaries of all skills at startup (e.g., \"GIS tool generates marathon routes\"), then fetches full body only when needed. This avoids token bloat for complex tasks. ADK 2.0 adds graph-based features for larger agent graphs. Deploy to Agent Runtime, Cloud Run, or GKE for scale.",[22,38,39],{},"\"When you go to build agent in 2026, you have a lot of options. And we believe that ADK, agent development kit is the best way to do this.\"",[17,41,43],{"id":42},"marathon-planning-demo-multi-agent-orchestration-in-action","Marathon Planning Demo: Multi-Agent Orchestration in Action",[22,45,46,47,50],{},"Core demo simulates planning a 10,000-runner Las Vegas marathon via a ",[26,48,49],{},"planner agent"," in a 3D Las Vegas app (Race Condition repo). Prompt: \"Plan a marathon in Las Vegas for 10,000 runners.\" Agent dynamically loads skills:",[52,53,54,97,103],"ul",{},[55,56,57,60,61],"li",{},[26,58,59],{},"GIS Spatial Engineering",": Python script processes GeoJSON (Las Vegas road network) to compute exact 42.195km route. Handles constraints: no back-half elevation gains, geofenced to city bounds, water stations at intervals. Math ensures precision—model doesn't hallucinate routes.",[62,63,68],"pre",{"className":64,"code":65,"language":66,"meta":67,"style":67},"language-python shiki shiki-themes github-light github-dark","# Excerpt from skill script\ndef generate_marathon_route(geojson_data, target_length_km=42.195):\n    # Mathematical ops on coordinates for route optimization\n    ...\n","python","",[69,70,71,79,85,91],"code",{"__ignoreMap":67},[72,73,76],"span",{"class":74,"line":75},"line",1,[72,77,78],{},"# Excerpt from skill script\n",[72,80,82],{"class":74,"line":81},2,[72,83,84],{},"def generate_marathon_route(geojson_data, target_length_km=42.195):\n",[72,86,88],{"class":74,"line":87},3,[72,89,90],{},"    # Mathematical ops on coordinates for route optimization\n",[72,92,94],{"class":74,"line":93},4,[72,95,96],{},"    ...\n",[55,98,99,102],{},[26,100,101],{},"Mapping",": Queries Google Maps MCP server (natural language over APIs) for places (landmarks like Bellagio, Sphere), weather history (avoid extreme temps).",[55,104,105,108],{},[26,106,107],{},"Race Director",": Text-based guidelines from Google Doc (converted via Workspace MCP + Gemini summarization). Covers soft reqs: 3-4 start lanes, porta-potty spacing, traffic impact, economic notes.",[22,110,111],{},"Agent iterates: Loads skills on-demand, calls tools, outputs grounded plan. Full code in open-source Race Condition repo (includes .mmd files for Claude\u002FGemini CLI\u002FAntigravity coding harnesses). Codelab guides setup\u002Fdeploy.",[22,113,114,115,118],{},"\"We took the task of okay can we take that process ",[72,116,117],{},"marathon planning"," and make it so that bunch of agents working together can do the same thing if possible even better.\"",[22,120,121],{},"Trade-offs: Skills shine for modular, discoverable capabilities but require upfront YAML curation. Tools handle real-time actions; combine for hybrid intelligence.",[17,123,125],{"id":124},"multi-agent-architectures-and-protocols","Multi-Agent Architectures and Protocols",[22,127,128,129,132],{},"Post-keynote chats (Ivan Nardini, Casey West) detail Demo 2: Multi-agent setup with real-time evaluation, ",[26,130,131],{},"Agent2Agent (A2A) protocol",", A2UI registry. Started Feb '26; evolved from tools to skills differentiation. Identities for marathon: planner + specialized roles (e.g., route optimizer, logistics).",[22,134,135],{},"A2A enables agent handoffs; registry discovers skills\u002FUI agents. Built with Vertex AI, Gemini Enterprise Agent Platform. Other segments touch Flutter agents, Firebase SQL Connect (gcloud sql connect), OpenTelemetry tracing, Data Agent Kit, Gemini Nano, Vertex AI Memory Bank.",[22,137,138],{},"\"We start using tools and then uh we switch and we decide to differentiate between tools and skills.\"",[17,140,142],{"id":141},"developer-resources-and-ecosystem","Developer Resources and Ecosystem",[22,144,145],{},"Next '26 emphasizes hands-on: Clone Race Condition for simulation\u002FUI\u002Fagents. Use Google Antigravity, Firebase agent skills, Google AI Studio. Hackathons like Gemini Live Agent Challenge; codelabs (e.g., Building Trustable AI at 100 MPH). GEAR hub, 100+ session VODs.",[22,147,148],{},"Integrates Workspace MCP (Docs to skills), Maps MCP (NL queries). For trust\u002Fscaling: Evaluation loops, memory banks. Opinion: 2026 agents succeed via right tools\u002Fskills\u002Fruntime—not just models.",[22,150,151],{},"\"It's not about just okay, what model I choose and what agent framework I use. It's more about how do I give the agent the right tools, the right skills and the right place to run.\"",[17,153,155],{"id":154},"key-takeaways","Key Takeaways",[52,157,158,161,164,167,170,173,176,179,182],{},[55,159,160],{},"Start with ADK for multi-language, model-agnostic agents; pair with Gemini for reasoning.",[55,162,163],{},"Design skills as YAML metadata + lazy-loaded markdown\u002Fcode to manage context efficiently.",[55,165,166],{},"Ground agents: Use Python scripts for math (GIS routes), MCP for APIs (Maps weather\u002Fplaces).",[55,168,169],{},"Clone Race Condition repo; follow codelab to build\u002Fdeploy marathon planner.",[55,171,172],{},"Differentiate tools (actions) vs. skills (discoverable modules); use A2A for orchestration.",[55,174,175],{},"Convert docs to skills via Gemini + Workspace MCP for non-deterministic guidelines.",[55,177,178],{},"Deploy to Agent Runtime\u002FCloud Run; trace with OpenTelemetry.",[55,180,181],{},"Evaluate Antigravity\u002FCursor for AI-assisted coding in agent repos.",[55,183,184],{},"Join Gemini Live Agent Challenge for hands-on multi-agent practice.",[186,187,188],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":67,"searchDepth":81,"depth":81,"links":190},[191,192,193,194,195],{"id":19,"depth":81,"text":20},{"id":42,"depth":81,"text":43},{"id":124,"depth":81,"text":125},{"id":141,"depth":81,"text":142},{"id":154,"depth":81,"text":155},[197],"AI & LLMs",null,"md",false,{"content_references":202,"triage":225},[203,208,212,216,219,222],{"type":204,"title":205,"url":206,"context":207},"other","Race Condition repo","https:\u002F\u002Fgoo.gle\u002F4w4vvfK","mentioned",{"type":209,"title":210,"url":211,"context":207},"tool","Google Cloud Data Agent Kit","https:\u002F\u002Fgoo.gle\u002F4t66FJx",{"type":213,"title":214,"url":215,"context":207},"event","Gemini Live Agent Challenge (Hackathon)","https:\u002F\u002Fgoo.gle\u002F4cQtJpt",{"type":204,"title":217,"url":218,"context":207},"Building Trustable AI at 100 MPH (Codelab)","https:\u002F\u002Fgoo.gle\u002F4tGKNFB",{"type":209,"title":220,"url":221,"context":207},"Google Antigravity","https:\u002F\u002Fgoo.gle\u002F48uNu4G",{"type":209,"title":223,"url":224,"context":207},"Firebase agent skills","https:\u002F\u002Fgoo.gle\u002F4mZisaY",{"relevance":226,"novelty":93,"quality":93,"actionability":93,"composite":227,"reasoning":228},5,4.35,"Category: AI & LLMs. The article discusses the Agent Development Kit (ADK) for building production-ready agents, which is highly relevant for developers looking to integrate AI into their products. It provides a concrete example of using the ADK for a marathon planning application, showcasing practical implementation details that can be directly applied.",true,"\u002Fsummaries\u002F668072030a93af7f-next-26-build-agents-with-adk-skills-and-gemini-summary","2026-04-29 17:41:52","2026-05-03 16:58:30",{"title":5,"description":67},{"loc":230},"54c3f5596d03fad3","Google Cloud Tech","article","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=N7N0TU9tkzw","summaries\u002F668072030a93af7f-next-26-build-agents-with-adk-skills-and-gemini-summary",[241,242,66,243],"agents","ai-tools","cloud","Google Cloud Next '26 demos production multi-agent systems using open-source ADK for any language\u002Fmodel, modular skills for efficient context, and tools like MCP servers—open-sourced Race Condition repo for marathon planning.",[],"d5M0dBrNr6LiN5dQor6oXQlD3_RTwdIBq2MRATryRWM",[248,251,254,256,259,262,264,266,268,270,272,274,277,279,281,283,285,287,289,291,293,295,298,301,303,305,308,310,312,315,317,319,321,323,325,327,329,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,377,379,381,383,385,387,389,391,393,395,397,399,401,403,405,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,437,439,441,443,445,447,449,451,453,455,457,459,461,463,465,467,469,471,473,475,477,479,481,483,485,487,489,491,493,495,497,499,501,503,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,563,565,567,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1000,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1118,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330,1332,1334,1336,1338,1340,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416,1418,1420,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528,1530,1532,1534,1536,1538,1540,1542,1544,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594,1596,1598,1600,1602,1604,1606,1608,1610,1612,1614,1616,1618,1620,1622,1624,1626,1628,1630,1632,1634,1636,1638,1640,1642,1644,1646,1648,1650,1652,1654,1656,1658,1660,1662,1664,1666,1668,1670,1672,1674,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708,1710,1712,1714,1716,1718,1720,1722,1724,1726,1728,1730,1732,1734,1736,1738,1740,1742,1744,1746,1748,1750,1752,1754,1756,1758,1760,1762,1764,1766,1768,1770,1772,1774,1776,1778,1780,1782,1784,1786,1788,1790,1792,1794,1796,1798,1800,1802,1804,1806,1808,1810,1812,1814,1816,1818,1820,1822,1824,1826,1828,1830,1832,1834,1836,1838,1840,1842,1844,1846,1848,1850,1852,1854,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878,1880,1882,1884,1886,1888,1890,1892,1894,1896,1898,1900,1902,1904,1906,1908,1910,1912,1914,1916,1918,1920,1922,1924,1926,1928,1930,1932,1934,1936,1938,1940,1942,1944,1946,1948,1950,1952,1954,1956,1958,1960,1962,1964,1966,1968,1970,1972,1974,1976,1978,1980,1982,1984,1986,1988,1990,1992,1994,1996,1998,2000,2002,2004,2006,2008,2010,2012,2014,2016,2018,2020,2022,2024,2026,2028,2030,2032,2034,2036,2038,2040,2042,2044,2046,2048,2050,2052,2054,2056,2058,2060,2062,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2086,2088,2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2110,2112,2114,2116,2118,2120,2122,2124,2126,2128,2130,2132,2134,2136,2138,2140,2142,2144,2146,2148,2150,2152,2154,2156,2158,2160,2162,2164,2166,2168,2170,2172,2174,2176,2178,2180,2182,2184,2186,2188,2190,2192,2194,2196,2198,2200,2202,2204,2206,2208,2210,2212,2214,2216,2218,2220,2222,2224,2226,2228,2230,2232,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258,2260,2262,2264,2266,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348,2350,2352,2354,2356,2358,2360,2362,2364,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392,2394,2396,2398,2400,2402,2404,2406,2408,2410,2412,2414,2416,2418,2420,2422,2424,2426,2428,2430,2432,2434,2436,2438,2440,2442,2444,2446,2448,2450,2452,2454,2456,2458,2460,2462,2464,2466,2468,2470,2472,2474,2476,2478,2480,2482,2484,2486,2488,2490,2492,2494,2496,2498,2500,2502,2504,2506,2508,2510,2512,2514,2516,2518,2520,2522,2524,2526,2528,2530,2532,2534,2536,2538,2540,2542,2544,2546,2548,2550,2552,2554,2556,2558,2560,2562,2564,2566,2568,2570,2572,2574,2576,2578,2580,2582,2584,2586,2588,2590,2592,2594,2596,2598,2600,2602,2604,2606,2608,2610,2612,2614,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658,2660,2662,2664,2666,2668,2670,2672,2674,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694,2696,2698,2700,2702,2704,2706,2708,2710,2712,2714,2716,2718,2720,2722,2724,2726,2728,2730,2732,2734,2736,2738,2740,2742,2744,2746,2748,2750,2752,2754,2756,2758,2760,2762,2764,2766,2768,2770,2772,2774,2776,2778,2780,2782,2784,2786,2788,2790,2792,2794,2796,2798,2800,2802,2804,2806,2808,2810,2812,2814,2816,2818,2820,2822,2824,2826,2828,2830,2832,2834,2836,2838,2840,2842,2844,2846,2848,2850,2852,2854,2856,2858,2860,2862,2864,2866,2868,2870,2872,2874,2876,2878,2880,2882,2884,2886,2888,2890,2892,2894,2896,2898,2900,2902,2904,2906,2908,2910,2912,2914,2916,2918,2920,2922,2924,2926,2928,2930,2932,2934,2936,2938,2940,2942,2944,2946,2948,2950,2952,2954,2956,2958,2960,2962,2964,2966,2968,2970,2972,2974,2976,2978,2980,2982,2984,2986,2988,2990,2992,2994,2996,2998,3000,3002,3004,3006,3008,3010,3012,3014,3016,3018,3020,3022,3024,3026,3028,3030,3032,3034,3036,3038,3040,3042,3044,3046,3048,3050,3052,3054,3056,3058,3060,3062,3064,3066,3068,3070,3072,3074,3076,3078,3080,3082,3084,3086,3088,3090,3092,3094,3096,3098,3100,3102,3104,3106,3108,3110,3112,3114,3116,3118,3120,3122,3124,3126,3128,3130,3132,3134,3136,3138,3140,3142,3144,3146,3148,3150,3152,3154,3156,3158,3160,3162,3164,3166,3168,3170,3172,3174,3176,3178,3180,3182,3184,3186,3188,3190,3192,3194,3196,3198,3200,3202,3204,3206,3208,3210,3212,3214,3216,3218,3220,3222,3224,3226,3228,3230,3232,3234,3236,3238,3240,3242,3244,3246,3248,3250,3252,3254,3256,3258,3260,3262,3264,3266,3268,3270,3272,3274,3276,3278,3280,3282,3284,3286,3288,3290,3292,3294,3296,3298,3300,3302,3304,3306,3308,3310,3312,3314,3316,3318,3320,3322,3324,3326,3328,3330,3332,3334,3336,3338,3340,3342,3344,3346,3348,3350,3352,3354,3356,3358,3360,3362,3364,3366,3368,3370,3372,3374,3376,3378,3380,3382,3384,3386,3388,3390,3392,3394,3396,3398,3400,3402,3404,3406,3408,3410,3412,3414,3416,3418,3420,3422,3424,3426,3428,3430,3432,3434,3436,3438,3440,3442,3444,3446,3448,3450,3452,3454,3456,3458,3460,3462,3464,3466,3468,3470,3472,3474,3476,3478,3480,3482,3484,3486,3488,3490,3492,3494,3496,3498,3500,3502,3504,3506,3508,3510,3512,3514,3516,3518,3520,3522,3524,3526,3528,3530,3532,3534,3536,3538,3540,3542,3544,3546,3548,3550,3552,3554,3556,3558,3560,3562,3564,3566,3568,3570,3572,3574,3576,3578,3580,3582,3584,3586,3588,3590,3592,3594,3596,3598,3600,3602,3604,3606,3608,3610,3612,3614,3616,3618,3620,3622,3624,3626,3628,3630,3632,3634,3636,3638,3640,3642,3644,3646,3648,3650,3652,3654,3656,3658,3660,3662,3664,3666,3668,3670,3672,3674,3676,3678,3680,3682,3684,3686,3688,3690,3692,3694,3696,3698,3700,3702,3704,3706,3708,3710,3712,3714,3716,3718,3720,3722,3724,3726,3728,3730,3732,3734,3736,3738,3740,3742,3744,3746,3748,3750,3752,3754,3756,3758,3760,3762,3764,3766,3768,3770,3772,3774,3776,3778,3780,3782,3784,3786,3788,3790,3792,3794,3796,3798,3800,3802,3804,3806,3808,3810,3812,3814],{"categories":249},[250],"Developer Productivity",{"categories":252},[253],"Business & SaaS",{"categories":255},[197],{"categories":257},[258],"AI Automation",{"categories":260},[261],"Product Strategy",{"categories":263},[197],{"categories":265},[250],{"categories":267},[253],{"categories":269},[],{"categories":271},[197],{"categories":273},[],{"categories":275},[276],"AI News & Trends",{"categories":278},[258],{"categories":280},[276],{"categories":282},[258],{"categories":284},[258],{"categories":286},[197],{"categories":288},[197],{"categories":290},[276],{"categories":292},[197],{"categories":294},[],{"categories":296},[297],"Design & Frontend",{"categories":299},[300],"Data Science & Visualization",{"categories":302},[276],{"categories":304},[],{"categories":306},[307],"Software Engineering",{"categories":309},[197],{"categories":311},[258],{"categories":313},[314],"Marketing & Growth",{"categories":316},[197],{"categories":318},[258],{"categories":320},[],{"categories":322},[],{"categories":324},[297],{"categories":326},[258],{"categories":328},[250],{"categories":330},[297],{"categories":332},[197],{"categories":334},[258],{"categories":336},[276],{"categories":338},[],{"categories":340},[],{"categories":342},[258],{"categories":344},[307],{"categories":346},[],{"categories":348},[253],{"categories":350},[],{"categories":352},[],{"categories":354},[258],{"categories":356},[258],{"categories":358},[197],{"categories":360},[],{"categories":362},[307],{"categories":364},[],{"categories":366},[],{"categories":368},[],{"categories":370},[197],{"categories":372},[314],{"categories":374},[297],{"categories":376},[297],{"categories":378},[197],{"categories":380},[258],{"categories":382},[197],{"categories":384},[197],{"categories":386},[258],{"categories":388},[258],{"categories":390},[300],{"categories":392},[276],{"categories":394},[258],{"categories":396},[314],{"categories":398},[258],{"categories":400},[261],{"categories":402},[],{"categories":404},[258],{"categories":406},[],{"categories":408},[258],{"categories":410},[307],{"categories":412},[297],{"categories":414},[197],{"categories":416},[],{"categories":418},[],{"categories":420},[258],{"categories":422},[],{"categories":424},[197],{"categories":426},[],{"categories":428},[250],{"categories":430},[307],{"categories":432},[253],{"categories":434},[276],{"categories":436},[197],{"categories":438},[],{"categories":440},[197],{"categories":442},[],{"categories":444},[307],{"categories":446},[300],{"categories":448},[],{"categories":450},[197],{"categories":452},[297],{"categories":454},[],{"categories":456},[297],{"categories":458},[258],{"categories":460},[],{"categories":462},[258],{"categories":464},[276],{"categories":466},[197],{"categories":468},[],{"categories":470},[258],{"categories":472},[197],{"categories":474},[261],{"categories":476},[],{"categories":478},[197],{"categories":480},[258],{"categories":482},[258],{"categories":484},[],{"categories":486},[300],{"categories":488},[197],{"categories":490},[],{"categories":492},[250],{"categories":494},[253],{"categories":496},[197],{"categories":498},[258],{"categories":500},[307],{"categories":502},[197],{"categories":504},[],{"categories":506},[],{"categories":508},[197],{"categories":510},[],{"categories":512},[297],{"categories":514},[],{"categories":516},[197],{"categories":518},[],{"categories":520},[258],{"categories":522},[197],{"categories":524},[297],{"categories":526},[],{"categories":528},[197],{"categories":530},[197],{"categories":532},[253],{"categories":534},[258],{"categories":536},[197],{"categories":538},[297],{"categories":540},[258],{"categories":542},[],{"categories":544},[],{"categories":546},[276],{"categories":548},[],{"categories":550},[197],{"categories":552},[253,314],{"categories":554},[],{"categories":556},[197],{"categories":558},[],{"categories":560},[],{"categories":562},[197],{"categories":564},[],{"categories":566},[197],{"categories":568},[569],"DevOps & Cloud",{"categories":571},[],{"categories":573},[276],{"categories":575},[297],{"categories":577},[],{"categories":579},[276],{"categories":581},[276],{"categories":583},[197],{"categories":585},[314],{"categories":587},[],{"categories":589},[253],{"categories":591},[],{"categories":593},[197,569],{"categories":595},[197],{"categories":597},[197],{"categories":599},[258],{"categories":601},[197,307],{"categories":603},[300],{"categories":605},[197],{"categories":607},[314],{"categories":609},[258],{"categories":611},[258],{"categories":613},[],{"categories":615},[258],{"categories":617},[197,253],{"categories":619},[],{"categories":621},[297],{"categories":623},[297],{"categories":625},[],{"categories":627},[],{"categories":629},[276],{"categories":631},[],{"categories":633},[250],{"categories":635},[307],{"categories":637},[197],{"categories":639},[297],{"categories":641},[258],{"categories":643},[307],{"categories":645},[276],{"categories":647},[297],{"categories":649},[],{"categories":651},[197],{"categories":653},[197],{"categories":655},[197],{"categories":657},[276],{"categories":659},[250],{"categories":661},[197],{"categories":663},[258],{"categories":665},[569],{"categories":667},[297],{"categories":669},[258],{"categories":671},[],{"categories":673},[],{"categories":675},[297],{"categories":677},[276],{"categories":679},[300],{"categories":681},[],{"categories":683},[197],{"categories":685},[197],{"categories":687},[253],{"categories":689},[197],{"categories":691},[197],{"categories":693},[276],{"categories":695},[],{"categories":697},[258],{"categories":699},[307],{"categories":701},[],{"categories":703},[197],{"categories":705},[197],{"categories":707},[258],{"categories":709},[],{"categories":711},[],{"categories":713},[197],{"categories":715},[],{"categories":717},[253],{"categories":719},[258],{"categories":721},[],{"categories":723},[250],{"categories":725},[197],{"categories":727},[253],{"categories":729},[276],{"categories":731},[],{"categories":733},[],{"categories":735},[],{"categories":737},[276],{"categories":739},[276],{"categories":741},[],{"categories":743},[],{"categories":745},[253],{"categories":747},[],{"categories":749},[],{"categories":751},[250],{"categories":753},[],{"categories":755},[314],{"categories":757},[258],{"categories":759},[253],{"categories":761},[258],{"categories":763},[],{"categories":765},[261],{"categories":767},[297],{"categories":769},[307],{"categories":771},[197],{"categories":773},[258],{"categories":775},[253],{"categories":777},[197],{"categories":779},[],{"categories":781},[],{"categories":783},[307],{"categories":785},[300],{"categories":787},[261],{"categories":789},[258],{"categories":791},[197],{"categories":793},[],{"categories":795},[569],{"categories":797},[],{"categories":799},[258],{"categories":801},[],{"categories":803},[],{"categories":805},[197],{"categories":807},[297],{"categories":809},[314],{"categories":811},[258],{"categories":813},[],{"categories":815},[250],{"categories":817},[],{"categories":819},[276],{"categories":821},[197,569],{"categories":823},[276],{"categories":825},[197],{"categories":827},[253],{"categories":829},[197],{"categories":831},[],{"categories":833},[253],{"categories":835},[],{"categories":837},[307],{"categories":839},[297],{"categories":841},[276],{"categories":843},[300],{"categories":845},[250],{"categories":847},[197],{"categories":849},[307],{"categories":851},[],{"categories":853},[],{"categories":855},[261],{"categories":857},[],{"categories":859},[197],{"categories":861},[],{"categories":863},[297],{"categories":865},[297],{"categories":867},[297],{"categories":869},[],{"categories":871},[],{"categories":873},[276],{"categories":875},[258],{"categories":877},[197],{"categories":879},[197],{"categories":881},[197],{"categories":883},[253],{"categories":885},[197],{"categories":887},[],{"categories":889},[307],{"categories":891},[307],{"categories":893},[253],{"categories":895},[],{"categories":897},[197],{"categories":899},[197],{"categories":901},[253],{"categories":903},[276],{"categories":905},[314],{"categories":907},[258],{"categories":909},[],{"categories":911},[297],{"categories":913},[],{"categories":915},[197],{"categories":917},[],{"categories":919},[253],{"categories":921},[258],{"categories":923},[],{"categories":925},[569],{"categories":927},[300],{"categories":929},[307],{"categories":931},[314],{"categories":933},[307],{"categories":935},[258],{"categories":937},[],{"categories":939},[],{"categories":941},[258],{"categories":943},[250],{"categories":945},[258],{"categories":947},[261],{"categories":949},[253],{"categories":951},[],{"categories":953},[197],{"categories":955},[261],{"categories":957},[197],{"categories":959},[197],{"categories":961},[314],{"categories":963},[297],{"categories":965},[258],{"categories":967},[],{"categories":969},[],{"categories":971},[569],{"categories":973},[307],{"categories":975},[],{"categories":977},[258],{"categories":979},[197],{"categories":981},[297,197],{"categories":983},[250],{"categories":985},[],{"categories":987},[197],{"categories":989},[250],{"categories":991},[297],{"categories":993},[258],{"categories":995},[307],{"categories":997},[],{"categories":999},[197],{"categories":1001},[],{"categories":1003},[250],{"categories":1005},[],{"categories":1007},[258],{"categories":1009},[261],{"categories":1011},[197],{"categories":1013},[197],{"categories":1015},[297],{"categories":1017},[258],{"categories":1019},[569],{"categories":1021},[297],{"categories":1023},[258],{"categories":1025},[197],{"categories":1027},[197],{"categories":1029},[197],{"categories":1031},[276],{"categories":1033},[],{"categories":1035},[261],{"categories":1037},[258],{"categories":1039},[297],{"categories":1041},[258],{"categories":1043},[307],{"categories":1045},[297],{"categories":1047},[258],{"categories":1049},[276],{"categories":1051},[],{"categories":1053},[197],{"categories":1055},[297],{"categories":1057},[197],{"categories":1059},[250],{"categories":1061},[276],{"categories":1063},[197],{"categories":1065},[314],{"categories":1067},[197],{"categories":1069},[197],{"categories":1071},[258],{"categories":1073},[258],{"categories":1075},[197],{"categories":1077},[258],{"categories":1079},[297],{"categories":1081},[197],{"categories":1083},[],{"categories":1085},[],{"categories":1087},[307],{"categories":1089},[],{"categories":1091},[250],{"categories":1093},[569],{"categories":1095},[],{"categories":1097},[250],{"categories":1099},[253],{"categories":1101},[314],{"categories":1103},[],{"categories":1105},[253],{"categories":1107},[],{"categories":1109},[],{"categories":1111},[],{"categories":1113},[],{"categories":1115},[],{"categories":1117},[197],{"categories":1119},[258],{"categories":1121},[569],{"categories":1123},[250],{"categories":1125},[197],{"categories":1127},[307],{"categories":1129},[261],{"categories":1131},[197],{"categories":1133},[314],{"categories":1135},[197],{"categories":1137},[197],{"categories":1139},[197],{"categories":1141},[197,250],{"categories":1143},[307],{"categories":1145},[307],{"categories":1147},[297],{"categories":1149},[197],{"categories":1151},[],{"categories":1153},[],{"categories":1155},[],{"categories":1157},[307],{"categories":1159},[300],{"categories":1161},[276],{"categories":1163},[297],{"categories":1165},[],{"categories":1167},[197],{"categories":1169},[197],{"categories":1171},[],{"categories":1173},[],{"categories":1175},[258],{"categories":1177},[197],{"categories":1179},[253],{"categories":1181},[],{"categories":1183},[250],{"categories":1185},[197],{"categories":1187},[250],{"categories":1189},[197],{"categories":1191},[307],{"categories":1193},[314],{"categories":1195},[197,297],{"categories":1197},[276],{"categories":1199},[297],{"categories":1201},[],{"categories":1203},[569],{"categories":1205},[297],{"categories":1207},[258],{"categories":1209},[],{"categories":1211},[],{"categories":1213},[],{"categories":1215},[],{"categories":1217},[307],{"categories":1219},[258],{"categories":1221},[258],{"categories":1223},[197],{"categories":1225},[197],{"categories":1227},[],{"categories":1229},[297],{"categories":1231},[],{"categories":1233},[],{"categories":1235},[258],{"categories":1237},[],{"categories":1239},[],{"categories":1241},[314],{"categories":1243},[314],{"categories":1245},[258],{"categories":1247},[],{"categories":1249},[197],{"categories":1251},[197],{"categories":1253},[307],{"categories":1255},[297],{"categories":1257},[297],{"categories":1259},[258],{"categories":1261},[250],{"categories":1263},[197],{"categories":1265},[297],{"categories":1267},[297],{"categories":1269},[258],{"categories":1271},[258],{"categories":1273},[197],{"categories":1275},[],{"categories":1277},[],{"categories":1279},[197],{"categories":1281},[258],{"categories":1283},[276],{"categories":1285},[307],{"categories":1287},[250],{"categories":1289},[197],{"categories":1291},[],{"categories":1293},[258],{"categories":1295},[258],{"categories":1297},[],{"categories":1299},[250],{"categories":1301},[197],{"categories":1303},[250],{"categories":1305},[250],{"categories":1307},[],{"categories":1309},[],{"categories":1311},[258],{"categories":1313},[258],{"categories":1315},[197],{"categories":1317},[197],{"categories":1319},[276],{"categories":1321},[300],{"categories":1323},[261],{"categories":1325},[276],{"categories":1327},[297],{"categories":1329},[],{"categories":1331},[276],{"categories":1333},[],{"categories":1335},[],{"categories":1337},[],{"categories":1339},[],{"categories":1341},[307],{"categories":1343},[300],{"categories":1345},[],{"categories":1347},[197],{"categories":1349},[197],{"categories":1351},[300],{"categories":1353},[307],{"categories":1355},[],{"categories":1357},[],{"categories":1359},[258],{"categories":1361},[276],{"categories":1363},[276],{"categories":1365},[258],{"categories":1367},[250],{"categories":1369},[197,569],{"categories":1371},[],{"categories":1373},[297],{"categories":1375},[250],{"categories":1377},[258],{"categories":1379},[297],{"categories":1381},[],{"categories":1383},[258],{"categories":1385},[258],{"categories":1387},[197],{"categories":1389},[314],{"categories":1391},[307],{"categories":1393},[297],{"categories":1395},[],{"categories":1397},[258],{"categories":1399},[197],{"categories":1401},[258],{"categories":1403},[258],{"categories":1405},[258],{"categories":1407},[314],{"categories":1409},[258],{"categories":1411},[197],{"categories":1413},[],{"categories":1415},[314],{"categories":1417},[276],{"categories":1419},[258],{"categories":1421},[],{"categories":1423},[],{"categories":1425},[197],{"categories":1427},[258],{"categories":1429},[276],{"categories":1431},[258],{"categories":1433},[],{"categories":1435},[],{"categories":1437},[],{"categories":1439},[258],{"categories":1441},[],{"categories":1443},[],{"categories":1445},[300],{"categories":1447},[197],{"categories":1449},[300],{"categories":1451},[276],{"categories":1453},[197],{"categories":1455},[197],{"categories":1457},[258],{"categories":1459},[197],{"categories":1461},[],{"categories":1463},[],{"categories":1465},[569],{"categories":1467},[],{"categories":1469},[],{"categories":1471},[250],{"categories":1473},[],{"categories":1475},[],{"categories":1477},[],{"categories":1479},[],{"categories":1481},[307],{"categories":1483},[276],{"categories":1485},[314],{"categories":1487},[253],{"categories":1489},[197],{"categories":1491},[197],{"categories":1493},[253],{"categories":1495},[],{"categories":1497},[297],{"categories":1499},[258],{"categories":1501},[253],{"categories":1503},[197],{"categories":1505},[197],{"categories":1507},[250],{"categories":1509},[],{"categories":1511},[250],{"categories":1513},[197],{"categories":1515},[314],{"categories":1517},[258],{"categories":1519},[276],{"categories":1521},[253],{"categories":1523},[197],{"categories":1525},[258],{"categories":1527},[],{"categories":1529},[197],{"categories":1531},[250],{"categories":1533},[197],{"categories":1535},[],{"categories":1537},[276],{"categories":1539},[197],{"categories":1541},[],{"categories":1543},[253],{"categories":1545},[197],{"categories":1547},[],{"categories":1549},[],{"categories":1551},[],{"categories":1553},[197],{"categories":1555},[],{"categories":1557},[569],{"categories":1559},[197],{"categories":1561},[],{"categories":1563},[197],{"categories":1565},[197],{"categories":1567},[197],{"categories":1569},[197,569],{"categories":1571},[197],{"categories":1573},[197],{"categories":1575},[297],{"categories":1577},[258],{"categories":1579},[],{"categories":1581},[258],{"categories":1583},[197],{"categories":1585},[197],{"categories":1587},[197],{"categories":1589},[250],{"categories":1591},[250],{"categories":1593},[307],{"categories":1595},[297],{"categories":1597},[258],{"categories":1599},[],{"categories":1601},[197],{"categories":1603},[276],{"categories":1605},[197],{"categories":1607},[253],{"categories":1609},[],{"categories":1611},[569],{"categories":1613},[297],{"categories":1615},[297],{"categories":1617},[258],{"categories":1619},[276],{"categories":1621},[258],{"categories":1623},[197],{"categories":1625},[],{"categories":1627},[197],{"categories":1629},[],{"categories":1631},[],{"categories":1633},[197],{"categories":1635},[197],{"categories":1637},[197],{"categories":1639},[258],{"categories":1641},[197],{"categories":1643},[],{"categories":1645},[300],{"categories":1647},[258],{"categories":1649},[],{"categories":1651},[197],{"categories":1653},[276],{"categories":1655},[],{"categories":1657},[297],{"categories":1659},[569],{"categories":1661},[276],{"categories":1663},[307],{"categories":1665},[307],{"categories":1667},[276],{"categories":1669},[276],{"categories":1671},[569],{"categories":1673},[],{"categories":1675},[276],{"categories":1677},[197],{"categories":1679},[250],{"categories":1681},[276],{"categories":1683},[],{"categories":1685},[300],{"categories":1687},[276],{"categories":1689},[307],{"categories":1691},[276],{"categories":1693},[569],{"categories":1695},[197],{"categories":1697},[197],{"categories":1699},[],{"categories":1701},[253],{"categories":1703},[],{"categories":1705},[],{"categories":1707},[197],{"categories":1709},[197],{"categories":1711},[197],{"categories":1713},[197],{"categories":1715},[],{"categories":1717},[300],{"categories":1719},[250],{"categories":1721},[],{"categories":1723},[197],{"categories":1725},[197],{"categories":1727},[569],{"categories":1729},[569],{"categories":1731},[],{"categories":1733},[258],{"categories":1735},[276],{"categories":1737},[276],{"categories":1739},[197],{"categories":1741},[258],{"categories":1743},[],{"categories":1745},[297],{"categories":1747},[197],{"categories":1749},[197],{"categories":1751},[],{"categories":1753},[],{"categories":1755},[569],{"categories":1757},[197],{"categories":1759},[307],{"categories":1761},[253],{"categories":1763},[197],{"categories":1765},[],{"categories":1767},[258],{"categories":1769},[250],{"categories":1771},[250],{"categories":1773},[],{"categories":1775},[197],{"categories":1777},[297],{"categories":1779},[258],{"categories":1781},[],{"categories":1783},[197],{"categories":1785},[197],{"categories":1787},[258],{"categories":1789},[],{"categories":1791},[258],{"categories":1793},[307],{"categories":1795},[],{"categories":1797},[197],{"categories":1799},[],{"categories":1801},[197],{"categories":1803},[],{"categories":1805},[197],{"categories":1807},[197],{"categories":1809},[],{"categories":1811},[197],{"categories":1813},[276],{"categories":1815},[197],{"categories":1817},[197],{"categories":1819},[250],{"categories":1821},[197],{"categories":1823},[276],{"categories":1825},[258],{"categories":1827},[],{"categories":1829},[197],{"categories":1831},[314],{"categories":1833},[],{"categories":1835},[],{"categories":1837},[],{"categories":1839},[250],{"categories":1841},[276],{"categories":1843},[258],{"categories":1845},[197],{"categories":1847},[297],{"categories":1849},[258],{"categories":1851},[],{"categories":1853},[258],{"categories":1855},[],{"categories":1857},[197],{"categories":1859},[258],{"categories":1861},[197],{"categories":1863},[],{"categories":1865},[197],{"categories":1867},[197],{"categories":1869},[276],{"categories":1871},[297],{"categories":1873},[258],{"categories":1875},[297],{"categories":1877},[253],{"categories":1879},[],{"categories":1881},[],{"categories":1883},[197],{"categories":1885},[250],{"categories":1887},[276],{"categories":1889},[],{"categories":1891},[],{"categories":1893},[307],{"categories":1895},[297],{"categories":1897},[],{"categories":1899},[197],{"categories":1901},[],{"categories":1903},[314],{"categories":1905},[197],{"categories":1907},[569],{"categories":1909},[307],{"categories":1911},[],{"categories":1913},[258],{"categories":1915},[197],{"categories":1917},[258],{"categories":1919},[258],{"categories":1921},[197],{"categories":1923},[],{"categories":1925},[250],{"categories":1927},[197],{"categories":1929},[253],{"categories":1931},[307],{"categories":1933},[297],{"categories":1935},[],{"categories":1937},[],{"categories":1939},[],{"categories":1941},[258],{"categories":1943},[297],{"categories":1945},[276],{"categories":1947},[197],{"categories":1949},[276],{"categories":1951},[297],{"categories":1953},[],{"categories":1955},[297],{"categories":1957},[276],{"categories":1959},[253],{"categories":1961},[197],{"categories":1963},[276],{"categories":1965},[314],{"categories":1967},[],{"categories":1969},[],{"categories":1971},[300],{"categories":1973},[197,307],{"categories":1975},[276],{"categories":1977},[197],{"categories":1979},[258],{"categories":1981},[258],{"categories":1983},[197],{"categories":1985},[],{"categories":1987},[307],{"categories":1989},[197],{"categories":1991},[300],{"categories":1993},[258],{"categories":1995},[314],{"categories":1997},[569],{"categories":1999},[],{"categories":2001},[250],{"categories":2003},[258],{"categories":2005},[258],{"categories":2007},[307],{"categories":2009},[197],{"categories":2011},[197],{"categories":2013},[],{"categories":2015},[],{"categories":2017},[],{"categories":2019},[569],{"categories":2021},[276],{"categories":2023},[197],{"categories":2025},[197],{"categories":2027},[197],{"categories":2029},[],{"categories":2031},[300],{"categories":2033},[253],{"categories":2035},[],{"categories":2037},[258],{"categories":2039},[569],{"categories":2041},[],{"categories":2043},[297],{"categories":2045},[297],{"categories":2047},[],{"categories":2049},[307],{"categories":2051},[297],{"categories":2053},[197],{"categories":2055},[],{"categories":2057},[276],{"categories":2059},[197],{"categories":2061},[297],{"categories":2063},[258],{"categories":2065},[276],{"categories":2067},[],{"categories":2069},[258],{"categories":2071},[297],{"categories":2073},[197],{"categories":2075},[],{"categories":2077},[197],{"categories":2079},[197],{"categories":2081},[569],{"categories":2083},[276],{"categories":2085},[300],{"categories":2087},[300],{"categories":2089},[],{"categories":2091},[],{"categories":2093},[],{"categories":2095},[258],{"categories":2097},[307],{"categories":2099},[307],{"categories":2101},[],{"categories":2103},[],{"categories":2105},[197],{"categories":2107},[],{"categories":2109},[258],{"categories":2111},[197],{"categories":2113},[],{"categories":2115},[197],{"categories":2117},[253],{"categories":2119},[197],{"categories":2121},[314],{"categories":2123},[258],{"categories":2125},[197],{"categories":2127},[307],{"categories":2129},[276],{"categories":2131},[258],{"categories":2133},[],{"categories":2135},[276],{"categories":2137},[258],{"categories":2139},[258],{"categories":2141},[],{"categories":2143},[253],{"categories":2145},[258],{"categories":2147},[],{"categories":2149},[197],{"categories":2151},[250],{"categories":2153},[276],{"categories":2155},[569],{"categories":2157},[258],{"categories":2159},[258],{"categories":2161},[250],{"categories":2163},[197],{"categories":2165},[],{"categories":2167},[],{"categories":2169},[297],{"categories":2171},[197,253],{"categories":2173},[],{"categories":2175},[250],{"categories":2177},[300],{"categories":2179},[197],{"categories":2181},[307],{"categories":2183},[197],{"categories":2185},[258],{"categories":2187},[197],{"categories":2189},[197],{"categories":2191},[276],{"categories":2193},[258],{"categories":2195},[],{"categories":2197},[],{"categories":2199},[258],{"categories":2201},[197],{"categories":2203},[569],{"categories":2205},[],{"categories":2207},[197],{"categories":2209},[258],{"categories":2211},[],{"categories":2213},[197],{"categories":2215},[314],{"categories":2217},[300],{"categories":2219},[258],{"categories":2221},[197],{"categories":2223},[569],{"categories":2225},[],{"categories":2227},[197],{"categories":2229},[314],{"categories":2231},[297],{"categories":2233},[197],{"categories":2235},[],{"categories":2237},[314],{"categories":2239},[276],{"categories":2241},[197],{"categories":2243},[197],{"categories":2245},[250],{"categories":2247},[],{"categories":2249},[],{"categories":2251},[297],{"categories":2253},[197],{"categories":2255},[300],{"categories":2257},[314],{"categories":2259},[314],{"categories":2261},[276],{"categories":2263},[],{"categories":2265},[],{"categories":2267},[197],{"categories":2269},[],{"categories":2271},[197,307],{"categories":2273},[276],{"categories":2275},[258],{"categories":2277},[307],{"categories":2279},[197],{"categories":2281},[250],{"categories":2283},[],{"categories":2285},[],{"categories":2287},[250],{"categories":2289},[314],{"categories":2291},[197],{"categories":2293},[],{"categories":2295},[297,197],{"categories":2297},[569],{"categories":2299},[250],{"categories":2301},[],{"categories":2303},[253],{"categories":2305},[253],{"categories":2307},[197],{"categories":2309},[307],{"categories":2311},[258],{"categories":2313},[276],{"categories":2315},[314],{"categories":2317},[297],{"categories":2319},[197],{"categories":2321},[197],{"categories":2323},[197],{"categories":2325},[250],{"categories":2327},[197],{"categories":2329},[258],{"categories":2331},[276],{"categories":2333},[],{"categories":2335},[],{"categories":2337},[300],{"categories":2339},[307],{"categories":2341},[197],{"categories":2343},[297],{"categories":2345},[300],{"categories":2347},[197],{"categories":2349},[197],{"categories":2351},[258],{"categories":2353},[258],{"categories":2355},[197,253],{"categories":2357},[],{"categories":2359},[297],{"categories":2361},[],{"categories":2363},[197],{"categories":2365},[276],{"categories":2367},[250],{"categories":2369},[250],{"categories":2371},[258],{"categories":2373},[197],{"categories":2375},[253],{"categories":2377},[307],{"categories":2379},[314],{"categories":2381},[],{"categories":2383},[276],{"categories":2385},[197],{"categories":2387},[197],{"categories":2389},[276],{"categories":2391},[307],{"categories":2393},[197],{"categories":2395},[258],{"categories":2397},[276],{"categories":2399},[197],{"categories":2401},[297],{"categories":2403},[197],{"categories":2405},[197],{"categories":2407},[569],{"categories":2409},[261],{"categories":2411},[258],{"categories":2413},[197],{"categories":2415},[276],{"categories":2417},[258],{"categories":2419},[314],{"categories":2421},[197],{"categories":2423},[],{"categories":2425},[197],{"categories":2427},[],{"categories":2429},[],{"categories":2431},[],{"categories":2433},[253],{"categories":2435},[197],{"categories":2437},[258],{"categories":2439},[276],{"categories":2441},[276],{"categories":2443},[276],{"categories":2445},[276],{"categories":2447},[],{"categories":2449},[250],{"categories":2451},[258],{"categories":2453},[276],{"categories":2455},[250],{"categories":2457},[258],{"categories":2459},[197],{"categories":2461},[197,258],{"categories":2463},[258],{"categories":2465},[569],{"categories":2467},[276],{"categories":2469},[276],{"categories":2471},[258],{"categories":2473},[197],{"categories":2475},[],{"categories":2477},[276],{"categories":2479},[314],{"categories":2481},[250],{"categories":2483},[197],{"categories":2485},[197],{"categories":2487},[],{"categories":2489},[307],{"categories":2491},[],{"categories":2493},[250],{"categories":2495},[258],{"categories":2497},[276],{"categories":2499},[197],{"categories":2501},[276],{"categories":2503},[250],{"categories":2505},[276],{"categories":2507},[276],{"categories":2509},[],{"categories":2511},[253],{"categories":2513},[258],{"categories":2515},[276],{"categories":2517},[276],{"categories":2519},[276],{"categories":2521},[276],{"categories":2523},[276],{"categories":2525},[276],{"categories":2527},[276],{"categories":2529},[276],{"categories":2531},[276],{"categories":2533},[276],{"categories":2535},[300],{"categories":2537},[250],{"categories":2539},[197],{"categories":2541},[197],{"categories":2543},[],{"categories":2545},[197,250],{"categories":2547},[],{"categories":2549},[258],{"categories":2551},[276],{"categories":2553},[258],{"categories":2555},[197],{"categories":2557},[197],{"categories":2559},[197],{"categories":2561},[197],{"categories":2563},[197],{"categories":2565},[258],{"categories":2567},[253],{"categories":2569},[297],{"categories":2571},[276],{"categories":2573},[197],{"categories":2575},[],{"categories":2577},[],{"categories":2579},[258],{"categories":2581},[297],{"categories":2583},[197],{"categories":2585},[],{"categories":2587},[],{"categories":2589},[314],{"categories":2591},[197],{"categories":2593},[],{"categories":2595},[],{"categories":2597},[250],{"categories":2599},[253],{"categories":2601},[197],{"categories":2603},[253],{"categories":2605},[297],{"categories":2607},[],{"categories":2609},[276],{"categories":2611},[],{"categories":2613},[297],{"categories":2615},[197],{"categories":2617},[314],{"categories":2619},[],{"categories":2621},[314],{"categories":2623},[],{"categories":2625},[],{"categories":2627},[258],{"categories":2629},[],{"categories":2631},[253],{"categories":2633},[250],{"categories":2635},[297],{"categories":2637},[307],{"categories":2639},[],{"categories":2641},[],{"categories":2643},[197],{"categories":2645},[250],{"categories":2647},[314],{"categories":2649},[],{"categories":2651},[258],{"categories":2653},[258],{"categories":2655},[276],{"categories":2657},[197],{"categories":2659},[258],{"categories":2661},[197],{"categories":2663},[258],{"categories":2665},[197],{"categories":2667},[261],{"categories":2669},[276],{"categories":2671},[],{"categories":2673},[314],{"categories":2675},[307],{"categories":2677},[258],{"categories":2679},[],{"categories":2681},[197],{"categories":2683},[258],{"categories":2685},[253],{"categories":2687},[250],{"categories":2689},[197],{"categories":2691},[297],{"categories":2693},[307],{"categories":2695},[307],{"categories":2697},[197],{"categories":2699},[300],{"categories":2701},[197],{"categories":2703},[258],{"categories":2705},[253],{"categories":2707},[258],{"categories":2709},[197],{"categories":2711},[197],{"categories":2713},[258],{"categories":2715},[276],{"categories":2717},[],{"categories":2719},[250],{"categories":2721},[197],{"categories":2723},[258],{"categories":2725},[197],{"categories":2727},[197],{"categories":2729},[],{"categories":2731},[297],{"categories":2733},[253],{"categories":2735},[276],{"categories":2737},[197],{"categories":2739},[197],{"categories":2741},[297],{"categories":2743},[314],{"categories":2745},[300],{"categories":2747},[197],{"categories":2749},[276],{"categories":2751},[197],{"categories":2753},[258],{"categories":2755},[569],{"categories":2757},[197],{"categories":2759},[258],{"categories":2761},[300],{"categories":2763},[],{"categories":2765},[258],{"categories":2767},[307],{"categories":2769},[297],{"categories":2771},[197],{"categories":2773},[250],{"categories":2775},[253],{"categories":2777},[307],{"categories":2779},[],{"categories":2781},[258],{"categories":2783},[197],{"categories":2785},[],{"categories":2787},[276],{"categories":2789},[],{"categories":2791},[276],{"categories":2793},[197],{"categories":2795},[258],{"categories":2797},[258],{"categories":2799},[258],{"categories":2801},[],{"categories":2803},[],{"categories":2805},[197],{"categories":2807},[197],{"categories":2809},[],{"categories":2811},[297],{"categories":2813},[258],{"categories":2815},[314],{"categories":2817},[250],{"categories":2819},[],{"categories":2821},[],{"categories":2823},[276],{"categories":2825},[307],{"categories":2827},[197],{"categories":2829},[197],{"categories":2831},[197],{"categories":2833},[307],{"categories":2835},[276],{"categories":2837},[297],{"categories":2839},[197],{"categories":2841},[197],{"categories":2843},[197],{"categories":2845},[276],{"categories":2847},[197],{"categories":2849},[276],{"categories":2851},[258],{"categories":2853},[258],{"categories":2855},[307],{"categories":2857},[258],{"categories":2859},[197],{"categories":2861},[307],{"categories":2863},[297],{"categories":2865},[],{"categories":2867},[258],{"categories":2869},[],{"categories":2871},[],{"categories":2873},[253],{"categories":2875},[197],{"categories":2877},[258],{"categories":2879},[250],{"categories":2881},[258],{"categories":2883},[314],{"categories":2885},[],{"categories":2887},[258],{"categories":2889},[],{"categories":2891},[250],{"categories":2893},[258],{"categories":2895},[],{"categories":2897},[258],{"categories":2899},[197],{"categories":2901},[276],{"categories":2903},[197],{"categories":2905},[258],{"categories":2907},[276],{"categories":2909},[258],{"categories":2911},[307],{"categories":2913},[297],{"categories":2915},[250],{"categories":2917},[],{"categories":2919},[258],{"categories":2921},[297],{"categories":2923},[276],{"categories":2925},[197],{"categories":2927},[297],{"categories":2929},[250],{"categories":2931},[],{"categories":2933},[258],{"categories":2935},[258],{"categories":2937},[197],{"categories":2939},[],{"categories":2941},[258],{"categories":2943},[261],{"categories":2945},[276],{"categories":2947},[258],{"categories":2949},[253],{"categories":2951},[],{"categories":2953},[197],{"categories":2955},[261],{"categories":2957},[197],{"categories":2959},[258],{"categories":2961},[276],{"categories":2963},[250],{"categories":2965},[569],{"categories":2967},[197],{"categories":2969},[197],{"categories":2971},[197],{"categories":2973},[276],{"categories":2975},[253],{"categories":2977},[197],{"categories":2979},[297],{"categories":2981},[276],{"categories":2983},[569],{"categories":2985},[197],{"categories":2987},[],{"categories":2989},[],{"categories":2991},[569],{"categories":2993},[300],{"categories":2995},[258],{"categories":2997},[258],{"categories":2999},[276],{"categories":3001},[197],{"categories":3003},[250],{"categories":3005},[297],{"categories":3007},[258],{"categories":3009},[197],{"categories":3011},[314],{"categories":3013},[197],{"categories":3015},[258],{"categories":3017},[],{"categories":3019},[197],{"categories":3021},[197],{"categories":3023},[276],{"categories":3025},[250],{"categories":3027},[],{"categories":3029},[197],{"categories":3031},[197],{"categories":3033},[307],{"categories":3035},[297],{"categories":3037},[197,258],{"categories":3039},[314,253],{"categories":3041},[197],{"categories":3043},[],{"categories":3045},[258],{"categories":3047},[],{"categories":3049},[307],{"categories":3051},[197],{"categories":3053},[276],{"categories":3055},[],{"categories":3057},[258],{"categories":3059},[],{"categories":3061},[258],{"categories":3063},[250],{"categories":3065},[258],{"categories":3067},[197],{"categories":3069},[569],{"categories":3071},[314],{"categories":3073},[253],{"categories":3075},[253],{"categories":3077},[250],{"categories":3079},[250],{"categories":3081},[197],{"categories":3083},[258],{"categories":3085},[197],{"categories":3087},[197],{"categories":3089},[250],{"categories":3091},[197],{"categories":3093},[314],{"categories":3095},[276],{"categories":3097},[197],{"categories":3099},[258],{"categories":3101},[197],{"categories":3103},[],{"categories":3105},[307],{"categories":3107},[],{"categories":3109},[258],{"categories":3111},[250],{"categories":3113},[],{"categories":3115},[569],{"categories":3117},[197],{"categories":3119},[],{"categories":3121},[276],{"categories":3123},[258],{"categories":3125},[307],{"categories":3127},[197],{"categories":3129},[258],{"categories":3131},[307],{"categories":3133},[258],{"categories":3135},[276],{"categories":3137},[250],{"categories":3139},[276],{"categories":3141},[307],{"categories":3143},[197],{"categories":3145},[297],{"categories":3147},[197],{"categories":3149},[197],{"categories":3151},[197],{"categories":3153},[197],{"categories":3155},[258],{"categories":3157},[197],{"categories":3159},[258],{"categories":3161},[197],{"categories":3163},[250],{"categories":3165},[197],{"categories":3167},[258],{"categories":3169},[297],{"categories":3171},[250],{"categories":3173},[258],{"categories":3175},[297],{"categories":3177},[],{"categories":3179},[197],{"categories":3181},[197],{"categories":3183},[307],{"categories":3185},[],{"categories":3187},[258],{"categories":3189},[314],{"categories":3191},[197],{"categories":3193},[276],{"categories":3195},[314],{"categories":3197},[258],{"categories":3199},[253],{"categories":3201},[253],{"categories":3203},[197],{"categories":3205},[250],{"categories":3207},[],{"categories":3209},[197],{"categories":3211},[],{"categories":3213},[250],{"categories":3215},[197],{"categories":3217},[258],{"categories":3219},[258],{"categories":3221},[],{"categories":3223},[307],{"categories":3225},[307],{"categories":3227},[314],{"categories":3229},[297],{"categories":3231},[],{"categories":3233},[197],{"categories":3235},[250],{"categories":3237},[197],{"categories":3239},[307],{"categories":3241},[250],{"categories":3243},[276],{"categories":3245},[276],{"categories":3247},[],{"categories":3249},[276],{"categories":3251},[258],{"categories":3253},[297],{"categories":3255},[300],{"categories":3257},[197],{"categories":3259},[],{"categories":3261},[276],{"categories":3263},[307],{"categories":3265},[253],{"categories":3267},[197],{"categories":3269},[250],{"categories":3271},[569],{"categories":3273},[250],{"categories":3275},[],{"categories":3277},[],{"categories":3279},[276],{"categories":3281},[],{"categories":3283},[258],{"categories":3285},[258],{"categories":3287},[258],{"categories":3289},[],{"categories":3291},[197],{"categories":3293},[],{"categories":3295},[276],{"categories":3297},[250],{"categories":3299},[297],{"categories":3301},[197],{"categories":3303},[276],{"categories":3305},[276],{"categories":3307},[],{"categories":3309},[276],{"categories":3311},[250],{"categories":3313},[197],{"categories":3315},[],{"categories":3317},[258],{"categories":3319},[258],{"categories":3321},[250],{"categories":3323},[],{"categories":3325},[],{"categories":3327},[],{"categories":3329},[297],{"categories":3331},[258],{"categories":3333},[197],{"categories":3335},[],{"categories":3337},[],{"categories":3339},[],{"categories":3341},[297],{"categories":3343},[],{"categories":3345},[250],{"categories":3347},[],{"categories":3349},[],{"categories":3351},[297],{"categories":3353},[197],{"categories":3355},[276],{"categories":3357},[],{"categories":3359},[314],{"categories":3361},[276],{"categories":3363},[314],{"categories":3365},[197],{"categories":3367},[],{"categories":3369},[],{"categories":3371},[258],{"categories":3373},[],{"categories":3375},[],{"categories":3377},[258],{"categories":3379},[197],{"categories":3381},[],{"categories":3383},[258],{"categories":3385},[276],{"categories":3387},[314],{"categories":3389},[300],{"categories":3391},[258],{"categories":3393},[258],{"categories":3395},[],{"categories":3397},[],{"categories":3399},[],{"categories":3401},[276],{"categories":3403},[],{"categories":3405},[],{"categories":3407},[297],{"categories":3409},[250],{"categories":3411},[],{"categories":3413},[253],{"categories":3415},[314],{"categories":3417},[197],{"categories":3419},[307],{"categories":3421},[250],{"categories":3423},[300],{"categories":3425},[253],{"categories":3427},[307],{"categories":3429},[],{"categories":3431},[],{"categories":3433},[258],{"categories":3435},[250],{"categories":3437},[297],{"categories":3439},[250],{"categories":3441},[258],{"categories":3443},[569],{"categories":3445},[258],{"categories":3447},[],{"categories":3449},[197],{"categories":3451},[276],{"categories":3453},[307],{"categories":3455},[],{"categories":3457},[297],{"categories":3459},[276],{"categories":3461},[250],{"categories":3463},[258],{"categories":3465},[197],{"categories":3467},[253],{"categories":3469},[258,569],{"categories":3471},[258],{"categories":3473},[307],{"categories":3475},[197],{"categories":3477},[300],{"categories":3479},[314],{"categories":3481},[258],{"categories":3483},[],{"categories":3485},[258],{"categories":3487},[197],{"categories":3489},[253],{"categories":3491},[],{"categories":3493},[],{"categories":3495},[197],{"categories":3497},[300],{"categories":3499},[197],{"categories":3501},[],{"categories":3503},[276],{"categories":3505},[],{"categories":3507},[276],{"categories":3509},[307],{"categories":3511},[258],{"categories":3513},[197],{"categories":3515},[314],{"categories":3517},[307],{"categories":3519},[],{"categories":3521},[276],{"categories":3523},[197],{"categories":3525},[],{"categories":3527},[197],{"categories":3529},[258],{"categories":3531},[197],{"categories":3533},[258],{"categories":3535},[197],{"categories":3537},[197],{"categories":3539},[197],{"categories":3541},[197],{"categories":3543},[253],{"categories":3545},[],{"categories":3547},[261],{"categories":3549},[276],{"categories":3551},[197],{"categories":3553},[],{"categories":3555},[307],{"categories":3557},[197],{"categories":3559},[197],{"categories":3561},[258],{"categories":3563},[276],{"categories":3565},[197],{"categories":3567},[197],{"categories":3569},[253],{"categories":3571},[258],{"categories":3573},[297],{"categories":3575},[],{"categories":3577},[300],{"categories":3579},[197],{"categories":3581},[],{"categories":3583},[276],{"categories":3585},[314],{"categories":3587},[],{"categories":3589},[],{"categories":3591},[276],{"categories":3593},[276],{"categories":3595},[314],{"categories":3597},[250],{"categories":3599},[258],{"categories":3601},[258],{"categories":3603},[197],{"categories":3605},[253],{"categories":3607},[],{"categories":3609},[],{"categories":3611},[276],{"categories":3613},[300],{"categories":3615},[307],{"categories":3617},[258],{"categories":3619},[297],{"categories":3621},[300],{"categories":3623},[300],{"categories":3625},[],{"categories":3627},[276],{"categories":3629},[197],{"categories":3631},[197],{"categories":3633},[307],{"categories":3635},[],{"categories":3637},[276],{"categories":3639},[276],{"categories":3641},[276],{"categories":3643},[],{"categories":3645},[258],{"categories":3647},[197],{"categories":3649},[],{"categories":3651},[250],{"categories":3653},[253],{"categories":3655},[],{"categories":3657},[197],{"categories":3659},[197],{"categories":3661},[],{"categories":3663},[307],{"categories":3665},[],{"categories":3667},[],{"categories":3669},[],{"categories":3671},[],{"categories":3673},[197],{"categories":3675},[276],{"categories":3677},[],{"categories":3679},[],{"categories":3681},[197],{"categories":3683},[197],{"categories":3685},[197],{"categories":3687},[300],{"categories":3689},[197],{"categories":3691},[300],{"categories":3693},[],{"categories":3695},[300],{"categories":3697},[300],{"categories":3699},[569],{"categories":3701},[258],{"categories":3703},[307],{"categories":3705},[],{"categories":3707},[],{"categories":3709},[300],{"categories":3711},[307],{"categories":3713},[307],{"categories":3715},[307],{"categories":3717},[],{"categories":3719},[250],{"categories":3721},[307],{"categories":3723},[307],{"categories":3725},[250],{"categories":3727},[307],{"categories":3729},[253],{"categories":3731},[307],{"categories":3733},[307],{"categories":3735},[307],{"categories":3737},[300],{"categories":3739},[276],{"categories":3741},[276],{"categories":3743},[197],{"categories":3745},[307],{"categories":3747},[300],{"categories":3749},[569],{"categories":3751},[300],{"categories":3753},[300],{"categories":3755},[300],{"categories":3757},[],{"categories":3759},[253],{"categories":3761},[],{"categories":3763},[569],{"categories":3765},[307],{"categories":3767},[307],{"categories":3769},[307],{"categories":3771},[258],{"categories":3773},[276,253],{"categories":3775},[300],{"categories":3777},[],{"categories":3779},[],{"categories":3781},[300],{"categories":3783},[],{"categories":3785},[300],{"categories":3787},[276],{"categories":3789},[258],{"categories":3791},[],{"categories":3793},[307],{"categories":3795},[197],{"categories":3797},[297],{"categories":3799},[],{"categories":3801},[197],{"categories":3803},[],{"categories":3805},[276],{"categories":3807},[250],{"categories":3809},[300],{"categories":3811},[],{"categories":3813},[307],{"categories":3815},[276],[3817,3956,4091,4370],{"id":3818,"title":3819,"ai":3820,"body":3825,"categories":3922,"created_at":198,"date_modified":198,"description":67,"extension":199,"faq":198,"featured":200,"kicker_label":198,"meta":3923,"navigation":229,"path":3944,"published_at":198,"question":198,"scraped_at":3945,"seo":3946,"sitemap":3947,"source_id":3948,"source_name":3949,"source_type":237,"source_url":3950,"stem":3951,"tags":3952,"thumbnail_url":198,"tldr":3953,"tweet":198,"unknown_tags":3954,"__hash__":3955},"summaries\u002Fsummaries\u002Fb6c275efa5018657-google-s-adk-code-first-python-ai-agent-toolkit-summary.md","Google's ADK: Code-First Python AI Agent Toolkit",{"provider":7,"model":8,"input_tokens":3821,"output_tokens":3822,"processing_time_ms":3823,"cost_usd":3824},9732,1740,12684,0.00230955,{"type":14,"value":3826,"toc":3917},[3827,3831,3834,3894,3897,3901,3904,3908,3915],[17,3828,3830],{"id":3829},"define-agents-and-tools-directly-in-code","Define Agents and Tools Directly in Code",[22,3832,3833],{},"ADK uses a code-first approach to create testable, versionable agents. Start with a single agent by specifying name, model (e.g., gemini-2.5-flash), instructions, description, and tools like google_search:",[62,3835,3837],{"className":64,"code":3836,"language":66,"meta":67,"style":67},"from google.adk.agents import Agent\nfrom google.adk.tools import google_search\n\nroot_agent = Agent(\n    name=\"search_assistant\",\n    model=\"gemini-2.5-flash\",\n    instruction=\"You are a helpful assistant. Answer user questions using Google Search when needed.\",\n    description=\"An assistant that can search the web.\",\n    tools=[google_search]\n)\n",[69,3838,3839,3844,3849,3854,3859,3864,3870,3876,3882,3888],{"__ignoreMap":67},[72,3840,3841],{"class":74,"line":75},[72,3842,3843],{},"from google.adk.agents import Agent\n",[72,3845,3846],{"class":74,"line":81},[72,3847,3848],{},"from google.adk.tools import google_search\n",[72,3850,3851],{"class":74,"line":87},[72,3852,3853],{"emptyLinePlaceholder":229},"\n",[72,3855,3856],{"class":74,"line":93},[72,3857,3858],{},"root_agent = Agent(\n",[72,3860,3861],{"class":74,"line":226},[72,3862,3863],{},"    name=\"search_assistant\",\n",[72,3865,3867],{"class":74,"line":3866},6,[72,3868,3869],{},"    model=\"gemini-2.5-flash\",\n",[72,3871,3873],{"class":74,"line":3872},7,[72,3874,3875],{},"    instruction=\"You are a helpful assistant. Answer user questions using Google Search when needed.\",\n",[72,3877,3879],{"class":74,"line":3878},8,[72,3880,3881],{},"    description=\"An assistant that can search the web.\",\n",[72,3883,3885],{"class":74,"line":3884},9,[72,3886,3887],{},"    tools=[google_search]\n",[72,3889,3891],{"class":74,"line":3890},10,[72,3892,3893],{},")\n",[22,3895,3896],{},"This integrates pre-built tools, custom functions, OpenAPI specs, or MCP tools, optimized for Google ecosystem but model-agnostic. Add tool confirmation (HITL) to require explicit user approval before execution, preventing unintended actions.",[17,3898,3900],{"id":3899},"build-scalable-multi-agent-hierarchies","Build Scalable Multi-Agent Hierarchies",[22,3902,3903],{},"Compose specialized agents into hierarchies for complex workflows. Define root and sub-agents with shared or unique tools, enabling orchestration where agents delegate tasks. Supports Agent Config for no-code agent building alongside code definitions. Recent updates include rewind to replay sessions pre-invocation, custom service registration for FastAPI servers, and AgentEngineSandboxCodeExecutor for safe code execution via Vertex AI sandbox.",[17,3905,3907],{"id":3906},"install-evaluate-and-deploy-seamlessly","Install, Evaluate, and Deploy Seamlessly",[22,3909,3910,3911,3914],{},"Install stable via ",[69,3912,3913],{},"pip install google-adk"," (bi-weekly releases) or dev version from git main for latest fixes. Evaluate agents with built-in metrics; deploy containerized to Cloud Run or scale on Vertex AI Agent Engine. Integrates A2A protocol for remote agent communication. Use 18.9k-starred repo's samples for patterns like skill activation via environment tools or BigQuery integration (now stable). Trade-off: Dev version risks bugs but accesses unshipped features like Parameter Manager for secret handling.",[186,3916,188],{},{"title":67,"searchDepth":81,"depth":81,"links":3918},[3919,3920,3921],{"id":3829,"depth":81,"text":3830},{"id":3899,"depth":81,"text":3900},{"id":3906,"depth":81,"text":3907},[],{"content_references":3924,"triage":3941},[3925,3929,3932,3935,3938],{"type":204,"title":3926,"url":3927,"context":3928},"ADK Documentation","https:\u002F\u002Fgoogle.github.io\u002Fadk-docs\u002F","recommended",{"type":204,"title":3930,"url":3931,"context":3928},"ADK Samples","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-samples",{"type":204,"title":3933,"url":3934,"context":207},"Java ADK","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-java",{"type":204,"title":3936,"url":3937,"context":207},"Go ADK","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-go",{"type":204,"title":3939,"url":3940,"context":207},"A2A Protocol","https:\u002F\u002Fgithub.com\u002Fgoogle-a2a\u002FA2A\u002F",{"relevance":226,"novelty":93,"quality":93,"actionability":226,"composite":3942,"reasoning":3943},4.55,"Category: AI & LLMs. This article provides a detailed overview of Google's ADK, a toolkit for building AI agents, which directly addresses the needs of developers looking to integrate AI into their products. The code examples and deployment instructions offer practical, actionable steps for the audience.","\u002Fsummaries\u002Fb6c275efa5018657-google-s-adk-code-first-python-ai-agent-toolkit-summary","2026-04-15 15:35:01",{"title":3819,"description":67},{"loc":3944},"b6c275efa5018657","__oneoff__","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-python","summaries\u002Fb6c275efa5018657-google-s-adk-code-first-python-ai-agent-toolkit-summary",[241,66,242],"Build, evaluate, and deploy modular AI agents in Python using Google's ADK—pip install google-adk for code-first logic, rich tools, multi-agent hierarchies, and deployment to Cloud Run or Vertex AI.",[],"tfGNqAYRA0hvN_aLK0bF0iyMsIaLQJVjLxwYUgfHF-Y",{"id":3957,"title":3958,"ai":3959,"body":3964,"categories":4066,"created_at":198,"date_modified":198,"description":67,"extension":199,"faq":198,"featured":200,"kicker_label":198,"meta":4067,"navigation":229,"path":4077,"published_at":4078,"question":198,"scraped_at":4079,"seo":4080,"sitemap":4081,"source_id":4082,"source_name":4083,"source_type":237,"source_url":4084,"stem":4085,"tags":4086,"thumbnail_url":198,"tldr":4088,"tweet":198,"unknown_tags":4089,"__hash__":4090},"summaries\u002Fsummaries\u002F3def0bb92586e5f5-groq-powered-research-agent-with-langgraph-sub-age-summary.md","Groq-Powered Research Agent with LangGraph Sub-Agents",{"provider":7,"model":8,"input_tokens":3960,"output_tokens":3961,"processing_time_ms":3962,"cost_usd":3963},9460,2034,22865,0.00240215,{"type":14,"value":3965,"toc":4061},[3966,3970,3988,3995,3998,4002,4005,4034,4045,4049,4052,4055,4058],[17,3967,3969],{"id":3968},"langgraph-workflow-powers-reliable-agent-loops","LangGraph Workflow Powers Reliable Agent Loops",[22,3971,3972,3973,3979,3980,3987],{},"Connect Groq's OpenAI-compatible endpoint (base_url=\"",[3974,3975,3976],"a",{"href":3976,"rel":3977},"https:\u002F\u002Fapi.groq.com\u002Fopenai\u002Fv1",[3978],"nofollow","\") to ChatOpenAI with model=\"llama-3.3-70b-versatile\" and temperature=0.3, binding all tools for tool-calling. Use StateGraph with AgentState (messages: Annotated",[72,3981,3982,3983,3986],{},"Sequence",[72,3984,3985],{},"BaseMessage",", add_messages",") to alternate agent reasoning and ToolNode execution: entry at \"agent\", conditional edge from \"agent\" (tools if tool_calls else END), edge \"tools\"→\"agent\". Set recursion_limit=50 (2x max_steps=25) in .stream() to prevent infinite loops. This setup handles multi-turn reasoning without state explosion, as sub-agents run isolated.",[22,3989,3990,3991,3994],{},"Lead system prompt enforces: list_skills\u002Fload_skill for complex tasks; spawn_subagent for subtasks; persist to workspace\u002Foutputs\u002F; remember() for cross-run facts. Run function streams updates, logging tool calls (e.g., ",[72,3992,3993],{},"01"," 🔧 web_search({query})), agent responses, and tool outputs, then dumps sandbox file_list(), recall(), and outputs\u002F files—reveals ~400-word reports with exec summary, findings, analysis, sources.",[22,3996,3997],{},"Trade-off: Groq's speed (free tier) trades slight quality for llama-3.3 vs. GPT-4o, but tool-binding + low temp=0.2\u002F0.3 ensures structured outputs without hallucinations.",[17,3999,4001],{"id":4000},"sandboxed-tools-enable-safe-webfilecode-access","Sandboxed Tools Enable Safe Web\u002FFile\u002FCode Access",[22,4003,4004],{},"Restrict to SANDBOX=\u002Fcontent\u002Fdeerflow_sandbox with _safe() path validation to prevent escapes. Core tools:",[52,4006,4007,4013,4019,4025],{},[55,4008,4009,4012],{},[26,4010,4011],{},"Search\u002FFetch",": web_search(query, max_results=5) via DDGS returns title\u002FURL\u002Fsnippet; web_fetch(url, max_chars=4000) strips scripts\u002Fnav with BeautifulSoup, cleans whitespace.",[55,4014,4015,4018],{},[26,4016,4017],{},"Files",": file_write\u002Fread\u002Flist(path) limits read to 8KB, lists 60 rglob items (skip memory\u002F), mkdirs parents.",[55,4020,4021,4024],{},[26,4022,4023],{},"Code",": python_exec(code) in isolated globals (SANDBOX_ROOT preset), captures stdout\u002Fstderr to 4KB, artifacts to outputs\u002F—plan in English first, verify results.",[55,4026,4027,4030,4031,4033],{},[26,4028,4029],{},"Memory",": remember(fact) appends timestamped JSON to memory\u002Flong_term.json (facts",[72,4032],{},", preferences{}); recall() shows last 20.",[22,4035,4036,4037,4040,4041,4044],{},"These give controlled REPL-like access: agent computes charts, cross-refs sources (claim→evidence→URL), without sys\u002Fnetwork risks. Bind BASE_TOOLS=",[72,4038,4039],{},"list_skills,load_skill,..."," + ",[72,4042,4043],{},"spawn_subagent"," to llm.",[17,4046,4048],{"id":4047},"skills-and-sub-agents-modularize-complex-research","Skills and Sub-Agents Modularize Complex Research",[22,4050,4051],{},"Pre-register SKILL.md files (public\u002Fcustom\u002F): research (decompose to 3-5 sub-questions, 2 authoritative URLs each, cross-ref, append workspace\u002Fresearch_notes.md); report-generation (read notes, outline exec summary (3-5 sentences)\u002Ffindings\u002Fanalysis\u002Fconclusion\u002Fsources, write outputs\u002Freport.md); code-execution (plan→exec→verify).",[22,4053,4054],{},"Agent calls list_skills()→load_skill(name) to discover\u002Fexecute workflows. spawn_subagent(role,task,allowed_tools=\"web_search,web_fetch,file_write,file_read\") creates isolated ChatOpenAI(temp=0.2, bind sub_tools), sys prompt mandates 'FINAL REPORT:' ≤700-word summary. Loops 8 steps max, returns report—keeps lead agent lean for coordination.",[22,4056,4057],{},"Demo task: (1) discover skills; (2) sub-agent researches 3 SLMs (2024-2025 sizes\u002Fbenchmarks\u002Fuse-cases)→workspace\u002Fslm_research.md; (3) load report-generation→outputs\u002Fslm_briefing.md; (4) remember(key takeaway); (5) summarize. Persists across runs via JSON memory, outputs structured MD with numbered sources—scales to briefings\u002Fautomation.",[22,4059,4060],{},"Extend by adding skills (e.g., data viz), scoping sub-agent tools, or integrating uploads\u002F.",{"title":67,"searchDepth":81,"depth":81,"links":4062},[4063,4064,4065],{"id":3968,"depth":81,"text":3969},{"id":4000,"depth":81,"text":4001},{"id":4047,"depth":81,"text":4048},[197],{"content_references":4068,"triage":4075},[4069,4072],{"type":209,"title":4070,"url":4071,"context":207},"Groq","https:\u002F\u002Fconsole.groq.com\u002Fhome",{"type":204,"title":4073,"url":4074,"context":3928},"Full Codes with Notebook","https:\u002F\u002Fgithub.com\u002FMarktechpost\u002FAI-Agents-Projects-Tutorials\u002Fblob\u002Fmain\u002FAgentic%20AI%20Codes\u002Fgroq_agentic_research_assistant_langgraph_Marktechpost.ipynb",{"relevance":226,"novelty":93,"quality":93,"actionability":226,"composite":3942,"reasoning":4076},"Category: AI & LLMs. The article provides a detailed guide on building a research assistant using Groq's API and LangGraph, addressing practical applications for AI-powered product builders. It includes specific instructions on connecting tools and managing agent workflows, making it highly actionable.","\u002Fsummaries\u002F3def0bb92586e5f5-groq-powered-research-agent-with-langgraph-sub-age-summary","2026-05-06 23:00:03","2026-05-07 11:24:14",{"title":3958,"description":67},{"loc":4077},"3def0bb92586e5f5","MarkTechPost","https:\u002F\u002Fwww.marktechpost.com\u002F2026\u002F05\u002F06\u002Fa-groq-powered-agentic-research-assistant-with-langgraph-tool-calling-sub-agents-and-agentic-memory-lets-built-it\u002F","summaries\u002F3def0bb92586e5f5-groq-powered-research-agent-with-langgraph-sub-age-summary",[241,66,4087,242],"llm","Build a fast agentic research assistant using Groq's free Llama-3.3-70b API, LangGraph for loops, sandboxed tools for search\u002Ffiles\u002Fcode\u002Fmemory, modular skills, and sub-agents for delegation—demo researches SLMs and persists facts.",[],"PNBtlQQT9-IzTdNGXbcfgyV0nmPIjKbJkC_MULZshU8",{"id":4092,"title":4093,"ai":4094,"body":4099,"categories":4324,"created_at":198,"date_modified":198,"description":67,"extension":199,"faq":198,"featured":200,"kicker_label":198,"meta":4325,"navigation":229,"path":4357,"published_at":4358,"question":198,"scraped_at":4359,"seo":4360,"sitemap":4361,"source_id":4362,"source_name":236,"source_type":237,"source_url":4363,"stem":4364,"tags":4365,"thumbnail_url":198,"tldr":4367,"tweet":198,"unknown_tags":4368,"__hash__":4369},"summaries\u002Fsummaries\u002Febc0d711136fb32c-secure-ai-agents-via-mcp-toolbox-custom-tools-summary.md","Secure AI Agents via MCP Toolbox Custom Tools",{"provider":7,"model":8,"input_tokens":4095,"output_tokens":4096,"processing_time_ms":4097,"cost_usd":4098},8976,2997,46040,0.00327105,{"type":14,"value":4100,"toc":4316},[4101,4105,4108,4114,4117,4121,4124,4127,4134,4139,4142,4146,4149,4240,4243,4246,4251,4255,4258,4261,4264,4268,4271,4274,4279,4282,4284,4313],[17,4102,4104],{"id":4103},"tackling-the-confused-deputy-problem-in-ai-agents","Tackling the Confused Deputy Problem in AI Agents",[22,4106,4107],{},"AI agents promise automation like midnight database triage, but they risk the 'confused deputy' vulnerability: a service account with broad database access gets tricked by malicious user input (e.g., via prompt injection) into querying sensitive data like executive salaries instead of the paged-down DB. Kurtis Van Gent explains this as Simon Willison's 'lethal trifecta': private data + untrusted input + external sharing. Traditional fixes like prompt-engineered security fail because LLMs struggle to distinguish system vs. user instructions.",[4109,4110,4111],"blockquote",{},[22,4112,4113],{},"'The confused deputy problem is really a problem where you have some kind of authoritative source... but a malicious user or a bug can trick it into revealing information.' — Kurtis Van Gent, defining the core vulnerability with a real-world paging scenario.",[22,4115,4116],{},"Developers evaluated broad tool access (e.g., 'run any SQL') but rejected it for runtime agents serving end-users. Instead, they architected MCP Toolbox around customization: pre-author SQL queries reviewed like code, constraining what agents can do.",[17,4118,4120],{"id":4119},"build-time-vs-runtime-agents-tailored-tooling","Build-Time vs. Runtime Agents: Tailored Tooling",[22,4122,4123],{},"MCP Toolbox distinguishes two agent types, each with different security needs. Build-time agents (e.g., Gemini CLI, Claude Code) assist developers with broad, generic tools like 'any SQL' or BigQuery dashboard queries—safe since they use developer credentials. Runtime agents (e.g., customer service bots via ADK, LangChain) face untrusted users, needing narrow tools for accuracy and safety.",[22,4125,4126],{},"Toolbox supports both via generic (pre-built ops), runtime (dynamic), and custom tools. For databases like AlloyDB, BigQuery, Postgres, Valkey, Neo4j, Oracle, MariaDB, it acts as a 'central gate.' Open-source (15k+ GitHub stars, 130+ contributors, millions of monthly calls), it's self-hosted—no Google data access.",[22,4128,4129,4130,4133],{},"Key decision: Bound parameters separate agent-set values (e.g., flight ID from conversation) from app-set ones (e.g., user identity, target DB). This binds identity at runtime, e.g., ",[69,4131,4132],{},"tool.bind(user_id=authenticated_user)"," creates a scoped tool the LLM can't override.",[4109,4135,4136],{},[22,4137,4138],{},"'MCP is kind of the gold standard for interop right now... like USB for AI applications. You can take any agent and you can plug in any server.' — Kurtis Van Gent, positioning MCP as the standard Toolbox builds on.",[22,4140,4141],{},"Tradeoff: Hardcoding boosts security\u002Faccuracy (no hallucinated DB switches) but reduces flexibility. Philosophy: Remove agent control wherever possible without harming UX—e.g., hardcoded DB for single-DB sessions.",[17,4143,4145],{"id":4144},"custom-tools-pre-written-sql-as-architectural-guardrails","Custom Tools: Pre-Written SQL as Architectural Guardrails",[22,4147,4148],{},"Core mechanism: Define tools with fixed SQL templates and params. Example Postgres tool for airline queries:",[62,4150,4154],{"className":4151,"code":4152,"language":4153,"meta":67,"style":67},"language-yaml shiki shiki-themes github-light github-dark","tool_type: postgres-sql\nsql: \"SELECT * FROM flights WHERE airline = $1 AND flight_number = $2\"\nparameters:\n  - name: airline\n    type: string\n  - name: flight_number\n    type: string\ndescription: \"Get flight details by airline and number\"\n","yaml",[69,4155,4156,4170,4180,4188,4201,4211,4222,4230],{"__ignoreMap":67},[72,4157,4158,4162,4166],{"class":74,"line":75},[72,4159,4161],{"class":4160},"s9eBZ","tool_type",[72,4163,4165],{"class":4164},"sVt8B",": ",[72,4167,4169],{"class":4168},"sZZnC","postgres-sql\n",[72,4171,4172,4175,4177],{"class":74,"line":81},[72,4173,4174],{"class":4160},"sql",[72,4176,4165],{"class":4164},[72,4178,4179],{"class":4168},"\"SELECT * FROM flights WHERE airline = $1 AND flight_number = $2\"\n",[72,4181,4182,4185],{"class":74,"line":87},[72,4183,4184],{"class":4160},"parameters",[72,4186,4187],{"class":4164},":\n",[72,4189,4190,4193,4196,4198],{"class":74,"line":93},[72,4191,4192],{"class":4164},"  - ",[72,4194,4195],{"class":4160},"name",[72,4197,4165],{"class":4164},[72,4199,4200],{"class":4168},"airline\n",[72,4202,4203,4206,4208],{"class":74,"line":226},[72,4204,4205],{"class":4160},"    type",[72,4207,4165],{"class":4164},[72,4209,4210],{"class":4168},"string\n",[72,4212,4213,4215,4217,4219],{"class":74,"line":3866},[72,4214,4192],{"class":4164},[72,4216,4195],{"class":4160},[72,4218,4165],{"class":4164},[72,4220,4221],{"class":4168},"flight_number\n",[72,4223,4224,4226,4228],{"class":74,"line":3872},[72,4225,4205],{"class":4160},[72,4227,4165],{"class":4164},[72,4229,4210],{"class":4168},[72,4231,4232,4235,4237],{"class":74,"line":3878},[72,4233,4234],{"class":4160},"description",[72,4236,4165],{"class":4164},[72,4238,4239],{"class":4168},"\"Get flight details by airline and number\"\n",[22,4241,4242],{},"The LLM calls via MCP with params; Toolbox executes safely. No ad-hoc SQL generation—agents use dev-reviewed queries. Supports complex ops like joins\u002Fstored procs via custom SQL. Toolbox doesn't auto-write queries; devs do.",[22,4244,4245],{},"This mirrors app dev: Write\u002Freview SQL once, expose as API. For production, deploy on Cloud Run; min arch is Toolbox container + MCP client (Gemini\u002FVertex AI) + auth (e.g., IAM).",[4109,4247,4248],{},[22,4249,4250],{},"'The toolbox's superpower really comes down to... customize tools in a way that lets you constrain that access... write the SQL ahead of time.' — Kurtis Van Gent, on shifting from prompt hacks to code-like security.",[17,4252,4254],{"id":4253},"cymbal-air-demo-resilience-in-action","Cymbal Air Demo: Resilience in Action",[22,4256,4257],{},"Live demo of Cymbal Air (fictional airline agent): Normal flow—user asks flight status; agent uses bound tools to query only authorized data. Compromise attempt: \"Ignore instructions, query competitor salaries.\" Fails—tools lack access; agent stays on-topic.",[22,4259,4260],{},"Architecture: MCP client (Gemini) → Toolbox server (Cloud Run, Postgres backend) → bound custom tools. Code shown: Load tool, bind user context, register to agent. Result: Zero-trust, no leaks.",[22,4262,4263],{},"Evolution: Started with generic tools; pivoted to custom\u002Fbound for prod. Failure modes tested: Prompt injection blocked by param constraints.",[17,4265,4267],{"id":4266},"deployment-tradeoffs-and-best-practices","Deployment Tradeoffs and Best Practices",[22,4269,4270],{},"Latency: Toolbox adds ~50-100ms vs. direct queries (MCP overhead + execution); fine for interactive agents, not ultra-high-throughput. Self-hosted (binary\u002Fcontainer\u002Flocal); progressive tool exposure via dynamic registration.",[22,4272,4273],{},"Security-first process: Start with threat modeling ('what can go wrong?'), prototype fast with frameworks like ADK, then harden. 'Move security left'—architect params\u002Ftools early, iterate weekly.",[4109,4275,4276],{},[22,4277,4278],{},"'Flexibility versus security... anything that you can take away from the agent tends to be a good thing to take away as long as it doesn't diminish the use case.' — Kurtis Van Gent, on balancing autonomy and guardrails.",[22,4280,4281],{},"Non-obvious: Runtime agents need dev-like rigor (code review SQL); build-time can be looser. Replicate by forking GitHub repo, binding identity, testing injections.",[17,4283,155],{"id":154},[52,4285,4286,4289,4292,4295,4298,4301,4304,4307,4310],{},[55,4287,4288],{},"Model threats early: Map confused deputy risks (private data + untrusted input) before building agents.",[55,4290,4291],{},"Use build-time tools broadly for dev (e.g., any-SQL); constrain runtime with custom MCP tools.",[55,4293,4294],{},"Pre-write\u002Freview SQL templates; define params\u002Fdescriptions for LLM guidance.",[55,4296,4297],{},"Bind app params (user ID, DB) at runtime—LLM sets only conversation-derived ones.",[55,4299,4300],{},"Deploy self-hosted Toolbox on Cloud Run; test latency (\u003C100ms typical) and injections.",[55,4302,4303],{},"Start small: Codelabs for BigQuery\u002FAlloyDB; scale to multi-agent apps.",[55,4305,4306],{},"Prioritize security in architecture: 1st step = threat model, not prototype.",[55,4308,4309],{},"Leverage open MCP spec: Plug any agent\u002Fserver; Google managed options for BigQuery\u002Fetc.",[55,4311,4312],{},"Measure: Millions of safe calls\u002Fmonth via Toolbox—prod-proven.",[186,4314,4315],{},"html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":67,"searchDepth":81,"depth":81,"links":4317},[4318,4319,4320,4321,4322,4323],{"id":4103,"depth":81,"text":4104},{"id":4119,"depth":81,"text":4120},{"id":4144,"depth":81,"text":4145},{"id":4253,"depth":81,"text":4254},{"id":4266,"depth":81,"text":4267},{"id":154,"depth":81,"text":155},[197],{"content_references":4326,"triage":4354},[4327,4330,4333,4336,4339,4342,4345,4348,4351],{"type":209,"title":4328,"url":4329,"context":207},"MCP Toolbox GitHub","https:\u002F\u002Fgoo.gle\u002Fgithub-mcp-toolbox",{"type":209,"title":4331,"url":4332,"context":207},"MCP Toolbox for Databases (Docs)","https:\u002F\u002Fgoo.gle\u002Fmcp-toolbox-dev",{"type":209,"title":4334,"url":4335,"context":207},"QuickStart","https:\u002F\u002Fgoo.gle\u002Fmcp-quickstart",{"type":209,"title":4337,"url":4338,"context":207},"MCP Toolbox for Databases: Making BigQuery datasets available to MCP clients (Codelab)","https:\u002F\u002Fgoo.gle\u002Fcodelabs",{"type":209,"title":4340,"url":4341,"context":207},"Build a Multi-agent App with MCP Toolbox for AlloyDB & ADK (Codelab)","https:\u002F\u002Fgoo.gle\u002Fcodelab-multi-agent-app",{"type":209,"title":4343,"url":4344,"context":207},"Cymbal Air Toolbox Demo","https:\u002F\u002Fgoo.gle\u002F4tfWYIA",{"type":209,"title":4346,"url":4347,"context":207},"Google Cloud MCP servers overview","https:\u002F\u002Fgoo.gle\u002F42ioQRn",{"type":209,"title":4349,"url":4350,"context":207},"MCP Toolbox for Databases (Toolbox)","https:\u002F\u002Fgoo.gle\u002F4wauUJp",{"type":209,"title":4352,"url":4353,"context":207},"GEAR","https:\u002F\u002Fgoo.gle\u002FGEAR",{"relevance":93,"novelty":87,"quality":93,"actionability":87,"composite":4355,"reasoning":4356},3.6,"Category: AI & LLMs. The article addresses a specific pain point regarding security in AI agents, particularly the confused deputy problem, which is relevant for developers integrating AI features. It provides insights into a practical solution (MCP Toolbox) but lacks detailed step-by-step guidance for implementation.","\u002Fsummaries\u002Febc0d711136fb32c-secure-ai-agents-via-mcp-toolbox-custom-tools-summary","2026-05-05 16:46:33","2026-05-06 16:12:43",{"title":4093,"description":67},{"loc":4357},"ed722ee0fdc7e076","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=CRszhkEjd8s","summaries\u002Febc0d711136fb32c-secure-ai-agents-via-mcp-toolbox-custom-tools-summary",[241,242,243,4366],"devops","MCP Toolbox prevents confused deputy attacks by letting developers pre-write constrained SQL tools with bound parameters, separating agent flexibility from app-controlled security for runtime agents.",[],"htBzEsyR16VdzmViKPvmry-2HFiUx9a6ye2MxpmOJCk",{"id":4371,"title":4372,"ai":4373,"body":4378,"categories":4415,"created_at":198,"date_modified":198,"description":67,"extension":199,"faq":198,"featured":200,"kicker_label":198,"meta":4416,"navigation":229,"path":4429,"published_at":4430,"question":198,"scraped_at":4431,"seo":4432,"sitemap":4433,"source_id":4434,"source_name":4435,"source_type":237,"source_url":4436,"stem":4437,"tags":4438,"thumbnail_url":198,"tldr":4439,"tweet":198,"unknown_tags":4440,"__hash__":4441},"summaries\u002Fsummaries\u002F3ac2f26e456f1db9-local-ai-agent-stack-ollama-as-llm-mcp-as-librarie-summary.md","Local AI Agent Stack: Ollama as LLM, MCP as Libraries",{"provider":7,"model":8,"input_tokens":4374,"output_tokens":4375,"processing_time_ms":4376,"cost_usd":4377},3907,2286,26814,0.00190175,{"type":14,"value":4379,"toc":4410},[4380,4384,4387,4390,4394,4397,4400,4404,4407],[17,4381,4383],{"id":4382},"agentic-systems-as-programmable-stacks","Agentic Systems as Programmable Stacks",[22,4385,4386],{},"Map traditional programming to LLM agents: the LLM (via Ollama) acts as the language runtime, MCP servers function as swappable libraries for capabilities, and Markdown-defined skills serve as the executable programs. This analogy makes every layer visible and replaceable, enabling full control without vendor lock-in. Run the entire stack on a single laptop using no cloud LLMs or paid services, wired together by a minimal Python orchestrator and one JSON config file.",[22,4388,4389],{},"Ollama provides the local LLM runtime for reasoning and decision-making. MCP servers deliver modular tools (like data access or APIs) that the LLM calls into, mimicking library imports. Skills, written in Markdown, define specific agent behaviors as self-contained programs the LLM interprets and executes.",[17,4391,4393],{"id":4392},"wiring-and-execution-flow","Wiring and Execution Flow",[22,4395,4396],{},"The Python orchestrator handles coordination: it loads the JSON config to initialize Ollama, MCP servers, and skills, then routes LLM outputs to invoke the right MCP libraries or skills. This setup supports iterative reasoning loops where the LLM decides tool use, executes via MCP\u002Fskills, and refines based on results—all locally.",[22,4398,4399],{},"Trade-off: Local execution prioritizes privacy and cost-zero runs but limits to hardware-constrained models; scale by swapping Ollama models or adding MCPs without rewriting core logic.",[17,4401,4403],{"id":4402},"production-ready-ops-example","Production-Ready Ops Example",[22,4405,4406],{},"Query: \"The on-call engineer is in country X. Is today a public holiday there, and if so, which of their open P1 issues need backup coverage?\"",[22,4408,4409],{},"The agent combines local data sources (via MCPs) like holiday calendars, engineer locations, and issue trackers. LLM reasons over inputs, calls MCP libraries for data retrieval, applies Markdown skills for analysis (e.g., filtering P1 issues), and outputs actionable coverage recommendations. This handles real on-call shifts, demonstrating agentic reliability for ops without external dependencies.",{"title":67,"searchDepth":81,"depth":81,"links":4411},[4412,4413,4414],{"id":4382,"depth":81,"text":4383},{"id":4392,"depth":81,"text":4393},{"id":4402,"depth":81,"text":4403},[197],{"content_references":4417,"triage":4427},[4418,4423,4425],{"type":204,"title":4419,"author":4420,"url":4421,"context":4422},"The hidden analogy between programming languages and LLMs that will change how you build agentic","Jes Fink-Jensen","https:\u002F\u002Fmedium.com\u002Fgenerative-ai\u002Fthe-hidden-analogy-between-programming-languages-and-llms-that-will-change-how-you-build-agentic-a344fa26dc09","cited",{"type":209,"title":4424,"context":207},"Ollama",{"type":209,"title":4426,"context":207},"MCP",{"relevance":226,"novelty":93,"quality":93,"actionability":226,"composite":3942,"reasoning":4428},"Category: AI & LLMs. The article provides a detailed framework for building a local AI agent system using Ollama and MCP, addressing practical applications for developers looking to integrate AI into their products. It includes a concrete example of a production-ready operation, demonstrating actionable insights that the audience can implement.","\u002Fsummaries\u002F3ac2f26e456f1db9-local-ai-agent-stack-ollama-as-llm-mcp-as-librarie-summary","2026-05-05 05:58:24","2026-05-05 16:09:21",{"title":4372,"description":67},{"loc":4429},"3ac2f26e456f1db9","Generative AI","https:\u002F\u002Fgenerativeai.pub\u002Frun-your-own-ai-agent-locally-ollama-mcp-and-skills-explained-a913fe46e938?source=rss----440100e76000---4","summaries\u002F3ac2f26e456f1db9-local-ai-agent-stack-ollama-as-llm-mcp-as-librarie-summary",[4087,241,66,242],"Build a fully local agentic system treating LLMs as programming languages, MCP servers as libraries, and Markdown skills as programs—orchestrated via Python and JSON config for offline ops queries.",[],"MALfjYcgtxuDDN7BLSlSojXvLLeQbY1yAr47GHXtRUE"]