[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"summary-1cc042544a685879-deploy-adk-multimodal-agent-with-gemini-3-1-on-lig-summary":3,"summaries-facets-categories":208,"summary-related-1cc042544a685879-deploy-adk-multimodal-agent-with-gemini-3-1-on-lig-summary":3778},{"id":4,"title":5,"ai":6,"body":13,"categories":158,"created_at":159,"date_modified":159,"description":152,"extension":160,"faq":159,"featured":161,"kicker_label":159,"meta":162,"navigation":190,"path":191,"published_at":159,"question":159,"scraped_at":192,"seo":193,"sitemap":194,"source_id":195,"source_name":196,"source_type":197,"source_url":198,"stem":199,"tags":200,"thumbnail_url":159,"tldr":205,"tweet":159,"unknown_tags":206,"__hash__":207},"summaries\u002Fsummaries\u002F1cc042544a685879-deploy-adk-multimodal-agent-with-gemini-3-1-on-lig-summary.md","Deploy ADK Multimodal Agent with Gemini 3.1 on Lightsail",{"provider":7,"model":8,"input_tokens":9,"output_tokens":10,"processing_time_ms":11,"cost_usd":12},"openrouter","x-ai\u002Fgrok-4.1-fast",9782,2851,22775,0.00287505,{"type":14,"value":15,"toc":151},"minimark",[16,21,53,73,77,108,119,123,148],[17,18,20],"h2",{"id":19},"streamlined-environment-setup-for-reproducible-builds","Streamlined Environment Setup for Reproducible Builds",[22,23,24,25,29,30,33,34,37,38,44,45,48,49,52],"p",{},"Install pyenv to manage Python 3.13 versions across platforms, ensuring consistent ML\u002FAI library support: ",[26,27,28],"code",{},"git clone https:\u002F\u002Fgithub.com\u002Fpyenv\u002Fpyenv",". Use nvm for Node.js: ",[26,31,32],{},"git clone https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm",". Install Gemini CLI via ",[26,35,36],{},"npm install -g @google\u002Fgemini-cli"," and authenticate with Google account or API key. Clone the gemini31-lightsail repo from ",[39,40,41],"a",{"href":41,"rel":42},"https:\u002F\u002Fgithub.com\u002Fxbill9\u002Fgemini-cli-aws",[43],"nofollow",", then ",[26,46,47],{},"source init.sh"," (or ",[26,50,51],{},"set_env.sh"," for re-auth) to configure PROJECT_ID and other vars. This creates a minimal viable setup for ADK agents using Gemini Live API, avoiding version conflicts that plague Python deployments.",[22,54,55,56,59,60,63,64,67,68,72],{},"Build frontend with ",[26,57,58],{},"make frontend"," (uses Vite: ",[26,61,62],{},"npm install && npm run build","), producing dist\u002Fassets\u002Findex-*.js (214 kB) and CSS (21 kB). Test mock UI server via ",[26,65,66],{},"make mock"," at ",[39,69,70],{"href":70,"rel":71},"http:\u002F\u002F127.0.0.1:8080\u002F",[43]," to validate browser multimedia without model calls.",[17,74,76],{"id":75},"local-testing-validates-multimodal-capabilities","Local Testing Validates Multimodal Capabilities",[22,78,79,80,83,84,87,88,67,91,95,96,99,100,103,104,107],{},"Verify ADK install with ",[26,81,82],{},"make testadk",": runs biometric_agent CLI (",[26,85,86],{},"adk run biometric_agent","), responds to 'hello' with 'Scanner Online'. Test full web interface via ",[26,89,90],{},"make adk",[39,92,93],{"href":93,"rel":94},"http:\u002F\u002F127.0.0.0:8000\u002F",[43]," (add ",[26,97,98],{},"--allow_origins 'regex:.*'"," for Cloud Shell CORS). Lint with ",[26,101,102],{},"make lint"," (Ruff checks 10 files, ESLint frontend). Run pytest via ",[26,105,106],{},"make test",": 8 tests pass in 2.59s (biometric_agent, live_connection, ws_backend_v2).",[22,109,110,111,114,115,118],{},"Launch full app with ",[26,112,113],{},"make run"," (sources biosync.sh, 2.0 FPS, 10s heartbeat) at ",[39,116,70],{"href":70,"rel":117},[43],", serving static files from frontend\u002Fdist. This confirms real-time audio\u002Fvideo streaming with client-side Worklet for off-main-thread processing, raw binary streams (no JSON wrapper overhead), and CLI detection to skip Live model errors.",[17,120,122],{"id":121},"one-command-lightsail-deployment-and-gemini-31-adaptations","One-Command Lightsail Deployment and Gemini 3.1 Adaptations",[22,124,125,126,129,130,134,135,138,139,142,143,147],{},"Deploy via ",[26,127,128],{},"make deploy"," (runs save-aws-creds.sh, deploy-lightsail.sh): creates container service visible in Lightsail console (",[39,131,132],{"href":132,"rel":133},"https:\u002F\u002Flightsail.aws.amazon.com\u002Fls\u002Fwebapp\u002Fhome\u002Fcontainers",[43],"). Check ",[26,136,137],{},"make status"," (ACTIVE\u002FDEPLOYING), get endpoint with ",[26,140,141],{},"make endpoint"," (e.g., ",[39,144,145],{"href":145,"rel":146},"https:\u002F\u002Fbiometric-scout-service.6wpv8vensby5c.us-east-1.cs.amazonlightsail.com\u002F",[43],"). Access UI for live multimodal interactions: audio\u002Fvideo processed by Gemini 3.1 Flash Live.",[22,149,150],{},"Key upgrades from original Google codelab: Switch Vertex AI (PROJECT_ID\u002FREGION) to Gemini API (API key only); add monkey-patch translation layer for ADK's partial 3.1 Live support (see GEMINI.md for GitHub issues); re-architect protocol for raw audio\u002Fvideo; update client audio to Worklet; extend ADK CLI for Live models. Enables low-latency, emotionally aware speech in 200+ countries, outperforming prior setups on real-time bidirectional streaming.",{"title":152,"searchDepth":153,"depth":153,"links":154},"",2,[155,156,157],{"id":19,"depth":153,"text":20},{"id":75,"depth":153,"text":76},{"id":121,"depth":153,"text":122},[],null,"md",false,{"content_references":163,"triage":185},[164,169,173,176,179,182],{"type":165,"title":166,"url":167,"context":168},"other","Way Back Home — Building an ADK Bi-Directional Streaming Agent | Google Codelabs","https:\u002F\u002Fcodelabs.developers.google.com\u002Fway-back-home-level-3\u002Finstructions","mentioned",{"type":170,"title":171,"url":172,"context":168},"tool","pyenv\u002Fpyenv: Simple Python version management","https:\u002F\u002Fgithub.com\u002Fpyenv\u002Fpyenv",{"type":170,"title":174,"url":175,"context":168},"Amazon Lightsail","https:\u002F\u002Faws.amazon.com\u002Flightsail\u002F",{"type":165,"title":177,"url":178,"context":168},"Gemini 3.1 Flash Live Preview | Gemini API | Google AI for Developers","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fmodels\u002Fgemini-3.1-flash-live-preview",{"type":170,"title":180,"url":181,"context":168},"nvm-sh\u002Fnvm: Node Version Manager","https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm",{"type":170,"title":183,"url":184,"context":168},"Agent Development Kit (ADK)","https:\u002F\u002Fgoogle.github.io\u002Fadk-docs\u002F",{"relevance":186,"novelty":187,"quality":187,"actionability":186,"composite":188,"reasoning":189},5,4,4.55,"Category: AI & LLMs. The article provides a detailed, step-by-step guide on deploying a multimodal agent using Gemini 3.1, which directly addresses the needs of developers looking to integrate AI into their products. It includes practical commands and setup instructions that can be immediately acted upon, making it highly actionable.",true,"\u002Fsummaries\u002F1cc042544a685879-deploy-adk-multimodal-agent-with-gemini-3-1-on-lig-summary","2026-04-19 01:22:09",{"title":5,"description":152},{"loc":191},"1cc042544a685879","Generative AI","article","https:\u002F\u002Fgenerativeai.pub\u002Fbuilding-a-multimodal-agent-with-the-adk-amazon-lightsail-and-gemini-flash-live-3-1-f2499f82d4d2?source=rss----440100e76000---4","summaries\u002F1cc042544a685879-deploy-adk-multimodal-agent-with-gemini-3-1-on-lig-summary",[201,202,203,204],"agents","python","ai-tools","devops-cloud","Clone repo, run make commands to setup Python\u002FNode env, build\u002Ftest multimodal ADK agent locally with Gemini 3.1 Flash Live, then deploy to Lightsail for real-time audio\u002Fvideo streaming without JSON overhead.",[204],"Wo9jGoDjZ9zYFBnf1i_MMmZkeWLsTDPisRstmoVomj0",[209,212,215,218,221,224,226,228,230,232,234,236,239,241,243,245,247,249,251,253,255,257,260,263,265,267,270,272,274,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,313,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,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,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],{"categories":210},[211],"Developer Productivity",{"categories":213},[214],"Business & SaaS",{"categories":216},[217],"AI & LLMs",{"categories":219},[220],"AI Automation",{"categories":222},[223],"Product Strategy",{"categories":225},[217],{"categories":227},[211],{"categories":229},[214],{"categories":231},[],{"categories":233},[217],{"categories":235},[],{"categories":237},[238],"AI News & Trends",{"categories":240},[220],{"categories":242},[238],{"categories":244},[220],{"categories":246},[220],{"categories":248},[217],{"categories":250},[217],{"categories":252},[238],{"categories":254},[217],{"categories":256},[],{"categories":258},[259],"Design & Frontend",{"categories":261},[262],"Data Science & Visualization",{"categories":264},[238],{"categories":266},[],{"categories":268},[269],"Software Engineering",{"categories":271},[217],{"categories":273},[220],{"categories":275},[276],"Marketing & Growth",{"categories":278},[217],{"categories":280},[220],{"categories":282},[],{"categories":284},[],{"categories":286},[259],{"categories":288},[220],{"categories":290},[211],{"categories":292},[259],{"categories":294},[217],{"categories":296},[220],{"categories":298},[238],{"categories":300},[],{"categories":302},[],{"categories":304},[220],{"categories":306},[269],{"categories":308},[],{"categories":310},[214],{"categories":312},[],{"categories":314},[],{"categories":316},[220],{"categories":318},[220],{"categories":320},[217],{"categories":322},[],{"categories":324},[269],{"categories":326},[],{"categories":328},[],{"categories":330},[],{"categories":332},[217],{"categories":334},[276],{"categories":336},[259],{"categories":338},[259],{"categories":340},[217],{"categories":342},[220],{"categories":344},[217],{"categories":346},[217],{"categories":348},[220],{"categories":350},[220],{"categories":352},[262],{"categories":354},[238],{"categories":356},[220],{"categories":358},[276],{"categories":360},[220],{"categories":362},[223],{"categories":364},[],{"categories":366},[220],{"categories":368},[],{"categories":370},[220],{"categories":372},[269],{"categories":374},[259],{"categories":376},[217],{"categories":378},[],{"categories":380},[],{"categories":382},[220],{"categories":384},[],{"categories":386},[217],{"categories":388},[],{"categories":390},[211],{"categories":392},[269],{"categories":394},[214],{"categories":396},[238],{"categories":398},[217],{"categories":400},[],{"categories":402},[217],{"categories":404},[],{"categories":406},[269],{"categories":408},[262],{"categories":410},[],{"categories":412},[217],{"categories":414},[259],{"categories":416},[],{"categories":418},[259],{"categories":420},[220],{"categories":422},[],{"categories":424},[220],{"categories":426},[238],{"categories":428},[217],{"categories":430},[],{"categories":432},[220],{"categories":434},[217],{"categories":436},[223],{"categories":438},[],{"categories":440},[217],{"categories":442},[220],{"categories":444},[220],{"categories":446},[],{"categories":448},[262],{"categories":450},[217],{"categories":452},[],{"categories":454},[211],{"categories":456},[214],{"categories":458},[217],{"categories":460},[220],{"categories":462},[269],{"categories":464},[217],{"categories":466},[],{"categories":468},[],{"categories":470},[217],{"categories":472},[],{"categories":474},[259],{"categories":476},[],{"categories":478},[217],{"categories":480},[],{"categories":482},[220],{"categories":484},[217],{"categories":486},[259],{"categories":488},[],{"categories":490},[217],{"categories":492},[217],{"categories":494},[214],{"categories":496},[220],{"categories":498},[217],{"categories":500},[259],{"categories":502},[220],{"categories":504},[],{"categories":506},[],{"categories":508},[238],{"categories":510},[],{"categories":512},[217],{"categories":514},[214,276],{"categories":516},[],{"categories":518},[217],{"categories":520},[],{"categories":522},[],{"categories":524},[217],{"categories":526},[],{"categories":528},[217],{"categories":530},[531],"DevOps & Cloud",{"categories":533},[],{"categories":535},[238],{"categories":537},[259],{"categories":539},[],{"categories":541},[238],{"categories":543},[238],{"categories":545},[217],{"categories":547},[276],{"categories":549},[],{"categories":551},[214],{"categories":553},[],{"categories":555},[217,531],{"categories":557},[217],{"categories":559},[217],{"categories":561},[220],{"categories":563},[217,269],{"categories":565},[262],{"categories":567},[217],{"categories":569},[276],{"categories":571},[220],{"categories":573},[220],{"categories":575},[],{"categories":577},[220],{"categories":579},[217,214],{"categories":581},[],{"categories":583},[259],{"categories":585},[259],{"categories":587},[],{"categories":589},[],{"categories":591},[238],{"categories":593},[],{"categories":595},[211],{"categories":597},[269],{"categories":599},[217],{"categories":601},[259],{"categories":603},[220],{"categories":605},[269],{"categories":607},[238],{"categories":609},[259],{"categories":611},[],{"categories":613},[217],{"categories":615},[217],{"categories":617},[217],{"categories":619},[238],{"categories":621},[211],{"categories":623},[217],{"categories":625},[220],{"categories":627},[531],{"categories":629},[259],{"categories":631},[220],{"categories":633},[],{"categories":635},[],{"categories":637},[259],{"categories":639},[238],{"categories":641},[262],{"categories":643},[],{"categories":645},[217],{"categories":647},[217],{"categories":649},[214],{"categories":651},[217],{"categories":653},[217],{"categories":655},[238],{"categories":657},[],{"categories":659},[220],{"categories":661},[269],{"categories":663},[],{"categories":665},[217],{"categories":667},[217],{"categories":669},[220],{"categories":671},[],{"categories":673},[],{"categories":675},[217],{"categories":677},[],{"categories":679},[214],{"categories":681},[220],{"categories":683},[],{"categories":685},[211],{"categories":687},[217],{"categories":689},[214],{"categories":691},[238],{"categories":693},[],{"categories":695},[],{"categories":697},[],{"categories":699},[238],{"categories":701},[238],{"categories":703},[],{"categories":705},[],{"categories":707},[214],{"categories":709},[],{"categories":711},[],{"categories":713},[211],{"categories":715},[],{"categories":717},[276],{"categories":719},[220],{"categories":721},[214],{"categories":723},[220],{"categories":725},[],{"categories":727},[223],{"categories":729},[259],{"categories":731},[269],{"categories":733},[217],{"categories":735},[220],{"categories":737},[214],{"categories":739},[217],{"categories":741},[],{"categories":743},[],{"categories":745},[269],{"categories":747},[262],{"categories":749},[223],{"categories":751},[220],{"categories":753},[217],{"categories":755},[],{"categories":757},[531],{"categories":759},[],{"categories":761},[220],{"categories":763},[],{"categories":765},[],{"categories":767},[217],{"categories":769},[259],{"categories":771},[276],{"categories":773},[220],{"categories":775},[],{"categories":777},[211],{"categories":779},[],{"categories":781},[238],{"categories":783},[217,531],{"categories":785},[238],{"categories":787},[217],{"categories":789},[214],{"categories":791},[217],{"categories":793},[],{"categories":795},[214],{"categories":797},[],{"categories":799},[269],{"categories":801},[259],{"categories":803},[238],{"categories":805},[262],{"categories":807},[211],{"categories":809},[217],{"categories":811},[269],{"categories":813},[],{"categories":815},[],{"categories":817},[223],{"categories":819},[],{"categories":821},[217],{"categories":823},[],{"categories":825},[259],{"categories":827},[259],{"categories":829},[259],{"categories":831},[],{"categories":833},[],{"categories":835},[238],{"categories":837},[220],{"categories":839},[217],{"categories":841},[217],{"categories":843},[217],{"categories":845},[214],{"categories":847},[217],{"categories":849},[],{"categories":851},[269],{"categories":853},[269],{"categories":855},[214],{"categories":857},[],{"categories":859},[217],{"categories":861},[217],{"categories":863},[214],{"categories":865},[238],{"categories":867},[276],{"categories":869},[220],{"categories":871},[],{"categories":873},[259],{"categories":875},[],{"categories":877},[217],{"categories":879},[],{"categories":881},[214],{"categories":883},[220],{"categories":885},[],{"categories":887},[531],{"categories":889},[262],{"categories":891},[269],{"categories":893},[276],{"categories":895},[269],{"categories":897},[220],{"categories":899},[],{"categories":901},[],{"categories":903},[220],{"categories":905},[211],{"categories":907},[220],{"categories":909},[223],{"categories":911},[214],{"categories":913},[],{"categories":915},[217],{"categories":917},[223],{"categories":919},[217],{"categories":921},[217],{"categories":923},[276],{"categories":925},[259],{"categories":927},[220],{"categories":929},[],{"categories":931},[],{"categories":933},[531],{"categories":935},[269],{"categories":937},[],{"categories":939},[220],{"categories":941},[217],{"categories":943},[259,217],{"categories":945},[211],{"categories":947},[],{"categories":949},[217],{"categories":951},[211],{"categories":953},[259],{"categories":955},[220],{"categories":957},[269],{"categories":959},[],{"categories":961},[217],{"categories":963},[],{"categories":965},[211],{"categories":967},[],{"categories":969},[220],{"categories":971},[223],{"categories":973},[217],{"categories":975},[217],{"categories":977},[259],{"categories":979},[220],{"categories":981},[531],{"categories":983},[259],{"categories":985},[220],{"categories":987},[217],{"categories":989},[217],{"categories":991},[217],{"categories":993},[238],{"categories":995},[],{"categories":997},[223],{"categories":999},[220],{"categories":1001},[259],{"categories":1003},[220],{"categories":1005},[269],{"categories":1007},[259],{"categories":1009},[220],{"categories":1011},[238],{"categories":1013},[],{"categories":1015},[217],{"categories":1017},[259],{"categories":1019},[217],{"categories":1021},[211],{"categories":1023},[238],{"categories":1025},[217],{"categories":1027},[276],{"categories":1029},[217],{"categories":1031},[217],{"categories":1033},[220],{"categories":1035},[220],{"categories":1037},[217],{"categories":1039},[220],{"categories":1041},[259],{"categories":1043},[217],{"categories":1045},[],{"categories":1047},[],{"categories":1049},[269],{"categories":1051},[],{"categories":1053},[211],{"categories":1055},[531],{"categories":1057},[],{"categories":1059},[211],{"categories":1061},[214],{"categories":1063},[276],{"categories":1065},[],{"categories":1067},[214],{"categories":1069},[],{"categories":1071},[],{"categories":1073},[],{"categories":1075},[],{"categories":1077},[],{"categories":1079},[217],{"categories":1081},[220],{"categories":1083},[531],{"categories":1085},[211],{"categories":1087},[217],{"categories":1089},[269],{"categories":1091},[223],{"categories":1093},[217],{"categories":1095},[276],{"categories":1097},[217],{"categories":1099},[217],{"categories":1101},[217],{"categories":1103},[217,211],{"categories":1105},[269],{"categories":1107},[269],{"categories":1109},[259],{"categories":1111},[217],{"categories":1113},[],{"categories":1115},[],{"categories":1117},[],{"categories":1119},[269],{"categories":1121},[262],{"categories":1123},[238],{"categories":1125},[259],{"categories":1127},[],{"categories":1129},[217],{"categories":1131},[217],{"categories":1133},[],{"categories":1135},[],{"categories":1137},[220],{"categories":1139},[217],{"categories":1141},[214],{"categories":1143},[],{"categories":1145},[211],{"categories":1147},[217],{"categories":1149},[211],{"categories":1151},[217],{"categories":1153},[269],{"categories":1155},[276],{"categories":1157},[217,259],{"categories":1159},[238],{"categories":1161},[259],{"categories":1163},[],{"categories":1165},[531],{"categories":1167},[259],{"categories":1169},[220],{"categories":1171},[],{"categories":1173},[],{"categories":1175},[],{"categories":1177},[],{"categories":1179},[269],{"categories":1181},[220],{"categories":1183},[220],{"categories":1185},[217],{"categories":1187},[217],{"categories":1189},[],{"categories":1191},[259],{"categories":1193},[],{"categories":1195},[],{"categories":1197},[220],{"categories":1199},[],{"categories":1201},[],{"categories":1203},[276],{"categories":1205},[276],{"categories":1207},[220],{"categories":1209},[],{"categories":1211},[217],{"categories":1213},[217],{"categories":1215},[269],{"categories":1217},[259],{"categories":1219},[259],{"categories":1221},[220],{"categories":1223},[211],{"categories":1225},[217],{"categories":1227},[259],{"categories":1229},[259],{"categories":1231},[220],{"categories":1233},[220],{"categories":1235},[217],{"categories":1237},[],{"categories":1239},[],{"categories":1241},[217],{"categories":1243},[220],{"categories":1245},[238],{"categories":1247},[269],{"categories":1249},[211],{"categories":1251},[217],{"categories":1253},[],{"categories":1255},[220],{"categories":1257},[220],{"categories":1259},[],{"categories":1261},[211],{"categories":1263},[217],{"categories":1265},[211],{"categories":1267},[211],{"categories":1269},[],{"categories":1271},[],{"categories":1273},[220],{"categories":1275},[220],{"categories":1277},[217],{"categories":1279},[217],{"categories":1281},[238],{"categories":1283},[262],{"categories":1285},[223],{"categories":1287},[238],{"categories":1289},[259],{"categories":1291},[],{"categories":1293},[238],{"categories":1295},[],{"categories":1297},[],{"categories":1299},[],{"categories":1301},[],{"categories":1303},[269],{"categories":1305},[262],{"categories":1307},[],{"categories":1309},[217],{"categories":1311},[217],{"categories":1313},[262],{"categories":1315},[269],{"categories":1317},[],{"categories":1319},[],{"categories":1321},[220],{"categories":1323},[238],{"categories":1325},[238],{"categories":1327},[220],{"categories":1329},[211],{"categories":1331},[217,531],{"categories":1333},[],{"categories":1335},[259],{"categories":1337},[211],{"categories":1339},[220],{"categories":1341},[259],{"categories":1343},[],{"categories":1345},[220],{"categories":1347},[220],{"categories":1349},[217],{"categories":1351},[276],{"categories":1353},[269],{"categories":1355},[259],{"categories":1357},[],{"categories":1359},[220],{"categories":1361},[217],{"categories":1363},[220],{"categories":1365},[220],{"categories":1367},[220],{"categories":1369},[276],{"categories":1371},[220],{"categories":1373},[217],{"categories":1375},[],{"categories":1377},[276],{"categories":1379},[238],{"categories":1381},[220],{"categories":1383},[],{"categories":1385},[],{"categories":1387},[217],{"categories":1389},[220],{"categories":1391},[238],{"categories":1393},[220],{"categories":1395},[],{"categories":1397},[],{"categories":1399},[],{"categories":1401},[220],{"categories":1403},[],{"categories":1405},[],{"categories":1407},[262],{"categories":1409},[217],{"categories":1411},[262],{"categories":1413},[238],{"categories":1415},[217],{"categories":1417},[217],{"categories":1419},[220],{"categories":1421},[217],{"categories":1423},[],{"categories":1425},[],{"categories":1427},[531],{"categories":1429},[],{"categories":1431},[],{"categories":1433},[211],{"categories":1435},[],{"categories":1437},[],{"categories":1439},[],{"categories":1441},[],{"categories":1443},[269],{"categories":1445},[238],{"categories":1447},[276],{"categories":1449},[214],{"categories":1451},[217],{"categories":1453},[217],{"categories":1455},[214],{"categories":1457},[],{"categories":1459},[259],{"categories":1461},[220],{"categories":1463},[214],{"categories":1465},[217],{"categories":1467},[217],{"categories":1469},[211],{"categories":1471},[],{"categories":1473},[211],{"categories":1475},[217],{"categories":1477},[276],{"categories":1479},[220],{"categories":1481},[238],{"categories":1483},[214],{"categories":1485},[217],{"categories":1487},[220],{"categories":1489},[],{"categories":1491},[217],{"categories":1493},[211],{"categories":1495},[217],{"categories":1497},[],{"categories":1499},[238],{"categories":1501},[217],{"categories":1503},[],{"categories":1505},[214],{"categories":1507},[217],{"categories":1509},[],{"categories":1511},[],{"categories":1513},[],{"categories":1515},[217],{"categories":1517},[],{"categories":1519},[531],{"categories":1521},[217],{"categories":1523},[],{"categories":1525},[217],{"categories":1527},[217],{"categories":1529},[217],{"categories":1531},[217,531],{"categories":1533},[217],{"categories":1535},[217],{"categories":1537},[259],{"categories":1539},[220],{"categories":1541},[],{"categories":1543},[220],{"categories":1545},[217],{"categories":1547},[217],{"categories":1549},[217],{"categories":1551},[211],{"categories":1553},[211],{"categories":1555},[269],{"categories":1557},[259],{"categories":1559},[220],{"categories":1561},[],{"categories":1563},[217],{"categories":1565},[238],{"categories":1567},[217],{"categories":1569},[214],{"categories":1571},[],{"categories":1573},[531],{"categories":1575},[259],{"categories":1577},[259],{"categories":1579},[220],{"categories":1581},[238],{"categories":1583},[220],{"categories":1585},[217],{"categories":1587},[],{"categories":1589},[217],{"categories":1591},[],{"categories":1593},[],{"categories":1595},[217],{"categories":1597},[217],{"categories":1599},[217],{"categories":1601},[220],{"categories":1603},[217],{"categories":1605},[],{"categories":1607},[262],{"categories":1609},[220],{"categories":1611},[],{"categories":1613},[217],{"categories":1615},[238],{"categories":1617},[],{"categories":1619},[259],{"categories":1621},[531],{"categories":1623},[238],{"categories":1625},[269],{"categories":1627},[269],{"categories":1629},[238],{"categories":1631},[238],{"categories":1633},[531],{"categories":1635},[],{"categories":1637},[238],{"categories":1639},[217],{"categories":1641},[211],{"categories":1643},[238],{"categories":1645},[],{"categories":1647},[262],{"categories":1649},[238],{"categories":1651},[269],{"categories":1653},[238],{"categories":1655},[531],{"categories":1657},[217],{"categories":1659},[217],{"categories":1661},[],{"categories":1663},[214],{"categories":1665},[],{"categories":1667},[],{"categories":1669},[217],{"categories":1671},[217],{"categories":1673},[217],{"categories":1675},[217],{"categories":1677},[],{"categories":1679},[262],{"categories":1681},[211],{"categories":1683},[],{"categories":1685},[217],{"categories":1687},[217],{"categories":1689},[531],{"categories":1691},[531],{"categories":1693},[],{"categories":1695},[220],{"categories":1697},[238],{"categories":1699},[238],{"categories":1701},[217],{"categories":1703},[220],{"categories":1705},[],{"categories":1707},[259],{"categories":1709},[217],{"categories":1711},[217],{"categories":1713},[],{"categories":1715},[],{"categories":1717},[531],{"categories":1719},[217],{"categories":1721},[269],{"categories":1723},[214],{"categories":1725},[217],{"categories":1727},[],{"categories":1729},[220],{"categories":1731},[211],{"categories":1733},[211],{"categories":1735},[],{"categories":1737},[217],{"categories":1739},[259],{"categories":1741},[220],{"categories":1743},[],{"categories":1745},[217],{"categories":1747},[217],{"categories":1749},[220],{"categories":1751},[],{"categories":1753},[220],{"categories":1755},[269],{"categories":1757},[],{"categories":1759},[217],{"categories":1761},[],{"categories":1763},[217],{"categories":1765},[],{"categories":1767},[217],{"categories":1769},[217],{"categories":1771},[],{"categories":1773},[217],{"categories":1775},[238],{"categories":1777},[217],{"categories":1779},[217],{"categories":1781},[211],{"categories":1783},[217],{"categories":1785},[238],{"categories":1787},[220],{"categories":1789},[],{"categories":1791},[217],{"categories":1793},[276],{"categories":1795},[],{"categories":1797},[],{"categories":1799},[],{"categories":1801},[211],{"categories":1803},[238],{"categories":1805},[220],{"categories":1807},[217],{"categories":1809},[259],{"categories":1811},[220],{"categories":1813},[],{"categories":1815},[220],{"categories":1817},[],{"categories":1819},[217],{"categories":1821},[220],{"categories":1823},[217],{"categories":1825},[],{"categories":1827},[217],{"categories":1829},[217],{"categories":1831},[238],{"categories":1833},[259],{"categories":1835},[220],{"categories":1837},[259],{"categories":1839},[214],{"categories":1841},[],{"categories":1843},[],{"categories":1845},[217],{"categories":1847},[211],{"categories":1849},[238],{"categories":1851},[],{"categories":1853},[],{"categories":1855},[269],{"categories":1857},[259],{"categories":1859},[],{"categories":1861},[217],{"categories":1863},[],{"categories":1865},[276],{"categories":1867},[217],{"categories":1869},[531],{"categories":1871},[269],{"categories":1873},[],{"categories":1875},[220],{"categories":1877},[217],{"categories":1879},[220],{"categories":1881},[220],{"categories":1883},[217],{"categories":1885},[],{"categories":1887},[211],{"categories":1889},[217],{"categories":1891},[214],{"categories":1893},[269],{"categories":1895},[259],{"categories":1897},[],{"categories":1899},[],{"categories":1901},[],{"categories":1903},[220],{"categories":1905},[259],{"categories":1907},[238],{"categories":1909},[217],{"categories":1911},[238],{"categories":1913},[259],{"categories":1915},[],{"categories":1917},[259],{"categories":1919},[238],{"categories":1921},[214],{"categories":1923},[217],{"categories":1925},[238],{"categories":1927},[276],{"categories":1929},[],{"categories":1931},[],{"categories":1933},[262],{"categories":1935},[217,269],{"categories":1937},[238],{"categories":1939},[217],{"categories":1941},[220],{"categories":1943},[220],{"categories":1945},[217],{"categories":1947},[],{"categories":1949},[269],{"categories":1951},[217],{"categories":1953},[262],{"categories":1955},[220],{"categories":1957},[276],{"categories":1959},[531],{"categories":1961},[],{"categories":1963},[211],{"categories":1965},[220],{"categories":1967},[220],{"categories":1969},[269],{"categories":1971},[217],{"categories":1973},[217],{"categories":1975},[],{"categories":1977},[],{"categories":1979},[],{"categories":1981},[531],{"categories":1983},[238],{"categories":1985},[217],{"categories":1987},[217],{"categories":1989},[217],{"categories":1991},[],{"categories":1993},[262],{"categories":1995},[214],{"categories":1997},[],{"categories":1999},[220],{"categories":2001},[531],{"categories":2003},[],{"categories":2005},[259],{"categories":2007},[259],{"categories":2009},[],{"categories":2011},[269],{"categories":2013},[259],{"categories":2015},[217],{"categories":2017},[],{"categories":2019},[238],{"categories":2021},[217],{"categories":2023},[259],{"categories":2025},[220],{"categories":2027},[238],{"categories":2029},[],{"categories":2031},[220],{"categories":2033},[259],{"categories":2035},[217],{"categories":2037},[],{"categories":2039},[217],{"categories":2041},[217],{"categories":2043},[531],{"categories":2045},[238],{"categories":2047},[262],{"categories":2049},[262],{"categories":2051},[],{"categories":2053},[],{"categories":2055},[],{"categories":2057},[220],{"categories":2059},[269],{"categories":2061},[269],{"categories":2063},[],{"categories":2065},[],{"categories":2067},[217],{"categories":2069},[],{"categories":2071},[220],{"categories":2073},[217],{"categories":2075},[],{"categories":2077},[217],{"categories":2079},[214],{"categories":2081},[217],{"categories":2083},[276],{"categories":2085},[220],{"categories":2087},[217],{"categories":2089},[269],{"categories":2091},[238],{"categories":2093},[220],{"categories":2095},[],{"categories":2097},[238],{"categories":2099},[220],{"categories":2101},[220],{"categories":2103},[],{"categories":2105},[214],{"categories":2107},[220],{"categories":2109},[],{"categories":2111},[217],{"categories":2113},[211],{"categories":2115},[238],{"categories":2117},[531],{"categories":2119},[220],{"categories":2121},[220],{"categories":2123},[211],{"categories":2125},[217],{"categories":2127},[],{"categories":2129},[],{"categories":2131},[259],{"categories":2133},[217,214],{"categories":2135},[],{"categories":2137},[211],{"categories":2139},[262],{"categories":2141},[217],{"categories":2143},[269],{"categories":2145},[217],{"categories":2147},[220],{"categories":2149},[217],{"categories":2151},[217],{"categories":2153},[238],{"categories":2155},[220],{"categories":2157},[],{"categories":2159},[],{"categories":2161},[220],{"categories":2163},[217],{"categories":2165},[531],{"categories":2167},[],{"categories":2169},[217],{"categories":2171},[220],{"categories":2173},[],{"categories":2175},[217],{"categories":2177},[276],{"categories":2179},[262],{"categories":2181},[220],{"categories":2183},[217],{"categories":2185},[531],{"categories":2187},[],{"categories":2189},[217],{"categories":2191},[276],{"categories":2193},[259],{"categories":2195},[217],{"categories":2197},[],{"categories":2199},[276],{"categories":2201},[238],{"categories":2203},[217],{"categories":2205},[217],{"categories":2207},[211],{"categories":2209},[],{"categories":2211},[],{"categories":2213},[259],{"categories":2215},[217],{"categories":2217},[262],{"categories":2219},[276],{"categories":2221},[276],{"categories":2223},[238],{"categories":2225},[],{"categories":2227},[],{"categories":2229},[217],{"categories":2231},[],{"categories":2233},[217,269],{"categories":2235},[238],{"categories":2237},[220],{"categories":2239},[269],{"categories":2241},[217],{"categories":2243},[211],{"categories":2245},[],{"categories":2247},[],{"categories":2249},[211],{"categories":2251},[276],{"categories":2253},[217],{"categories":2255},[],{"categories":2257},[259,217],{"categories":2259},[531],{"categories":2261},[211],{"categories":2263},[],{"categories":2265},[214],{"categories":2267},[214],{"categories":2269},[217],{"categories":2271},[269],{"categories":2273},[220],{"categories":2275},[238],{"categories":2277},[276],{"categories":2279},[259],{"categories":2281},[217],{"categories":2283},[217],{"categories":2285},[217],{"categories":2287},[211],{"categories":2289},[217],{"categories":2291},[220],{"categories":2293},[238],{"categories":2295},[],{"categories":2297},[],{"categories":2299},[262],{"categories":2301},[269],{"categories":2303},[217],{"categories":2305},[259],{"categories":2307},[262],{"categories":2309},[217],{"categories":2311},[217],{"categories":2313},[220],{"categories":2315},[220],{"categories":2317},[217,214],{"categories":2319},[],{"categories":2321},[259],{"categories":2323},[],{"categories":2325},[217],{"categories":2327},[238],{"categories":2329},[211],{"categories":2331},[211],{"categories":2333},[220],{"categories":2335},[217],{"categories":2337},[214],{"categories":2339},[269],{"categories":2341},[276],{"categories":2343},[],{"categories":2345},[238],{"categories":2347},[217],{"categories":2349},[217],{"categories":2351},[238],{"categories":2353},[269],{"categories":2355},[217],{"categories":2357},[220],{"categories":2359},[238],{"categories":2361},[217],{"categories":2363},[259],{"categories":2365},[217],{"categories":2367},[217],{"categories":2369},[531],{"categories":2371},[223],{"categories":2373},[220],{"categories":2375},[217],{"categories":2377},[238],{"categories":2379},[220],{"categories":2381},[276],{"categories":2383},[217],{"categories":2385},[],{"categories":2387},[217],{"categories":2389},[],{"categories":2391},[],{"categories":2393},[],{"categories":2395},[214],{"categories":2397},[217],{"categories":2399},[220],{"categories":2401},[238],{"categories":2403},[238],{"categories":2405},[238],{"categories":2407},[238],{"categories":2409},[],{"categories":2411},[211],{"categories":2413},[220],{"categories":2415},[238],{"categories":2417},[211],{"categories":2419},[220],{"categories":2421},[217],{"categories":2423},[217,220],{"categories":2425},[220],{"categories":2427},[531],{"categories":2429},[238],{"categories":2431},[238],{"categories":2433},[220],{"categories":2435},[217],{"categories":2437},[],{"categories":2439},[238],{"categories":2441},[276],{"categories":2443},[211],{"categories":2445},[217],{"categories":2447},[217],{"categories":2449},[],{"categories":2451},[269],{"categories":2453},[],{"categories":2455},[211],{"categories":2457},[220],{"categories":2459},[238],{"categories":2461},[217],{"categories":2463},[238],{"categories":2465},[211],{"categories":2467},[238],{"categories":2469},[238],{"categories":2471},[],{"categories":2473},[214],{"categories":2475},[220],{"categories":2477},[238],{"categories":2479},[238],{"categories":2481},[238],{"categories":2483},[238],{"categories":2485},[238],{"categories":2487},[238],{"categories":2489},[238],{"categories":2491},[238],{"categories":2493},[238],{"categories":2495},[238],{"categories":2497},[262],{"categories":2499},[211],{"categories":2501},[217],{"categories":2503},[217],{"categories":2505},[],{"categories":2507},[217,211],{"categories":2509},[],{"categories":2511},[220],{"categories":2513},[238],{"categories":2515},[220],{"categories":2517},[217],{"categories":2519},[217],{"categories":2521},[217],{"categories":2523},[217],{"categories":2525},[217],{"categories":2527},[220],{"categories":2529},[214],{"categories":2531},[259],{"categories":2533},[238],{"categories":2535},[217],{"categories":2537},[],{"categories":2539},[],{"categories":2541},[220],{"categories":2543},[259],{"categories":2545},[217],{"categories":2547},[],{"categories":2549},[],{"categories":2551},[276],{"categories":2553},[217],{"categories":2555},[],{"categories":2557},[],{"categories":2559},[211],{"categories":2561},[214],{"categories":2563},[217],{"categories":2565},[214],{"categories":2567},[259],{"categories":2569},[],{"categories":2571},[238],{"categories":2573},[],{"categories":2575},[259],{"categories":2577},[217],{"categories":2579},[276],{"categories":2581},[],{"categories":2583},[276],{"categories":2585},[],{"categories":2587},[],{"categories":2589},[220],{"categories":2591},[],{"categories":2593},[214],{"categories":2595},[211],{"categories":2597},[259],{"categories":2599},[269],{"categories":2601},[],{"categories":2603},[],{"categories":2605},[217],{"categories":2607},[211],{"categories":2609},[276],{"categories":2611},[],{"categories":2613},[220],{"categories":2615},[220],{"categories":2617},[238],{"categories":2619},[217],{"categories":2621},[220],{"categories":2623},[217],{"categories":2625},[220],{"categories":2627},[217],{"categories":2629},[223],{"categories":2631},[238],{"categories":2633},[],{"categories":2635},[276],{"categories":2637},[269],{"categories":2639},[220],{"categories":2641},[],{"categories":2643},[217],{"categories":2645},[220],{"categories":2647},[214],{"categories":2649},[211],{"categories":2651},[217],{"categories":2653},[259],{"categories":2655},[269],{"categories":2657},[269],{"categories":2659},[217],{"categories":2661},[262],{"categories":2663},[217],{"categories":2665},[220],{"categories":2667},[214],{"categories":2669},[220],{"categories":2671},[217],{"categories":2673},[217],{"categories":2675},[220],{"categories":2677},[238],{"categories":2679},[],{"categories":2681},[211],{"categories":2683},[217],{"categories":2685},[220],{"categories":2687},[217],{"categories":2689},[217],{"categories":2691},[],{"categories":2693},[259],{"categories":2695},[214],{"categories":2697},[238],{"categories":2699},[217],{"categories":2701},[217],{"categories":2703},[259],{"categories":2705},[276],{"categories":2707},[262],{"categories":2709},[217],{"categories":2711},[238],{"categories":2713},[217],{"categories":2715},[220],{"categories":2717},[531],{"categories":2719},[217],{"categories":2721},[220],{"categories":2723},[262],{"categories":2725},[],{"categories":2727},[220],{"categories":2729},[269],{"categories":2731},[259],{"categories":2733},[217],{"categories":2735},[211],{"categories":2737},[214],{"categories":2739},[269],{"categories":2741},[],{"categories":2743},[220],{"categories":2745},[217],{"categories":2747},[],{"categories":2749},[238],{"categories":2751},[],{"categories":2753},[238],{"categories":2755},[217],{"categories":2757},[220],{"categories":2759},[220],{"categories":2761},[220],{"categories":2763},[],{"categories":2765},[],{"categories":2767},[217],{"categories":2769},[217],{"categories":2771},[],{"categories":2773},[259],{"categories":2775},[220],{"categories":2777},[276],{"categories":2779},[211],{"categories":2781},[],{"categories":2783},[],{"categories":2785},[238],{"categories":2787},[269],{"categories":2789},[217],{"categories":2791},[217],{"categories":2793},[217],{"categories":2795},[269],{"categories":2797},[238],{"categories":2799},[259],{"categories":2801},[217],{"categories":2803},[217],{"categories":2805},[217],{"categories":2807},[238],{"categories":2809},[217],{"categories":2811},[238],{"categories":2813},[220],{"categories":2815},[220],{"categories":2817},[269],{"categories":2819},[220],{"categories":2821},[217],{"categories":2823},[269],{"categories":2825},[259],{"categories":2827},[],{"categories":2829},[220],{"categories":2831},[],{"categories":2833},[],{"categories":2835},[214],{"categories":2837},[217],{"categories":2839},[220],{"categories":2841},[211],{"categories":2843},[220],{"categories":2845},[276],{"categories":2847},[],{"categories":2849},[220],{"categories":2851},[],{"categories":2853},[211],{"categories":2855},[220],{"categories":2857},[],{"categories":2859},[220],{"categories":2861},[217],{"categories":2863},[238],{"categories":2865},[217],{"categories":2867},[220],{"categories":2869},[238],{"categories":2871},[220],{"categories":2873},[269],{"categories":2875},[259],{"categories":2877},[211],{"categories":2879},[],{"categories":2881},[220],{"categories":2883},[259],{"categories":2885},[238],{"categories":2887},[217],{"categories":2889},[259],{"categories":2891},[211],{"categories":2893},[],{"categories":2895},[220],{"categories":2897},[220],{"categories":2899},[217],{"categories":2901},[],{"categories":2903},[220],{"categories":2905},[223],{"categories":2907},[238],{"categories":2909},[220],{"categories":2911},[214],{"categories":2913},[],{"categories":2915},[217],{"categories":2917},[223],{"categories":2919},[217],{"categories":2921},[220],{"categories":2923},[238],{"categories":2925},[211],{"categories":2927},[531],{"categories":2929},[217],{"categories":2931},[217],{"categories":2933},[217],{"categories":2935},[238],{"categories":2937},[214],{"categories":2939},[217],{"categories":2941},[259],{"categories":2943},[238],{"categories":2945},[531],{"categories":2947},[217],{"categories":2949},[],{"categories":2951},[],{"categories":2953},[531],{"categories":2955},[262],{"categories":2957},[220],{"categories":2959},[220],{"categories":2961},[238],{"categories":2963},[217],{"categories":2965},[211],{"categories":2967},[259],{"categories":2969},[220],{"categories":2971},[217],{"categories":2973},[276],{"categories":2975},[217],{"categories":2977},[220],{"categories":2979},[],{"categories":2981},[217],{"categories":2983},[217],{"categories":2985},[238],{"categories":2987},[211],{"categories":2989},[],{"categories":2991},[217],{"categories":2993},[217],{"categories":2995},[269],{"categories":2997},[259],{"categories":2999},[217,220],{"categories":3001},[276,214],{"categories":3003},[217],{"categories":3005},[],{"categories":3007},[220],{"categories":3009},[],{"categories":3011},[269],{"categories":3013},[217],{"categories":3015},[238],{"categories":3017},[],{"categories":3019},[220],{"categories":3021},[],{"categories":3023},[220],{"categories":3025},[211],{"categories":3027},[220],{"categories":3029},[217],{"categories":3031},[531],{"categories":3033},[276],{"categories":3035},[214],{"categories":3037},[214],{"categories":3039},[211],{"categories":3041},[211],{"categories":3043},[217],{"categories":3045},[220],{"categories":3047},[217],{"categories":3049},[217],{"categories":3051},[211],{"categories":3053},[217],{"categories":3055},[276],{"categories":3057},[238],{"categories":3059},[217],{"categories":3061},[220],{"categories":3063},[217],{"categories":3065},[],{"categories":3067},[269],{"categories":3069},[],{"categories":3071},[220],{"categories":3073},[211],{"categories":3075},[],{"categories":3077},[531],{"categories":3079},[217],{"categories":3081},[],{"categories":3083},[238],{"categories":3085},[220],{"categories":3087},[269],{"categories":3089},[217],{"categories":3091},[220],{"categories":3093},[269],{"categories":3095},[220],{"categories":3097},[238],{"categories":3099},[211],{"categories":3101},[238],{"categories":3103},[269],{"categories":3105},[217],{"categories":3107},[259],{"categories":3109},[217],{"categories":3111},[217],{"categories":3113},[217],{"categories":3115},[217],{"categories":3117},[220],{"categories":3119},[217],{"categories":3121},[220],{"categories":3123},[217],{"categories":3125},[211],{"categories":3127},[217],{"categories":3129},[220],{"categories":3131},[259],{"categories":3133},[211],{"categories":3135},[220],{"categories":3137},[259],{"categories":3139},[],{"categories":3141},[217],{"categories":3143},[217],{"categories":3145},[269],{"categories":3147},[],{"categories":3149},[220],{"categories":3151},[276],{"categories":3153},[217],{"categories":3155},[238],{"categories":3157},[276],{"categories":3159},[220],{"categories":3161},[214],{"categories":3163},[214],{"categories":3165},[217],{"categories":3167},[211],{"categories":3169},[],{"categories":3171},[217],{"categories":3173},[],{"categories":3175},[211],{"categories":3177},[217],{"categories":3179},[220],{"categories":3181},[220],{"categories":3183},[],{"categories":3185},[269],{"categories":3187},[269],{"categories":3189},[276],{"categories":3191},[259],{"categories":3193},[],{"categories":3195},[217],{"categories":3197},[211],{"categories":3199},[217],{"categories":3201},[269],{"categories":3203},[211],{"categories":3205},[238],{"categories":3207},[238],{"categories":3209},[],{"categories":3211},[238],{"categories":3213},[220],{"categories":3215},[259],{"categories":3217},[262],{"categories":3219},[217],{"categories":3221},[],{"categories":3223},[238],{"categories":3225},[269],{"categories":3227},[214],{"categories":3229},[217],{"categories":3231},[211],{"categories":3233},[531],{"categories":3235},[211],{"categories":3237},[],{"categories":3239},[],{"categories":3241},[238],{"categories":3243},[],{"categories":3245},[220],{"categories":3247},[220],{"categories":3249},[220],{"categories":3251},[],{"categories":3253},[217],{"categories":3255},[],{"categories":3257},[238],{"categories":3259},[211],{"categories":3261},[259],{"categories":3263},[217],{"categories":3265},[238],{"categories":3267},[238],{"categories":3269},[],{"categories":3271},[238],{"categories":3273},[211],{"categories":3275},[217],{"categories":3277},[],{"categories":3279},[220],{"categories":3281},[220],{"categories":3283},[211],{"categories":3285},[],{"categories":3287},[],{"categories":3289},[],{"categories":3291},[259],{"categories":3293},[220],{"categories":3295},[217],{"categories":3297},[],{"categories":3299},[],{"categories":3301},[],{"categories":3303},[259],{"categories":3305},[],{"categories":3307},[211],{"categories":3309},[],{"categories":3311},[],{"categories":3313},[259],{"categories":3315},[217],{"categories":3317},[238],{"categories":3319},[],{"categories":3321},[276],{"categories":3323},[238],{"categories":3325},[276],{"categories":3327},[217],{"categories":3329},[],{"categories":3331},[],{"categories":3333},[220],{"categories":3335},[],{"categories":3337},[],{"categories":3339},[220],{"categories":3341},[217],{"categories":3343},[],{"categories":3345},[220],{"categories":3347},[238],{"categories":3349},[276],{"categories":3351},[262],{"categories":3353},[220],{"categories":3355},[220],{"categories":3357},[],{"categories":3359},[],{"categories":3361},[],{"categories":3363},[238],{"categories":3365},[],{"categories":3367},[],{"categories":3369},[259],{"categories":3371},[211],{"categories":3373},[],{"categories":3375},[214],{"categories":3377},[276],{"categories":3379},[217],{"categories":3381},[269],{"categories":3383},[211],{"categories":3385},[262],{"categories":3387},[214],{"categories":3389},[269],{"categories":3391},[],{"categories":3393},[],{"categories":3395},[220],{"categories":3397},[211],{"categories":3399},[259],{"categories":3401},[211],{"categories":3403},[220],{"categories":3405},[531],{"categories":3407},[220],{"categories":3409},[],{"categories":3411},[217],{"categories":3413},[238],{"categories":3415},[269],{"categories":3417},[],{"categories":3419},[259],{"categories":3421},[238],{"categories":3423},[211],{"categories":3425},[220],{"categories":3427},[217],{"categories":3429},[214],{"categories":3431},[220,531],{"categories":3433},[220],{"categories":3435},[269],{"categories":3437},[217],{"categories":3439},[262],{"categories":3441},[276],{"categories":3443},[220],{"categories":3445},[],{"categories":3447},[220],{"categories":3449},[217],{"categories":3451},[214],{"categories":3453},[],{"categories":3455},[],{"categories":3457},[217],{"categories":3459},[262],{"categories":3461},[217],{"categories":3463},[],{"categories":3465},[238],{"categories":3467},[],{"categories":3469},[238],{"categories":3471},[269],{"categories":3473},[220],{"categories":3475},[217],{"categories":3477},[276],{"categories":3479},[269],{"categories":3481},[],{"categories":3483},[238],{"categories":3485},[217],{"categories":3487},[],{"categories":3489},[217],{"categories":3491},[220],{"categories":3493},[217],{"categories":3495},[220],{"categories":3497},[217],{"categories":3499},[217],{"categories":3501},[217],{"categories":3503},[217],{"categories":3505},[214],{"categories":3507},[],{"categories":3509},[223],{"categories":3511},[238],{"categories":3513},[217],{"categories":3515},[],{"categories":3517},[269],{"categories":3519},[217],{"categories":3521},[217],{"categories":3523},[220],{"categories":3525},[238],{"categories":3527},[217],{"categories":3529},[217],{"categories":3531},[214],{"categories":3533},[220],{"categories":3535},[259],{"categories":3537},[],{"categories":3539},[262],{"categories":3541},[217],{"categories":3543},[],{"categories":3545},[238],{"categories":3547},[276],{"categories":3549},[],{"categories":3551},[],{"categories":3553},[238],{"categories":3555},[238],{"categories":3557},[276],{"categories":3559},[211],{"categories":3561},[220],{"categories":3563},[220],{"categories":3565},[217],{"categories":3567},[214],{"categories":3569},[],{"categories":3571},[],{"categories":3573},[238],{"categories":3575},[262],{"categories":3577},[269],{"categories":3579},[220],{"categories":3581},[259],{"categories":3583},[262],{"categories":3585},[262],{"categories":3587},[],{"categories":3589},[238],{"categories":3591},[217],{"categories":3593},[217],{"categories":3595},[269],{"categories":3597},[],{"categories":3599},[238],{"categories":3601},[238],{"categories":3603},[238],{"categories":3605},[],{"categories":3607},[220],{"categories":3609},[217],{"categories":3611},[],{"categories":3613},[211],{"categories":3615},[214],{"categories":3617},[],{"categories":3619},[217],{"categories":3621},[217],{"categories":3623},[],{"categories":3625},[269],{"categories":3627},[],{"categories":3629},[],{"categories":3631},[],{"categories":3633},[],{"categories":3635},[217],{"categories":3637},[238],{"categories":3639},[],{"categories":3641},[],{"categories":3643},[217],{"categories":3645},[217],{"categories":3647},[217],{"categories":3649},[262],{"categories":3651},[217],{"categories":3653},[262],{"categories":3655},[],{"categories":3657},[262],{"categories":3659},[262],{"categories":3661},[531],{"categories":3663},[220],{"categories":3665},[269],{"categories":3667},[],{"categories":3669},[],{"categories":3671},[262],{"categories":3673},[269],{"categories":3675},[269],{"categories":3677},[269],{"categories":3679},[],{"categories":3681},[211],{"categories":3683},[269],{"categories":3685},[269],{"categories":3687},[211],{"categories":3689},[269],{"categories":3691},[214],{"categories":3693},[269],{"categories":3695},[269],{"categories":3697},[269],{"categories":3699},[262],{"categories":3701},[238],{"categories":3703},[238],{"categories":3705},[217],{"categories":3707},[269],{"categories":3709},[262],{"categories":3711},[531],{"categories":3713},[262],{"categories":3715},[262],{"categories":3717},[262],{"categories":3719},[],{"categories":3721},[214],{"categories":3723},[],{"categories":3725},[531],{"categories":3727},[269],{"categories":3729},[269],{"categories":3731},[269],{"categories":3733},[220],{"categories":3735},[238,214],{"categories":3737},[262],{"categories":3739},[],{"categories":3741},[],{"categories":3743},[262],{"categories":3745},[],{"categories":3747},[262],{"categories":3749},[238],{"categories":3751},[220],{"categories":3753},[],{"categories":3755},[269],{"categories":3757},[217],{"categories":3759},[259],{"categories":3761},[],{"categories":3763},[217],{"categories":3765},[],{"categories":3767},[238],{"categories":3769},[211],{"categories":3771},[262],{"categories":3773},[],{"categories":3775},[269],{"categories":3777},[238],[3779,3924,4083,4169],{"id":3780,"title":3781,"ai":3782,"body":3787,"categories":3892,"created_at":159,"date_modified":159,"description":152,"extension":160,"faq":159,"featured":161,"kicker_label":159,"meta":3893,"navigation":190,"path":3912,"published_at":159,"question":159,"scraped_at":3913,"seo":3914,"sitemap":3915,"source_id":3916,"source_name":3917,"source_type":197,"source_url":3918,"stem":3919,"tags":3920,"thumbnail_url":159,"tldr":3921,"tweet":159,"unknown_tags":3922,"__hash__":3923},"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":3783,"output_tokens":3784,"processing_time_ms":3785,"cost_usd":3786},9732,1740,12684,0.00230955,{"type":14,"value":3788,"toc":3887},[3789,3793,3796,3862,3865,3869,3872,3876,3883],[17,3790,3792],{"id":3791},"define-agents-and-tools-directly-in-code","Define Agents and Tools Directly in Code",[22,3794,3795],{},"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:",[3797,3798,3801],"pre",{"className":3799,"code":3800,"language":202,"meta":152,"style":152},"language-python shiki shiki-themes github-light github-dark","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",[26,3802,3803,3811,3816,3822,3827,3832,3838,3844,3850,3856],{"__ignoreMap":152},[3804,3805,3808],"span",{"class":3806,"line":3807},"line",1,[3804,3809,3810],{},"from google.adk.agents import Agent\n",[3804,3812,3813],{"class":3806,"line":153},[3804,3814,3815],{},"from google.adk.tools import google_search\n",[3804,3817,3819],{"class":3806,"line":3818},3,[3804,3820,3821],{"emptyLinePlaceholder":190},"\n",[3804,3823,3824],{"class":3806,"line":187},[3804,3825,3826],{},"root_agent = Agent(\n",[3804,3828,3829],{"class":3806,"line":186},[3804,3830,3831],{},"    name=\"search_assistant\",\n",[3804,3833,3835],{"class":3806,"line":3834},6,[3804,3836,3837],{},"    model=\"gemini-2.5-flash\",\n",[3804,3839,3841],{"class":3806,"line":3840},7,[3804,3842,3843],{},"    instruction=\"You are a helpful assistant. Answer user questions using Google Search when needed.\",\n",[3804,3845,3847],{"class":3806,"line":3846},8,[3804,3848,3849],{},"    description=\"An assistant that can search the web.\",\n",[3804,3851,3853],{"class":3806,"line":3852},9,[3804,3854,3855],{},"    tools=[google_search]\n",[3804,3857,3859],{"class":3806,"line":3858},10,[3804,3860,3861],{},")\n",[22,3863,3864],{},"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,3866,3868],{"id":3867},"build-scalable-multi-agent-hierarchies","Build Scalable Multi-Agent Hierarchies",[22,3870,3871],{},"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,3873,3875],{"id":3874},"install-evaluate-and-deploy-seamlessly","Install, Evaluate, and Deploy Seamlessly",[22,3877,3878,3879,3882],{},"Install stable via ",[26,3880,3881],{},"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.",[3884,3885,3886],"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":152,"searchDepth":153,"depth":153,"links":3888},[3889,3890,3891],{"id":3791,"depth":153,"text":3792},{"id":3867,"depth":153,"text":3868},{"id":3874,"depth":153,"text":3875},[],{"content_references":3894,"triage":3910},[3895,3898,3901,3904,3907],{"type":165,"title":3896,"url":184,"context":3897},"ADK Documentation","recommended",{"type":165,"title":3899,"url":3900,"context":3897},"ADK Samples","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-samples",{"type":165,"title":3902,"url":3903,"context":168},"Java ADK","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-java",{"type":165,"title":3905,"url":3906,"context":168},"Go ADK","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-go",{"type":165,"title":3908,"url":3909,"context":168},"A2A Protocol","https:\u002F\u002Fgithub.com\u002Fgoogle-a2a\u002FA2A\u002F",{"relevance":186,"novelty":187,"quality":187,"actionability":186,"composite":188,"reasoning":3911},"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":3781,"description":152},{"loc":3912},"b6c275efa5018657","__oneoff__","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-python","summaries\u002Fb6c275efa5018657-google-s-adk-code-first-python-ai-agent-toolkit-summary",[201,202,203],"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":3925,"title":3926,"ai":3927,"body":3932,"categories":4057,"created_at":159,"date_modified":159,"description":152,"extension":160,"faq":159,"featured":161,"kicker_label":159,"meta":4058,"navigation":190,"path":4069,"published_at":4070,"question":159,"scraped_at":4071,"seo":4072,"sitemap":4073,"source_id":4074,"source_name":4075,"source_type":197,"source_url":4076,"stem":4077,"tags":4078,"thumbnail_url":159,"tldr":4080,"tweet":159,"unknown_tags":4081,"__hash__":4082},"summaries\u002Fsummaries\u002Fa690c3914c9d11ae-memori-persistent-memory-for-multi-user-llm-agents-summary.md","Memori: Persistent Memory for Multi-User LLM Agents",{"provider":7,"model":8,"input_tokens":3928,"output_tokens":3929,"processing_time_ms":3930,"cost_usd":3931},8671,1734,17086,0.0025787,{"type":14,"value":3933,"toc":4052},[3934,3938,3977,3981,4008,4012],[17,3935,3937],{"id":3936},"seamless-client-integration-for-automatic-memory","Seamless Client Integration for Automatic Memory",[22,3939,3940,3941,3944,3945,3948,3949,3952,3953,3956,3957,3960,3961,3964,3965,3968,3969,3972,3973,3976],{},"Register synchronous and asynchronous OpenAI clients with Memori using ",[26,3942,3943],{},"mem.llm.register(client)"," and ",[26,3946,3947],{},"mem.llm.register(async_client)",". This intercepts all ",[26,3950,3951],{},"chat.completions.create"," calls to inject relevant memories as context, eliminating manual retrieval logic. Setup in Colab: ",[26,3954,3955],{},"pip install memori>=3.3.0 openai>=1.40.0 nest_asyncio",", set ",[26,3958,3959],{},"OPENAI_API_KEY"," (required) and optional ",[26,3962,3963],{},"MEMORI_API_KEY"," for non-rate-limited access. Use ",[26,3966,3967],{},"gpt-4o-mini"," as the model and a 6-second ",[26,3970,3971],{},"WRITE_DELAY"," after each call to ensure memory persistence. Result: Every LLM interaction becomes stateful, recalling facts like \"Alice loves hiking, Italian food, allergic to peanuts\" across turns via simple ",[26,3974,3975],{},"mem.attribution(entity_id=\"[email protected]\", process_id=\"personal-assistant\")"," before prompting.",[17,3978,3980],{"id":3979},"multi-tenant-isolation-via-entity-process-and-session-scoping","Multi-Tenant Isolation via Entity, Process, and Session Scoping",[22,3982,3983,3984,3987,3988,3991,3992,3995,3996,3999,4000,4003,4004,4007],{},"Scope memories hierarchically: ",[26,3985,3986],{},"entity_id"," (e.g., user email) isolates users—Bob's \"vegetarian, Rust developer, Berlin\" doesn't leak to Alice. ",[26,3989,3990],{},"process_id"," separates agent roles for one user: Alice's \"sub-25-minute 5K goal\" stays with ",[26,3993,3994],{},"fitness-coach",", while \"low-carb dinners\" is siloed to ",[26,3997,3998],{},"meal-planner",". Sessions group turns: ",[26,4001,4002],{},"mem.set_session(\"project-fastapi-abc123\")"," captures \"FastAPI app 'Lighthouse', Python 3.12, Fly.io, SQLAlchemy + Alembic\", excluding unrelated \"puppy named Mochi\" from ",[26,4005,4006],{},"mem.new_session()",". Recall by re-attributing and setting session: Agent summarizes project decisions accurately. Trade-off: Rate-limited tier suffices for demos; paid key needed for production scale.",[17,4009,4011],{"id":4010},"production-ready-features-streaming-async-and-workflows","Production-Ready Features: Streaming, Async, and Workflows",[22,4013,4014,4015,4018,4019,4022,4023,4026,4027,4030,4031,4034,4035,4037,4038,4041,4042,4046,4047,4051],{},"Streaming works out-of-box: ",[26,4016,4017],{},"stream=True"," on ",[26,4020,4021],{},"client.chat.completions.create"," pulls Alice's facts incrementally without breaking memory flow. Async calls via ",[26,4024,4025],{},"AsyncOpenAI"," recall restrictions like peanut allergy seamlessly: ",[26,4028,4029],{},"await async_client.chat.completions.create(...)",". Build multi-session agents like support bots: ",[26,4032,4033],{},"mem.attribution(entity_id=\"[email protected]\", process_id=\"support-bot\")","; new ",[26,4036,4006],{}," per turn still remembers \"Pro plan, ",[3804,4039,4040],{},"email protected","\" across interactions. System prompt: \"You are a calm, helpful customer support agent. Use what you remember about the user.\" Inspect memories at ",[39,4043,4044],{"href":4044,"rel":4045},"https:\u002F\u002Fapp.memorilabs.ai",[43]," or use BYODB for Postgres. Full notebook: ",[39,4048,4049],{"href":4049,"rel":4050},"https:\u002F\u002Fgithub.com\u002FMarktechpost\u002FAI-Agents-Projects-Tutorials\u002Fblob\u002Fmain\u002FAgentic%20AI%20Memory\u002Fmemori_agent_native_memory_infrastructure_tutorial_Marktechpost.ipynb",[43],". This scales to personalized assistants, multi-agent systems, and customer support retaining context long-term.",{"title":152,"searchDepth":153,"depth":153,"links":4053},[4054,4055,4056],{"id":3936,"depth":153,"text":3937},{"id":3979,"depth":153,"text":3980},{"id":4010,"depth":153,"text":4011},[],{"content_references":4059,"triage":4067},[4060,4063,4065],{"type":170,"title":4061,"url":4062,"context":3897},"Memori","https:\u002F\u002Fgithub.com\u002FMemoriLabs\u002FMemori",{"type":170,"title":4064,"url":4044,"context":168},"Memori Dashboard",{"type":165,"title":4066,"url":4049,"context":168},"Full Codes with Notebook",{"relevance":186,"novelty":187,"quality":187,"actionability":186,"composite":188,"reasoning":4068},"Category: AI & LLMs. The article provides a detailed implementation guide for integrating persistent memory in multi-user LLM applications, addressing a specific pain point of managing context across interactions. It includes actionable code snippets and setup instructions that developers can directly apply to their projects.","\u002Fsummaries\u002Fa690c3914c9d11ae-memori-persistent-memory-for-multi-user-llm-agents-summary","2026-05-11 07:34:38","2026-05-11 15:04:13",{"title":3926,"description":152},{"loc":4069},"a690c3914c9d11ae","MarkTechPost","https:\u002F\u002Fwww.marktechpost.com\u002F2026\u002F05\u002F11\u002Fa-coding-implementation-to-build-agent-native-memory-infrastructure-with-memori-for-persistent-multi-user-and-multi-session-llm-applications\u002F","summaries\u002Fa690c3914c9d11ae-memori-persistent-memory-for-multi-user-llm-agents-summary",[4079,201,203,202],"llm","Register OpenAI clients with Memori to automatically store\u002Fretrieve scoped memories by user entity, agent process, and session, enabling context-aware agents across turns, users, and interactions without manual prompt management.",[],"IOxDEqszxB6CWccOlNI-E5tVk_XdhVTT78_E4jNp8d8",{"id":4084,"title":4085,"ai":4086,"body":4091,"categories":4119,"created_at":159,"date_modified":159,"description":152,"extension":160,"faq":159,"featured":161,"kicker_label":159,"meta":4120,"navigation":190,"path":4153,"published_at":4154,"question":159,"scraped_at":4155,"seo":4156,"sitemap":4157,"source_id":4158,"source_name":4159,"source_type":4160,"source_url":4161,"stem":4162,"tags":4163,"thumbnail_url":4164,"tldr":4165,"tweet":4166,"unknown_tags":4167,"__hash__":4168},"summaries\u002Fsummaries\u002F26831750495fa9ed-openai-s-real-time-voice-ai-powers-agents-backed-b-summary.md","OpenAI's Real-Time Voice AI Powers Agents, Backed by MRC Networking",{"provider":7,"model":8,"input_tokens":4087,"output_tokens":4088,"processing_time_ms":4089,"cost_usd":4090},6837,2244,28673,0.00246675,{"type":14,"value":4092,"toc":4114},[4093,4097,4100,4104,4107,4111],[17,4094,4096],{"id":4095},"real-time-voice-models-enable-production-agents","Real-Time Voice Models Enable Production Agents",[22,4098,4099],{},"OpenAI's GPT-Realtime-2 combines GPT-4o-class reasoning with low-latency voice for live agents handling complex tasks like flight rebooking under $400 by querying accounts, comparing options, issuing refunds, and explaining in parallel via multiple tools. It uses short filler phrases (\"Let me check\") to mimic human pauses, preventing awkward silences, and supports adjustable reasoning levels (minimal to X-high) for speed vs. depth—default low prioritizes \u003C500ms responses. Context window expands to 128k tokens from 32k, sustaining long support calls or tutoring. Benchmarks: 96.6% Big Bench Audio accuracy (vs. 81.4% prior), 48.5% Audio Multi-Challenge pass rate (vs. 34.7%). Handles interruptions, accents, medical terms, and tone shifts (calm, empathetic). GPT-Realtime-Translate supports 70+ input\u002F13 output languages with context-aware live translation for support or events (e.g., Deutsche Telekom testing). GPT-Realtime-Whisper streams transcription for captions, notes, and action items. Pricing: GPT-Realtime-2 at $32\u002FM input tokens ($0.40\u002FM cached), $64\u002FM output; Translate $0.034\u002Fmin; Whisper $0.017\u002Fmin. Patterns: voice-to-action (tools), systems-to-voice (app guidance), voice-to-voice (translation). EU residency and anti-spam guardrails included.",[17,4101,4103],{"id":4102},"mrc-networking-scales-frontier-training","MRC Networking Scales Frontier Training",[22,4105,4106],{},"MRC (Multi-Path Reliable Connection) optimizes GPU clusters by spreading data across hundreds of paths using RoCE\u002FRDMA and SRV6 routing, reducing bottlenecks vs. single-path systems. Failure recovery happens in microseconds at NIC level—e.g., reroutes around bad links without crashing jobs, restoring capacity post-failure in ~1 minute. Enables 131k GPUs with 2 switch tiers (vs. 3-4), using 2\u002F3 optics and 3\u002F5 switches, cutting latency. Handles 400\u002F800Gbit RDMA cards (Nvidia\u002FAMD\u002FBroadcom) and switches (Nvidia Spectrum\u002FBroadcom Tomahawk). Live on OpenAI's GB200 clusters (Oracle Abilene, Microsoft Fairwater), survived switch reboots mid-training for ChatGPT\u002Fo1 models. Trade-off: Shifts AI race from GPUs to networks, as idle time on $expensive hardware burns cash for 900M weekly ChatGPT users.",[17,4108,4110],{"id":4109},"ai-jobs-debate-washing-vs-real-displacement","AI Jobs Debate: Washing vs. Real Displacement",[22,4112,4113],{},"Sam Altman notes \"AI-washing\"—firms blame unrelated layoffs (margins, consumers, geopolitics) on AI to justify spending. Yet displacement grows: Anthropic's Amodei predicts 50% entry-level office jobs lost; Snap cut 16% citing AI; WEF says 40% employers plan reductions. Data mixed—NBER survey: 90% execs report no employment impact post-ChatGPT; Yale Budget Lab: no occupation shifts\u002Funemployment spikes through Mar 2026. Contrasts: 2.7% YoY productivity jump (Stanford); 13% employment drop for early-career AI-exposed roles. Analogy: Like computers, AI effects lag macro data. Outcome: Entry digital tasks shrink first; experienced roles stable\u002Fgrow.",{"title":152,"searchDepth":153,"depth":153,"links":4115},[4116,4117,4118],{"id":4095,"depth":153,"text":4096},{"id":4102,"depth":153,"text":4103},{"id":4109,"depth":153,"text":4110},[238],{"content_references":4121,"triage":4150},[4122,4126,4129,4132,4136,4140,4143,4147],{"type":165,"title":4123,"url":4124,"context":4125},"Advancing voice intelligence with new models in the API","https:\u002F\u002Fopenai.com\u002Findex\u002Fadvancing-voice-intelligence-with-new-models-in-the-api\u002F","cited",{"type":165,"title":4127,"url":4128,"context":4125},"Realtime agents guide","https:\u002F\u002Fdevelopers.openai.com\u002Fcookbook\u002Fexamples\u002Fvoice_solutions\u002Frealtime_agents_guide",{"type":165,"title":4130,"url":4131,"context":4125},"MRC supercomputer networking","https:\u002F\u002Fopenai.com\u002Findex\u002Fmrc-supercomputer-networking\u002F",{"type":4133,"title":4134,"url":4135,"context":4125},"report","Sam Altman says some companies are AI-washing","https:\u002F\u002Fwww.techradar.com\u002Fpro\u002Fsam-altman-says-some-companies-are-ai-washing-by-blaming-unrelated-layoffs-on-the-technology-but-admits-things-may-get-worse-soon",{"type":4133,"title":4137,"publisher":4138,"url":4139,"context":4125},"Tracking impact of AI on labor market","Yale Budget Lab","https:\u002F\u002Fbudgetlab.yale.edu\u002Fresearch\u002Ftracking-impact-ai-labor-market",{"type":170,"title":4141,"url":4142,"context":3897},"CodeRabbit","https:\u002F\u002Fcoderabbit.link\u002Fai-revolution",{"type":4144,"title":4145,"author":4146,"context":4125},"paper","National Bureau of Economic Research study","National Bureau of Economic Research",{"type":4133,"title":4148,"publisher":4149,"context":4125},"World Economic Forum's 2025 Future of Jobs Report","World Economic Forum",{"relevance":3818,"novelty":3818,"quality":187,"actionability":153,"composite":4151,"reasoning":4152},3.05,"Category: AI & LLMs. The article discusses OpenAI's GPT-Realtime-2 and its capabilities for building real-time voice agents, which is relevant to AI-powered product development. However, it lacks actionable steps or frameworks that the audience can directly implement in their projects.","\u002Fsummaries\u002F26831750495fa9ed-openai-s-real-time-voice-ai-powers-agents-backed-b-summary","2026-05-08 22:31:14","2026-05-10 15:18:49",{"title":4085,"description":152},{"loc":4153},"4b39523ed70243f9","AI Revolution","video","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=o_igSi-ED6s","summaries\u002F26831750495fa9ed-openai-s-real-time-voice-ai-powers-agents-backed-b-summary",[4079,201,203,204],"https:\u002F\u002Fi.ytimg.com\u002Fvi\u002Fo_igSi-ED6s\u002Fhqdefault.jpg","OpenAI's GPT-Realtime-2 enables live voice agents with GPT-4o reasoning, 128k context, parallel tools, and 96.6% audio accuracy; MRC networking spreads data across paths for 131k-GPU clusters with microsecond failure recovery.","Narrated walkthrough of OpenAI's announcements on [real-time voice models](https:\u002F\u002Fopenai.com\u002Findex\u002Fadvancing-voice-intelligence-with-new-models-in-the-api\u002F) (GPT-Realtime-2\u002FTranslate\u002FWhisper for conversations, translation, transcription), [MRC supercomputer networking](https:\u002F\u002Fopenai.com\u002Findex\u002Fmrc-supercomputer-networking\u002F), and Sam Altman's [AI layoff comments](https:\u002F\u002Fwww.techradar.com\u002Fpro\u002Fsam-altman-says-some-companies-are-ai-washing-by-blaming-unrelated-layoffs-on-the-technology-but-admits-things-may-get-worse-soon), with a [CodeRabbit](https:\u002F\u002Fcoderabbit.link\u002Fai-revolution) sponsor segment.",[204],"Hnh2mFOtkRkBE9C8_maIzWYtBUahQHxcKa6xWpj7MA0",{"id":4170,"title":4171,"ai":4172,"body":4177,"categories":4434,"created_at":159,"date_modified":159,"description":152,"extension":160,"faq":159,"featured":161,"kicker_label":159,"meta":4435,"navigation":190,"path":4444,"published_at":4445,"question":159,"scraped_at":4446,"seo":4447,"sitemap":4448,"source_id":4449,"source_name":4450,"source_type":197,"source_url":4451,"stem":4452,"tags":4453,"thumbnail_url":159,"tldr":4455,"tweet":4456,"unknown_tags":4457,"__hash__":4458},"summaries\u002Fsummaries\u002Ff056d2fbc3259de2-optimize-live-agents-gepa-prompts-managed-vars-summary.md","Optimize Live Agents: GEPA Prompts + Managed Vars",{"provider":7,"model":8,"input_tokens":4173,"output_tokens":4174,"processing_time_ms":4175,"cost_usd":4176},8380,2516,37110,0.0029115,{"type":14,"value":4178,"toc":4427},[4179,4183,4186,4193,4207,4214,4229,4236,4247,4251,4254,4257,4276,4279,4282,4285,4292,4296,4299,4337,4344,4351,4354,4365,4368,4371,4375,4378,4389,4392,4396,4425],[17,4180,4182],{"id":4181},"build-golden-datasets-and-custom-evals-for-reliable-agent-testing","Build Golden Datasets and Custom Evals for Reliable Agent Testing",[22,4184,4185],{},"Samuel Colvin demonstrates optimizing agents post-deployment by first establishing a baseline with structured evaluations against a \"golden dataset\"—manually verified ground truth data. For the case study, he scrapes Wikipedia pages for UK MPs, extracts text via BeautifulSoup, and defines Pydantic schemas for MP details and political relations (focusing on ancestors like parents\u002Fgrandparents, excluding spouses\u002Fchildren).",[22,4187,4188,4189,4192],{},"The golden dataset (",[26,4190,4191],{},"golden_relations.json",") contains exact relations for ~650 MPs, created by running a high-end model like Opus once and manual checks. Custom evaluators compare agent outputs to this truth:",[4194,4195,4196,4204],"ul",{},[4197,4198,4199,4203],"li",{},[4200,4201,4202],"strong",{},"Accuracy",": Exact match on relations list (1.0 if perfect, partial scores like 0.9 for minor name\u002Fdescription diffs).",[4197,4205,4206],{},"Assertions for relation types, roles, and ancestor filtering.",[22,4208,4209,4210,4213],{},"Key principle: Prefer deterministic, rule-based evals over \"LLM-as-judge\" to avoid bias. \"Defining your own ",[3804,4211,4212],{},"evaluators"," is far better than LLM as a judge because the LLM as a judge is effectively the kind of lunatics running the asylum.\"",[22,4215,4216,4217,4220,4221,4224,4225,4228],{},"To run: Load dataset with ",[26,4218,4219],{},"load_dataset()",", register evaluators, then ",[26,4222,4223],{},"dataset.evaluate(agent_func, name=\"eval-name\")"," using Pydantic AI's ",[26,4226,4227],{},"override"," for prompts\u002Fmodels. Concurrency limits (e.g., max=5) prevent rate limits. Results appear in Logfire UI: spans show inputs\u002Foutputs\u002Fcosts, evals tab aggregates metrics (e.g., 85% accuracy for simple prompt).",[22,4230,4231,4232,4235],{},"Common mistake: Over-relying on console logs—disable terminal output (",[26,4233,4234],{},"LOGFIRE_NO_CONSOLE=true",") for clean traces. Before: Simple one-liner prompt gets 85% accuracy, confuses non-ancestors\u002Fpolitical vs. public figures. After better prompt: Improves to ~90%+ by explicitly discounting same-gen relations.",[22,4237,4238,4239,4242,4243,4246],{},"Setup prerequisites: ",[26,4240,4241],{},"uv sync",", Logfire project (",[26,4244,4245],{},"logfire project use demo","), API keys (Pydantic Gateway for multi-model access or direct OpenAI\u002FAnthropic). Quality criteria: High accuracy on ancestors, low false positives on spouses\u002Fkids.",[17,4248,4250],{"id":4249},"evolve-prompts-genetically-with-gepa-on-production-traces","Evolve Prompts Genetically with GEPA on Production Traces",[22,4252,4253],{},"GEPA (Genetic Evolutionary Prompt Algorithm, via \"Jepper\" library) optimizes prompts as strings or JSON by breeding top performers. It evaluates candidates on a dataset, selects Pareto frontier (best trade-offs), mutates\u002Fcrosses them (e.g., mix phrases from high-scorers), and iterates.",[22,4255,4256],{},"Process:",[4258,4259,4260,4263,4266,4273],"ol",{},[4197,4261,4262],{},"Define initial prompts (simple vs. advanced) and models as Pydantic models.",[4197,4264,4265],{},"Run evals on split dataset (e.g., 65 test cases for speed).",[4197,4267,4268,4269,4272],{},"Launch GEPA: ",[26,4270,4271],{},"gepa.optimize(evaluate_fn, initial_candidates, generations=10, population_size=20)",". It parallelizes evals, instruments via Logfire for traces.",[4197,4274,4275],{},"Output: Ranked prompts by composite score (accuracy + cost\u002Fefficiency).",[22,4277,4278],{},"In demo: Simple prompt → 85% acc; advanced (ancestor rules) → better; GEPA evolves hybrids exceeding both (e.g., 92%+ acc). Handles systemic errors like over-including spouses by evolving phrasing: \"Only ancestors (parents, grandparents)—exclude spouses, children, siblings.\"",[22,4280,4281],{},"Trade-offs: Compute-heavy (hundreds of evals\u002Fgeneration); start small dataset. Mistake: Random mutation—GEPA biases toward elites like horse breeding. \"It takes the best racehorses and breeds them... you take all of the best resources and breed them.\"",[22,4283,4284],{},"Extend to production: Use real traces\u002Ffeedback as eval inputs. Future: Autonomous optimization from Logfire.",[22,4286,4287,4288,4291],{},"Quote: \"GEPA is ultimately an optimization library ",[3804,4289,4290],{},"that"," optimizes a string... it can be a simple text prompt or some JSON data.\"",[17,4293,4295],{"id":4294},"enable-zero-downtime-tuning-with-managed-variables-in-production","Enable Zero-Downtime Tuning with Managed Variables in Production",[22,4297,4298],{},"Logfire's managed variables let you update any Pydantic-serializable object (prompts, models, params) live without restarts. Define as Pydantic model:",[3797,4300,4302],{"className":3799,"code":4301,"language":202,"meta":152,"style":152},"from logfire.managed import managed_variable\n\nclass AgentConfig(BaseModel):\n    model: str = \"gateway:gpt-4o-mini\"\n    instructions: str = \"...\"\n\nconfig = managed_variable(AgentConfig)\n",[26,4303,4304,4309,4313,4318,4323,4328,4332],{"__ignoreMap":152},[3804,4305,4306],{"class":3806,"line":3807},[3804,4307,4308],{},"from logfire.managed import managed_variable\n",[3804,4310,4311],{"class":3806,"line":153},[3804,4312,3821],{"emptyLinePlaceholder":190},[3804,4314,4315],{"class":3806,"line":3818},[3804,4316,4317],{},"class AgentConfig(BaseModel):\n",[3804,4319,4320],{"class":3806,"line":187},[3804,4321,4322],{},"    model: str = \"gateway:gpt-4o-mini\"\n",[3804,4324,4325],{"class":3806,"line":186},[3804,4326,4327],{},"    instructions: str = \"...\"\n",[3804,4329,4330],{"class":3806,"line":3834},[3804,4331,3821],{"emptyLinePlaceholder":190},[3804,4333,4334],{"class":3806,"line":3840},[3804,4335,4336],{},"config = managed_variable(AgentConfig)\n",[22,4338,4339,4340,4343],{},"In agent: ",[26,4341,4342],{},"agent = Agent(..., instructions=config.instructions, model=config.model)",". Changes in Logfire UI propagate instantly (poll every 30s).",[22,4345,4346,4347,4350],{},"Production demo: FastAPI server with ",[26,4348,4349],{},"\u002Fanalyze"," endpoint runs agent on live Wikipedia HTML. Update prompt\u002Fmodel via Logfire—tune for better ancestor detection without deploy.",[22,4352,4353],{},"Implicit feedback: Log user thumbs-up\u002Fdown, aggregate into evals. Q&A insights:",[4194,4355,4356,4359,4362],{},[4197,4357,4358],{},"Prompt bloat: GEPA prunes inefficient phrasing.",[4197,4360,4361],{},"Context engineering: Chain-of-thought in prompts.",[4197,4363,4364],{},"Internal use: Pydantic team tunes agents on traces.",[22,4366,4367],{},"Trade-offs: Polling overhead (low); free tier generous. Mistake: Mutable globals—managed vars are safe, versioned.",[22,4369,4370],{},"Quote: \"Managed variables... don't have to be just text they can be effectively any object that you can define with a Pydantic model.\"",[17,4372,4374],{"id":4373},"from-manual-to-continuous-optimization-workflow","From Manual to Continuous Optimization Workflow",[22,4376,4377],{},"Full loop: Golden evals → GEPA on traces → Managed vars deploy → Feedback evals. Fits mid-workshop: Assumes Python\u002FPydantic familiarity, agent-building basics. Broader: Any structured output task (invoices, addresses) benefits.",[22,4379,4380,4381,4384,4385,4388],{},"Exercise: Fork repo (",[26,4382,4383],{},"github.com\u002Fpydantic\u002Ftalks\u002F2024-ai-engineer","), run ",[26,4386,4387],{},"uv run main.py eval --split test --prompt initial",", compare prompts, GEPA optimize, deploy to FastAPI.",[22,4390,4391],{},"Quote: \"Deploying an agent is only the start... change prompts, models... without redeploying.\"",[17,4393,4395],{"id":4394},"key-takeaways","Key Takeaways",[4194,4397,4398,4401,4404,4407,4410,4413,4416,4419,4422],{},[4197,4399,4400],{},"Create golden datasets from high-model runs + manual verification for deterministic evals—beats LLM judges.",[4197,4402,4403],{},"Use GEPA to breed prompts: Start with 2-5 candidates, 10 generations on 65-case split for quick wins.",[4197,4405,4406],{},"Define managed variables as Pydantic models for instant prod updates—no restarts needed.",[4197,4408,4409],{},"Instrument everything with Logfire: Traces reveal confusions (e.g., spouses as ancestors).",[4197,4411,4412],{},"Prioritize ancestor filtering in political\u002Frelation extraction: Evolve phrasing like \"exclude same-gen or descendants.\"",[4197,4414,4415],{},"Run evals in parallel (max_concurrency=5) to optimize costs during optimization.",[4197,4417,4418],{},"For FastAPI agents: Override configs live, log implicit feedback for GEPA inputs.",[4197,4420,4421],{},"Avoid hype: \"I don't really believe in AI observability I think it's a feature not a category.\"",[4197,4423,4424],{},"Scale: Free Logfire tier handles workshops; Gateway simplifies multi-model testing.",[3884,4426,3886],{},{"title":152,"searchDepth":153,"depth":153,"links":4428},[4429,4430,4431,4432,4433],{"id":4181,"depth":153,"text":4182},{"id":4249,"depth":153,"text":4250},{"id":4294,"depth":153,"text":4295},{"id":4373,"depth":153,"text":4374},{"id":4394,"depth":153,"text":4395},[],{"content_references":4436,"triage":4442},[4437,4440],{"type":4438,"title":4439,"context":168},"podcast","The Rest is Politics",{"type":165,"title":4441,"context":3897},"Jepper (GEPA)",{"relevance":186,"novelty":187,"quality":187,"actionability":186,"composite":188,"reasoning":4443},"Category: AI & LLMs. The article provides a detailed approach to optimizing AI agents using specific techniques like golden datasets and custom evaluations, addressing a key pain point for developers looking to improve production AI features. It includes actionable steps and code snippets that developers can implement directly.","\u002Fsummaries\u002Ff056d2fbc3259de2-optimize-live-agents-gepa-prompts-managed-vars-summary","2026-05-07 17:00:06","2026-05-08 11:03:29",{"title":4171,"description":152},{"loc":4444},"263bbb77349e4ef1","AI Engineer","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=A48uhxfxbsM","summaries\u002Ff056d2fbc3259de2-optimize-live-agents-gepa-prompts-managed-vars-summary",[201,4454,202,203],"prompt-engineering","Tune production agents without redeploys using Logfire's managed variables for prompts\u002Fmodels and GEPA's genetic algorithm to evolve better prompts from evals on golden datasets.","Hands-on workshop by Pydantic's Samuel Colvin: codes along optimizing an agent for extracting political relations from Wikipedia pages using Logfire evals, GEPA prompt evolution on a golden dataset, and managed variables for live prompt\u002Fmodel tweaks in a FastAPI app—no redeploys needed.",[],"0cZ4pNDJvZh7SpRsu_CCMCCCQN6tzKI9oKJA0ArueRc"]