47 lines
528 KiB
HTML
47 lines
528 KiB
HTML
<!DOCTYPE html><html lang="en-US"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/06a57141b3ff4399-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/1c175694bc1e8ad8-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/415c659d58f62aff-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/751909690a1a74fa-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/8fe56b4ac583f0e1-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a205fd595a9beeab-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c314d5394508c5c7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/cbde3fd2db275844-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/d865ae18e54dcb9c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/eb42eb886f642af5-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/f5e01691c8be1cce-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" imageSrcSet="https://images.prismic.io/launchdarkly/aZjnoMFoBIGEgnSQ_Blog_02-26_AI-generatedcodeshipsfast.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80 1x"/><link rel="preload" as="image" href="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwTY1P9HI4UtaI_img-bg--footer-get-demo.svg"/><link rel="preload" as="image" href="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwTI1P9HI4UtaH_img-bg--footer-free-trial.svg"/><link rel="preload" as="image" href="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwS41P9HI4UtaG_img-bg--footer-code-control.svg"/><link rel="preload" as="image" href="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwSo1P9HI4UtaF_img-bg--footer-agent-control.svg"/><link rel="stylesheet" href="/_next/static/css/4b895a9a0ceca7ed.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/6aeb3fbd013f7055.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/baa31bc0bc2753e2.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b694ee22169cc940.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/455e5680c78aaa64.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/668223e4ce0896ff.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/71e7e41975824f9a.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/499e8ecba60a437c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c13c7b31349c3e1e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/eb8c52289887f66e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/76ba66facbc12026.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/61c845f39508ea49.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9506ad2d29f3da93.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c96dfd09a5295fdd.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/ffc1747465c21b7c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/a3d1e33a3a179b4c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/ab4a69f65a7a2b93.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/5b017ffd652d07f8.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c2a2739e0e57e14c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/0e421a84dd333b11.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/f188bfa3f9063907.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/f08af977962d892c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/741f4cf49b054cf0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/a05c4c008283c998.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/271699adbe3692a1.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/6bcd99eac94adccc.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9860101428a5e484.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/34a11c3f23439233.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b60911417b616c72.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e217cbe846d54f5a.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/437c2c516d87ce24.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c240dbaacd91d7b6.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e2768b37f0a7179e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3771f60faaafd2e7.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e22ba8bc372dffa3.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/7a4ebd8c71fa9dec.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/42eebaa13cfadd34.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/0b0e39f220873667.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/f70e0c2fa3894b2b.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2a1b94a1fafb21a0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/372992834c739f06.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-6feccfddff7ef52e.js"/><script src="/_next/static/chunks/f5e865f6-f7ce3acdc8f53367.js" async=""></script><script src="/_next/static/chunks/4478-fb3dc47bb56134a0.js" async=""></script><script src="/_next/static/chunks/main-app-21b96efeeed761a7.js" async=""></script><script src="/_next/static/chunks/7503-b90474bdcb57e2a8.js" async=""></script><script src="/_next/static/chunks/7724-f653158a9ba1984f.js" async=""></script><script src="/_next/static/chunks/2151-1b788faaa737d8a8.js" async=""></script><script src="/_next/static/chunks/8149-7f3e93382769fd21.js" async=""></script><script src="/_next/static/chunks/4544-0392fd1bc10fce67.js" async=""></script><script src="/_next/static/chunks/8072-5f4bd0e6a2406823.js" async=""></script><script src="/_next/static/chunks/7950-199b90cf99360b48.js" async=""></script><script src="/_next/static/chunks/6486-65f1afba5f178bdd.js" async=""></script><script src="/_next/static/chunks/4089-4672fdbd787dddc6.js" async=""></script><script src="/_next/static/chunks/5265-7f81f179d2fa0221.js" async=""></script><script src="/_next/static/chunks/685-dc88876e3a3ca418.js" async=""></script><script src="/_next/static/chunks/8941-6bf805c661ac7247.js" async=""></script><script src="/_next/static/chunks/739-f05d34af20af1cd5.js" async=""></script><script src="/_next/static/chunks/4661-d6f876059d7e275f.js" async=""></script><script src="/_next/static/chunks/7550-010a17a69ff132e0.js" async=""></script><script src="/_next/static/chunks/9244-3b918f1b79c82aa2.js" async=""></script><script src="/_next/static/chunks/8687-88b6a1a725cd10c9.js" async=""></script><script src="/_next/static/chunks/8634-33081268eea6ca62.js" async=""></script><script src="/_next/static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js" async=""></script><script src="/_next/static/chunks/app/layout-5d77b524524e53c1.js" async=""></script><script src="/_next/static/chunks/app/not-found-497554e3668544b1.js" async=""></script><link rel="preload" href="https://consent.cookiebot.com/uc.js" as="script"/><link rel="preload" href="https://www.googletagmanager.com/gtm.js?id=GTM-WRKKC89" as="script"/><link rel="expect" href="#_R_" blocking="render"/><meta name="next-size-adjust" content=""/><meta name="theme-color" content="#FFF"/><title>AI-generated code ships fast, but runtime control hasn’t kept up | LaunchDarkly</title><meta name="description" content="AI is speeding up code generation, but control in production is lagging behind."/><meta name="application-name" content="LaunchDarkly"/><meta name="author" content="LaunchDarkly"/><meta name="generator" content="LaunchDarkly"/><meta name="referrer" content="origin-when-cross-origin"/><meta name="creator" content="LaunchDarkly"/><meta name="publisher" content="LaunchDarkly"/><meta name="robots" content="index"/><meta name="googlebot" content="index"/><link rel="canonical" href="https://launchdarkly.com/blog/managing-ai-risk-with-runtime-control/"/><meta name="format-detection" content="telephone=no, address=no, email=no"/><meta property="og:title" content="AI-generated code ships fast, but runtime control hasn’t kept up | LaunchDarkly"/><meta property="og:description" content="AI is speeding up code generation, but control in production is lagging behind."/><meta property="og:url" content="https://launchdarkly.com/blog/managing-ai-risk-with-runtime-control/"/><meta property="og:site_name" content="LaunchDarkly"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://launchdarkly.com/_next/static/media/open-graph.a62eb7e7.jpg"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="LaunchDarkly - Feature management platform"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@LaunchDarkly"/><meta name="twitter:title" content="AI-generated code ships fast, but runtime control hasn’t kept up | LaunchDarkly"/><meta name="twitter:description" content="AI is speeding up code generation, but control in production is lagging behind."/><meta name="twitter:image" content="https://launchdarkly.com/_next/static/media/open-graph.a62eb7e7.jpg"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><meta name="twitter:image:alt" content="LaunchDarkly - Feature management platform"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="96x96"/><link rel="icon" href="/icon.png?8354b0c15ee5b065" type="image/png" sizes="96x96"/><link rel="apple-touch-icon" href="/apple-icon.png?8354b0c15ee5b065" type="image/png" sizes="96x96"/><script id="cookie-consent-script" data-cookieconsent="ignore">
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag() {
|
||
dataLayer.push(arguments);
|
||
}
|
||
gtag("consent", "default", {
|
||
ad_storage: "denied",
|
||
ad_user_data: "denied",
|
||
ad_personalization: "denied",
|
||
analytics_storage: "denied",
|
||
functionality_storage: "denied",
|
||
personalization_storage: "denied",
|
||
security_storage: "granted",
|
||
wait_for_update: 500,
|
||
});
|
||
gtag("set", "ads_data_redaction", true);
|
||
gtag("set", "url_passthrough", true);
|
||
</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_918804 __variable_81b511 __variable_3ebb29 __variable_a7dd04 __variable_479fb2"><script>(self.__next_s=self.__next_s||[]).push(["https://consent.cookiebot.com/uc.js",{"data-cbid":"a9e2be18-730c-4afe-89dc-251a408727a0","data-blockingmode":"auto","type":"text/javascript","data-georegions":"{'region':'AT, BE, BG, HR, CY, CZ, DK, EE, FI, FR, DE, GR, HU, IE, IS, IT, LI, LT, LU, LV, MT, NL, NO, PL, PT, RO, SK, SI, ES, SE, GB','cbid':'d7afae1f-c20d-4849-be5c-a875c8c184a0'}","id":"cookiebot"}])</script><div class="styles-module__4bne7a__layers"></div><section class="styles-module__NFwUga__newSection styles-module__aO7DCW__aboveMenuBanner "><div class="styles-module__NFwUga__contentContainer styles-module__aO7DCW__aboveMenuBannerContainer"><div><p class="styles-module__J0n02W__variant_textSmallMedium styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray02 styles-module__J0n02W__weight_medium">[Hands-on workshop] Managing AI Agents in Production - Sep 17<!-- --> — <a target="_self" tabindex="0" href="/webinars/runtime-labs-managing-ai-agents-in-production-sept-17/">Save my seat</a></p></div><div class="styles-module__aO7DCW__closeButtonContainer"><button type="button" class="styles-module__aO7DCW__closeButton" aria-label="Close banner"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aNWwCp5xUNkB1HlJ_icon--close-white-narrow.svg" alt="" loading="lazy"/></button></div></div></section><a id="home" tabindex="-1"></a><div class="styles-module__EPiYHG__accessibilityMenu"><span class="styles-module__EPiYHG__label">Skip to:</span><nav><ul><li><a href="/" class="styles-module__EPiYHG__link" tabindex="0" title="Skip to Home">Home</a></li><li><a href="#content" class="styles-module__EPiYHG__link" tabindex="0" title="Skip to Content">Content</a></li><li><a href="#footer" class="styles-module__EPiYHG__link" tabindex="0" title="Skip to Footer navigation">Footer navigation</a></li></ul></nav></div><div class="styles-module__stVVvG__refreshDesignNavDock"></div><header class="header-nav oldstyles-module__hgjkrG__header styles-module__stVVvG__header undefined styles-module__stVVvG__useRefreshDesign "><div class="styles-module__stVVvG__refreshDesignNavDockIcons"><div class="styles-module__stVVvG__refreshDesignNavDockBar"></div></div><nav class="oldstyles-module__hgjkrG__nav styles-module__stVVvG__nav " aria-label="Main"><div class="oldstyles-module__hgjkrG__brand styles-module__stVVvG__brand styles-module__stVVvG__useWhiteLogo"><div class="styles-module__stVVvG__brandLogoContainer"><a class="styles-module__SHyKFW__logo oldstyles-module__hgjkrG__brand styles-module__stVVvG__brandLogo" target="_self" tabindex="0" aria-label="LaunchDarkly Home" data-analytics="nav-logo" href="/"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 156 24"><g fill="#fff" clip-path="url(#brand-light_svg__a)"><path d="M9.33 18.729V16.45H2.578V5.272H0v13.457zm6.486-.424q.837-.636 1.276-1.669v2.093h2.472v-6.49c0-.689-.159-1.325-.505-1.854s-.851-.954-1.488-1.245-1.409-.45-2.286-.45c-.479 0-.957.053-1.409.132a6.4 6.4 0 0 0-1.276.371 6 6 0 0 0-1.09.556l.08 2.305c.611-.397 1.196-.689 1.781-.901s1.223-.318 1.94-.318c.558 0 1.01.133 1.329.397s.478.609.478 1.033v.662h-2.233c-1.329 0-2.366.265-3.136.821s-1.143 1.325-1.143 2.305a3.1 3.1 0 0 0 .372 1.483 2.56 2.56 0 0 0 1.09 1.033c.478.265 1.037.371 1.648.371.851 0 1.542-.212 2.1-.636zm-2.233-1.669a1.08 1.08 0 0 1-.425-.874 1.12 1.12 0 0 1 .585-1.033c.372-.239.957-.371 1.701-.371h1.595v.371c0 .318-.08.636-.266.98a2.35 2.35 0 0 1-.824.874 2.33 2.33 0 0 1-1.276.371c-.452 0-.824-.106-1.09-.318m13.848 1.642c.585-.503 1.01-1.192 1.276-2.04v2.49h2.499V8.98h-2.498v4.556q0 .993-.319 1.748c-.319.755-.505.927-.904 1.192a2.23 2.23 0 0 1-1.356.424c-.558 0-.983-.159-1.302-.477-.292-.318-.452-.795-.452-1.404V8.98h-2.499v6.093c0 1.272.292 2.225.904 2.914s1.409 1.033 2.445 1.033c.904 0 1.621-.238 2.206-.742m9.011.45v-4.556q0-.993.319-1.748c.319-.755.505-.927.877-1.192.372-.291.824-.424 1.329-.424.558 0 .983.159 1.302.477.292.318.452.795.452 1.404v6.066h2.525v-6.093c0-1.271-.292-2.225-.904-2.914s-1.409-1.033-2.445-1.033c-.877 0-1.595.265-2.18.742-.558.503-.983 1.192-1.276 2.04v-2.49h-2.498v9.748h2.499zm15.257.212a8 8 0 0 0 .904-.212c.292-.079.532-.186.797-.265l.027-2.358c-.399.212-.824.344-1.276.45a6 6 0 0 1-1.356.159c-.665 0-1.249-.132-1.701-.371a2.24 2.24 0 0 1-1.01-1.033 3.25 3.25 0 0 1-.319-1.457 3.34 3.34 0 0 1 .319-1.457c.213-.424.558-.768 1.01-1.033s1.01-.371 1.648-.371a6 6 0 0 1 1.409.159c.452.106.851.265 1.249.45l-.027-2.437c-.292-.106-.558-.212-.824-.265a4.3 4.3 0 0 0-.904-.159 6.3 6.3 0 0 0-1.037-.079c-1.116 0-2.073.238-2.897.689a4.95 4.95 0 0 0-1.914 1.854c-.452.795-.664 1.669-.664 2.676 0 .98.239 1.881.691 2.649a4.65 4.65 0 0 0 1.914 1.801c.824.424 1.781.662 2.871.662.399.026.771 0 1.09-.053zm6.459-.212v-4.556q0-.993.319-1.748c.319-.755.505-.927.904-1.192a2.15 2.15 0 0 1 1.329-.424c.585 0 1.01.159 1.302.477s.452.795.452 1.404v6.066h2.499v-6.093c0-1.271-.292-2.225-.904-2.914s-1.409-1.033-2.445-1.033c-.877 0-1.621.265-2.18.742-.585.503-1.01 1.192-1.276 2.04V5.272h-2.472v13.457zm14.885 0c1.435 0 2.658-.265 3.668-.821a5.6 5.6 0 0 0 2.313-2.331c.532-1.006.797-2.199.797-3.55s-.266-2.543-.797-3.55-1.302-1.801-2.312-2.358-2.233-.821-3.668-.821H67.86v13.457h5.183zm-2.605-2.278v-8.9h2.578c1.302 0 2.313.397 3.03 1.166.744.795 1.09 1.881 1.09 3.285s-.372 2.517-1.09 3.285c-.744.768-1.754 1.165-3.03 1.165h-2.578zm15.922 1.854a4 4 0 0 0 1.276-1.669v2.093h2.472v-6.49c0-.689-.159-1.325-.505-1.854s-.851-.954-1.489-1.245-1.409-.45-2.286-.45c-.478 0-.957.053-1.409.132a6.4 6.4 0 0 0-1.276.371 6 6 0 0 0-1.09.556l.08 2.305c.611-.397 1.196-.689 1.781-.901s1.223-.318 1.94-.318c.558 0 1.01.133 1.329.397s.478.609.478 1.033v.662h-2.18c-1.329 0-2.366.265-3.136.821s-1.143 1.325-1.143 2.305a3.1 3.1 0 0 0 .372 1.483 2.56 2.56 0 0 0 1.09 1.033c.478.265 1.037.371 1.648.371.824 0 1.489-.212 2.047-.636zm-2.233-1.669a1.08 1.08 0 0 1-.425-.874 1.12 1.12 0 0 1 .585-1.033c.372-.239.957-.371 1.701-.371h1.595v.371c0 .318-.08.636-.266.98a2.35 2.35 0 0 1-.824.874c-.372.238-.771.344-1.249.344-.452.027-.824-.079-1.116-.291zm11.031 2.093V14.57c0-1.086.239-1.907.691-2.464s1.09-.848 1.861-.848a3.3 3.3 0 0 1 1.037.159v-2.41c-.159-.053-.319-.079-.478-.106s-.346-.026-.532-.026c-.611 0-1.143.212-1.568.636s-.771 1.033-.983 1.775V8.954h-2.499v9.748h2.472v.026zm7.681 0v-3.152l.904-.848 2.924 4h2.977l-4.173-5.695 4.093-4.053h-3.136l-3.562 3.444V5.272h-2.472v13.457zm10.819 0V5.272h-2.499v13.457zm3.827 3.629c.93 0 1.675-.185 2.259-.556s1.064-1.033 1.462-1.96l4.492-10.861h-2.578l-2.631 6.808-2.712-6.808h-2.578l4.014 9.722-.213.503c-.133.318-.292.583-.531.715-.213.159-.559.238-1.011.238h-2.073v2.199zM144.092 24a.56.56 0 0 1-.478-.291c-.08-.185-.08-.371.053-.53l5.662-7.762-9.915 4.027c-.08.027-.133.053-.212.053a.52.52 0 0 1-.505-.371c-.08-.212.026-.45.212-.583l8.719-5.113-15.337-.874a.525.525 0 0 1-.505-.53.52.52 0 0 1 .505-.53l15.337-.874-8.719-5.113c-.186-.132-.292-.371-.212-.583s.265-.371.505-.371c.079 0 .132.026.212.053l9.915 4.026-5.662-7.788c-.106-.159-.133-.371-.053-.53a.5.5 0 0 1 .478-.291c.133 0 .266.053.372.159l11.271 11.205c.159.159.239.397.239.609s-.08.424-.239.609l-11.271 11.232a.53.53 0 0 1-.372.159z"></path></g><defs><clipPath id="brand-light_svg__a"><path fill="#fff" d="M0 0h156v24H0z"></path></clipPath></defs></svg></a></div></div><div class="oldstyles-module__hgjkrG__navInner styles-module__stVVvG__navInner container"><div class="styles-module__stVVvG__navInnerCorner styles-module__stVVvG__refreshDesignNavCurbLeft"><svg xmlns="http://www.w3.org/2000/svg" width="19" height="21" fill="none"><path fill="#212121" d="M19 19C19 8.507 10.493 0 0 0h19z"></path></svg></div><div class="styles-module__stVVvG__navInnerCorner styles-module__stVVvG__refreshDesignNavCurbRight"><svg xmlns="http://www.w3.org/2000/svg" width="19" height="21" fill="none"><path fill="#212121" d="M0 19C0 8.507 8.507 0 19 0H0z"></path></svg></div><div class="oldstyles-module__hgjkrG__mobileButtonsContainer"><a class="button oldstyles-module__hgjkrG__requestDemoMobileButton styles-module__stVVvG__refreshDesignRequestDemoMobileButton" id="main-nav-mobile-request-demo" target="_self" tabindex="0" data-analytics="nav-mobile-get-a-demo" href="/request-a-demo/">Get a demo</a></div><input type="checkbox" id="activate-menu-old" class="oldstyles-module__hgjkrG__mobileBurgerMenu" aria-label="Toggle navigation menu"/><div class="oldstyles-module__hgjkrG__burger undefined"></div><div class="oldstyles-module__hgjkrG__whiteOverlay"><a class="styles-module__SHyKFW__logo" target="_self" tabindex="0" aria-label="LaunchDarkly Home" data-analytics="nav-mobile-logo" href="/"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 156 24"><g fill="#fff" clip-path="url(#brand-light_svg__a)"><path d="M9.33 18.729V16.45H2.578V5.272H0v13.457zm6.486-.424q.837-.636 1.276-1.669v2.093h2.472v-6.49c0-.689-.159-1.325-.505-1.854s-.851-.954-1.488-1.245-1.409-.45-2.286-.45c-.479 0-.957.053-1.409.132a6.4 6.4 0 0 0-1.276.371 6 6 0 0 0-1.09.556l.08 2.305c.611-.397 1.196-.689 1.781-.901s1.223-.318 1.94-.318c.558 0 1.01.133 1.329.397s.478.609.478 1.033v.662h-2.233c-1.329 0-2.366.265-3.136.821s-1.143 1.325-1.143 2.305a3.1 3.1 0 0 0 .372 1.483 2.56 2.56 0 0 0 1.09 1.033c.478.265 1.037.371 1.648.371.851 0 1.542-.212 2.1-.636zm-2.233-1.669a1.08 1.08 0 0 1-.425-.874 1.12 1.12 0 0 1 .585-1.033c.372-.239.957-.371 1.701-.371h1.595v.371c0 .318-.08.636-.266.98a2.35 2.35 0 0 1-.824.874 2.33 2.33 0 0 1-1.276.371c-.452 0-.824-.106-1.09-.318m13.848 1.642c.585-.503 1.01-1.192 1.276-2.04v2.49h2.499V8.98h-2.498v4.556q0 .993-.319 1.748c-.319.755-.505.927-.904 1.192a2.23 2.23 0 0 1-1.356.424c-.558 0-.983-.159-1.302-.477-.292-.318-.452-.795-.452-1.404V8.98h-2.499v6.093c0 1.272.292 2.225.904 2.914s1.409 1.033 2.445 1.033c.904 0 1.621-.238 2.206-.742m9.011.45v-4.556q0-.993.319-1.748c.319-.755.505-.927.877-1.192.372-.291.824-.424 1.329-.424.558 0 .983.159 1.302.477.292.318.452.795.452 1.404v6.066h2.525v-6.093c0-1.271-.292-2.225-.904-2.914s-1.409-1.033-2.445-1.033c-.877 0-1.595.265-2.18.742-.558.503-.983 1.192-1.276 2.04v-2.49h-2.498v9.748h2.499zm15.257.212a8 8 0 0 0 .904-.212c.292-.079.532-.186.797-.265l.027-2.358c-.399.212-.824.344-1.276.45a6 6 0 0 1-1.356.159c-.665 0-1.249-.132-1.701-.371a2.24 2.24 0 0 1-1.01-1.033 3.25 3.25 0 0 1-.319-1.457 3.34 3.34 0 0 1 .319-1.457c.213-.424.558-.768 1.01-1.033s1.01-.371 1.648-.371a6 6 0 0 1 1.409.159c.452.106.851.265 1.249.45l-.027-2.437c-.292-.106-.558-.212-.824-.265a4.3 4.3 0 0 0-.904-.159 6.3 6.3 0 0 0-1.037-.079c-1.116 0-2.073.238-2.897.689a4.95 4.95 0 0 0-1.914 1.854c-.452.795-.664 1.669-.664 2.676 0 .98.239 1.881.691 2.649a4.65 4.65 0 0 0 1.914 1.801c.824.424 1.781.662 2.871.662.399.026.771 0 1.09-.053zm6.459-.212v-4.556q0-.993.319-1.748c.319-.755.505-.927.904-1.192a2.15 2.15 0 0 1 1.329-.424c.585 0 1.01.159 1.302.477s.452.795.452 1.404v6.066h2.499v-6.093c0-1.271-.292-2.225-.904-2.914s-1.409-1.033-2.445-1.033c-.877 0-1.621.265-2.18.742-.585.503-1.01 1.192-1.276 2.04V5.272h-2.472v13.457zm14.885 0c1.435 0 2.658-.265 3.668-.821a5.6 5.6 0 0 0 2.313-2.331c.532-1.006.797-2.199.797-3.55s-.266-2.543-.797-3.55-1.302-1.801-2.312-2.358-2.233-.821-3.668-.821H67.86v13.457h5.183zm-2.605-2.278v-8.9h2.578c1.302 0 2.313.397 3.03 1.166.744.795 1.09 1.881 1.09 3.285s-.372 2.517-1.09 3.285c-.744.768-1.754 1.165-3.03 1.165h-2.578zm15.922 1.854a4 4 0 0 0 1.276-1.669v2.093h2.472v-6.49c0-.689-.159-1.325-.505-1.854s-.851-.954-1.489-1.245-1.409-.45-2.286-.45c-.478 0-.957.053-1.409.132a6.4 6.4 0 0 0-1.276.371 6 6 0 0 0-1.09.556l.08 2.305c.611-.397 1.196-.689 1.781-.901s1.223-.318 1.94-.318c.558 0 1.01.133 1.329.397s.478.609.478 1.033v.662h-2.18c-1.329 0-2.366.265-3.136.821s-1.143 1.325-1.143 2.305a3.1 3.1 0 0 0 .372 1.483 2.56 2.56 0 0 0 1.09 1.033c.478.265 1.037.371 1.648.371.824 0 1.489-.212 2.047-.636zm-2.233-1.669a1.08 1.08 0 0 1-.425-.874 1.12 1.12 0 0 1 .585-1.033c.372-.239.957-.371 1.701-.371h1.595v.371c0 .318-.08.636-.266.98a2.35 2.35 0 0 1-.824.874c-.372.238-.771.344-1.249.344-.452.027-.824-.079-1.116-.291zm11.031 2.093V14.57c0-1.086.239-1.907.691-2.464s1.09-.848 1.861-.848a3.3 3.3 0 0 1 1.037.159v-2.41c-.159-.053-.319-.079-.478-.106s-.346-.026-.532-.026c-.611 0-1.143.212-1.568.636s-.771 1.033-.983 1.775V8.954h-2.499v9.748h2.472v.026zm7.681 0v-3.152l.904-.848 2.924 4h2.977l-4.173-5.695 4.093-4.053h-3.136l-3.562 3.444V5.272h-2.472v13.457zm10.819 0V5.272h-2.499v13.457zm3.827 3.629c.93 0 1.675-.185 2.259-.556s1.064-1.033 1.462-1.96l4.492-10.861h-2.578l-2.631 6.808-2.712-6.808h-2.578l4.014 9.722-.213.503c-.133.318-.292.583-.531.715-.213.159-.559.238-1.011.238h-2.073v2.199zM144.092 24a.56.56 0 0 1-.478-.291c-.08-.185-.08-.371.053-.53l5.662-7.762-9.915 4.027c-.08.027-.133.053-.212.053a.52.52 0 0 1-.505-.371c-.08-.212.026-.45.212-.583l8.719-5.113-15.337-.874a.525.525 0 0 1-.505-.53.52.52 0 0 1 .505-.53l15.337-.874-8.719-5.113c-.186-.132-.292-.371-.212-.583s.265-.371.505-.371c.079 0 .132.026.212.053l9.915 4.026-5.662-7.788c-.106-.159-.133-.371-.053-.53a.5.5 0 0 1 .478-.291c.133 0 .266.053.372.159l11.271 11.205c.159.159.239.397.239.609s-.08.424-.239.609l-11.271 11.232a.53.53 0 0 1-.372.159z"></path></g><defs><clipPath id="brand-light_svg__a"><path fill="#fff" d="M0 0h156v24H0z"></path></clipPath></defs></svg></a></div><div class="oldstyles-module__hgjkrG__mainNavGroup styles-module__stVVvG__mainNavGroup main-nav-container" id="mainNavigation"><nav aria-label="Main navigation" class="oldstyles-module__hgjkrG__mainNav"><div class="styles-module__wa_yaW__mainNavParent nav--main-nav-parent"><div class="moreStyles-module__udQsYq__parentNavItem styles-module__wa_yaW__parentNavItem main-nav-parent-nav-item"><div class="moreStyles-module__udQsYq__navItem styles-module__wa_yaW__navItem" id="platform" data-analytics="nav-platform" role="button" tabindex="0"><span class="moreStyles-module__udQsYq__navItemTitle styles-module__wa_yaW__navItemTitle main-nav-title">Platform</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__wa_yaW__mobileCaretClosed "><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><div class="
|
||
moreStyles-module__udQsYq__dropdown
|
||
|
||
main-nav-dropdown
|
||
platform
|
||
styles-module__wa_yaW__dropdown
|
||
|
||
"><div class="moreStyles-module__udQsYq__dropdownContainer styles-module__wa_yaW__dropdownContainer main-nav-dropdown-container"><div class="moreStyles-module__udQsYq__linksContainer styles-module__wa_yaW__linksContainer"><div class="styles-module__wa_yaW__linksContainerInner"><div class="products-wrapper styles-module__9d2Dpq__linksWrapper"><div><div class="products styles-module__9d2Dpq__linksContainer"><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-products-codecontrol" href="/platform/code-control/"><div class="styles-module__9d2Dpq__productLinkInner"><div class="styles-module__9d2Dpq__linkInnerIconContainer"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpUVqYofJOwHTu-_icon-main-nav--CodeControl.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpUVqYofJOwHTu-_icon-main-nav--CodeControl.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpUVqYofJOwHTu-_icon-main-nav--CodeControl.png?auto=format%2Ccompress&fit=max&w=3840"/></div><div class="styles-module__9d2Dpq__productLinkTextContainer"><h6>CodeControl</h6><p>Ship confidently, with automated control built in.</p></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-products-agentcontrol" href="/platform/agent-control/"><div class="styles-module__9d2Dpq__productLinkInner"><div class="styles-module__9d2Dpq__linkInnerIconContainer"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpUVaYofJOwHTu9_icon-main-nav--AgentControl.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpUVaYofJOwHTu9_icon-main-nav--AgentControl.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpUVaYofJOwHTu9_icon-main-nav--AgentControl.png?auto=format%2Ccompress&fit=max&w=3840"/></div><div class="styles-module__9d2Dpq__productLinkTextContainer"><h6>AgentControl</h6><p>One place to keep your agent behavior under control.</p></div></div></a></div></div><div class="styles-module__9d2Dpq__bookDemoCta"><a class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_lime_outline styles-module__d4f9cW__size_default styles-module__9d2Dpq__bookDemoCtaLink" target="_self" tabindex="0" data-analytics="nav-products-book-a-demo" href="/request-a-demo/"><span class="styles-module__d4f9cW__label">Book a demo</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></a></div></div><div class="overview-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">How it works</p><div class="overview styles-module__9d2Dpq__linksContainer"><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-platform-overview" href="/how-it-works/platform/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agwNv6YofJOwHWkd_platform-overview-icon.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agwNv6YofJOwHWkd_platform-overview-icon.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agwNv6YofJOwHWkd_platform-overview-icon.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Platform overview</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-feature-flags" href="/how-it-works/feature-flags/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpNAKYofJOwHTuE_icon-main-nav--FeatureManagement.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpNAKYofJOwHTuE_icon-main-nav--FeatureManagement.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpNAKYofJOwHTuE_icon-main-nav--FeatureManagement.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Feature flags</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-observability" href="/how-it-works/observability/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpNA6YofJOwHTuH_icon-main-nav--Observability.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpNA6YofJOwHTuH_icon-main-nav--Observability.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpNA6YofJOwHTuH_icon-main-nav--Observability.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Observability</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-experimentation" href="/how-it-works/experimentation/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpM_6YofJOwHTuD_icon-main-nav--Experimentation.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpM_6YofJOwHTuD_icon-main-nav--Experimentation.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpM_6YofJOwHTuD_icon-main-nav--Experimentation.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Experimentation</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-agent-integrations" href="/how-it-works/agent-integrations/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpM_qYofJOwHTuC_icon-main-nav--Agentintegrations.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpM_qYofJOwHTuC_icon-main-nav--Agentintegrations.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpM_qYofJOwHTuC_icon-main-nav--Agentintegrations.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Agent integrations</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-integrations" href="/integrations/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpNAqYofJOwHTuG_icon-main-nav--Integrations.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpNAqYofJOwHTuG_icon-main-nav--Integrations.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpNAqYofJOwHTuG_icon-main-nav--Integrations.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Integrations</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-architecture" href="/how-it-works/platform-architecture/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpNAaYofJOwHTuF_icon-main-nav--Infrastructure.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpNAaYofJOwHTuF_icon-main-nav--Infrastructure.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpNAaYofJOwHTuF_icon-main-nav--Infrastructure.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Architecture</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div></div></div></div></div></div></div></div></div><div class="styles-module__wa_yaW__mainNavParent nav--main-nav-parent"><div class="moreStyles-module__udQsYq__parentNavItem styles-module__wa_yaW__parentNavItem main-nav-parent-nav-item"><div class="moreStyles-module__udQsYq__navItem styles-module__wa_yaW__navItem" id="solutions" data-analytics="nav-solutions" role="button" tabindex="0"><span class="moreStyles-module__udQsYq__navItemTitle styles-module__wa_yaW__navItemTitle main-nav-title">Solutions</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__wa_yaW__mobileCaretClosed "><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><div class="
|
||
moreStyles-module__udQsYq__dropdown
|
||
|
||
main-nav-dropdown
|
||
solutions
|
||
styles-module__wa_yaW__dropdown
|
||
|
||
"><div class="moreStyles-module__udQsYq__dropdownContainer styles-module__wa_yaW__dropdownContainer main-nav-dropdown-container"><div class="moreStyles-module__udQsYq__linksContainer styles-module__wa_yaW__linksContainer"><div class="styles-module__wa_yaW__linksContainerInner"><div class="by-team-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">By Use Case</p><div class="by-team styles-module__9d2Dpq__linksContainer"><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-team-release-ai-built-code" href="/solutions/release-ai-built-code/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpOrqYofJOwHTuK_icon-main-nav--ReleaseAI-BuiltCode.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpOrqYofJOwHTuK_icon-main-nav--ReleaseAI-BuiltCode.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpOrqYofJOwHTuK_icon-main-nav--ReleaseAI-BuiltCode.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Release AI-built code</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-team-control-ai-agents" href="/solutions/control-ai-agents/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpOrKYofJOwHTuI_icon-main-nav--ControlAIAgents.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpOrKYofJOwHTuI_icon-main-nav--ControlAIAgents.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpOrKYofJOwHTuI_icon-main-nav--ControlAIAgents.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Control AI agents</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-team-optimize-ai-performance-cost" href="/solutions/optimize-ai-performance/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpOraYofJOwHTuJ_icon-main-nav--OptimizeAIPerformance%26Cost.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpOraYofJOwHTuJ_icon-main-nav--OptimizeAIPerformance%26Cost.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpOraYofJOwHTuJ_icon-main-nav--OptimizeAIPerformance%26Cost.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Optimize AI performance & cost</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-team-self-heal-systems" href="/solutions/self-heal-systems/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpOsKYofJOwHTuM_icon-main-nav--Self-HealSystems.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpOsKYofJOwHTuM_icon-main-nav--Self-HealSystems.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpOsKYofJOwHTuM_icon-main-nav--Self-HealSystems.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Self-heal systems</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-team-run-experiments" href="/solutions/run-experiments/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpOr6YofJOwHTuL_icon-main-nav--RunExperiments.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpOr6YofJOwHTuL_icon-main-nav--RunExperiments.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpOr6YofJOwHTuL_icon-main-nav--RunExperiments.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Run experiments</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div></div></div><div class="by-industry-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">By Team</p><div class="by-industry styles-module__9d2Dpq__linksContainer"><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-industry-ai-engineers" href="/persona/ai-engineers/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpQmaYofJOwHTuS_icon-main-nav--AIEngineer.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpQmaYofJOwHTuS_icon-main-nav--AIEngineer.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpQmaYofJOwHTuS_icon-main-nav--AIEngineer.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>AI engineers</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-industry-developers" href="/persona/development-teams/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpQmqYofJOwHTuT_icon-main-nav--Developers.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpQmqYofJOwHTuT_icon-main-nav--Developers.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpQmqYofJOwHTuT_icon-main-nav--Developers.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Developers</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-industry-devops-sre" href="/persona/devops-site-reliability-engineer-teams/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpQm6YofJOwHTuU_icon-main-nav--DevOps-SRE.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpQm6YofJOwHTuU_icon-main-nav--DevOps-SRE.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpQm6YofJOwHTuU_icon-main-nav--DevOps-SRE.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>DevOps & SRE</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-industry-product-managers" href="/persona/product-managers/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpQnaYofJOwHTuW_icon-main-nav--ProductManagers.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpQnaYofJOwHTuW_icon-main-nav--ProductManagers.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpQnaYofJOwHTuW_icon-main-nav--ProductManagers.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Product managers</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-industry-data-scientists" href="/persona/data-scientists/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/8Rpfg-gh7BMefouu_persona-data-scientist-icon-nav.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/8Rpfg-gh7BMefouu_persona-data-scientist-icon-nav.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/8Rpfg-gh7BMefouu_persona-data-scientist-icon-nav.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Data scientists</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div></div></div></div></div></div></div></div></div><div class="styles-module__wa_yaW__mainNavParent nav--main-nav-parent"><div class="moreStyles-module__udQsYq__parentNavItem styles-module__wa_yaW__parentNavItem main-nav-parent-nav-item"><div class="moreStyles-module__udQsYq__navItem styles-module__wa_yaW__navItem" id="resources" data-analytics="nav-resources" role="button" tabindex="0"><span class="moreStyles-module__udQsYq__navItemTitle styles-module__wa_yaW__navItemTitle main-nav-title">Resources</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__wa_yaW__mobileCaretClosed "><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><div class="
|
||
moreStyles-module__udQsYq__dropdown
|
||
|
||
main-nav-dropdown
|
||
resources
|
||
styles-module__wa_yaW__dropdown
|
||
|
||
"><div class="moreStyles-module__udQsYq__dropdownContainer styles-module__wa_yaW__dropdownContainer main-nav-dropdown-container"><div class="moreStyles-module__udQsYq__linksContainer styles-module__wa_yaW__linksContainer"><div class="styles-module__wa_yaW__linksContainerInner"><div class="learn-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">Learn</p><div class="learn styles-module__9d2Dpq__linksContainer"><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-learn-blog" href="/blog/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSN6YofJOwHTud_icon-main-nav--Blog.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSN6YofJOwHTud_icon-main-nav--Blog.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSN6YofJOwHTud_icon-main-nav--Blog.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Blog</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-learn-guides-ebooks" href="/guides/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSOaYofJOwHTuf_icon-main-nav--GuidesandEbooks.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSOaYofJOwHTuf_icon-main-nav--GuidesandEbooks.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSOaYofJOwHTuf_icon-main-nav--GuidesandEbooks.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Guides & ebooks</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-learn-events-webinars" href="/events-webinars/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSOKYofJOwHTue_icon-main-nav--EventsandWebinars.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSOKYofJOwHTue_icon-main-nav--EventsandWebinars.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSOKYofJOwHTue_icon-main-nav--EventsandWebinars.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Events & webinars</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a href="https://www.youtube.com/@LaunchDarkly" class="styles-module__9d2Dpq__link " target="_blank" tabindex="0" data-analytics="nav-learn-videos" rel="nofollow noreferrer"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSOqYofJOwHTug_icon-main-nav--Videos.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSOqYofJOwHTug_icon-main-nav--Videos.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSOqYofJOwHTug_icon-main-nav--Videos.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Videos</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div></div></div><div class="success-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">Success</p><div class="success styles-module__9d2Dpq__linksContainer"><!--$?--><template id="B:0"></template><a href="https://academy.launchdarkly.com/" rel="nofollow noopener noreferrer" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-success-academy"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Academy</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--/$--><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-success-customer-stories" href="/customer-stories/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSRKYofJOwHTuj_icon-main-nav--CustomerStories.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSRKYofJOwHTuj_icon-main-nav--CustomerStories.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSRKYofJOwHTuj_icon-main-nav--CustomerStories.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Customer stories</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-success-professional-services" href="/services/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSRqYofJOwHTul_icon-main-nav--ProfessionalServices.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSRqYofJOwHTul_icon-main-nav--ProfessionalServices.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSRqYofJOwHTul_icon-main-nav--ProfessionalServices.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Professional services</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-success-partners" href="/partner-program/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSRaYofJOwHTuk_icon-main-nav--Partners.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSRaYofJOwHTuk_icon-main-nav--Partners.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSRaYofJOwHTuk_icon-main-nav--Partners.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Partners</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div></div></div><div class="get-help-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">Get Help</p><div class="get-help styles-module__9d2Dpq__linksContainer"><!--$?--><template id="B:1"></template><a href="https://support.launchdarkly.com/" rel="nofollow noopener noreferrer" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-get-help-help-center"><div class="styles-module__9d2Dpq__productLinkInner"><div class="styles-module__9d2Dpq__linkInnerIconContainer"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format%2Ccompress&fit=max&w=3840"/></div><div class="styles-module__9d2Dpq__productLinkTextContainer"><h6>Help Center</h6><p>Explore help topics for everything LaunchDarkly.</p></div></div></a><!--/$--><!--$?--><template id="B:2"></template><a href="https://support.launchdarkly.com/hc/en-us/requests/new?ticket_form_id=360000836893" rel="nofollow noopener noreferrer" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-get-help-request-support"><div class="styles-module__9d2Dpq__productLinkInner"><div class="styles-module__9d2Dpq__linkInnerIconContainer"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format%2Ccompress&fit=max&w=3840"/></div><div class="styles-module__9d2Dpq__productLinkTextContainer"><h6>Request support</h6><p>Reach out to us for direct answers to your questions.</p></div></div></a><!--/$--></div></div></div></div></div></div></div></div></div><div class="styles-module__wa_yaW__mainNavParent nav--main-nav-parent"><div class="moreStyles-module__udQsYq__parentNavItem styles-module__wa_yaW__parentNavItem main-nav-parent-nav-item"><div class="moreStyles-module__udQsYq__navItem styles-module__wa_yaW__navItem" id="developers" data-analytics="nav-developers" role="button" tabindex="0"><span class="moreStyles-module__udQsYq__navItemTitle styles-module__wa_yaW__navItemTitle main-nav-title">Developers</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__wa_yaW__mobileCaretClosed "><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><div class="
|
||
moreStyles-module__udQsYq__dropdown
|
||
|
||
main-nav-dropdown
|
||
developers
|
||
styles-module__wa_yaW__dropdown
|
||
|
||
"><div class="moreStyles-module__udQsYq__dropdownContainer styles-module__wa_yaW__dropdownContainer main-nav-dropdown-container"><div class="moreStyles-module__udQsYq__linksContainer styles-module__wa_yaW__linksContainer"><div class="styles-module__wa_yaW__linksContainerInner"><div class="resources-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">Docs</p><div class="resources styles-module__9d2Dpq__linksContainer"><!--$?--><template id="B:3"></template><a href="https://launchdarkly.com/docs/home" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-docs-home"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Docs home</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--/$--><!--$?--><template id="B:4"></template><a href="https://launchdarkly.com/docs/home/getting-started" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-feature-flags-quickstart"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Feature flags Quickstart</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--/$--><!--$?--><template id="B:5"></template><a href="https://launchdarkly.com/docs/home/agentcontrol/quickstart" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-agentcontrol-quickstart"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>AgentControl Quickstart</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--/$--><!--$?--><template id="B:6"></template><a href="https://launchdarkly.com/docs/api/" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-api-docs"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>API docs</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--/$--></div></div></div><div class="workflow-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">Resources</p><div class="workflow styles-module__9d2Dpq__linksContainer"><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-workflow-product-updates" href="/changelog/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSZqYofJOwHTut_icon-main-nav--Productupdates.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSZqYofJOwHTut_icon-main-nav--Productupdates.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSZqYofJOwHTut_icon-main-nav--Productupdates.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Product Updates</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-workflow-power-analysis-calculator" href="/sample-size-calculator/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSZaYofJOwHTus_icon-main-nav--PowerAnalysisCalculator.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSZaYofJOwHTus_icon-main-nav--PowerAnalysisCalculator.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSZaYofJOwHTus_icon-main-nav--PowerAnalysisCalculator.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Power analysis calculator</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--$?--><template id="B:7"></template><a href="https://launchdarkly.com/docs/blog" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-workflow-flagship-engineering-blog"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Flagship engineering blog</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--/$--><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-workflow-community" href="/community/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSY6YofJOwHTuq_icon-main-nav--Community.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSY6YofJOwHTuq_icon-main-nav--Community.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSY6YofJOwHTuq_icon-main-nav--Community.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Community</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div></div></div></div><div id="developers-dropdown-cta" class="styles-module__SAuuzq__ctaWrapper"><!--$?--><template id="B:8"></template><a href="https://app.launchdarkly.com/signup" rel="nofollow noopener noreferrer" class="styles-module__SAuuzq__ctaInner js-primary-button-hover-parent" target="_self" tabindex="0" data-analytics="nav-developers-free-trial"><div class="styles-module__SAuuzq__ctaIconContainer"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover"><img alt="" loading="lazy" width="72" height="72" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="/_next/image/?url=%2Fimages%2Fai-refresh%2Fnav%2Ftoggle-cta-nav.png&w=96&q=75 1x, /_next/image/?url=%2Fimages%2Fai-refresh%2Fnav%2Ftoggle-cta-nav.png&w=256&q=75 2x" src="/_next/image/?url=%2Fimages%2Fai-refresh%2Fnav%2Ftoggle-cta-nav.png&w=256&q=75"/></div></div><div class="styles-module__SAuuzq__ctaTextContainer"><p class="styles-module__SAuuzq__ctaTitle">Take control of your code and agents at runtime.</p><p>Control releases, experiments, and AI behavior in prod.</p></div><div class="styles-module__SAuuzq__ctaButton"><span class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_lime styles-module__d4f9cW__size_default"><span class="styles-module__d4f9cW__label">Free trial</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></span></div></a><!--/$--></div></div></div></div></div></div><div class="styles-module__stVVvG__pricingWrapper"><div><a class="styles-module__stVVvG__pricingLink styles-module__stVVvG__mobilePricingLink" target="_self" tabindex="0" data-analytics="nav-pricing" href="/pricing/"><span>Pricing</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__stVVvG__mobilePricingArrow"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></a></div></div><div class="styles-module__stVVvG__pricingWrapper"><div><!--$?--><template id="B:9"></template><a href="https://app.launchdarkly.com/" rel="nofollow noopener noreferrer" class="styles-module__stVVvG__pricingLink styles-module__stVVvG__mobileSignInLink" target="_self" tabindex="0" data-analytics="nav-mobile-sign-in"><span>Sign in</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__stVVvG__mobilePricingArrow"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></a><!--/$--></div></div><div class="styles-module__stVVvG__mobileBookDemoWrapper"><div><a class="styles-module__stVVvG__mobileBookDemoLink" target="_self" tabindex="0" data-analytics="nav-mobile-book-a-demo" href="/request-a-demo/"><span>Book a demo</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__stVVvG__mobilePricingArrow"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></a></div></div></nav></div></div><div class="oldstyles-module__hgjkrG__mainNavExtra main-nav-extra styles-module__stVVvG__demoRequestButton "><div class="oldstyles-module__hgjkrG__signIn styles-module__stVVvG__signIn"><a class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_lime styles-module__d4f9cW__size_default oldstyles-module__hgjkrG__requestDemoButton styles-module__stVVvG__requestDemoButton" target="_self" tabindex="0" data-analytics="nav-book-a-demo" href="/request-a-demo/"><span class="styles-module__d4f9cW__label">Book a demo</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></a></div></div></nav></header><div class="styles-module__stVVvG__mainNavOverlay main-nav-overlay"></div><div class="styles-module__ZkjjmG__body styles-module__ZkjjmG__isRefreshDesign"><main class="styles-module__ZkjjmG__main "><section class="styles-module__NFwUga__newSection styles-module__NFwUga__bgLight"><div class="styles-module__NFwUga__contentContainer "><div class="styles-module__xmAU9a__headerBreadcrumbSearchBar styles-module__xmAU9a__noTopPadding"><div class="styles-module__xmAU9a__container"><div class="styles-module__xmAU9a__breadcrumbs"><a target="_self" tabindex="0" href="/blog/">Blog</a><img class="styles-module__xmAU9a__breadcrumbArrow" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/Z5UufJbqstJ992SK_right-arrow-padded.svg" alt="Right arrow" loading="lazy"/><a target="_self" tabindex="0" href="/blog/category/ai-generated-code/">AI-Generated Code</a><div class="styles-module__xmAU9a__thirdBreadcrumb"><img class="styles-module__xmAU9a__breadcrumbArrow" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/Z5UufJbqstJ992SK_right-arrow-padded.svg" alt="Right arrow" loading="lazy"/><span class="styles-module__xmAU9a__titleBreadcrumb">AI-generated code ships fast, but runtime control hasn’t kept up</span></div></div><div class="styles-module__xmAU9a__barWrapper"><div class="styles-module__xmAU9a__barContainer"><div class="styles-module__xmAU9a__searchBarContainer "><div class="styles-module__xmAU9a__searchBar "><input type="text" placeholder="Search blog" aria-label="Search" value=""/><div class="styles-module__xmAU9a__backspaceIcon styles-module__xmAU9a__hidden"><button type="button" aria-label="Clear search" class="styles-module__xmAU9a__disabled" style="all:unset;cursor:pointer"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/Z5WVkpbqstJ992cY_backspace-icon-blue.svg" alt="" loading="lazy"/></button></div><div class="styles-module__xmAU9a__icon"><img class="styles-module__xmAU9a__search" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/Z5V7fZbqstJ992aX_search-icon-blue.svg" alt="Search icon" loading="lazy"/><img class="styles-module__xmAU9a__close" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/Z5WFMpbqstJ992ai_close-icon.svg" alt="Close icon" loading="lazy"/></div></div></div></div></div></div></div><div class="styles-module__HXqOTa__blogContainer"><div class="styles-module__HXqOTa__header"><div class="styles-module__HXqOTa__content"><p class="styles-module__J0n02W__variant_textXsmallCaps styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_medium">Feb 20, 2026</p><h1 class="styles-module__J0n02W__variant_h3 styles-module__J0n02W__weight_semibold styles-module__HXqOTa__blogTitle">AI-generated code ships fast, but runtime control hasn’t kept up</h1><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_regular styles-module__HXqOTa__excerpt">AI is speeding up code generation, but control in production is lagging behind.</p><div class="styles-module__HXqOTa__authorContainer"><div class="styles-module__5zAopa__author "><a class="styles-module__5zAopa__authorImage" target="_self" tabindex="0" href="/blog/author/#"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image post-details-author-image"><img alt="The LaunchDarkly Team picture" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/7b3f1666-a0e7-44f8-96c4-061bbb699f00_LD+Avatar+Blog.png?auto=format%2Ccompress&fit=max&w=1920&q=80 1x, https://images.prismic.io/launchdarkly/7b3f1666-a0e7-44f8-96c4-061bbb699f00_LD+Avatar+Blog.png?auto=format%2Ccompress&fit=max&w=3840&q=80 2x" src="https://images.prismic.io/launchdarkly/7b3f1666-a0e7-44f8-96c4-061bbb699f00_LD+Avatar+Blog.png?auto=format%2Ccompress&fit=max&w=3840&q=80"/></div></a><div class="styles-module__5zAopa__authorDetails"><span class="styles-module__5zAopa__authorName">The LaunchDarkly Team</span><div class="styles-module__5zAopa__authorJobTitle">LaunchDarkly</div></div></div></div></div><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image styles-module__HXqOTa__featuredImage"><img alt="An imageAbstract illustration in purple and blue tones featuring a glowing central sphere with a bright star-like shape inside. of a white " loading="eager" width="3000" height="1688" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/aZjnoMFoBIGEgnSQ_Blog_02-26_AI-generatedcodeshipsfast.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80 1x" src="https://images.prismic.io/launchdarkly/aZjnoMFoBIGEgnSQ_Blog_02-26_AI-generatedcodeshipsfast.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80"/></div></div><div class="styles-module__HXqOTa__staticBar"><div id="blog-progress-bar" class="styles-module__lQ92Cq__container"><div class="styles-module__lQ92Cq__progress" style="width:0%"></div></div></div><div class="styles-module__HXqOTa__blogMainContainer"><div class="styles-module__HXqOTa__body"><div class="styles-module__HXqOTa__blogContentWrapper"><article class="blog-post-main-content"><div data-ld-slice-index="0" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">AI has changed how we build software, but it hasn’t changed how we control what ships. The LaunchDarkly 2026 <em><a target="_self" tabindex="0" href="/ai-control-gap/">AI Control Gap Report</a></em> reveals that 94% of engineering leaders say AI has increased the pace of code generation. Today, teams can do code scaffolding, test generation, and implementation in minutes—work that used to require a few days. For delivery pipelines optimized around speed, this shift is positive.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">At the same time, 91% of respondents said their teams have become more cautious about pushing changes to production. That caution reflects a recurring problem: while build and deployment velocity have improved, production reliability has not. The same report shows that 69% of teams roll back or hotfix at least once per week, and only 12% can resolve production issues in under an hour. The majority require between 4 and 12 hours per incident.</p></div></section></div></div><div data-ld-slice-index="1" data-ld-slice-type="image"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl styles-module__cchFNW__imageSlice"><div class="styles-module__cchFNW__imageContainer " role="dialog"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="Bar chart comparing deployment frequency to rollback/hotfix frequency. Deployments most commonly happen daily or weekly, with many teams deploying multiple times per day. Rollbacks and hotfixes occur less frequently overall, clustering more around weekly or monthly intervals and appearing less often multiple times per day." loading="lazy" width="1920" height="990" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/aZjn6sFoBIGEgnSR_DeployandHotfix.png?auto=format%2Ccompress&fit=max&w=1920&q=80 1x, https://images.prismic.io/launchdarkly/aZjn6sFoBIGEgnSR_DeployandHotfix.png?auto=format%2Ccompress&fit=max&w=3840&q=80 2x" src="https://images.prismic.io/launchdarkly/aZjn6sFoBIGEgnSR_DeployandHotfix.png?auto=format%2Ccompress&fit=max&w=3840&q=80"/></div></div></section><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><div data-ld-slice-index="2" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Shipping is faster, but recovery isn’t. That mismatch creates friction, especially as more teams rely on AI-generated artifacts with less predictability and fewer deterministic guarantees. <a target="_self" tabindex="0" href="/blog/prevent-ai-coding-errors-in-production/">Faster code generation</a> has moved risks into production, where traditional delivery pipelines provide limited control. Build-time safeguards don’t address the need to manage change when it goes live. </p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Teams that want to <a target="_self" tabindex="0" href="/solutions/release-ai-built-code/">ship AI-generated code safely and quickly</a> need control in production: the ability to limit exposure, observe real-world impact, and change behavior while systems are live, without rebuilding or redeploying. When this runtime control is in place, teams can release smaller changes more frequently, detect issues earlier, and stop or adjust features before incidents spread.</p><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl">AI introduces new runtime risks</h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Beyond compiled code, teams now ship model prompts, configuration files, parameters, and embeddings: elements that are harder to test in isolation and more dynamic in production.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">91% of developers surveyed believe AI-generated code is equally or more likely to introduce production issues than human-written code. This statistic aligns with observed outcomes: higher incident rates, longer MTTR, and slower rollback cycles.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Traditional safety practices—such as test coverage, static analysis, and peer review—still apply, but they provide limited protection when non-deterministic behavior reaches production. Teams need mechanisms to identify, isolate, and remediate issues <em>after</em> deployment. Without those mechanisms, production becomes the debugging environment.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Most teams say they have runtime safety systems in place. 99% report using at least one of the following: feature flags, progressive rollouts, kill switches, or real-time monitoring. Yet outcomes suggest inconsistent implementation and uneven usage.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Common breakdowns include:</p><ul class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md"><li class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_sm">Feature flags being applied inconsistently across teams or services</li><li class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_sm">Manual rollout coordination across environments</li><li class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_sm">Monitoring tools that surface metrics without linking to feature exposure</li></ul><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The controls are in place, but a lack of integration and standardization undermines their reliability.</p><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl">A small number of teams combine speed with control</h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Only 15% of surveyed teams deploy changes daily (or more frequently) while keeping incidents to a monthly or lower frequency. These teams tend to structure releases around runtime control from the start. They use dynamic targeting, staged rollouts, and production observability that is tied to feature state, not just infrastructure.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The operational benefits are measurable. LaunchDarkly users, for example, are 2.2 times more likely to meet this performance benchmark than the average team. 71% of LaunchDarkly users spend at least a quarter of their time on feature development, compared to 56% among peers using other platforms.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Runtime control enables these teams to run smaller, safer experiments and respond more quickly when something breaks. A staged rollout to 1% of users can uncover issues early. If telemetry indicates a spike in latency or an unexpected behavior, teams can pause the rollout or turn off the flag entirely without a redeploy or hotfix. This level of control improves both engineering efficiency and customer experience.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The productivity impact compounds over time. Fewer incidents mean less context switching. Faster remediation reduces team downtime. Greater confidence in release safety supports <a target="_self" tabindex="0" href="/blog/why-ai-model-deployments-break-standard-cicd/">continuous delivery without increasing risk</a>.</p><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl">Runtime control isn’t optional anymore</h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The core delivery problem most teams face is the lack of integrated systems that support safe change in production. Velocity is only useful if teams can maintain stability at the same time. Runtime control enables this by giving teams the ability to shape, observe, and adjust feature behavior after deployment.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Runtime control entails:</p><ul class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md"><li class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_sm">Gradual rollouts based on user attributes or cohorts</li><li class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_sm">Feature-aware monitoring with real-time impact signals</li><li class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_sm">Instant kill switches and rollback without redeployment</li></ul><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">These are baseline capabilities for teams shipping AI-generated features that evolve over time or respond to live input.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Most mature engineering teams can now deploy daily, or even multiple times per day. However, post-deployment control remains unsolved, especially for AI-related features where regression risks are harder to catch in advance. Teams that embed runtime control into their delivery workflows can more easily maintain both speed and stability. Those that treat control as a manual or optional layer usually revert to reactive behavior: full rollbacks, emergency patches, and long debugging cycles that consume development time.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">With AI accelerating the complexity of software development, the cost of not closing this control gap will increase over time. The most successful teams will be the ones that can routinely adapt live systems without relying on hope or heroics. For more insights on how those teams are moving forward, <a target="_self" tabindex="0" href="/ai-control-gap/">download the report</a>.</p></div></section></div></div><div class="styles-module__HXqOTa__mobileCta"><h5 class="styles-module__HXqOTa__footerTitle">Like what you read?</h5></div></article></div></div><section class="styles-module__o_kpTq__sidebar"><div class="styles-module__o_kpTq__sidebarNewsletter"><div class="styles-module__yaWGhq__sidebarVersion undefined styles-module__yaWGhq__blogNewsletter "><div class="styles-module__yaWGhq__blogNewsletterSection"><div class="styles-module__yaWGhq__textContent"><img class="styles-module__yaWGhq__newsletterIcon" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aimOzgeQX7-eXLr4_icon-bw--notification.svg" alt="Notification icon" loading="lazy"/><h5 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__weight_medium">Sign up for our newsletter</h5></div><div class="styles-module__yaWGhq__customForm" id="customNewsletterForm"><div class="styles-module__yaWGhq__formElements" id="customNewsletterFormElements"><input id="customNewsletterEmail" type="email" placeholder="Email address" aria-label="Email address" name="email" value=""/><button class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_dark styles-module__d4f9cW__size_default styles-module__yaWGhq__subscribeButton" type="button"><span class="styles-module__d4f9cW__label">Subscribe</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></button><div class="styles-module__WD-Msa__tos sidebar-version-form-tos styles-module__yaWGhq__formTos styles-module__yaWGhq__sidebarVersionFormTos"><p>By supplying my contact information, I authorize LaunchDarkly to contact me with personalized marketing communications about our products and services. See our<!-- --> <a href="https://launchdarkly.com/policies/privacy/">Privacy Policy</a> for more details, or<!-- --> <a href="https://go.launchdarkly.com/UnsubscribePage.html">Opt-Out</a> at any time.</p></div></div><div class="styles-module__yaWGhq__successMessage" id="customNewsletterSuccessMessage"></div></div></div></div></div><div class="styles-module__o_kpTq__shareLinks"><div class="styles-module__o_kpTq__shareContainer"><div class="styles-module__0R691q__showIcons"><div class="styles-module__0R691q__links"><a class="styles-module__0R691q__link" href="https://twitter.com/intent/tweet?url=https://launchdarkly.com/blog/managing-ai-risk-with-runtime-control/&text=AI-generated code ships fast, but runtime control hasn’t kept up" target="__blank"><div class="styles-module__0R691q__linkIcon"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/6f9be1a5-6395-4b01-8719-ad43eea49d74_x-icon.svg" alt="Twitter" loading="lazy"/></div></a><a class="styles-module__0R691q__link" href="https://www.facebook.com/sharer/sharer.php?u=https://launchdarkly.com/blog/managing-ai-risk-with-runtime-control/" target="__blank"><div class="styles-module__0R691q__linkIcon"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/b4f60d7a-48fa-40d5-a192-20fdd835ed40_Facebook.svg" alt="Facebook" loading="lazy"/></div></a><a class="styles-module__0R691q__link" href="https://www.linkedin.com/shareArticle?mini=true&url=https://launchdarkly.com/blog/managing-ai-risk-with-runtime-control/&title=AI-generated code ships fast, but runtime control hasn’t kept up" target="__blank"><div class="styles-module__0R691q__linkIcon"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/45da01c6-71bd-4533-ae9c-6976ebbc9506_Component+4.svg" alt="LinkedIn" loading="lazy"/></div></a><a class="styles-module__0R691q__link" href="#" target="__blank"><div class="styles-module__0R691q__linkIcon"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/b9eae970-9f92-463c-983e-b44918749711_Link.svg" alt="Copy Link" loading="lazy"/></div><div class="styles-module__0R691q__linkClicked ">URL Copied!</div></a></div></div></div></div></section></div><div class="styles-module__HXqOTa__relatedContent"><div class="styles-module__z7oeYG__overflowCardCarousel styles-module__z7oeYG__darkTheme styles-module__z7oeYG__noFlexOnSplide "><div class="styles-module__z7oeYG__header"><div class="styles-module__z7oeYG__titleWithLink"><h3 class="styles-module__J0n02W__variant_h3 styles-module__J0n02W__weight_semibold">Related Content</h3><a class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_outline styles-module__d4f9cW__size_default" target="_self" tabindex="0" href="/blog/category/ai-generated-code/"><span class="styles-module__d4f9cW__label">See all posts on AI-Generated Code</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></a></div><div class="styles-module__z7oeYG__arrows"><div class="styles-module__z7oeYG__prev styles-module__z7oeYG__disabled"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><div class="styles-module__z7oeYG__next "><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></div><div class="styles-module__z7oeYG__carouselContainer"><div class="styles-module__z7oeYG__spillContainer"><div class="splide"><div class="splide__track"><ul class="splide__list"><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/running-my-side-project-on-an-ai-software-factory/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="" loading="lazy" width="3000" height="1688" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/HbBcDLgE-XIdwTml_Blog_08-26_DogfoodingAuto-FactorywithBaseball.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80 1x" src="https://images.prismic.io/launchdarkly/HbBcDLgE-XIdwTml_Blog_08-26_DogfoodingAuto-FactorywithBaseball.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">Engineering</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/running-my-side-project-on-an-ai-software-factory/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Stories from the Factory Floor: Running my baseball side project on an AI software factory</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/building-a-software-factory-on-our-scariest-code/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="" loading="lazy" width="3000" height="1688" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/KpLJVhpXHF_fE4Kt_Blog_07-26_BuildingaSoftwareFactoryonOurScariestCode_HeroImage_1920x1080.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80 1x" src="https://images.prismic.io/launchdarkly/KpLJVhpXHF_fE4Kt_Blog_07-26_BuildingaSoftwareFactoryonOurScariestCode_HeroImage_1920x1080.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">Engineering</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/building-a-software-factory-on-our-scariest-code/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Stories from the Factory Floor: Building a software factory on our scariest code</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/entering-the-ai-software-factory-era/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="" loading="lazy" width="3000" height="1688" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/4OygjDic_uYo2YmN_Blog_07-26_EnteringtheeraoftheAIsoftwarefactory_1920x1080.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80 1x" src="https://images.prismic.io/launchdarkly/4OygjDic_uYo2YmN_Blog_07-26_EnteringtheeraoftheAIsoftwarefactory_1920x1080.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">AI Agents</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/entering-the-ai-software-factory-era/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Entering the AI software factory era</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/observability-is-not-enough/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="" loading="lazy" width="3000" height="1688" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/d1VBhZjwlbSiXIvN_Blog_07-26_Observabilityisnotenough_HeroImage_1920x1080.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80 1x" src="https://images.prismic.io/launchdarkly/d1VBhZjwlbSiXIvN_Blog_07-26_Observabilityisnotenough_HeroImage_1920x1080.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">Runtime Control</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/observability-is-not-enough/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Observability is not enough</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/speed-isnt-the-risk-lack-of-control-is/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="Screenshot of the Control Panel discussion with Edith Harbaugh, Cameron Etezadi, and Marek Poliks from LaunchDarkly" loading="lazy" width="3000" height="1688" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/aim9LgeQX7-eXL_3_Blog_06-26_ControlPanelRecap_HeroImage_1920x1080.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80 1x" src="https://images.prismic.io/launchdarkly/aim9LgeQX7-eXL_3_Blog_06-26_ControlPanelRecap_HeroImage_1920x1080.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">Runtime Control</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/speed-isnt-the-risk-lack-of-control-is/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Speed isn't the risk. Lack of control is.</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/the-next-era-of-software-needs-runtime-control/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="Featured image for "The Next Era of Software Needs Runtime Control"" loading="lazy" width="3000" height="1688" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/ags6OKYofJOwHVw2_Blog_05-26_ExecPost1-Edith_HeroImage_1920x1080.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80 1x" src="https://images.prismic.io/launchdarkly/ags6OKYofJOwHVw2_Blog_05-26_ExecPost1-Edith_HeroImage_1920x1080.png?auto=format%2Ccompress&rect=0%2C0%2C1919%2C1080&w=3840&fit=max&q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">Runtime Control</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/the-next-era-of-software-needs-runtime-control/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">The next era of software needs runtime control</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/genai-transforming-software-development-lifecycle/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="How Is GenAI Transforming the Software Development Lifecycle? " loading="lazy" width="3000" height="1689" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/ZxvUj4F3NbkBYC3W_24-10-AI-Part2-HowIsGenAITransformingtheSoftwareDevelopmentLifecycle_.png?auto=format%2Ccompress&rect=0%2C0%2C4000%2C2252&w=3840&fit=max&q=80 1x" src="https://images.prismic.io/launchdarkly/ZxvUj4F3NbkBYC3W_24-10-AI-Part2-HowIsGenAITransformingtheSoftwareDevelopmentLifecycle_.png?auto=format%2Ccompress&rect=0%2C0%2C4000%2C2252&w=3840&fit=max&q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">AI Generated Code</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/genai-transforming-software-development-lifecycle/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Part 2: How Is GenAI Transforming the Software Development Lifecycle? </span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/github-copilot-integration-ai-powered-feature-management/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="LaunchDarkly GitHubt Copilot integration blog post featured image" loading="lazy" width="3000" height="1736" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/ZkfWqSol0Zci9Qbi_GLXY24launch-Copilot.png?auto=compress%2Cformat&rect=0%2C0%2C3999%2C2314&w=3840&fit=max&q=80 1x" src="https://images.prismic.io/launchdarkly/ZkfWqSol0Zci9Qbi_GLXY24launch-Copilot.png?auto=compress%2Cformat&rect=0%2C0%2C3999%2C2314&w=3840&fit=max&q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">AI Generated Code</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/github-copilot-integration-ai-powered-feature-management/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Announcing New LaunchDarkly Extensions for GitHub Copilot: AI-Powered Feature Management</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/ai-and-machine-learning-in-test-automation/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="AI and Machine Learning in Test Automation" loading="lazy" width="2000" height="1125" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/MTFjODU5NDAtN2VkZS00ODg3LWJlM2ItODM3OWY2YWFhMWJh_2020_05_blog_tiponlinetestim1x.jpg?auto=compress%2Cformat&rect=0%2C0%2C1920%2C1080&w=2048&fit=max&q=80 1x, https://images.prismic.io/launchdarkly/MTFjODU5NDAtN2VkZS00ODg3LWJlM2ItODM3OWY2YWFhMWJh_2020_05_blog_tiponlinetestim1x.jpg?auto=compress%2Cformat&rect=0%2C0%2C1920%2C1080&w=3840&fit=max&q=80 2x" src="https://images.prismic.io/launchdarkly/MTFjODU5NDAtN2VkZS00ODg3LWJlM2ItODM3OWY2YWFhMWJh_2020_05_blog_tiponlinetestim1x.jpg?auto=compress%2Cformat&rect=0%2C0%2C1920%2C1080&w=3840&fit=max&q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">AI Generated Code</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/ai-and-machine-learning-in-test-automation/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">AI and Machine Learning in Test Automation</span></a></div></div></li></ul></div></div></div></div></div></div></div><div class="styles-module__HXqOTa__newsletterContainer"><div class=" undefined styles-module__yaWGhq__blogNewsletter styles-module__yaWGhq__horizontalVersion"><div class="styles-module__yaWGhq__blogNewsletterSection"><div class="styles-module__yaWGhq__textContent"><img class="styles-module__yaWGhq__newsletterIconHorizontal" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aimnSAeQX7-eXL6I_icon--blog-letter-in-envelop.svg" alt="Letter in envelope icon" loading="lazy"/><h5 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__weight_medium">Sign up for our newsletter</h5><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__weight_regular styles-module__yaWGhq__description">Get all the content, tips, and news you can use.</p><div class="styles-module__WD-Msa__tos full-width-version-form-tos styles-module__yaWGhq__formTos styles-module__yaWGhq__fullWidthVersion"><p>By supplying my contact information, I authorize LaunchDarkly to contact me with personalized marketing communications about our products and services. See our<!-- --> <a href="https://launchdarkly.com/policies/privacy/">Privacy Policy</a> for more details, or<!-- --> <a href="https://go.launchdarkly.com/UnsubscribePage.html">Opt-Out</a> at any time.</p></div></div><div class="styles-module__yaWGhq__customForm" id="customNewsletterForm"><div class="styles-module__yaWGhq__formElements" id="customNewsletterFormElements"><input id="customNewsletterEmail" type="email" placeholder="Email address" aria-label="Email address" name="email" value=""/><button class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_dark styles-module__d4f9cW__size_default styles-module__yaWGhq__subscribeButton" type="button"><span class="styles-module__d4f9cW__label">Subscribe</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></button></div><div class="styles-module__yaWGhq__successMessage" id="customNewsletterSuccessMessage"></div></div></div></div></div><div class="styles-module__HXqOTa__g2BannerContainer"><a class="styles-module__MISuva__blogG2Banner" target="_self" tabindex="0" href="/g2-review/"><div class="styles-module__MISuva__blogG2BannerInner"><div><img class="styles-module__MISuva__blogG2BannerImage" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ainJTAeQX7-eXMEO_icon-bw--growing-up-arrow.svg" alt="Climbing up arrow" loading="lazy"/></div><div class="styles-module__MISuva__blogG2BannerContent"><h4 class="styles-module__J0n02W__variant_h4 styles-module__J0n02W__color_white styles-module__J0n02W__weight_medium">LaunchDarkly Tops G2 Grid for Feature Management</h4></div><div class="styles-module__MISuva__blogG2BannerButton"><button class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_lime styles-module__d4f9cW__size_default" type="button"><span class="styles-module__d4f9cW__label">Learn more</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></button></div></div></a></div><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","@id":"https://launchdarkly.com/managing-ai-risk-with-runtime-control/#article","about":[{"@type":"Thing","name":"AI-generated code ships fast, but runtime control hasn’t kept up"}],"author":[{"@type":"Organization","name":"LaunchDarkly","url":"https://launchdarkly.com/blog/author/launchdarkly/"}],"datePublished":"2026-02-20T23:09:39.000Z","dateModified":"2026-09-04T17:56:21.000Z","headline":"AI-generated code ships fast, but runtime control hasn’t kept up","description":"AI is speeding up code generation, but control in production is lagging behind.","image":{"@type":"ImageObject","url":"https://launchdarkly.com/open-graph.jpg"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://launchdarkly.com/managing-ai-risk-with-runtime-control/#webpage"},"publisher":{"@id":"https://launchdarkly.com/#organization"}}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","@id":"https://launchdarkly.com/#organization","name":"LaunchDarkly","legalName":"LaunchDarkly","description":"LaunchDarkly helps teams safely manage code and AI agents in production with feature flags, progressive delivery, automated rollback, and runtime control.","url":"https://launchdarkly.com/","logo":{"@type":"ImageObject","url":"https://launchdarkly.com/schema-icon.png","width":"512","height":"512"},"sameAs":["https://twitter.com/LaunchDarkly","https://www.linkedin.com/company/launchdarkly","https://github.com/launchdarkly"]}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","description":"Breadcrumbs list","name":"Breadcrumbs","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://launchdarkly.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://launchdarkly.com/blog"},{"@type":"ListItem","position":3,"name":"AI-generated code ships fast, but runtime control hasn’t kept up","item":"https://launchdarkly.com/managing-ai-risk-with-runtime-control/"}]}</script></div></section><section class="styles-module__NFwUga__newSection styles-module__5aVuCq__resources undefined" data-name="Resources"><div class="styles-module__NFwUga__contentContainer "><header class="styles-module__5aVuCq__header"><h3 class="styles-module__J0n02W__variant_h3 styles-module__J0n02W__color_gray01 styles-module__J0n02W__weight_semibold styles-module__5aVuCq__heading">Resources to get started.</h3></header><ul class="styles-module__5aVuCq__cards"><div class="styles-module__5aVuCq__card undefined"><a class="styles-module__5aVuCq__cardLink" target="_self" tabindex="0" data-analytics="resources-check-out-the-blog-" href="/blog/"><div class="styles-module__5aVuCq__cardMedia"><div class="styles-module__5aVuCq__cardImage styles-module__5aVuCq__aspect16x9"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agtlhaYofJOwHWAR_img-res-card--BLOG.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agtlhaYofJOwHWAR_img-res-card--BLOG.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agtlhaYofJOwHWAR_img-res-card--BLOG.png?auto=format%2Ccompress&fit=max&w=3840"/></div><div class="styles-module__5aVuCq__cardButton"><div class="styles-module__5aVuCq__cardArrow"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></div><div class="styles-module__5aVuCq__cardBody"><h3 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__color_gray01 styles-module__J0n02W__weight_medium styles-module__J0n02W__fontFamily_sohne styles-module__5aVuCq__cardTitle">Check out the blog.</h3><span class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardEyebrow">Blog</span><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray02 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardDescription">Read about LaunchDarkly news, product updates, and more.</p></div></a></div><div class="styles-module__5aVuCq__card undefined"><!--$?--><template id="B:a"></template><a href="https://launchdarkly.com/docs/home" class="styles-module__5aVuCq__cardLink" target="_self" tabindex="0" data-analytics="resources-explore-our-docs-"><div class="styles-module__5aVuCq__cardMedia"><div class="styles-module__5aVuCq__cardImage styles-module__5aVuCq__aspect16x9"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format%2Ccompress&fit=max&w=3840"/></div><div class="styles-module__5aVuCq__cardButton"><div class="styles-module__5aVuCq__cardArrow"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></div><div class="styles-module__5aVuCq__cardBody"><h3 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__color_gray01 styles-module__J0n02W__weight_medium styles-module__J0n02W__fontFamily_sohne styles-module__5aVuCq__cardTitle">Explore our docs.</h3><span class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardEyebrow">Docs</span><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray02 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardDescription">Learn best practices for getting started with LaunchDarkly.</p></div></a><!--/$--></div><div class="styles-module__5aVuCq__card undefined"><a href="https://www.youtube.com/@LaunchDarkly" class="styles-module__5aVuCq__cardLink" target="_blank" tabindex="0" data-analytics="resources-watch-on-demand-" rel="nofollow noreferrer"><div class="styles-module__5aVuCq__cardMedia"><div class="styles-module__5aVuCq__cardImage styles-module__5aVuCq__aspect16x9"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agtliKYofJOwHWAU_img-res-card--VIDEOS.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agtliKYofJOwHWAU_img-res-card--VIDEOS.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agtliKYofJOwHWAU_img-res-card--VIDEOS.png?auto=format%2Ccompress&fit=max&w=3840"/></div><div class="styles-module__5aVuCq__cardButton"><div class="styles-module__5aVuCq__cardArrow"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></div><div class="styles-module__5aVuCq__cardBody"><h3 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__color_gray01 styles-module__J0n02W__weight_medium styles-module__J0n02W__fontFamily_sohne styles-module__5aVuCq__cardTitle">Watch on demand.</h3><span class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardEyebrow">Videos</span><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray02 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardDescription">Check out demos and tutorials to see LaunchDarkly in action.</p></div></a></div><div class="styles-module__5aVuCq__card undefined"><a class="styles-module__5aVuCq__cardLink" target="_self" tabindex="0" data-analytics="resources-connect-at-events-" href="/events-webinars/"><div class="styles-module__5aVuCq__cardMedia"><div class="styles-module__5aVuCq__cardImage styles-module__5aVuCq__aspect16x9"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agtlh6YofJOwHWAT_img-res-card--Events.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agtlh6YofJOwHWAT_img-res-card--Events.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agtlh6YofJOwHWAT_img-res-card--Events.png?auto=format%2Ccompress&fit=max&w=3840"/></div><div class="styles-module__5aVuCq__cardButton"><div class="styles-module__5aVuCq__cardArrow"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></div><div class="styles-module__5aVuCq__cardBody"><h3 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__color_gray01 styles-module__J0n02W__weight_medium styles-module__J0n02W__fontFamily_sohne styles-module__5aVuCq__cardTitle">Connect at events.</h3><span class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardEyebrow">Events</span><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray02 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardDescription">Explore ways to connect with us in person and virtually.</p></div></a></div></ul></div></section></main></div><a id="footer" tabindex="-1"></a><footer class="styles-module__-47ntW__footer " data-theme="dark"><div class="styles-module__-47ntW__footerInnerWrapper"><div class="styles-module__dkQbjG__footerTextMarquee"><div class="splide" extensions="[object Object]"><div class="splide__track"><ul class="splide__list"><li class="splide__slide"><div class="styles-module__dkQbjG__footerTextMarqueeItem"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/afp9m8BOoF08xpZG_icon--rotating-text-star.svg" alt="Star icon" loading="lazy"/><span>Ready to take control in prod?</span></div></li></ul></div></div></div><div class="styles-module__-47ntW__footerInner"><div class="styles-module__-47ntW__footerCards styles-module__-47ntW__footerRow"><div class="styles-module__-47ntW__logo styles-module__-47ntW__firstCol"><a class="styles-module__SHyKFW__logo styles-module__SHyKFW__logoOnly" target="_self" tabindex="0" aria-label="LaunchDarkly Home" data-analytics="footer-logo" href="/"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 39 39"><path fill="#fff" d="M19.843 39c-.3 0-.6-.172-.772-.474-.128-.302-.128-.603.086-.862l9.129-12.626-15.986 6.55c-.129.043-.214.086-.343.086-.386 0-.728-.258-.814-.603-.129-.345.043-.733.343-.948l14.057-8.318L.814 20.383C.3 20.34 0 19.953 0 19.522c0-.388.257-.82.814-.862l24.729-1.422L11.486 8.92c-.3-.215-.472-.603-.343-.948.128-.344.428-.603.814-.603.129 0 .214.043.343.086l15.986 6.55-9.129-12.67c-.171-.258-.214-.602-.086-.861C19.2.172 19.5 0 19.843 0c.214 0 .428.086.6.259l18.171 18.228c.257.259.386.647.386.992 0 .344-.129.689-.386.99L20.443 38.742a.84.84 0 0 1-.6.259"></path></svg></a></div><div class="styles-module__-47ntW__footerCardsContainer styles-module__-47ntW__secondCol"><a class="styles-module__-47ntW__footerCard styles-module__-47ntW__cardGreen" target="_self" tabindex="0" data-analytics="footer-cta-get-a-demo" href="/request-a-demo/"><div><div class="styles-module__-47ntW__footerCardHeading"><div class="styles-module__-47ntW__footerCardArrow styles-module__-47ntW__cardArrowGreen"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><h5>Get a demo</h5></div></div><div class="styles-module__-47ntW__footerCardImage"><div class="styles-module__-47ntW__footerCardImageInner"></div><div class="styles-module__-47ntW__footerCardImageBg"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwTY1P9HI4UtaI_img-bg--footer-get-demo.svg" alt="Get a demo" loading="eager"/></div></div></a><!--$?--><template id="B:b"></template><a href="https://app.launchdarkly.com/signup" rel="nofollow noopener noreferrer" class="styles-module__-47ntW__footerCard styles-module__-47ntW__cardPurple" target="_self" tabindex="0" data-analytics="footer-cta-free-trial"><div><div class="styles-module__-47ntW__footerCardHeading"><div class="styles-module__-47ntW__footerCardArrow styles-module__-47ntW__cardArrowPurple"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><h5>Free trial</h5></div></div><div class="styles-module__-47ntW__footerCardImage"><div class="styles-module__-47ntW__footerCardImageInner"></div><div class="styles-module__-47ntW__footerCardImageBg"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwTI1P9HI4UtaH_img-bg--footer-free-trial.svg" alt="Free trial" loading="eager"/></div></div></a><!--/$--><a class="styles-module__-47ntW__footerCard styles-module__-47ntW__cardOrange" target="_self" tabindex="0" data-analytics="footer-cta-codecontrol" href="/platform/code-control/"><div><div class="styles-module__-47ntW__footerCardHeading"><div class="styles-module__-47ntW__footerCardArrow styles-module__-47ntW__cardArrowOrange"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><h5>CodeControl</h5></div></div><div class="styles-module__-47ntW__footerCardImage"><div class="styles-module__-47ntW__footerCardImageInner"></div><div class="styles-module__-47ntW__footerCardImageBg"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwS41P9HI4UtaG_img-bg--footer-code-control.svg" alt="CodeControl" loading="eager"/></div></div></a><a class="styles-module__-47ntW__footerCard styles-module__-47ntW__cardBlue" target="_self" tabindex="0" data-analytics="footer-cta-agentcontrol" href="/platform/agent-control/"><div><div class="styles-module__-47ntW__footerCardHeading"><div class="styles-module__-47ntW__footerCardArrow styles-module__-47ntW__cardArrowBlue"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><h5>AgentControl</h5></div></div><div class="styles-module__-47ntW__footerCardImage"><div class="styles-module__-47ntW__footerCardImageInner"></div><div class="styles-module__-47ntW__footerCardImageBg"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwSo1P9HI4UtaF_img-bg--footer-agent-control.svg" alt="AgentControl" loading="eager"/></div></div></a></div></div><div class="styles-module__-47ntW__footerRow undefined"><div class="styles-module__-47ntW__firstCol"></div><div class="styles-module__-47ntW__secondCol styles-module__-47ntW__footerLinks"><div class="styles-module__-47ntW__footerLinksColumn styles-module__-47ntW__newsletterColumn"><div class="styles-module__-47ntW__newsletterContainer"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Inboxes love LaunchDarkly.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__-47ntW__newsletterFooterText newsletter-footer-text">Get the latest on controlling code and agents in production, with tips, insights, and updates you can actually use.</p><div class="styles-module__-47ntW__newsletterForm newsletter-footer-mkto-form"><div class="mktoFormWrapper"><form id="mktoForm_2272"></form></div></div></div><div class="styles-module__-47ntW__socialMedia"><div class="styles-module__-47ntW__iconContainer"><a href="https://twitter.com/launchdarkly" target="_blank" tabindex="0" aria-label="twitter" data-analytics="footer-social-twitter" rel="nofollow noreferrer"><img alt="small twitter logo" data-analytics="footer-social-twitter" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/b4508c29-da0c-4e9b-bcae-205a95a6ba5d_logo--x-twitter.svg?auto=compress,format"/></a><a href="https://www.youtube.com/@LaunchDarkly" target="_blank" tabindex="0" aria-label="YouTube" data-analytics="footer-social-youtube" rel="nofollow noreferrer"><img alt="small YouTube logo" data-analytics="footer-social-youtube" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/276be984-0bd0-44ed-9e32-44a21a0c4fac_icon-youtube.svg"/></a><a href="https://www.linkedin.com/company/launchdarkly/mycompany/" target="_blank" tabindex="0" aria-label="LinkedIn" data-analytics="footer-social-linkedin" rel="nofollow noreferrer"><img alt="small LinkedIn logo" data-analytics="footer-social-linkedin" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/8b512fb1-6ecc-4e7f-bfe2-368f1a29898b_icon-LinkedIn.svg"/></a><a href="https://discord.com/invite/launchdarklycommunity" target="_blank" tabindex="0" aria-label="Discord" data-analytics="footer-social-discord" rel="nofollow noreferrer"><img alt="small Discord logo" data-analytics="footer-social-discord" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ZpaT7h5LeNNTxNRX_discord-logo-white.svg?auto=compress,format"/></a><a href="https://www.instagram.com/launchdarkly/" target="_blank" tabindex="0" aria-label="Instagram" data-analytics="footer-social-instagram" rel="nofollow noreferrer"><img alt="small Instagram logo" data-analytics="footer-social-instagram" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/8b8446e4-02c7-468e-bb32-79d0432dd1d0_instagram-icon-small.svg"/></a></div></div></div><div class="styles-module__-47ntW__footerLinksColumns"><div class="styles-module__-47ntW__footerLinksColumn"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_sm styles-module__5zGs1G__weight_medium styles-module__5zGs1G__textTransform_uppercase styles-module__-47ntW__footerLinksColumnTitle">Company</p><ul><li><a target="_self" tabindex="0" data-analytics="footer-company-about-us" href="/about-us/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">About Us</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-company-careers" href="/careers/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Careers</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-company-media-analysts" href="/press-and-analysts/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Media & Analysts</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-company-partner-program" href="/partner-program/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Partner Program</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-company-terms-policies" href="/policies/subscription-terms/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Terms & Policies</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-company-contact-us" href="/contact-us/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Contact Us</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-company-community" href="/community/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Community</span></a></li></ul></div><div class="styles-module__-47ntW__footerLinksColumn"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_sm styles-module__5zGs1G__weight_medium styles-module__5zGs1G__textTransform_uppercase styles-module__-47ntW__footerLinksColumnTitle">Support</p><ul class="styles-module__-47ntW__footerLinksColumnSupport"><li><!--$--><a href="https://support.launchdarkly.com/" rel="nofollow noopener noreferrer" target="_self" tabindex="0" data-analytics="footer-support-support-home"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Support home</span></a><!--/$--></li><li><a target="_self" tabindex="0" data-analytics="footer-support-professional-services" href="/services/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Professional Services</span></a></li><li><!--$--><a href="https://launchdarkly.com/docs/home" rel="" target="_self" tabindex="0" data-analytics="footer-support-documentation"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Documentation</span></a><!--/$--></li><li><!--$--><a href="https://status.launchdarkly.com/" rel="nofollow noopener noreferrer" target="_self" tabindex="0" data-analytics="footer-support-status"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Status</span></a><!--/$--></li><li><a href="#" data-analytics="footer-support-do-not-sell">Do not Sell or Share my Personal Information</a></li></ul></div><div class="styles-module__-47ntW__footerLinksColumn"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_sm styles-module__5zGs1G__weight_medium styles-module__5zGs1G__textTransform_uppercase styles-module__-47ntW__footerLinksColumnTitle">Why Us</p><ul><li><a target="_self" tabindex="0" data-analytics="footer-why-us-economic-impact-of-launchdarkly" href="/guides/forrester-tei-report-2026/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Economic Impact of LaunchDarkly</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-why-us-how-launchdarkly-works" href="/how-it-works/platform/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">How LaunchDarkly works</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-why-us-solutions" href="/solutions/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Solutions</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-why-us-trust-security" href="/security/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Trust & Security</span></a></li><li><!--$--><a href="https://trust.launchdarkly.com" rel="nofollow noopener noreferrer" target="_self" tabindex="0" data-analytics="footer-why-us-trust-center"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Trust Center</span></a><!--/$--></li><li><a target="_self" tabindex="0" data-analytics="footer-why-us-launchdarkly-vs-competitors" href="/compare/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">LaunchDarkly vs. Competitors</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-why-us-launchdarkly-on-aws" href="/solutions/launchdarkly-aws/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">LaunchDarkly on AWS</span></a></li></ul></div></div></div></div><div class="styles-module__-47ntW__footerMobileLogo"><a class="styles-module__SHyKFW__logo" target="_self" tabindex="0" aria-label="LaunchDarkly Home" data-analytics="footer-mobile-logo" href="/"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 156 24"><g fill="#000" clip-path="url(#brand-dark_svg__a)"><path d="M9.33 18.729V16.45H2.578V5.272H0v13.457zm6.486-.424q.837-.636 1.276-1.669v2.093h2.472v-6.49c0-.689-.159-1.325-.505-1.854s-.851-.954-1.488-1.245-1.409-.45-2.286-.45c-.479 0-.957.053-1.409.132a6.4 6.4 0 0 0-1.276.371 6 6 0 0 0-1.09.556l.08 2.305c.611-.397 1.196-.689 1.781-.901s1.223-.318 1.94-.318c.558 0 1.01.133 1.329.397s.478.609.478 1.033v.662h-2.233c-1.329 0-2.366.265-3.136.821s-1.143 1.325-1.143 2.305a3.1 3.1 0 0 0 .372 1.483 2.56 2.56 0 0 0 1.09 1.033c.478.265 1.037.371 1.648.371.851 0 1.542-.212 2.1-.636zm-2.233-1.669a1.08 1.08 0 0 1-.425-.874 1.12 1.12 0 0 1 .585-1.033c.372-.239.957-.371 1.701-.371h1.595v.371c0 .318-.08.636-.266.98a2.35 2.35 0 0 1-.824.874 2.33 2.33 0 0 1-1.276.371c-.452 0-.824-.106-1.09-.318m13.848 1.642c.585-.503 1.01-1.192 1.276-2.04v2.49h2.499V8.98h-2.498v4.556q0 .993-.319 1.748c-.319.755-.505.927-.904 1.192a2.23 2.23 0 0 1-1.356.424c-.558 0-.983-.159-1.302-.477-.292-.318-.452-.795-.452-1.404V8.98h-2.499v6.093c0 1.272.292 2.225.904 2.914s1.409 1.033 2.445 1.033c.904 0 1.621-.238 2.206-.742m9.011.45v-4.556q0-.993.319-1.748c.319-.755.505-.927.877-1.192.372-.291.824-.424 1.329-.424.558 0 .983.159 1.302.477.292.318.452.795.452 1.404v6.066h2.525v-6.093c0-1.271-.292-2.225-.904-2.914s-1.409-1.033-2.445-1.033c-.877 0-1.595.265-2.18.742-.558.503-.983 1.192-1.276 2.04v-2.49h-2.498v9.748h2.499zm15.257.212a8 8 0 0 0 .904-.212c.292-.079.532-.186.797-.265l.027-2.358c-.399.212-.824.344-1.276.45a6 6 0 0 1-1.356.159c-.665 0-1.249-.132-1.701-.371a2.24 2.24 0 0 1-1.01-1.033 3.25 3.25 0 0 1-.319-1.457 3.34 3.34 0 0 1 .319-1.457c.213-.424.558-.768 1.01-1.033s1.01-.371 1.648-.371a6 6 0 0 1 1.409.159c.452.106.851.265 1.249.45l-.027-2.437c-.292-.106-.558-.212-.824-.265a4.3 4.3 0 0 0-.904-.159 6.3 6.3 0 0 0-1.037-.079c-1.116 0-2.073.238-2.897.689a4.95 4.95 0 0 0-1.914 1.854c-.452.795-.664 1.669-.664 2.676 0 .98.239 1.881.691 2.649a4.65 4.65 0 0 0 1.914 1.801c.824.424 1.781.662 2.871.662.399.026.771 0 1.09-.053zm6.459-.212v-4.556q0-.993.319-1.748c.319-.755.505-.927.904-1.192a2.15 2.15 0 0 1 1.329-.424c.585 0 1.01.159 1.302.477s.452.795.452 1.404v6.066h2.499v-6.093c0-1.271-.292-2.225-.904-2.914s-1.409-1.033-2.445-1.033c-.877 0-1.621.265-2.18.742-.585.503-1.01 1.192-1.276 2.04V5.272h-2.472v13.457zm14.885 0c1.435 0 2.658-.265 3.668-.821a5.6 5.6 0 0 0 2.313-2.331c.532-1.006.797-2.199.797-3.55s-.266-2.543-.797-3.55-1.302-1.801-2.312-2.358-2.233-.821-3.668-.821H67.86v13.457h5.183zm-2.605-2.278v-8.9h2.578c1.302 0 2.313.397 3.03 1.166.744.795 1.09 1.881 1.09 3.285s-.372 2.517-1.09 3.285c-.744.768-1.754 1.165-3.03 1.165h-2.578zm15.922 1.854a4 4 0 0 0 1.276-1.669v2.093h2.472v-6.49c0-.689-.159-1.325-.505-1.854s-.851-.954-1.489-1.245-1.409-.45-2.286-.45c-.478 0-.957.053-1.409.132a6.4 6.4 0 0 0-1.276.371 6 6 0 0 0-1.09.556l.08 2.305c.611-.397 1.196-.689 1.781-.901s1.223-.318 1.94-.318c.558 0 1.01.133 1.329.397s.478.609.478 1.033v.662h-2.18c-1.329 0-2.366.265-3.136.821s-1.143 1.325-1.143 2.305a3.1 3.1 0 0 0 .372 1.483 2.56 2.56 0 0 0 1.09 1.033c.478.265 1.037.371 1.648.371.824 0 1.489-.212 2.047-.636zm-2.233-1.669a1.08 1.08 0 0 1-.425-.874 1.12 1.12 0 0 1 .585-1.033c.372-.239.957-.371 1.701-.371h1.595v.371c0 .318-.08.636-.266.98a2.35 2.35 0 0 1-.824.874c-.372.238-.771.344-1.249.344-.452.027-.824-.079-1.116-.291zm11.031 2.093V14.57c0-1.086.239-1.907.691-2.464s1.09-.848 1.861-.848a3.3 3.3 0 0 1 1.037.159v-2.41c-.159-.053-.319-.079-.478-.106s-.346-.026-.532-.026c-.611 0-1.143.212-1.568.636s-.771 1.033-.983 1.775V8.954h-2.499v9.748h2.472v.026zm7.681 0v-3.152l.904-.848 2.924 4h2.977l-4.173-5.695 4.093-4.053h-3.136l-3.562 3.444V5.272h-2.472v13.457zm10.819 0V5.272h-2.499v13.457zm3.827 3.629c.93 0 1.675-.185 2.259-.556s1.064-1.033 1.462-1.96l4.492-10.861h-2.578l-2.631 6.808-2.712-6.808h-2.578l4.014 9.722-.213.503c-.133.318-.292.583-.531.715-.213.159-.559.238-1.011.238h-2.073v2.199zM144.092 24a.56.56 0 0 1-.478-.291c-.08-.185-.08-.371.053-.53l5.662-7.762-9.915 4.027c-.08.027-.133.053-.212.053a.52.52 0 0 1-.505-.371c-.08-.212.026-.45.212-.583l8.719-5.113-15.337-.874a.525.525 0 0 1-.505-.53.52.52 0 0 1 .505-.53l15.337-.874-8.719-5.113c-.186-.132-.292-.371-.212-.583s.265-.371.505-.371c.079 0 .132.026.212.053l9.915 4.026-5.662-7.788c-.106-.159-.133-.371-.053-.53a.5.5 0 0 1 .478-.291c.133 0 .266.053.372.159l11.271 11.205c.159.159.239.397.239.609s-.08.424-.239.609l-11.271 11.232a.53.53 0 0 1-.372.159z"></path></g><defs><clipPath id="brand-dark_svg__a"><path fill="#000" d="M0 0h156v24H0z"></path></clipPath></defs></svg></a></div><div class="styles-module__-47ntW__footerRow styles-module__-47ntW__footerBottom"><div class="styles-module__-47ntW__footerBottomLeft"></div><div class="styles-module__-47ntW__footerBottomRight"><a target="_self" tabindex="0" data-analytics="footer-terms-conditions" href="/terms-of-service/">Terms & Conditions</a><a target="_self" tabindex="0" data-analytics="footer-privacy-policy" href="/policies/privacy/">Privacy Policy</a><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_sm">©<!-- -->2026<!-- --> Catamorphic Co.</span></div></div></div></div></footer><div id="modal" class="styles-module__9Rojna__modal"></div><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="/_next/static/chunks/webpack-6feccfddff7ef52e.js" id="_R_" async=""></script><div hidden id="S:0"><a href="https://academy.launchdarkly.com/" rel="nofollow noopener noreferrer" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-success-academy"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Academy</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div><script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
|
||
$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script><div hidden id="S:1"><a href="https://support.launchdarkly.com/" rel="nofollow noopener noreferrer" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-get-help-help-center"><div class="styles-module__9d2Dpq__productLinkInner"><div class="styles-module__9d2Dpq__linkInnerIconContainer"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format%2Ccompress&fit=max&w=3840"/></div><div class="styles-module__9d2Dpq__productLinkTextContainer"><h6>Help Center</h6><p>Explore help topics for everything LaunchDarkly.</p></div></div></a></div><script>$RC("B:1","S:1")</script><div hidden id="S:2"><a href="https://support.launchdarkly.com/hc/en-us/requests/new?ticket_form_id=360000836893" rel="nofollow noopener noreferrer" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-get-help-request-support"><div class="styles-module__9d2Dpq__productLinkInner"><div class="styles-module__9d2Dpq__linkInnerIconContainer"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format%2Ccompress&fit=max&w=3840"/></div><div class="styles-module__9d2Dpq__productLinkTextContainer"><h6>Request support</h6><p>Reach out to us for direct answers to your questions.</p></div></div></a></div><script>$RC("B:2","S:2")</script><div hidden id="S:3"><a href="https://launchdarkly.com/docs/home" rel="" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-docs-home"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Docs home</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div><script>$RC("B:3","S:3")</script><div hidden id="S:4"><a href="https://launchdarkly.com/docs/home/getting-started" rel="" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-feature-flags-quickstart"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Feature flags Quickstart</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div><script>$RC("B:4","S:4")</script><div hidden id="S:5"><a href="https://launchdarkly.com/docs/home/agentcontrol/quickstart" rel="" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-agentcontrol-quickstart"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>AgentControl Quickstart</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div><script>$RC("B:5","S:5")</script><div hidden id="S:6"><a href="https://launchdarkly.com/docs/api/" rel="" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-api-docs"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>API docs</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div><script>$RC("B:6","S:6")</script><div hidden id="S:7"><a href="https://launchdarkly.com/docs/blog" rel="" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-workflow-flagship-engineering-blog"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format%2Ccompress&fit=max&w=3840"/></div><span>Flagship engineering blog</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div><script>$RC("B:7","S:7")</script><div hidden id="S:8"><a href="https://app.launchdarkly.com/signup" rel="nofollow noopener noreferrer" class="styles-module__SAuuzq__ctaInner js-primary-button-hover-parent" target="_self" tabindex="0" data-analytics="nav-developers-free-trial"><div class="styles-module__SAuuzq__ctaIconContainer"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover"><img alt="" loading="lazy" width="72" height="72" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="/_next/image/?url=%2Fimages%2Fai-refresh%2Fnav%2Ftoggle-cta-nav.png&w=96&q=75 1x, /_next/image/?url=%2Fimages%2Fai-refresh%2Fnav%2Ftoggle-cta-nav.png&w=256&q=75 2x" src="/_next/image/?url=%2Fimages%2Fai-refresh%2Fnav%2Ftoggle-cta-nav.png&w=256&q=75"/></div></div><div class="styles-module__SAuuzq__ctaTextContainer"><p class="styles-module__SAuuzq__ctaTitle">Take control of your code and agents at runtime.</p><p>Control releases, experiments, and AI behavior in prod.</p></div><div class="styles-module__SAuuzq__ctaButton"><span class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_lime styles-module__d4f9cW__size_default"><span class="styles-module__d4f9cW__label">Free trial</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></span></div></a></div><script>$RC("B:8","S:8")</script><div hidden id="S:9"><a href="https://app.launchdarkly.com/" rel="nofollow noopener noreferrer" class="styles-module__stVVvG__pricingLink styles-module__stVVvG__mobileSignInLink" target="_self" tabindex="0" data-analytics="nav-mobile-sign-in"><span>Sign in</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__stVVvG__mobilePricingArrow"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></a></div><script>$RC("B:9","S:9")</script><div hidden id="S:a"><a href="https://launchdarkly.com/docs/home" rel="" class="styles-module__5aVuCq__cardLink" target="_self" tabindex="0" data-analytics="resources-explore-our-docs-"><div class="styles-module__5aVuCq__cardMedia"><div class="styles-module__5aVuCq__cardImage styles-module__5aVuCq__aspect16x9"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format%2Ccompress&fit=max&w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format%2Ccompress&fit=max&w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format%2Ccompress&fit=max&w=3840"/></div><div class="styles-module__5aVuCq__cardButton"><div class="styles-module__5aVuCq__cardArrow"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></div><div class="styles-module__5aVuCq__cardBody"><h3 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__color_gray01 styles-module__J0n02W__weight_medium styles-module__J0n02W__fontFamily_sohne styles-module__5aVuCq__cardTitle">Explore our docs.</h3><span class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardEyebrow">Docs</span><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray02 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardDescription">Learn best practices for getting started with LaunchDarkly.</p></div></a></div><script>$RC("B:a","S:a")</script><div hidden id="S:b"><a href="https://app.launchdarkly.com/signup" rel="nofollow noopener noreferrer" class="styles-module__-47ntW__footerCard styles-module__-47ntW__cardPurple" target="_self" tabindex="0" data-analytics="footer-cta-free-trial"><div><div class="styles-module__-47ntW__footerCardHeading"><div class="styles-module__-47ntW__footerCardArrow styles-module__-47ntW__cardArrowPurple"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><h5>Free trial</h5></div></div><div class="styles-module__-47ntW__footerCardImage"><div class="styles-module__-47ntW__footerCardImageInner"></div><div class="styles-module__-47ntW__footerCardImageBg"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwTI1P9HI4UtaH_img-bg--footer-free-trial.svg" alt="Free trial" loading="eager"/></div></div></a></div><script>$RC("B:b","S:b")</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[9766,[],\"\"]\n4:I[98924,[],\"\"]\n17:I[57150,[],\"\"]\n:HL[\"/_next/static/media/06a57141b3ff4399-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/1c175694bc1e8ad8-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/415c659d58f62aff-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/751909690a1a74fa-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/8fe56b4ac583f0e1-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/a205fd595a9beeab-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/c314d5394508c5c7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/cbde3fd2db275844-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/d865ae18e54dcb9c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/eb42eb886f642af5-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/f5e01691c8be1cce-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/4b895a9a0ceca7ed.css\",\"style\"]\n:HL[\"/_next/static/css/6aeb3fbd013f7055.css\",\"style\"]\n:HL[\"/_next/static/css/baa31bc0bc2753e2.css\",\"style\"]\n:HL[\"/_next/static/css/b694ee22169cc940.css\",\"style\"]\n:HL[\"/_next/static/css/455e5680c78aaa64.css\",\"style\"]\n:HL[\"/_next/static/css/668223e4ce0896ff.css\",\"style\"]\n:HL[\"/_next/static/css/71e7e41975824f9a.css\",\"style\"]\n:HL[\"/_next/static/css/499e8ecba60a437c.css\",\"style\"]\n:HL[\"/_next/static/css/c13c7b31349c3e1e.css\",\"style\"]\n:HL[\"/_next/static/css/eb8c52289887f66e.css\",\"style\"]\n:HL[\"/_next/static/css/76ba66facbc12026.css\",\"style\"]\n:HL[\"/_next/static/css/61c845f39508ea49.css\",\"style\"]\n:HL[\"/_next/static/css/9506ad2d29f3da93.css\",\"style\"]\n:HL[\"/_next/static/css/c96dfd09a5295fdd.css\",\"style\"]\n:HL[\"/_next/static/css/ffc1747465c21b7c.css\",\"style\"]\n:HL[\"/_next/static/css/a3d1e33a3a179b4c.css\",\"style\"]\n:HL[\"/_next/"])</script><script>self.__next_f.push([1,"static/css/ab4a69f65a7a2b93.css\",\"style\"]\n:HL[\"/_next/static/css/5b017ffd652d07f8.css\",\"style\"]\n:HL[\"/_next/static/css/c2a2739e0e57e14c.css\",\"style\"]\n:HL[\"/_next/static/css/0e421a84dd333b11.css\",\"style\"]\n:HL[\"/_next/static/css/f188bfa3f9063907.css\",\"style\"]\n:HL[\"/_next/static/css/f08af977962d892c.css\",\"style\"]\n:HL[\"/_next/static/css/741f4cf49b054cf0.css\",\"style\"]\n:HL[\"/_next/static/css/a05c4c008283c998.css\",\"style\"]\n:HL[\"/_next/static/css/271699adbe3692a1.css\",\"style\"]\n:HL[\"/_next/static/css/6bcd99eac94adccc.css\",\"style\"]\n:HL[\"/_next/static/css/9860101428a5e484.css\",\"style\"]\n:HL[\"/_next/static/css/34a11c3f23439233.css\",\"style\"]\n:HL[\"/_next/static/css/b60911417b616c72.css\",\"style\"]\n:HL[\"/_next/static/css/e217cbe846d54f5a.css\",\"style\"]\n:HL[\"/_next/static/css/437c2c516d87ce24.css\",\"style\"]\n:HL[\"/_next/static/css/c240dbaacd91d7b6.css\",\"style\"]\n:HL[\"/_next/static/css/e2768b37f0a7179e.css\",\"style\"]\n:HL[\"/_next/static/css/3771f60faaafd2e7.css\",\"style\"]\n:HL[\"/_next/static/css/e22ba8bc372dffa3.css\",\"style\"]\n:HL[\"/_next/static/css/7a4ebd8c71fa9dec.css\",\"style\"]\n:HL[\"/_next/static/css/42eebaa13cfadd34.css\",\"style\"]\n:HL[\"/_next/static/css/0b0e39f220873667.css\",\"style\"]\n:HL[\"/_next/static/css/f70e0c2fa3894b2b.css\",\"style\"]\n:HL[\"/_next/static/css/2a1b94a1fafb21a0.css\",\"style\"]\n:HL[\"/_next/static/css/372992834c739f06.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"O_3hlC3LSW0FOlOFveGg2\",\"p\":\"\",\"c\":[\"\",\"blog\",\"managing-ai-risk-with-runtime-control\",\"?utm_source=chatgpt%2Fcom\u0026utm_medium=organic\u0026utm_campaign=JenkinsDMN\u0026utm_content=%7Bkeyword%7D\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"blog\",{\"children\":[[\"uid\",\"managing-ai-risk-with-runtime-control\",\"d\"],{\"children\":[\"__PAGE__?{\\\"utm_source\\\":\\\"chatgpt/com\\\",\\\"utm_medium\\\":\\\"organic\\\",\\\"utm_campaign\\\":\\\"JenkinsDMN\\\",\\\"utm_content\\\":\\\"{keyword}\\\"}\",{}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4b895a9a0ceca7ed.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6aeb3fbd013f7055.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/baa31bc0bc2753e2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b694ee22169cc940.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/455e5680c78aaa64.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[\"blog\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"uid\",\"managing-ai-risk-with-runtime-control\",\"d\"],[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/668223e4ce0896ff.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/71e7e41975824f9a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/499e8ecba60a437c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c13c7b31349c3e1e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/eb8c52289887f66e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"5\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/76ba66facbc12026.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"6\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/61c845f39508ea49.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"7\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9506ad2d29f3da93.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"8\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c96dfd09a5295fdd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"9\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ffc1747465c21b7c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"10\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a3d1e33a3a179b4c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"11\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ab4a69f65a7a2b93.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"12\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5b017ffd652d07f8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"13\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c2a2739e0e57e14c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"14\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0e421a84dd333b11.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"15\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/f188bfa3f9063907.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"16\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/f08af977962d892c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"17\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/741f4cf49b054cf0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"18\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a05c4c008283c998.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"19\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/271699adbe3692a1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"20\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6bcd99eac94adccc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],\"$L6\",\"$L7\",\"$L8\",\"$L9\",\"$La\",\"$Lb\",\"$Lc\",\"$Ld\",\"$Le\",\"$Lf\",\"$L10\",\"$L11\",\"$L12\",\"$L13\",\"$L14\"],\"$L15\"]}],{},null,false]},null,false]},null,false]},null,false],\"$L16\",false]],\"m\":\"$undefined\",\"G\":[\"$17\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"18:I[24431,[],\"OutletBoundary\"]\n1b:I[24431,[],\"ViewportBoundary\"]\n1d:I[24431,[],\"MetadataBoundary\"]\n"])</script><script>self.__next_f.push([1,"1f:I[41402,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"\"]\n"])</script><script>self.__next_f.push([1,"20:I[8083,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"7177\",\"static/chunks/app/layout-5d77b524524e53c1.js\"],\"default\"]\n22:I[46212,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"7177\",\"static/chunks/app/layout-5d77b524524e53c1.js\"],\"default\"]\n6:[\"$\",\"link\",\"21\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9860101428a5e484.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n7:[\"$\",\"link\",\"22\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/34a11c3f23439233.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n8:[\"$\",\"link\",\"23\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b60911417b616c72.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n9:[\"$\",\"link\",\"24\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e217cbe846d54f5a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\na:[\"$\",\"link\",\"25\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/437c2c516d87ce24.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nb:[\"$\",\"link\",\"26\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c240dbaacd91d7b6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nc:[\"$\",\"link\",\"27\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e2768b37f0a7179e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nd:[\"$\",\"link\",\"28\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3771f60faaafd2e7.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\ne:[\"$\",\"link\",\"29\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e22ba8bc372dffa3.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nf:[\"$\",\"link\",\"30\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7a4ebd8c71fa9dec.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n10:[\"$\",\"link\",\"31\",{\"rel\":\"stylesh"])</script><script>self.__next_f.push([1,"eet\",\"href\":\"/_next/static/css/42eebaa13cfadd34.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n11:[\"$\",\"link\",\"32\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0b0e39f220873667.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n12:[\"$\",\"link\",\"33\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/f70e0c2fa3894b2b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n13:[\"$\",\"link\",\"34\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2a1b94a1fafb21a0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n14:[\"$\",\"link\",\"35\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/372992834c739f06.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n15:[\"$\",\"$L18\",null,{\"children\":[\"$L19\",\"$L1a\"]}]\n16:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L1b\",null,{\"children\":\"$L1c\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L1d\",null,{\"children\":\"$L1e\"}]]}]\n24:T79b,"])</script><script>self.__next_f.push([1,"\n const domainName = document.domain;\n const isStaging = domainName.indexOf('launchdarkly-nextjs.netlify.app') \u003e 0;\n const isLocal = domainName.indexOf('localhost') \u003e= 0;\n if (!isStaging \u0026\u0026 !isLocal) {\n var _0x4f3c3b=_0x28ed;(function(_0x27c1d5,_0x5b7285){var _0x4a3aaf=_0x28ed,_0x50f6dc=_0x27c1d5();while(!![]){try{var _0x25be67=-parseInt(_0x4a3aaf(0x135))/0x1*(-parseInt(_0x4a3aaf(0x12f))/0x2)+-parseInt(_0x4a3aaf(0x13a))/0x3*(-parseInt(_0x4a3aaf(0x12e))/0x4)+parseInt(_0x4a3aaf(0x13f))/0x5+-parseInt(_0x4a3aaf(0x130))/0x6*(parseInt(_0x4a3aaf(0x137))/0x7)+parseInt(_0x4a3aaf(0x131))/0x8+parseInt(_0x4a3aaf(0x139))/0x9+-parseInt(_0x4a3aaf(0x13c))/0xa*(parseInt(_0x4a3aaf(0x13e))/0xb);if(_0x25be67===_0x5b7285)break;else _0x50f6dc['push'](_0x50f6dc['shift']());}catch(_0x1fcfea){_0x50f6dc['push'](_0x50f6dc['shift']());}}}(_0x3a95,0xe2743));if(document[_0x4f3c3b(0x133)]!=_0x4f3c3b(0x13b)\u0026\u0026document[_0x4f3c3b(0x133)]!=_0x4f3c3b(0x136)){var l=location['href'],r=document[_0x4f3c3b(0x132)],m=new Image();location['protocol']=='https:'?m[_0x4f3c3b(0x13d)]=_0x4f3c3b(0x138)+encodeURI(l)+_0x4f3c3b(0x134)+encodeURI(r):m[_0x4f3c3b(0x13d)]='http://a1abbeef2a0f.o3n.io/files/0fuqyu7agr8q60qwy053kyf7f/image.gif?l='+encodeURI(l)+_0x4f3c3b(0x134)+encodeURI(r);}function _0x28ed(_0x47b123,_0x3d6cdb){var _0x3a951d=_0x3a95();return _0x28ed=function(_0x28edc0,_0x280ec2){_0x28edc0=_0x28edc0-0x12e;var _0x1620c4=_0x3a951d[_0x28edc0];return _0x1620c4;},_0x28ed(_0x47b123,_0x3d6cdb);}function _0x3a95(){var _0x130dd2=['57287318YqinYt','6717710lMIlzL','11324COWcrE','67920RoENBP','25998dHkLhN','11230248MZmNRI','referrer','domain','\u0026r=','49PVgtBh','www.launchdarkly.com','1253jAaJlq','https://a1abbeef2a0f.o3n.io/files/0fuqyu7agr8q60qwy053kyf7f/image.gif?l=','13376151BQtzMN','1074XfLrvY','launchdarkly.com','10hIxshK','src'];_0x3a95=function(){return _0x130dd2;};return _0x3a95();}\n }\n "])</script><script>self.__next_f.push([1,"2:[\"$\",\"html\",null,{\"lang\":\"en-US\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",\"cookie-consent-script\",{\"id\":\"cookie-consent-script\",\"data-cookieconsent\":\"ignore\",\"dangerouslySetInnerHTML\":{\"__html\":\"\\n window.dataLayer = window.dataLayer || [];\\n function gtag() {\\n dataLayer.push(arguments);\\n }\\n gtag(\\\"consent\\\", \\\"default\\\", {\\n ad_storage: \\\"denied\\\",\\n ad_user_data: \\\"denied\\\",\\n ad_personalization: \\\"denied\\\",\\n analytics_storage: \\\"denied\\\",\\n functionality_storage: \\\"denied\\\",\\n personalization_storage: \\\"denied\\\",\\n security_storage: \\\"granted\\\",\\n wait_for_update: 500,\\n });\\n gtag(\\\"set\\\", \\\"ads_data_redaction\\\", true);\\n gtag(\\\"set\\\", \\\"url_passthrough\\\", true);\\n \"}}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_918804 __variable_81b511 __variable_3ebb29 __variable_a7dd04 __variable_479fb2\",\"children\":[[[\"$\",\"$L1f\",\"cookiebot\",{\"id\":\"cookiebot\",\"strategy\":\"beforeInteractive\",\"src\":\"https://consent.cookiebot.com/uc.js\",\"data-cbid\":\"a9e2be18-730c-4afe-89dc-251a408727a0\",\"data-blockingmode\":\"auto\",\"type\":\"text/javascript\",\"data-georegions\":\"{'region':'AT, BE, BG, HR, CY, CZ, DK, EE, FI, FR, DE, GR, HU, IE, IS, IT, LI, LT, LU, LV, MT, NL, NO, PL, PT, RO, SK, SI, ES, SE, GB','cbid':'d7afae1f-c20d-4849-be5c-a875c8c184a0'}\"}],[\"$\",\"$L1f\",\"gtm-init\",{\"id\":\"gtm-init\",\"strategy\":\"afterInteractive\",\"data-cookieconsent\":\"ignore\",\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function(w,l){\\n w[l]=w[l]||[];\\n w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'});\\n })(window,'dataLayer');\\n \"}}],[\"$\",\"$L1f\",\"gtm\",{\"id\":\"gtm\",\"strategy\":\"afterInteractive\",\"data-cookieconsent\":\"ignore\",\"src\":\"https://www.googletagmanager.com/gtm.js?id=GTM-WRKKC89\"}]],[\"$\",\"div\",null,{\"className\":\"styles-module__4bne7a__layers\"}],[\"$\",\"$L20\",null,{}],\"$L21\",[\"$\",\"$L22\",null,{}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$L23\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c13c7b31349c3e1e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/71e7e41975824f9a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/76ba66facbc12026.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9506ad2d29f3da93.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1644807d4ece19b2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"div\",null,{\"id\":\"modal\",\"className\":\"styles-module__9Rojna__modal\"}],[[\"$\",\"$L1f\",\"canaryScript\",{\"id\":\"canaryScript\",\"strategy\":\"afterInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"$24\"}}]],\"$L25\"]}]]}]\n"])</script><script>self.__next_f.push([1,"26:I[1254,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"7177\",\"static/chunks/app/layout-5d77b524524e53c1.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"27:I[79931,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"29:I[15667,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"4345\",\"static/chunks/app/not-found-497554e3668544b1.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"2a:I[27903,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"PrismicNextImage\"]\n"])</script><script>self.__next_f.push([1,"2b:I[55265,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"25:[\"$\",\"$L26\",null,{}]\n"])</script><script>self.__next_f.push([1,"23:[[\"$\",\"$L27\",null,{\"document\":\"$undefined\"}],\"$L28\",[\"$\",\"main\",null,{\"className\":\" styles-module__llGG9q__main \",\"children\":[[\"$\",\"$L29\",null,{}],[\"$\",\"section\",null,{\"className\":\"styles-module__NFwUga__newSection styles-module__NFwUga__bgBlack styles-module__o0Pm3W__notFoundMain\",\"id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-jump-id\":\"$undefined\",\"children\":[\"$\",\"div\",null,{\"className\":\"styles-module__NFwUga__contentContainer styles-module__o0Pm3W__container\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L2a\",null,{\"field\":{\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aixLLKlQnVZVETT4_img-bg--pink-cloud.png?auto=format,compress\",\"alt\":\"Pink Cloud background\",\"dimensions\":{\"width\":1920,\"height\":1080}},\"className\":\"styles-module__o0Pm3W__pinkCloud\",\"quality\":\"$undefined\",\"sizes\":\"$undefined\",\"alt\":\"$undefined\",\"fallbackAlt\":\"\",\"priority\":\"$undefined\",\"placeholder\":\"$undefined\",\"fill\":\"$undefined\",\"loading\":\"lazy\"}],[\"$\",\"div\",null,{\"className\":\"styles-module__o0Pm3W__contentContainer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"styles-module__o0Pm3W__content\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"styles-module__J0n02W__variant_h1 styles-module__J0n02W__weight_bold styles-module__o0Pm3W__title\",\"children\":\"Oops, we seem to be hallucinating.\"}],[\"$\",\"p\",null,{\"className\":\"styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__weight_regular styles-module__o0Pm3W__description\",\"children\":\"Sorry about the 404 error, but this page doesn't exist.\"}],[\"$\",\"$L2b\",null,{\"className\":\"styles-module__d4f9cW__button styles-module__d4f9cW__variant_light styles-module__d4f9cW__size_default\",\"style\":\"$undefined\",\"href\":\"/\",\"onClick\":\"$undefined\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"eventName\":\"$undefined\",\"trackingId\":\"$undefined\",\"analyticsId\":\"$undefined\",\"persistExternalQueryParams\":\"$undefined\",\"children\":[[\"$\",\"span\",null,{\"className\":\"styles-module__d4f9cW__label\",\"children\":\"Return home\"}],[\"$\",\"span\",null,{\"className\":\"styles-module__d4f9cW__arrowBox false\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":12,\"fill\":\"none\",\"className\":\"styles-module__d4f9cW__arrow\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z\"}]}]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__o0Pm3W__videoContainer\",\"children\":[\"$\",\"video\",null,{\"autoPlay\":true,\"muted\":true,\"loop\":true,\"playsInline\":true,\"children\":[\"$\",\"source\",null,{\"src\":\"https://launchdarkly.cdn.prismic.io/launchdarkly/aixHeKlQnVZVETS0_AI-Bert_Dizzy_1080-vp9-chrome.webm\",\"type\":\"video/webm\"}]}]}]]}]]}]}]]}],\"$L2c\"]\n"])</script><script>self.__next_f.push([1,"1c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#FFF\"}]]\n19:null\n"])</script><script>self.__next_f.push([1,"2d:I[78006,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"7177\",\"static/chunks/app/layout-5d77b524524e53c1.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"2e:I[17143,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"2f:I[57947,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"21:[\"$\",\"$L2d\",null,{\"show\":true,\"cookieKey\":\"runtime-labs-workshop-09172026\",\"content\":\"[Hands-on workshop] Managing AI Agents in Production - Sep 17\",\"ctaText\":\"Save my seat\",\"ctaLink\":\"https://launchdarkly.com/webinars/runtime-labs-managing-ai-agents-in-production-sept-17/\"}]\n"])</script><script>self.__next_f.push([1,"28:[\"$\",\"$L2e\",null,{\"navigationDocument\":{\"id\":\"Z8jwdRIAACIAchAL\",\"uid\":null,\"url\":null,\"type\":\"main_navigation\",\"href\":\"https://launchdarkly-marketingsite.cdn.prismic.io/api/v2/documents/search?ref=aqQbiREAACwA_PkJ\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22Z8jwdRIAACIAchAL%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2025-03-06T23:22:48+0000\",\"last_publication_date\":\"2026-08-12T21:50:57+0000\",\"slugs\":[\"main-navigation\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"products_group\":[{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJEidWJ-7kSC2w_icon--guarded-release-x24.svg\",\"id\":\"aCQJEidWJ-7kSC2w\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZkT8yxcAACQAayzv\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"eb9e562d-4750-4567-8060-b0378a8012b7\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Guarded Releases\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Monitor and de-risk.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"releases\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJESdWJ-7kSC2v_icon--experimentation-x24.svg\",\"id\":\"aCQJESdWJ-7kSC2v\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZS3e3xAAACYArUv0\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"859b7068-0b26-4b9b-be95-730781ae8e60\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Experimentation\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Make data-driven decisions.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"experimentation\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aYTW2d0YXLCxVdmZ_observability-icon-pink-gradient.svg\",\"id\":\"aYTW2d0YXLCxVdmZ\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"aXzdMhEAACEAbMS3\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"a6113607-80f4-45f3-9d88-a7f9cd5474ad\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Observability\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Detect, diagnose, and recover.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"releases\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJEydWJ-7kSC2x_icon--release-management-x24.svg\",\"id\":\"aCQJEydWJ-7kSC2x\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZK7UUREAACQAMsBn\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"bd2dad2e-cc7c-47a4-9c6b-d14e00a62722\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Feature Flags\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Scale great release processes.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"release-management\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJECdWJ-7kSC2u_icon--ai-x24.svg\",\"id\":\"aCQJECdWJ-7kSC2u\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"aScrdxIAACUA_zBM\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"e1c3e064-69c5-4a8a-9e6d-d47afa6f9a84\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AI Configs\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Make innovative AI products.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"ai\",\"spans\":[],\"direction\":\"ltr\"}]}],\"overview_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agwNv6YofJOwHWkd_platform-overview-icon.png?auto=format,compress\",\"id\":\"agwNv6YofJOwHWkd\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agT1iRIAACMAW09R\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"the-runtime-control-layer-for-the-ai-era.\",\"first_publication_date\":\"2026-05-13T22:07:57+0000\",\"last_publication_date\":\"2026-07-29T17:52:40+0000\",\"uid\":\"how-it-works.platform\",\"url\":\"/how-it-works.platform/\",\"link_type\":\"Document\",\"key\":\"cb51a2ac-66b9-445c-add5-1bfd126fdaf1\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Platform overview\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNAKYofJOwHTuE_icon-main-nav--FeatureManagement.png?auto=format,compress\",\"id\":\"agpNAKYofJOwHTuE\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agJOJRIAACMAV0KE\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"AI Refresh\"],\"lang\":\"en-us\",\"slug\":\"feature-flags-for-real-time-control-in-production.\",\"first_publication_date\":\"2026-05-11T23:18:47+0000\",\"last_publication_date\":\"2026-07-09T17:32:44+0000\",\"uid\":\"how-it-works.feature-flags\",\"url\":\"/how-it-works.feature-flags/\",\"link_type\":\"Document\",\"key\":\"5b39f1f4-c3e9-4985-a6f4-09d007cdc71a\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Feature flags\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNA6YofJOwHTuH_icon-main-nav--Observability.png?auto=format,compress\",\"id\":\"agpNA6YofJOwHTuH\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agUqVRIAACEAW5iJ\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"AI Refresh\"],\"lang\":\"en-us\",\"slug\":\"observe-at-the-scale-that-you\",\"first_publication_date\":\"2026-05-14T02:28:03+0000\",\"last_publication_date\":\"2026-07-16T18:41:10+0000\",\"uid\":\"how-it-works.observability\",\"url\":\"/how-it-works.observability/\",\"link_type\":\"Document\",\"key\":\"fb0b6ba7-0f91-4639-a80e-a08103edd108\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Observability\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpM_6YofJOwHTuD_icon-main-nav--Experimentation.png?auto=format,compress\",\"id\":\"agpM_6YofJOwHTuD\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agT6fRIAAI1IW1Zl\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"AI Refresh\"],\"lang\":\"en-us\",\"slug\":\"optimize-at-the-speed-that-you\",\"first_publication_date\":\"2026-05-13T23:15:56+0000\",\"last_publication_date\":\"2026-08-12T00:12:40+0000\",\"uid\":\"how-it-works.experimentation\",\"url\":\"/how-it-works.experimentation/\",\"link_type\":\"Document\",\"key\":\"026bc403-ba2c-4c10-a9a7-28dc7beb9c0e\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Experimentation\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpM_qYofJOwHTuC_icon-main-nav--Agentintegrations.png?auto=format,compress\",\"id\":\"agpM_qYofJOwHTuC\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agPiLhIAACEAWZ_F\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"Agent Integration\"],\"lang\":\"en-us\",\"slug\":\"go-agent-native-from-day-1.\",\"first_publication_date\":\"2026-05-13T03:45:19+0000\",\"last_publication_date\":\"2026-07-02T20:40:47+0000\",\"uid\":\"how-it-works.agent-integrations\",\"url\":\"/how-it-works.agent-integrations/\",\"link_type\":\"Document\",\"key\":\"96423778-717a-4a35-b3d1-2966c0f15a99\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Agent integrations\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNAqYofJOwHTuG_icon-main-nav--Integrations.png?auto=format,compress\",\"id\":\"agpNAqYofJOwHTuG\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agXnzxIAAGfYXLYC\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"integrations\",\"first_publication_date\":\"2026-05-14T15:21:28+0000\",\"last_publication_date\":\"2026-05-19T04:39:17+0000\",\"uid\":\"integrations\",\"url\":\"/integrations/\",\"link_type\":\"Document\",\"key\":\"ac21f49d-de49-4c8f-9cab-03ff74f3aeae\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Integrations\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNAaYofJOwHTuF_icon-main-nav--Infrastructure.png?auto=format,compress\",\"id\":\"agpNAaYofJOwHTuF\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agstuhIAAGVsZG8v\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"platform architecture\"],\"lang\":\"en-us\",\"slug\":\"built-for-runtime-control-at-scale.\",\"first_publication_date\":\"2026-05-18T15:48:56+0000\",\"last_publication_date\":\"2026-05-20T21:04:24+0000\",\"uid\":\"how-it-works.platform-architecture\",\"url\":\"/how-it-works.platform-architecture/\",\"link_type\":\"Document\",\"key\":\"654903e7-c950-4ee9-ad8d-28ced3798a0e\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Architecture\",\"spans\":[],\"direction\":\"ltr\"}]}],\"by_team_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOrqYofJOwHTuK_icon-main-nav--ReleaseAI-BuiltCode.png?auto=format,compress\",\"id\":\"agpOrqYofJOwHTuK\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agZggxIAAGfYXWgr\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-coded-it-but-you-own-it-in-production.-stay-in-control.\",\"first_publication_date\":\"2026-05-14T23:57:25+0000\",\"last_publication_date\":\"2026-07-15T15:24:08+0000\",\"uid\":\"solutions.release-ai-built-code\",\"url\":\"/solutions.release-ai-built-code/\",\"link_type\":\"Document\",\"key\":\"89e8e1ad-db87-4479-aeec-83186124bc80\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Release AI-built code\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOrKYofJOwHTuI_icon-main-nav--ControlAIAgents.png?auto=format,compress\",\"id\":\"agpOrKYofJOwHTuI\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agVNRxIAACEAW8p2\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"agents-make-decisions-you-own-the-results.-stay-in-control.\",\"first_publication_date\":\"2026-05-14T04:20:19+0000\",\"last_publication_date\":\"2026-07-15T15:24:56+0000\",\"uid\":\"solutions.control-ai-agents\",\"url\":\"/solutions.control-ai-agents/\",\"link_type\":\"Document\",\"key\":\"c8ca2188-6dd5-4f79-b127-b32bd5afcc49\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Control AI agents\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOraYofJOwHTuJ_icon-main-nav--OptimizeAIPerformance%26Cost.png?auto=format,compress\",\"id\":\"agpOraYofJOwHTuJ\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agZehRIAACEAXWU6\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"stop-guessing.-optimize-model-performance-and-cost-in-real-time.\",\"first_publication_date\":\"2026-05-14T23:47:53+0000\",\"last_publication_date\":\"2026-07-15T15:25:55+0000\",\"uid\":\"solutions.optimize-ai-performance\",\"url\":\"/solutions.optimize-ai-performance/\",\"link_type\":\"Document\",\"key\":\"57b0c941-034c-46e0-80ef-722178945659\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Optimize AI performance \u0026 cost\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOsKYofJOwHTuM_icon-main-nav--Self-HealSystems.png?auto=format,compress\",\"id\":\"agpOsKYofJOwHTuM\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agVxxxIAAI1IW_7K\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"stop-responding-and-automatically-fix-problems-in-production.\",\"first_publication_date\":\"2026-05-14T07:01:00+0000\",\"last_publication_date\":\"2026-07-07T00:03:00+0000\",\"uid\":\"solutions.self-heal-systems\",\"url\":\"/solutions.self-heal-systems/\",\"link_type\":\"Document\",\"key\":\"a777ddee-a6f5-485b-8cb0-df55680e5bd3\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Self-heal systems\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOr6YofJOwHTuL_icon-main-nav--RunExperiments.png?auto=format,compress\",\"id\":\"agpOr6YofJOwHTuL\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agZhwBIAACMAXWoU\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"experiment-at-ai-scale-without-losing-control.\",\"first_publication_date\":\"2026-05-15T00:01:50+0000\",\"last_publication_date\":\"2026-07-15T15:28:25+0000\",\"uid\":\"solutions.run-experiments\",\"url\":\"/solutions.run-experiments/\",\"link_type\":\"Document\",\"key\":\"0c20b758-07ba-4180-9002-028f2eb0c933\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Run experiments\",\"spans\":[],\"direction\":\"ltr\"}]}],\"by_industry_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQmaYofJOwHTuS_icon-main-nav--AIEngineer.png?auto=format,compress\",\"id\":\"agpQmaYofJOwHTuS\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"af-1HRIAACEAU2aQ\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"AI Engineer\"],\"lang\":\"en-us\",\"slug\":\"agents-break-in-production.-thats-where-control-matters.\",\"first_publication_date\":\"2026-05-09T23:06:03+0000\",\"last_publication_date\":\"2026-05-20T21:03:40+0000\",\"uid\":\"persona.ai-engineers\",\"url\":\"/persona.ai-engineers/\",\"link_type\":\"Document\",\"key\":\"fe8f38e4-584c-451d-b926-af442c252bea\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AI engineers\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQmqYofJOwHTuT_icon-main-nav--Developers.png?auto=format,compress\",\"id\":\"agpQmqYofJOwHTuT\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agaOnBIAACMAXamc\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"development teams\"],\"lang\":\"en-us\",\"slug\":\"ship-faster.-stay-in-control.-fix-problems-automatically.\",\"first_publication_date\":\"2026-05-15T03:39:15+0000\",\"last_publication_date\":\"2026-08-27T20:30:26+0000\",\"uid\":\"persona.development-teams\",\"url\":\"/persona.development-teams/\",\"link_type\":\"Document\",\"key\":\"dc747045-cd9a-4d86-aec3-d00c036dff99\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Developers\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQm6YofJOwHTuU_icon-main-nav--DevOps-SRE.png?auto=format,compress\",\"id\":\"agpQm6YofJOwHTuU\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agaRwhIAAGfYXa5B\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"devops\"],\"lang\":\"en-us\",\"slug\":\"prevent-incidents.fix-problems-automatically.\",\"first_publication_date\":\"2026-05-15T03:39:15+0000\",\"last_publication_date\":\"2026-08-18T18:21:56+0000\",\"uid\":\"persona.devops-site-reliability-engineer-teams\",\"url\":\"/persona.devops-site-reliability-engineer-teams/\",\"link_type\":\"Document\",\"key\":\"95bbe00c-5ed4-4caf-a18e-830cfa416ced\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"DevOps \u0026 SRE\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQnaYofJOwHTuW_icon-main-nav--ProductManagers.png?auto=format,compress\",\"id\":\"agpQnaYofJOwHTuW\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agaJuhIAAGfYXaJy\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"product managers\"],\"lang\":\"en-us\",\"slug\":\"launch-confidently.-learn-what-works.-improve-continuously.\",\"first_publication_date\":\"2026-05-15T03:39:15+0000\",\"last_publication_date\":\"2026-05-19T01:10:37+0000\",\"uid\":\"persona.product-managers\",\"url\":\"/persona.product-managers/\",\"link_type\":\"Document\",\"key\":\"aaa44826-4691-462b-a8a1-acc80ad8fbdb\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Product managers\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/8Rpfg-gh7BMefouu_persona-data-scientist-icon-nav.png?auto=format,compress\",\"id\":\"8Rpfg-gh7BMefouu\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"alem8REAACwAC87h\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"data scientists\"],\"lang\":\"en-us\",\"slug\":\"run-experiments-you-can-actually-trust.\",\"first_publication_date\":\"2026-07-15T18:45:45+0000\",\"last_publication_date\":\"2026-07-17T19:14:06+0000\",\"uid\":\"persona.data-scientists\",\"url\":\"/persona.data-scientists/\",\"link_type\":\"Document\",\"key\":\"f7bf52f5-fab6-4ea1-9d9c-e319463a6190\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Data scientists\",\"spans\":[],\"direction\":\"ltr\"}]}],\"learn_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSN6YofJOwHTud_icon-main-nav--Blog.png?auto=format,compress\",\"id\":\"agpSN6YofJOwHTud\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"9ad95dc9-c5ec-4aab-ac8a-7b7405aec915\",\"url\":\"https://launchdarkly.com/blog/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Blog\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSOaYofJOwHTuf_icon-main-nav--GuidesandEbooks.png?auto=format,compress\",\"id\":\"agpSOaYofJOwHTuf\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"1b0edfb5-d056-42ae-a4c2-dd530e49f057\",\"url\":\"https://launchdarkly.com/guides/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Guides \u0026 ebooks\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSOKYofJOwHTue_icon-main-nav--EventsandWebinars.png?auto=format,compress\",\"id\":\"agpSOKYofJOwHTue\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"YQxWXxIAACkAIPjQ\",\"type\":\"events\",\"tags\":[\"events\",\"webinars\"],\"lang\":\"en-us\",\"slug\":\"events\",\"first_publication_date\":\"2021-08-05T21:26:24+0000\",\"last_publication_date\":\"2026-09-11T15:17:28+0000\",\"uid\":\"events-webinars\",\"url\":\"/events-webinars/\",\"link_type\":\"Document\",\"key\":\"d1154925-59b3-4c22-afcc-e0efad605e91\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Events \u0026 webinars\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSOqYofJOwHTug_icon-main-nav--Videos.png?auto=format,compress\",\"id\":\"agpSOqYofJOwHTug\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"c4b22447-de6e-4d1e-9b7a-11748b8055aa\",\"url\":\"https://www.youtube.com/@LaunchDarkly\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Videos\",\"spans\":[],\"direction\":\"ltr\"}]}],\"success_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format,compress\",\"id\":\"agpSQ6YofJOwHTui\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"8a7c9deb-617c-4160-adeb-5b432b051ecf\",\"url\":\"https://academy.launchdarkly.com/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Academy\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSRKYofJOwHTuj_icon-main-nav--CustomerStories.png?auto=format,compress\",\"id\":\"agpSRKYofJOwHTuj\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ajGF7RcAADAA88aj\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"trusted-by-industry-leading-teams.\",\"first_publication_date\":\"2026-06-16T17:59:03+0000\",\"last_publication_date\":\"2026-06-23T21:13:13+0000\",\"uid\":\"customer-stories\",\"url\":\"/customer-stories/\",\"link_type\":\"Document\",\"key\":\"d11dbfa0-bb2d-461c-b5c3-03e978db76b6\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Customer stories\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSRqYofJOwHTul_icon-main-nav--ProfessionalServices.png?auto=format,compress\",\"id\":\"agpSRqYofJOwHTul\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZSgkThAAACcAC-sT\",\"type\":\"new_pages\",\"tags\":[\"services\",\"professional services\"],\"lang\":\"en-us\",\"slug\":\"launchdarkly-professional-services\",\"first_publication_date\":\"2023-10-12T16:52:47+0000\",\"last_publication_date\":\"2026-07-08T15:43:17+0000\",\"uid\":\"services\",\"url\":\"/services/\",\"link_type\":\"Document\",\"key\":\"93fcdada-dd96-49ca-b8f3-a466eb109f19\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Professional services\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSRaYofJOwHTuk_icon-main-nav--Partners.png?auto=format,compress\",\"id\":\"agpSRaYofJOwHTuk\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZMggHhEAACYAn2e4\",\"type\":\"new_pages\",\"tags\":[\"partner program\",\"partner program page\"],\"lang\":\"en-us\",\"slug\":\"lets-build-better-software-together.\",\"first_publication_date\":\"2023-07-31T21:59:14+0000\",\"last_publication_date\":\"2026-07-08T15:56:45+0000\",\"uid\":\"partner-program\",\"url\":\"/partner-program/\",\"link_type\":\"Document\",\"key\":\"c693eb6c-d924-4446-98dc-e50e30a73e31\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Partners\",\"spans\":[],\"direction\":\"ltr\"}]}],\"get_help_group\":[{\"icon\":{\"dimensions\":{\"width\":160,\"height\":160},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format,compress\",\"id\":\"agpTiKYofJOwHTu2\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"671d49cc-49d6-4614-90a4-3c31313a2f47\",\"url\":\"https://support.launchdarkly.com/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Help Center\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Explore help topics for everything LaunchDarkly.\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":160,\"height\":160},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format,compress\",\"id\":\"agpTiaYofJOwHTu3\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"b1c38405-1e18-4080-81ee-a86756bec156\",\"url\":\"https://support.launchdarkly.com/hc/en-us/requests/new?ticket_form_id=360000836893\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Request support\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Reach out to us for direct answers to your questions.\",\"spans\":[],\"direction\":\"ltr\"}]}],\"resources_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format,compress\",\"id\":\"agpSVKYofJOwHTuo\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"79ea2804-386d-45ba-ae92-9de4e6a20aa2\",\"url\":\"https://launchdarkly.com/docs/home\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Docs home\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format,compress\",\"id\":\"agpSVaYofJOwHTup\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"d55987b1-30ac-4d93-907a-c50f827814d5\",\"url\":\"https://launchdarkly.com/docs/home/getting-started\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Feature flags Quickstart\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format,compress\",\"id\":\"agpSUqYofJOwHTum\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"f3e899b1-5149-4b7f-a205-8d8be0d0d0ca\",\"url\":\"https://launchdarkly.com/docs/home/agentcontrol/quickstart\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AgentControl Quickstart\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format,compress\",\"id\":\"agpSU6YofJOwHTun\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"98e0f384-0d91-4ddc-b989-908d24e47a4d\",\"url\":\"https://launchdarkly.com/docs/api/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"API docs\",\"spans\":[],\"direction\":\"ltr\"}]}],\"workflow_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSZqYofJOwHTut_icon-main-nav--Productupdates.png?auto=format,compress\",\"id\":\"agpSZqYofJOwHTut\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"daebf9c5-8c24-4a14-9df2-0a7f80d7dfce\",\"url\":\"https://launchdarkly.com/changelog/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Product Updates\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSZaYofJOwHTus_icon-main-nav--PowerAnalysisCalculator.png?auto=format,compress\",\"id\":\"agpSZaYofJOwHTus\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"4a2ede12-b83e-4114-bbc3-4a738b3d8ccb\",\"url\":\"https://launchdarkly.com/sample-size-calculator/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Power analysis calculator\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format,compress\",\"id\":\"agpSZKYofJOwHTur\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"0eb1c344-46c1-466a-bc84-f3bb4c46290b\",\"url\":\"https://launchdarkly.com/docs/blog\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Flagship engineering blog\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSY6YofJOwHTuq_icon-main-nav--Community.png?auto=format,compress\",\"id\":\"agpSY6YofJOwHTuq\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"84663d21-e4f8-4631-81cd-6da440a8b828\",\"url\":\"https://launchdarkly.com/community/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Community\",\"spans\":[],\"direction\":\"ltr\"}]}],\"banner_group\":[{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":267,\"height\":180},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aatGU1xvIZEnjb9J_top-nav-moving-at-ai-speed.png?auto=format,compress\",\"id\":\"aatGU1xvIZEnjb9J\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Solutions\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Move at AI speed. Stay in control.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"See how to release, experiment, observe and control AI.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Watch demo now\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"bdb970f8-f1f4-424b-ae6b-5160b38903a2\",\"url\":\"https://launchdarkly.com/product-demo/platform-overview/\"}},{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":267,\"height\":180},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aatGU1xvIZEnjb9J_top-nav-moving-at-ai-speed.png?auto=format,compress\",\"id\":\"aatGU1xvIZEnjb9J\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Resources\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Move at AI speed. Stay in control.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"See how to release, experiment, observe and control AI.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Watch demo\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"4d1ad24c-3879-42e8-86de-2ab76c2778ad\",\"url\":\"https://launchdarkly.com/product-demo/platform-overview/\"}},{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":267,\"height\":180},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aatGU1xvIZEnjb9J_top-nav-moving-at-ai-speed.png?auto=format,compress\",\"id\":\"aatGU1xvIZEnjb9J\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Platform\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Move at AI speed. Stay in control.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"See how to release, experiment, observe \u0026 control AI.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Watch demo\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"35310a7f-4223-4c71-b058-f0f99ba04936\",\"url\":\"https://launchdarkly.com/product-demo/platform-overview/\"}},{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":178,\"height\":120},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/abRT8lxvIZEnjqhK_developer-tab-free-trial.png?auto=format,compress\",\"id\":\"abRT8lxvIZEnjqhK\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Developers\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Take control of your AI at runtime.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"Control releases, experiments, and AI behavior in prod.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Free trial\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"4a0a8a27-41ee-4993-8274-dab982a68d7d\",\"url\":\"https://app.launchdarkly.com/signup\"}}],\"new_products_group\":[{\"icon\":{\"dimensions\":{\"width\":150,\"height\":150},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpUVqYofJOwHTu-_icon-main-nav--CodeControl.png?auto=format,compress\",\"id\":\"agpUVqYofJOwHTu-\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agTAhBIAACEAWwQ2\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ship-confidently-with-automatic-recovery-and-continuous-improvement-built-in.\",\"first_publication_date\":\"2026-05-13T18:19:33+0000\",\"last_publication_date\":\"2026-05-19T05:42:39+0000\",\"uid\":\"platform.code-control\",\"url\":\"/platform.code-control/\",\"link_type\":\"Document\",\"key\":\"31f8582d-1543-426b-bfe9-b2e3aa405ab6\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"CodeControl\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Ship confidently, with automated control built in.\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":150,\"height\":150},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpUVaYofJOwHTu9_icon-main-nav--AgentControl.png?auto=format,compress\",\"id\":\"agpUVaYofJOwHTu9\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agSf7RIAAI1IWtRB\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"one-place-to-control-agent-behavior.\",\"first_publication_date\":\"2026-05-13T16:04:01+0000\",\"last_publication_date\":\"2026-06-01T17:57:35+0000\",\"uid\":\"platform.agent-control\",\"url\":\"/platform.agent-control/\",\"link_type\":\"Document\",\"key\":\"a6029978-2730-4f8c-aa21-9c15c2e2fbff\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AgentControl\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"One place to keep your agent behavior under control.\",\"spans\":[],\"direction\":\"ltr\"}]}]}},\"showBanner\":true,\"noNav\":\"$undefined\",\"addRiskMeterLogo\":\"$undefined\",\"hideLinks\":\"$undefined\",\"useSnowflakeHeader\":\"$undefined\",\"EoDNav\":\"$undefined\",\"useAiTheme\":\"$undefined\",\"isHomepage\":\"$undefined\",\"useRefreshDesign\":\"$undefined\",\"useWhiteLogo\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"2c:[\"$\",\"$L2f\",null,{\"supportItems\":[{\"title\":\"Support home\",\"url\":\"https://support.launchdarkly.com/\"},{\"title\":\"Professional Services\",\"url\":\"/services/\"},{\"title\":\"Documentation\",\"url\":\"https://launchdarkly.com/docs/home\"},{\"title\":\"Status\",\"url\":\"https://status.launchdarkly.com/\"}],\"whyUsItems\":[{\"title\":\"Economic Impact of LaunchDarkly\",\"url\":\"https://launchdarkly.com/guides/forrester-tei-report-2026/\"},{\"title\":\"How LaunchDarkly works\",\"url\":\"/how-it-works.platform/\"},{\"title\":\"Solutions\",\"url\":\"/solutions/\"},{\"title\":\"Trust \u0026 Security\",\"url\":\"/security/\"},{\"title\":\"Trust Center\",\"url\":\"https://trust.launchdarkly.com\"},{\"title\":\"LaunchDarkly vs. Competitors\",\"url\":\"https://launchdarkly.com/compare/\"},{\"title\":\"LaunchDarkly on AWS\",\"url\":\"https://launchdarkly.com/solutions/launchdarkly-aws/\"}],\"companyItems\":[{\"title\":\"About Us\",\"url\":\"/about-us/\"},{\"title\":\"Careers\",\"url\":\"/careers/\"},{\"title\":\"Media \u0026 Analysts\",\"url\":\"/press-and-analysts/\"},{\"title\":\"Partner Program\",\"url\":\"/partner-program/\"},{\"title\":\"Terms \u0026 Policies\",\"url\":\"https://launchdarkly.com/policies/subscription-terms/\"},{\"title\":\"Contact Us\",\"url\":\"/contact-us/\"},{\"title\":\"Community\",\"url\":\"https://launchdarkly.com/community/\"}],\"snsLinks\":[{\"url\":\"https://twitter.com/launchdarkly\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/b4508c29-da0c-4e9b-bcae-205a95a6ba5d_logo--x-twitter.svg?auto=compress,format\",\"iconAlt\":\"twitter\"},{\"url\":\"https://www.youtube.com/@LaunchDarkly\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/276be984-0bd0-44ed-9e32-44a21a0c4fac_icon-youtube.svg\",\"iconAlt\":\"YouTube\"},{\"url\":\"https://www.linkedin.com/company/launchdarkly/mycompany/\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/8b512fb1-6ecc-4e7f-bfe2-368f1a29898b_icon-LinkedIn.svg\",\"iconAlt\":\"LinkedIn\"},{\"url\":\"https://discord.com/invite/launchdarklycommunity\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ZpaT7h5LeNNTxNRX_discord-logo-white.svg?auto=compress,format\",\"iconAlt\":\"Discord\"},{\"url\":\"https://www.instagram.com/launchdarkly/\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/8b8446e4-02c7-468e-bb32-79d0432dd1d0_instagram-icon-small.svg\",\"iconAlt\":\"Instagram\"}],\"useRefresShortFooter\":\"$undefined\",\"loadFooterNewsletter\":\"$undefined\",\"shortFooter\":true}]\n"])</script><script>self.__next_f.push([1,"33:I[80622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"5:[[\"$\",\"$L27\",null,{\"document\":{\"id\":\"aZjnHBAAACMAHZYb\",\"uid\":\"managing-ai-risk-with-runtime-control\",\"url\":\"/blog/managing-ai-risk-with-runtime-control/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22aZjnHBAAACMAHZYb%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2026-02-20T23:09:39+0000\",\"last_publication_date\":\"2026-09-04T17:56:21+0000\",\"slugs\":[\"ai-generated-code-ships-fast-but-runtime-control-hasnt-kept-up\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"AI-generated code ships fast, but runtime control hasn’t kept up\",\"spans\":[],\"direction\":\"ltr\"}],\"author\":{\"link_type\":\"Document\"},\"timestamp\":null,\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"apmibBIAACoAiPDR\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-generated-code\",\"first_publication_date\":\"2026-09-03T16:38:38+0000\",\"last_publication_date\":\"2026-09-04T17:33:32+0000\",\"uid\":\"ai-generated-code\",\"url\":\"/blog/category/ai-generated-code/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI-Generated Code\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"de3f96ce-7338-43f1-9377-344d648c1978\",\"isBroken\":false}},{\"category\":{\"id\":\"apmjDhIAACwAiPJB\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"runtime-control\",\"first_publication_date\":\"2026-09-03T16:41:23+0000\",\"last_publication_date\":\"2026-09-04T17:33:07+0000\",\"uid\":\"runtime-control\",\"url\":\"/blog/category/runtime-control/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"Runtime Control\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"e8c74fcf-8eb3-4aed-b8ec-ba7324c0e02e\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"AI is speeding up code generation, but control in production is lagging behind.\",\"spans\":[],\"direction\":\"ltr\"}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":3000,\"height\":1688},\"alt\":\"An imageAbstract illustration in purple and blue tones featuring a glowing central sphere with a bright star-like shape inside. of a white \",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/aZjnoMFoBIGEgnSQ_Blog_02-26_AI-generatedcodeshipsfast.png?auto=format,compress\u0026rect=0,0,1919,1080\u0026w=3000\u0026h=1688\",\"id\":\"aZjnoMFoBIGEgnSQ\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"id\":\"aDcnIhIAAB8AGKZp\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-configs-is-now-ga-runtime-control-for-ai-prompts-and-models\",\"first_publication_date\":\"2025-05-28T15:21:31+0000\",\"last_publication_date\":\"2026-09-04T18:08:32+0000\",\"uid\":\"ai-configs-ga-runtime-control-prompts-models\",\"url\":\"/blog/ai-configs-ga-runtime-control-prompts-models/\",\"link_type\":\"Document\",\"key\":\"03121e9b-7686-43cc-a7c6-e00223607b6a\",\"isBroken\":false}}],\"video_id\":[],\"video_type\":\"Wistia\",\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"AI has changed how we build software, but it hasn’t changed how we control what ships. The LaunchDarkly 2026 AI Control Gap Report reveals that 94% of engineering leaders say AI has increased the pace of code generation. Today, teams can do code scaffolding, test generation, and implementation in minutes—work that used to require a few days. For delivery pipelines optimized around speed, this shift is positive.\",\"spans\":[{\"start\":109,\"end\":130,\"type\":\"em\"},{\"start\":109,\"end\":130,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/ai-control-gap/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"At the same time, 91% of respondents said their teams have become more cautious about pushing changes to production. That caution reflects a recurring problem: while build and deployment velocity have improved, production reliability has not. The same report shows that 69% of teams roll back or hotfix at least once per week, and only 12% can resolve production issues in under an hour. The majority require between 4 and 12 hours per incident.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$6b00fc02-ab56-4362-9cd8-96438208cd51\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"image\":{\"dimensions\":{\"width\":1920,\"height\":990},\"alt\":\"Bar chart comparing deployment frequency to rollback/hotfix frequency. Deployments most commonly happen daily or weekly, with many teams deploying multiple times per day. Rollbacks and hotfixes occur less frequently overall, clustering more around weekly or monthly intervals and appearing less often multiple times per day.\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/aZjn6sFoBIGEgnSR_DeployandHotfix.png?auto=format,compress\",\"id\":\"aZjn6sFoBIGEgnSR\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"lightbox\":false,\"image_link\":{\"link_type\":\"Any\"}},\"items\":[],\"id\":\"image$775071b6-0e02-42dc-8950-3a60d8515c46\",\"slice_type\":\"image\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Shipping is faster, but recovery isn’t. That mismatch creates friction, especially as more teams rely on AI-generated artifacts with less predictability and fewer deterministic guarantees. Faster code generation has moved risks into production, where traditional delivery pipelines provide limited control. Build-time safeguards don’t address the need to manage change when it goes live. \",\"spans\":[{\"start\":189,\"end\":211,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/prevent-ai-coding-errors-in-production/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Teams that want to ship AI-generated code safely and quickly need control in production: the ability to limit exposure, observe real-world impact, and change behavior while systems are live, without rebuilding or redeploying. When this runtime control is in place, teams can release smaller changes more frequently, detect issues earlier, and stop or adjust features before incidents spread.\",\"spans\":[{\"start\":19,\"end\":60,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/solutions/release-ai-built-code/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"AI introduces new runtime risks\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Beyond compiled code, teams now ship model prompts, configuration files, parameters, and embeddings: elements that are harder to test in isolation and more dynamic in production.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"91% of developers surveyed believe AI-generated code is equally or more likely to introduce production issues than human-written code. This statistic aligns with observed outcomes: higher incident rates, longer MTTR, and slower rollback cycles.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Traditional safety practices—such as test coverage, static analysis, and peer review—still apply, but they provide limited protection when non-deterministic behavior reaches production. Teams need mechanisms to identify, isolate, and remediate issues after deployment. Without those mechanisms, production becomes the debugging environment.\",\"spans\":[{\"start\":251,\"end\":256,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Most teams say they have runtime safety systems in place. 99% report using at least one of the following: feature flags, progressive rollouts, kill switches, or real-time monitoring. Yet outcomes suggest inconsistent implementation and uneven usage.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Common breakdowns include:\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Feature flags being applied inconsistently across teams or services\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Manual rollout coordination across environments\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Monitoring tools that surface metrics without linking to feature exposure\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The controls are in place, but a lack of integration and standardization undermines their reliability.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"A small number of teams combine speed with control\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Only 15% of surveyed teams deploy changes daily (or more frequently) while keeping incidents to a monthly or lower frequency. These teams tend to structure releases around runtime control from the start. They use dynamic targeting, staged rollouts, and production observability that is tied to feature state, not just infrastructure.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The operational benefits are measurable. LaunchDarkly users, for example, are 2.2 times more likely to meet this performance benchmark than the average team. 71% of LaunchDarkly users spend at least a quarter of their time on feature development, compared to 56% among peers using other platforms.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Runtime control enables these teams to run smaller, safer experiments and respond more quickly when something breaks. A staged rollout to 1% of users can uncover issues early. If telemetry indicates a spike in latency or an unexpected behavior, teams can pause the rollout or turn off the flag entirely without a redeploy or hotfix. This level of control improves both engineering efficiency and customer experience.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The productivity impact compounds over time. Fewer incidents mean less context switching. Faster remediation reduces team downtime. Greater confidence in release safety supports continuous delivery without increasing risk.\",\"spans\":[{\"start\":178,\"end\":221,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/why-ai-model-deployments-break-standard-cicd/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Runtime control isn’t optional anymore\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The core delivery problem most teams face is the lack of integrated systems that support safe change in production. Velocity is only useful if teams can maintain stability at the same time. Runtime control enables this by giving teams the ability to shape, observe, and adjust feature behavior after deployment.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Runtime control entails:\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Gradual rollouts based on user attributes or cohorts\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Feature-aware monitoring with real-time impact signals\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Instant kill switches and rollback without redeployment\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"These are baseline capabilities for teams shipping AI-generated features that evolve over time or respond to live input.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Most mature engineering teams can now deploy daily, or even multiple times per day. However, post-deployment control remains unsolved, especially for AI-related features where regression risks are harder to catch in advance. Teams that embed runtime control into their delivery workflows can more easily maintain both speed and stability. Those that treat control as a manual or optional layer usually revert to reactive behavior: full rollbacks, emergency patches, and long debugging cycles that consume development time.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"With AI accelerating the complexity of software development, the cost of not closing this control gap will increase over time. The most successful teams will be the ones that can routinely adapt live systems without relying on hope or heroics. For more insights on how those teams are moving forward, download the report.\",\"spans\":[{\"start\":301,\"end\":320,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/ai-control-gap/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$17835ea6-50b6-4dde-90d2-a534870ecd68\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"AI-generated code ships fast, but runtime control hasn’t kept up\",\"spans\":[],\"direction\":\"ltr\"}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"AI is speeding up code generation, but control in production is lagging behind.\",\"spans\":[],\"direction\":\"ltr\"}],\"schema\":[],\"open_graph_image\":{}}}}],\"$L30\",\"$L31\",\"$L32\"]\n"])</script><script>self.__next_f.push([1,"1a:null\n"])</script><script>self.__next_f.push([1,"1e:[[\"$\",\"title\",\"0\",{\"children\":\"AI-generated code ships fast, but runtime control hasn’t kept up | LaunchDarkly\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI is speeding up code generation, but control in production is lagging behind.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"LaunchDarkly\"}],[\"$\",\"meta\",\"3\",{\"name\":\"author\",\"content\":\"LaunchDarkly\"}],[\"$\",\"meta\",\"4\",{\"name\":\"generator\",\"content\":\"LaunchDarkly\"}],[\"$\",\"meta\",\"5\",{\"name\":\"referrer\",\"content\":\"origin-when-cross-origin\"}],[\"$\",\"meta\",\"6\",{\"name\":\"creator\",\"content\":\"LaunchDarkly\"}],[\"$\",\"meta\",\"7\",{\"name\":\"publisher\",\"content\":\"LaunchDarkly\"}],[\"$\",\"meta\",\"8\",{\"name\":\"robots\",\"content\":\"index\"}],[\"$\",\"meta\",\"9\",{\"name\":\"googlebot\",\"content\":\"index\"}],[\"$\",\"link\",\"10\",{\"rel\":\"canonical\",\"href\":\"https://launchdarkly.com/blog/managing-ai-risk-with-runtime-control/\"}],[\"$\",\"meta\",\"11\",{\"name\":\"format-detection\",\"content\":\"telephone=no, address=no, email=no\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:title\",\"content\":\"AI-generated code ships fast, but runtime control hasn’t kept up | LaunchDarkly\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:description\",\"content\":\"AI is speeding up code generation, but control in production is lagging behind.\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:url\",\"content\":\"https://launchdarkly.com/blog/managing-ai-risk-with-runtime-control/\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:site_name\",\"content\":\"LaunchDarkly\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:image\",\"content\":\"https://launchdarkly.com/_next/static/media/open-graph.a62eb7e7.jpg\"}],[\"$\",\"meta\",\"18\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"19\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"20\",{\"property\":\"og:image:alt\",\"content\":\"LaunchDarkly - Feature management platform\"}],[\"$\",\"meta\",\"21\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:site\",\"content\":\"@LaunchDarkly\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:title\",\"content\":\"AI-generated code ships fast, but runtime control hasn’t kept up | LaunchDarkly\"}],[\"$\",\"meta\",\"25\",{\"name\":\"twitter:description\",\"content\":\"AI is speeding up code generation, but control in production is lagging behind.\"}],[\"$\",\"meta\",\"26\",{\"name\":\"twitter:image\",\"content\":\"https://launchdarkly.com/_next/static/media/open-graph.a62eb7e7.jpg\"}],[\"$\",\"meta\",\"27\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"28\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"29\",{\"name\":\"twitter:image:alt\",\"content\":\"LaunchDarkly - Feature management platform\"}],[\"$\",\"link\",\"30\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"96x96\"}],[\"$\",\"link\",\"31\",{\"rel\":\"icon\",\"href\":\"/icon.png?8354b0c15ee5b065\",\"type\":\"image/png\",\"sizes\":\"96x96\"}],[\"$\",\"link\",\"32\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?8354b0c15ee5b065\",\"type\":\"image/png\",\"sizes\":\"96x96\"}],[\"$\",\"$L33\",\"33\",{}]]\n"])</script><script>self.__next_f.push([1,"35:I[61689,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"36:I[36552,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"PreloadChunks\"]\n"])</script><script>self.__next_f.push([1,"37:I[47358,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"31:[\"$\",\"div\",null,{\"className\":\"styles-module__ZkjjmG__body styles-module__ZkjjmG__isRefreshDesign\",\"children\":[\"$\",\"main\",null,{\"className\":\"styles-module__ZkjjmG__main \",\"children\":[[\"$\",\"section\",null,{\"className\":\"styles-module__NFwUga__newSection styles-module__NFwUga__bgLight\",\"id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-jump-id\":\"$undefined\",\"children\":[\"$\",\"div\",null,{\"className\":\"styles-module__NFwUga__contentContainer \",\"style\":\"$undefined\",\"children\":[\"$L34\",[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__blogContainer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__header\",\"children\":[[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__content\",\"children\":[[\"$\",\"p\",null,{\"className\":\"styles-module__J0n02W__variant_textXsmallCaps styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_medium\",\"children\":\"Feb 20, 2026\"}],[\"$\",\"h1\",null,{\"className\":\"styles-module__J0n02W__variant_h3 styles-module__J0n02W__weight_semibold styles-module__HXqOTa__blogTitle\",\"children\":\"AI-generated code ships fast, but runtime control hasn’t kept up\"}],[\"$\",\"p\",null,{\"className\":\"styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_regular styles-module__HXqOTa__excerpt\",\"children\":\"AI is speeding up code generation, but control in production is lagging behind.\"}],[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__authorContainer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"styles-module__5zAopa__author \",\"children\":[[\"$\",\"$L2b\",null,{\"href\":\"/blog/author/#\",\"className\":\"styles-module__5zAopa__authorImage\",\"children\":[\"$\",\"div\",null,{\"className\":\"styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image post-details-author-image\",\"children\":[\"$\",\"$L2a\",null,{\"field\":{\"url\":\"https://images.prismic.io/launchdarkly/7b3f1666-a0e7-44f8-96c4-061bbb699f00_LD+Avatar+Blog.png?auto=format,compress\",\"alt\":\"The LaunchDarkly Team picture\",\"dimensions\":{\"width\":1920,\"height\":1080}},\"className\":\"styles-module__nv1SBG__image\",\"quality\":80,\"sizes\":\"$undefined\",\"alt\":\"$undefined\",\"fallbackAlt\":\"\",\"priority\":false,\"placeholder\":\"$undefined\",\"fill\":\"$undefined\",\"loading\":\"lazy\"}]}]}],[\"$\",\"div\",null,{\"className\":\"styles-module__5zAopa__authorDetails\",\"children\":[[\"$\",\"span\",null,{\"className\":\"styles-module__5zAopa__authorName\",\"children\":\"The LaunchDarkly Team\"}],[\"$\",\"div\",null,{\"className\":\"styles-module__5zAopa__authorJobTitle\",\"children\":\"LaunchDarkly\"}]]}]]}],[]]}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image styles-module__HXqOTa__featuredImage\",\"children\":[\"$\",\"$L2a\",null,{\"field\":{\"dimensions\":\"$5:0:props:document:data:featured_image:dimensions\",\"alt\":\"An imageAbstract illustration in purple and blue tones featuring a glowing central sphere with a bright star-like shape inside. of a white \",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/aZjnoMFoBIGEgnSQ_Blog_02-26_AI-generatedcodeshipsfast.png?auto=format,compress\u0026rect=0,0,1919,1080\u0026w=3000\u0026h=1688\",\"id\":\"aZjnoMFoBIGEgnSQ\",\"edit\":\"$5:0:props:document:data:featured_image:edit\"},\"className\":\"styles-module__nv1SBG__image\",\"quality\":80,\"sizes\":\"$undefined\",\"alt\":\"$undefined\",\"fallbackAlt\":\"\",\"priority\":false,\"placeholder\":\"$undefined\",\"fill\":\"$undefined\",\"loading\":\"eager\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__staticBar\",\"children\":[\"$\",\"$L35\",null,{}]}],[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__blogMainContainer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__body\",\"children\":[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__blogContentWrapper\",\"children\":[\"$\",\"article\",null,{\"className\":\"blog-post-main-content\",\"children\":[[[\"$\",\"div\",\"wysiwyg$6b00fc02-ab56-4362-9cd8-96438208cd51\",{\"data-ld-slice-index\":0,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L36\",null,{\"moduleIds\":[\"slicesBlog/index.ts -\u003e ./Wysiwyg\"]}],[\"$\",\"$L37\",null,{\"data\":\"$5:0:props:document:data:body:0\",\"extraData\":\"$undefined\",\"params\":{\"uid\":\"managing-ai-risk-with-runtime-control\"},\"searchParams\":{},\"id\":\"wysiwyg$6b00fc02-ab56-4362-9cd8-96438208cd51\",\"type\":\"Wysiwyg\",\"index\":0,\"noContainer\":true}]]}],\"$L38\",\"$L39\"],\"$L3a\"]}]}]}],\"$L3b\"]}],\"$L3c\"]}],\"$L3d\",\"$L3e\",\"$L3f\"]}]}],\"$L40\"]}]}]\n"])</script><script>self.__next_f.push([1,"41:I[73745,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"42:I[36815,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"43:I[16367,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"44:I[89179,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"45:I[99934,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"4c:I[637,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"38:[\"$\",\"div\",\"image$775071b6-0e02-42dc-8950-3a60d8515c46\",{\"data-ld-slice-index\":1,\"data-ld-slice-type\":\"image\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L36\",null,{\"moduleIds\":[\"slicesBlog/index.ts -\u003e ./Image\"]}],[\"$\",\"$L41\",null,{\"data\":\"$5:0:props:document:data:body:1\",\"extraData\":\"$undefined\",\"params\":\"$31:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$31:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"image$775071b6-0e02-42dc-8950-3a60d8515c46\",\"type\":\"Image\",\"index\":1,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"39:[\"$\",\"div\",\"wysiwyg$17835ea6-50b6-4dde-90d2-a534870ecd68\",{\"data-ld-slice-index\":2,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L36\",null,{\"moduleIds\":\"$31:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L37\",null,{\"data\":\"$5:0:props:document:data:body:2\",\"extraData\":\"$undefined\",\"params\":\"$31:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$31:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$17835ea6-50b6-4dde-90d2-a534870ecd68\",\"type\":\"Wysiwyg\",\"index\":2,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"3a:[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__mobileCta\",\"children\":[\"$\",\"h5\",null,{\"className\":\"styles-module__HXqOTa__footerTitle\",\"children\":\"Like what you read?\"}]}]\n3b:[\"$\",\"section\",null,{\"className\":\"styles-module__o_kpTq__sidebar\",\"children\":[[\"$\",\"$L42\",null,{\"data\":\"$5:0:props:document:data:body\"}],false,[[\"$\",\"div\",null,{\"className\":\"styles-module__o_kpTq__sidebarNewsletter\",\"children\":[\"$\",\"$L43\",null,{\"sidebarVersion\":true}]}],[\"$\",\"div\",null,{\"className\":\"styles-module__o_kpTq__shareLinks\",\"children\":[\"$\",\"div\",null,{\"className\":\"styles-module__o_kpTq__shareContainer\",\"children\":[\"$\",\"$L44\",null,{\"title\":\"AI-generated code ships fast, but runtime control hasn’t kept up\",\"showIcons\":true}]}]}]]]}]\n46:T443,"])</script><script>self.__next_f.push([1,"So what people know and people hate about end to end test, and they know they think it's very slow to offer and also that it breaks, it's brittle and flaky and it breaks all the time. So there are only two things that I want to focus on right now and to show you where aI can make a difference. I'll start with... Before I even start I just want to say I kind of tried, when you asked me, can you talk about AI, I tried to slice it up for like four pieces of where we are today, what do we think we have right now, what's going to be over the next year, what's going to be in the next, next year, what are the things that are going to... What are the steps that you're going to be. Just like if you take the Tesla, and autonomous cars, well before you had full autonomous cars and they get approved, you have already kind of like, it's not exactly self driving cars but it's, they know how to keep a lane and it doesn't know how to stop when the traffic light is red but there's some parts. So there is different levels and that's what people try to do, especially now in the world of agile."])</script><script>self.__next_f.push([1,"47:T47f,"])</script><script>self.__next_f.push([1,"First reason is random generated ideas. Like I didn't change anything, I said okay, click on something that has an ID and I look at the dev tools, I see the ID, I right click, I copy that, I put it in my test, run it and then I run the test and it fails. So it could be that you have a reusable component when you have two components, right, you can only have one ID. They can't have that, so you have components that someone adds a random generated IDs. So, that's the first reason that something can fail. There's a few more just for the ID, but it could be that if you go along and something fails after a week, it could be that someone just changed the code. If you rely on one property, if someone changes that then it'll break the code, because the code, assuming that it has some property is kind of like a little bit of white testing, white box testing. You know, you're saying I know it has some specific property, this is not exactly like a human does, a human doesn't check, oh it has an ID, okay, I'll click this button. A human just clicks the button based on other things as well. Based on the text or the location, et cetera, the image."])</script><script>self.__next_f.push([1,"48:T4a7,"])</script><script>self.__next_f.push([1,"But what I want to show is actually something else, is like what can you actually improve, what happens right now if you look at... Like computers, they can do even more because they can put in weights on things and say okay, this property is good or bad and actually give it a score. And remember we were talking about random generated IDs. So an ID is great, but if it changes all the time then it's not, it doesn't help us. But if you look over, the more you run your test you can learn, that could be a great help and that's something that humans can't do, they can't look at every time you run a test and look at all millions of properties and make changes. Computers can do that very easily. So if you have like five stars here specifically for that element, if you do, let's do a manual improve right now, just say this is the element again. This is the same element and so what you'll see is that now the score is actually lower and that's because if something changes in five minutes and you saw two different values, the score goes down. The confidence we have in that property not changing is lower. And of course it's going to get lower and lower if it's a random generated idea."])</script><script>self.__next_f.push([1,"49:T441,"])</script><script>self.__next_f.push([1,"So that's the ID on multi locators and I hope everyone can understood what I meant by this is something, the first level is to have multi locators and to have more stable tests. The second thing, what I started to show you, I showed the manual improve, but can you improve every time you run the test. If the test passes it means, okay, that's great, it worked. Let's look what we can learn out of that, and that's what I think is also, that's the next step [inaudible 00:23:48] happen and I'll talk a bit on what I think is even the next step. Something that we'll see this year, which is I call autonomous testing, but I don't think it's fully, fully, fully autonomous. Fully autonomous will take more years, where you give an application to an app and it will just test it for you and clicks randomly. I think those are, how do you know that those buttons should be aligned or not should be aligned or the text should be this font. If you don't show it then it's going to be harder for a computer. I think computers are not there to tell you whether it's pretty are not better than you."])</script><script>self.__next_f.push([1,"4a:T400,"])</script><script>self.__next_f.push([1,"Why, because people did just pixel by pixel comparison and those tend to break a lot. If you look at this, I'm trying to go between those two images, so anti aliasing every display adaptor has something different. Sometimes some of them are actually [inaudible 00:30:44], so it's funny but they are... And that means if you render on the same device, same machine, you didn't change the app, you'll just render it again and you'll see different results. And then people start with, for the last 20 years, oh wait a second, can I put a threshold and not more than 10% change. And then those you can get false positives. That means that you can have, if you do that a plus can turn into a minus and that's... because you're using the visual validation also as functional. You want to make sure if you take a screen shot it says that if you do a calculated one plus one, you take a screen shot, it says that the number two is shown. It also says that it's on the right in the same font. But it also does the functional testing."])</script><script>self.__next_f.push([1,"4b:T431,"])</script><script>self.__next_f.push([1,"Oren Rubin: Yeah, I think testing accessibility was probably a bit harder than just looking at the pixels, because looking at the pixels, you say I don't care if the tag is div or span or button, I care about [inaudible 01:00:34] semantic. Checking the semantic more, you can validate, I think when you do a validation, obviously you can validate that something has specific property, but also things that you can do but I don't recommend is actually saying, you know what, I want to have the threshold to be super high. That means I want to have 100% or 90% of the properties to be aligned. Maybe in the future you could have just more focus on that, like you must. Like the tag button, or you want to have some kind of, as you said for the accessibility, to have more properties there or special accessibility validations that would be added just like visual validations. [inaudible 01:01:22] validations and you'll just add those or [inaudible 01:01:25] would be added automatically after reporting. So I think we can be there, I don't think that we are there right now."])</script><script>self.__next_f.push([1,"3c:[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__relatedContent\",\"children\":[\"$\",\"$L45\",null,{\"type\":\"blog_post\",\"cards\":[{\"id\":\"ao9bZBEAACkA3BHc\",\"uid\":\"running-my-side-project-on-an-ai-software-factory\",\"url\":\"/blog/running-my-side-project-on-an-ai-software-factory/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22ao9bZBEAACkA3BHc%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2026-08-27T14:24:40+0000\",\"last_publication_date\":\"2026-09-04T17:35:12+0000\",\"slugs\":[\"stories-from-the-factory-floor-running-my-baseball-side-project-on-an-ai-software-factory\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"Stories from the Factory Floor: Running my baseball side project on an AI software factory\",\"spans\":[],\"direction\":\"ltr\"}],\"author\":{\"id\":\"agdvnhEAACkAqYqP\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"seth-payne\",\"first_publication_date\":\"2026-05-15T19:15:37+0000\",\"last_publication_date\":\"2026-05-15T19:15:37+0000\",\"uid\":\"seth-payne\",\"url\":\"/blog/author/seth-payne/\",\"link_type\":\"Document\",\"key\":\"ab2d01cb-8af4-4a47-9997-18202a046076\",\"isBroken\":false},\"timestamp\":null,\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"amzs1xEAAC4AfsSs\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"engineering\",\"first_publication_date\":\"2026-07-31T18:50:20+0000\",\"last_publication_date\":\"2026-07-31T18:50:20+0000\",\"uid\":\"engineering\",\"url\":\"/blog/category/engineering/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"Engineering\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"0ed3d997-710b-442f-b07b-270f9ae91429\",\"isBroken\":false}},{\"category\":{\"id\":\"apmibBIAACoAiPDR\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-generated-code\",\"first_publication_date\":\"2026-09-03T16:38:38+0000\",\"last_publication_date\":\"2026-09-04T17:33:32+0000\",\"uid\":\"ai-generated-code\",\"url\":\"/blog/category/ai-generated-code/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI-Generated Code\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"0bab4aa1-172f-452d-88fe-2d7d4fba5dee\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"I turned my personal side project into a real-world testbed for our internal software factory implementation. Over a few weeks, the factory created and wired 21 flags for me—and changed how I ship.\",\"spans\":[],\"direction\":\"ltr\"}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":3000,\"height\":1688},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/HbBcDLgE-XIdwTml_Blog_08-26_DogfoodingAuto-FactorywithBaseball.png?auto=format,compress\u0026rect=0,0,1919,1080\u0026w=3000\u0026h=1688\",\"id\":\"HbBcDLgE-XIdwTml\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"link_type\":\"Document\"}}],\"video_id\":[],\"video_type\":\"Wistia\",\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"This post is part of an ongoing series on how LaunchDarkly engineers are closing the loop of the AI SDLC—and what we're learning along the way.\",\"spans\":[{\"start\":0,\"end\":143,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"At LaunchDarkly, we face the same challenge many engineering teams do: going faster without losing control of what reaches customers. That’s why we’re building an AI software factory with LaunchDarkly primitives, and we’re using what we’ve learned to help customers build their own. I decided to push it further by turning my personal side project into a real-world testbed for our internal factory implementation.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Over a few weeks of near-daily feature work, this software factory has created and wired 21 flags for me, and it's changed how I ship.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"The app in 90 seconds\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The app is an AI baseball analytics tool. You can chat directly with real data, generate structured reports and team reviews, run player analyses, replay games pitch-by-pitch, and use a pitch sequencing tool that answers questions like, \\\"What sequence of pitches should a left-handed pitcher throw to a right-handed batter to induce a ground ball?\\\" \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Under the hood, it's a small Docker Compose stack: a FastAPI backend talking to Postgres and Claude (and optionally GPT) over an MCP Postgres server, and a single-page frontend. The data includes Statcast pitch-level data, Retrosheet game logs, Lahman historical stats, and my own Out of the Park simulation exports. \",\"spans\":[{\"start\":281,\"end\":296,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.ootpdevelopments.com/out-of-the-park-baseball-home/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The same stack runs in three places: my laptop, a NAS at home, and a public DigitalOcean VPS with HTTPS and Google login.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"How flags are used\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The app uses 50 flags for four distinct jobs: feature gates and kill switches, access and data control, runtime behavior configuration, and UI adjustments.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Here are a few representative examples:\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"{code}enable-bulk-data-management{/code} gates the destructive \\\"flush all\\\" and bulk-delete endpoints; when it's off, those endpoints return 404, and the UI controls disappear.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"{code}require-login{/code} turns Google auth on or off for the whole site.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"{code}classic-sidebar-layout{/code} is a full-layout escape hatch. Several string flags override the model's system prompts for each mode (chat, reports, team reviews) so I can adjust model behavior without a redeploy.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Tangible benefits\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The clearest wins so far have come from real incidents.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The most dramatic: I did a sweeping redesign that removed the sidebar and moved every tool to the home page. The factory had wrapped it in a {code}classic-sidebar-layout{/code} flag. When the new layout shipped with a nasty blank-page bug, rolling back was a single flag flip—no revert, no redeploy. On a public app with real users, that's the difference between \\\"annoying\\\" and \\\"incident.\\\"\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The factory also quietly handled things I would have forgotten. The bulk-delete and \\\"flush all\\\" features are exactly the kind of destructive operations you don't want live by default on a shared instance. The factory gated them at PR time before I had to think about it. The same pattern held for Google auth and the registration allowlist—both shipped off, then flipped on when seeded. This reduced the risk of the public VPS accepting unintended access during rollout or accidentally locking me out. And because the factory authored the metric events on features like {code}require-login{/code}, turning them on came with success and error counters attached from Day 1.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The consistency also compounds over time. The flag, the wiring, the metrics, and the tests arrive together with the PR. For a solo project, that's a real multiplier; for a team, it's consistency you don't have to enforce by hand. And an in-app SDK Status page automatically badges and explains every factory-tagged flag, so I can always distinguish between the factory-authored ones and those I wrote by hand.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Gotchas\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Dogfooding means finding the sharp edges.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Dark by default cuts both ways. The factory ships flags off, which is correct for guarded release—but it means after merging, I have to remember to flip the flag on to actually use the feature I just built. A couple of times I deployed and wondered why my feature had \\\"vanished.\\\" It was working exactly as designed, just gated. Now it's a habit: Merge, then flip on.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"A gated feature can also break an existing flow, not just hide a new one. My most recent feature moved team review generation to a background job. The factory gated it dark by default, as it should have, but my frontend had already swapped the Generate button to call only the new background endpoint. With the flag off, the button hit a 404. The fix was on me: Make the client honor both flag states cleanly, which the flag's own description had already implied. When a new code path replaces the old one, the flag has to switch cleanly between them, not just guard the new arrival.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"A smaller thing: A flag that exists in LaunchDarkly but hasn't been wired in the code yet will surface as a mismatch—both sides have to match. This is nonblocking, but it’s worth being aware of.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"None of these are dealbreakers. They're the normal texture of an automated release system, and mostly they've been teaching me good guarded release hygiene.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Takeaway\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The factory turns \\\"I should really put that behind a flag\\\" into something that is designed to happen on every PR, complete with metrics and tests. On this app, it's produced 19 feature kill switches, saved me a real rollback during a botched redesign, and helped me control access as public deployment expanded from just me to anyone at LaunchDarkly.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Join the waitlist for early access to LaunchDarkly tools for the AI software factory.\",\"spans\":[{\"start\":0,\"end\":85,\"type\":\"em\"},{\"start\":0,\"end\":85,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/early-access/\",\"target\":\"_blank\"}},{\"start\":0,\"end\":85,\"type\":\"strong\"}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$9501d40d-db03-4b8f-910e-e5b1b1f9264f\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"Stories from the Factory Floor: Running my baseball side project on an AI software factory\",\"spans\":[],\"direction\":\"ltr\"}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"I turned my personal side project into a real-world testbed for our internal software factory implementation. Over a few weeks, the factory created and wired 21 flags for me—and changed how I ship.\",\"spans\":[],\"direction\":\"ltr\"}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":1920,\"height\":1080},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/HbBcDLgE-XIdwTml_Blog_08-26_DogfoodingAuto-FactorywithBaseball.png?auto=format,compress\",\"id\":\"HbBcDLgE-XIdwTml\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}}}},{\"id\":\"anDRtBEAACgASwEJ\",\"uid\":\"building-a-software-factory-on-our-scariest-code\",\"url\":\"/blog/building-a-software-factory-on-our-scariest-code/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22anDRtBEAACgASwEJ%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2026-08-03T17:45:34+0000\",\"last_publication_date\":\"2026-09-04T17:41:05+0000\",\"slugs\":[\"stories-from-the-factory-floor-building-a-software-factory-on-our-scariest-code\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"Stories from the Factory Floor: Building a software factory on our scariest code\",\"spans\":[],\"direction\":\"ltr\"}],\"author\":{\"id\":\"YrN4FBIAACAAwfY7\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"alexis-georges\",\"first_publication_date\":\"2022-06-22T20:14:19+0000\",\"last_publication_date\":\"2022-06-22T20:14:19+0000\",\"uid\":\"alexis-georges\",\"url\":\"/blog/author/alexis-georges/\",\"link_type\":\"Document\",\"key\":\"09cbcc40-aa11-4535-a370-5a1ac27b4d6e\",\"isBroken\":false},\"timestamp\":null,\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"amzs1xEAAC4AfsSs\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"engineering\",\"first_publication_date\":\"2026-07-31T18:50:20+0000\",\"last_publication_date\":\"2026-07-31T18:50:20+0000\",\"uid\":\"engineering\",\"url\":\"/blog/category/engineering/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"Engineering\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"0299dcde-84fe-44fe-8e81-38fffdeaebfa\",\"isBroken\":false}},{\"category\":{\"id\":\"apmibBIAACoAiPDR\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-generated-code\",\"first_publication_date\":\"2026-09-03T16:38:38+0000\",\"last_publication_date\":\"2026-09-04T17:33:32+0000\",\"uid\":\"ai-generated-code\",\"url\":\"/blog/category/ai-generated-code/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI-Generated Code\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"60a17b8e-8de1-4765-896d-2e77244e6e3e\",\"isBroken\":false}},{\"category\":{\"id\":\"apmi3hIAACkAiPHQ\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-agents\",\"first_publication_date\":\"2026-09-03T16:40:35+0000\",\"last_publication_date\":\"2026-09-04T17:32:49+0000\",\"uid\":\"ai-agents\",\"url\":\"/blog/category/ai-agents/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI Agents\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"95aa2693-5245-4e06-be01-19950ebfc3b7\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"We pointed coding agents at our oldest, most business-critical frontend. Here’s what it taught me about what a healthy AI software factory actually looks like.\",\"spans\":[{\"start\":0,\"end\":159,\"type\":\"em\"}],\"direction\":\"ltr\"}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":3000,\"height\":1688},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/KpLJVhpXHF_fE4Kt_Blog_07-26_BuildingaSoftwareFactoryonOurScariestCode_HeroImage_1920x1080.png?auto=format,compress\u0026rect=0,0,1919,1080\u0026w=3000\u0026h=1688\",\"id\":\"KpLJVhpXHF_fE4Kt\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"id\":\"alaNjRIAACoAKP4H\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"c79d740e-9461-4573-b261-17939cec7f5a\",\"isBroken\":true}},{\"post\":{\"id\":\"amdiKhEAACwAcgR-\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"entering-the-ai-software-factory-era\",\"first_publication_date\":\"2026-07-27T14:02:32+0000\",\"last_publication_date\":\"2026-09-04T17:43:41+0000\",\"uid\":\"entering-the-ai-software-factory-era\",\"url\":\"/blog/entering-the-ai-software-factory-era/\",\"link_type\":\"Document\",\"key\":\"fce8826a-f231-46e2-8294-fdd779d6e020\",\"isBroken\":false}},{\"post\":{\"id\":\"agjEChEAACcAq2f0\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"the-next-era-of-software-needs-runtime-control\",\"first_publication_date\":\"2026-05-18T16:13:48+0000\",\"last_publication_date\":\"2026-09-04T17:50:17+0000\",\"uid\":\"the-next-era-of-software-needs-runtime-control\",\"url\":\"/blog/the-next-era-of-software-needs-runtime-control/\",\"link_type\":\"Document\",\"key\":\"6f24753a-1e17-4f87-9c0d-e7ed749db5bf\",\"isBroken\":false}}],\"video_id\":[],\"video_type\":\"Wistia\",\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"This post is part of an ongoing series on how LaunchDarkly engineers are closing the loop of the AI SDLC—and what we're learning along the way.\",\"spans\":[{\"start\":0,\"end\":143,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"There’s a fantasy version of the software factory that I’ll call the dark factory: The lights are out, agents are doing all the work, and humans are nowhere to be found. It’s a seductive image, but it’s also where most teams get into trouble, because demos typically run on green-field code with clean constraints. The moment you point that fully autonomous dream at a real, load-bearing codebase, it gets confused, chokes, and maybe deletes your repo.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"When I went looking for anyone running software factory patterns against enterprise legacy code, I found nothing. That inspired us to point coding agents at our oldest, scariest code and ask a simple question: Can the software factory model actually work where it matters most?\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"The haunted codebase\",\"spans\":[{\"start\":0,\"end\":20,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The code in question powered our flag-targeting UI, which is the screen that lets customers segment who sees what and when. It’s the heart of what LaunchDarkly does, and it’s also our oldest, most complex, most business-critical frontend. Before we got started, it carried roughly 66,000 lines of React across more than 400 files, as well as lingering Redux and Immutable.JS-era patterns layered on by dozens of people over more than a decade.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Edith, our CEO, jokes that the codebase had become like the Winchester Mystery House: the San Jose mansion where an heiress kept adding rooms onto rooms without a plan. Every time someone tried to wedge a new feature in, it got worse. Not so long ago, a team wanted to change our rollout menu, took one look, and gave up. People were spending weeks on changes that should take an hour, trying and trying and trying. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"That’s the kind of system most teams route around, but I couldn’t shake the feeling that this work should have been easy enough for an agent. And a software factory only earns its name if it can run on the parts of the line everyone’s afraid of, which is why we decided to walk straight in.\",\"spans\":[{\"start\":37,\"end\":49,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"The bet\",\"spans\":[{\"start\":0,\"end\":7,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The setup was deliberately constrained: two senior engineers, Claude Code, six weeks, and a $10K inference budget. The goal was 100% functional and visual parity, not a redesign.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"A few of those constraints were load-bearing:\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"No scope creep. I’ve watched “Let’s modernize the UI and also add four features” projects go exactly as badly as you’d expect. The rule here was: Just rewrite it. Rebuild the foundation and leave the experience identical.\",\"spans\":[{\"start\":0,\"end\":15,\"type\":\"strong\"},{\"start\":53,\"end\":61,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Six weeks, on purpose. Long projects quietly lose momentum. A tight box forces real progress.\",\"spans\":[{\"start\":0,\"end\":22,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"The $10K ceiling was mine, not Edith’s. She’d have happily spent far more if it led to meaningful improvements; I just thought spend was an interesting metric to track. \",\"spans\":[{\"start\":0,\"end\":39,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Zero customer disruption. The flag-targeting UI is one of the most heavily used surfaces in LaunchDarkly. Parity wasn’t nice to have; it was the whole contract.\",\"spans\":[{\"start\":0,\"end\":25,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Getting the line ready\",\"spans\":[{\"start\":0,\"end\":22,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"For anything this ambitious, you need to walk before you run. The year or so before the rewrite is what made the rewrite possible at all, and it’s the part most teams skip when they fixate on the agents and forget the factory floor.\",\"spans\":[{\"start\":77,\"end\":83,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"A factory needs a clean, well-instrumented line. For us, that meant genuinely understanding the tooling and its limits, then making the codebase agent-ready. We pulled in context so agents knew how to operate, invested heavily in faster feedback loops, added better guardrails, leaned into agentic code review early, and onboarded Meticulous for visual regression testing. (In my personal opinion, if you do any frontend work, this is the best product I’ve found in years.)\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"It was immediately clear that whatever makes a human effective—fast builds, fast linting, fast type checks, good context, tight feedback loops, and real guardrails—will also make an agent effective. These things had become more important than ever, but they had also gotten easier, because the agents were there to help us do it. There’s no software factory without that groundwork. The agents are the machines; the feedback loops and guardrails are the line they run on.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"The plan vs. the reality\",\"spans\":[{\"start\":0,\"end\":24,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The plan was beautiful: Rewrite 66,000 lines of React in six weeks. In week one, we’d plan. In week two, we’d build a slick autonomous system to crank out the rest. I truly, genuinely believed we’d be done in four.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Spoiler: We did not finish in four weeks. Or six.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Agents are great at scale, and I figured they’d carry us. But even the agents struggled. What saved us was the one asset a legacy rewrite actually has: The old code is ground truth. We pointed agents at the legacy implementation and said, “Extract everything that happens on this targeting view.” The agents would come back, proudly saying, “Great, did it, here you go.” We’d ask, “Can you double-check you got everything?” And they’d respond, “Oh, we missed some. Here’s more.” We ran that loop over and over until we’d wrapped our arms around the real behavior.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"By the end of week six, we’d written about 36,000 lines of code, and most of it was generated in under two weeks. We weren’t anywhere close to done.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Remodeling room by room\",\"spans\":[{\"start\":0,\"end\":23,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"That was when we stopped chasing the autonomous one-shot and broke the house into rooms. We’d already defined 22 discrete phases, and the mistake was trying to build them continuously and in parallel through one big clever system. We threw that out and went phase by phase. These weren’t small; each was an entire feature in the targeting frontend, comprised of thousands of lines. But at that scale, with a human genuinely in the loop, the same agents that were flailing started shipping.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The 22 phases eventually ballooned to 34 after we found everything we’d skipped. We’ve shipped this work internally—everyone at LaunchDarkly is on the new frontend—but we’re still chasing down small inconsistencies, with customer rollout next. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Final tally: about 39,000 lines of TypeScript and CSS across more than 380 files. And it cost roughly $7K of that $10K budget.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"The dark factory is a trap\",\"spans\":[{\"start\":0,\"end\":26,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"This is the lesson I most want other engineering leaders to take away, because it cost me the most time. It’s also the whole difference between the dark factory and the healthy AI software factory. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Chasing the dark factory ideal—where agents are fully autonomous and humans are looped out—led directly into what I call the autonomy trap. You end up doing Rube Goldberg development: spending all your time building an elaborate machine, where this agent is checking that agent and this thing is triggering that thing. You’re trying to perfect the contraption instead of getting to the actual goal, and it’s incredibly easy to get sucked into.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"These are my two honest, slightly controversial takes from living it:\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Human steering is a force multiplier. I’ve not seen agents make consistently good enough decisions on their own, even with all the upfront context and steering I can throw at them. When I stay in the loop, I get materially better outcomes. That may not be true forever, but it’s certainly true today.\",\"spans\":[{\"start\":0,\"end\":37,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Friction is signal, not noise. When you’re working—even if you’re agentic pair programming—you can feel where things slow down, and where the agent gets stuck. That feeling is information. If you automate it away entirely, you lose your most reliable instrument.\",\"spans\":[{\"start\":0,\"end\":30,\"type\":\"strong\"},{\"start\":99,\"end\":103,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"A healthy AI software factory isn’t a factory with the humans removed. It’s controlled automation, with clear phases, acceptance criteria, validation, and human judgment placed exactly where it has the most leverage.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"The control layer is what makes the factory successful\",\"spans\":[{\"start\":0,\"end\":54,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The reason two people could safely rewrite a system 5,000 customers touch daily is that we never let velocity outrun control. We put the entire rewrite behind feature flags, which meant we could shove generated code into the codebase aggressively and still decide, separately and safely, who saw it and when. We ran agentic code review behind every flag as a guardrail, then dogfooded the new frontend internally before any customer touched it. This is the same “release it under guard, measure, then expand” loop we’d use to roll any risky change out progressively and pull it back the instant something regressed.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"That loop is the software factory: Change gets flagged, released under guard, measured against the behavior you actually care about, rolled back automatically when it drifts, and cleaned up when it’s proven. The agents generate the work; the control infrastructure is what makes it safe to let them. That’s not a coincidence of how we built this project—it’s the thing LaunchDarkly builds. We were running a small, hand-assembled version of our own software factory on the gnarliest code we have, precisely because if it works there, it works anywhere.\",\"spans\":[{\"start\":10,\"end\":12,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"What I’d tell you before you try this\",\"spans\":[{\"start\":0,\"end\":37,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Here are a few more lessons I’m taking forward:\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"The key isn’t velocity; it’s ambition. The reason agentic development matters isn’t that we can move faster; it’s that we can attempt more ambitious things than we’d have dared before. In our case, a rewrite that large teams had abandoned became something two people could actually finish.\",\"spans\":[{\"start\":0,\"end\":38,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Garbage in, garbage out. AI is an intent-amplification machine. Vague intent gives you vague results. It does not replace the thinking you have to do up front; it simply amplifies whatever thinking you bring.\",\"spans\":[{\"start\":0,\"end\":24,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Bottlenecks don’t vanish; they move. Isolating everything behind a feature flag let us merge freely, but we still wanted the code to be good, which meant we spent a lot of time stuck in the code-review loop. A software factory doesn’t delete bottlenecks; it just relocates them. It’s crucial to build for where they’re going.\",\"spans\":[{\"start\":0,\"end\":36,\"type\":\"strong\"},{\"start\":136,\"end\":140,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"If I did it again, I’d trust the old code more. Even using AI, we started by following a familiar pattern: Write specs, write plans, and do all the intermediate ceremony. Next time, I’d skip most of that and use the existing code as the source of truth. It’s the best spec you could ever have.\",\"spans\":[{\"start\":0,\"end\":47,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"One last tell, and it’s my favorite. I knew the rewrite had actually worked when I started mixing up the old version and the new version. I genuinely couldn’t tell them apart anymore, which is exactly what parity is supposed to feel like. It was incredible, and also a little terrifying.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"If you’ve shipped anything successful for long enough, chances are you’ve got a haunted codebase of your own. That’s where you should point your software factory first. Running it on the scary code instead of the easy code was the most useful thing we tried all year. I’d love to compare notes.\\n\\nJoin the waitlist for early access to LaunchDarkly tools for the AI software factory.\",\"spans\":[{\"start\":296,\"end\":381,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/early-access/\",\"target\":\"_self\"}},{\"start\":296,\"end\":381,\"type\":\"strong\"}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$1736c3cf-ff9b-4f65-bad1-d1fdb3a44eee\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"video_type\":\"YouTube\",\"youtube_id\":[{\"type\":\"paragraph\",\"text\":\"2Mn4kQkjGIM]\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"youtube_video$6585d441-0032-458b-9a7f-f8c3aaa529f4\",\"slice_type\":\"youtube_video\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Edith Harbaugh, CEO and Co-Founder of LaunchDarkly, and Zach Davis, former Principal Engineer, shared more about this project at Enterprise AI Summit 2026.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$d9c4fa45-d115-4c89-9e3b-a81247f0a776\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"Stories from the Factory Floor: Building a software factory on our scariest code\",\"spans\":[],\"direction\":\"ltr\"}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"We pointed coding agents at our oldest, most business-critical frontend. Here’s what it taught me about what a healthy AI software factory actually looks like.\",\"spans\":[{\"start\":0,\"end\":159,\"type\":\"em\"}],\"direction\":\"ltr\"}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":1920,\"height\":1080},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/KpLJVhpXHF_fE4Kt_Blog_07-26_BuildingaSoftwareFactoryonOurScariestCode_HeroImage_1920x1080.png?auto=format,compress\",\"id\":\"KpLJVhpXHF_fE4Kt\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}}}},{\"id\":\"amdiKhEAACwAcgR-\",\"uid\":\"entering-the-ai-software-factory-era\",\"url\":\"/blog/entering-the-ai-software-factory-era/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22amdiKhEAACwAcgR-%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2026-07-27T14:02:32+0000\",\"last_publication_date\":\"2026-09-04T17:43:41+0000\",\"slugs\":[\"entering-the-ai-software-factory-era\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"Entering the AI software factory era\",\"spans\":[],\"direction\":\"ltr\"}],\"author\":{\"id\":\"X2ufGhEAACIArmhu\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"jonathan-nolen\",\"first_publication_date\":\"2020-09-23T19:16:45+0000\",\"last_publication_date\":\"2020-09-23T19:16:45+0000\",\"uid\":\"jnolen\",\"url\":\"/blog/author/jnolen/\",\"link_type\":\"Document\",\"key\":\"40a403c5-e099-4365-869a-4acd162d979b\",\"isBroken\":false},\"timestamp\":null,\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"apmi3hIAACkAiPHQ\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-agents\",\"first_publication_date\":\"2026-09-03T16:40:35+0000\",\"last_publication_date\":\"2026-09-04T17:32:49+0000\",\"uid\":\"ai-agents\",\"url\":\"/blog/category/ai-agents/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI Agents\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"bd6fc3c7-3797-440b-9407-1dc6da92c2ed\",\"isBroken\":false}},{\"category\":{\"id\":\"apmjDhIAACwAiPJB\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"runtime-control\",\"first_publication_date\":\"2026-09-03T16:41:23+0000\",\"last_publication_date\":\"2026-09-04T17:33:07+0000\",\"uid\":\"runtime-control\",\"url\":\"/blog/category/runtime-control/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"Runtime Control\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"6a9bc052-a3a7-42ad-8336-3ca6823faa9e\",\"isBroken\":false}},{\"category\":{\"id\":\"apmibBIAACoAiPDR\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-generated-code\",\"first_publication_date\":\"2026-09-03T16:38:38+0000\",\"last_publication_date\":\"2026-09-04T17:33:32+0000\",\"uid\":\"ai-generated-code\",\"url\":\"/blog/category/ai-generated-code/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI-Generated Code\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"3a592b8c-ec34-4a2f-9521-ee0637d68bd4\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"What automating the SDLC at LaunchDarkly taught me about speed, control, and the job of an engineer.\",\"spans\":[],\"direction\":\"ltr\"}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":3000,\"height\":1688},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/4OygjDic_uYo2YmN_Blog_07-26_EnteringtheeraoftheAIsoftwarefactory_1920x1080.png?auto=format,compress\u0026rect=0,0,1919,1080\u0026w=3000\u0026h=1688\",\"id\":\"4OygjDic_uYo2YmN\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"id\":\"aihmexEAACwAcS9Q\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"speed-isnt-the-risk.-lack-of-control-is.\",\"first_publication_date\":\"2026-06-10T18:58:20+0000\",\"last_publication_date\":\"2026-09-04T17:45:48+0000\",\"uid\":\"speed-isnt-the-risk-lack-of-control-is\",\"url\":\"/blog/speed-isnt-the-risk-lack-of-control-is/\",\"link_type\":\"Document\",\"key\":\"d77fe1ff-0fbc-4622-abd0-9d0525aef7d2\",\"isBroken\":false}},{\"post\":{\"id\":\"al5R2xIAAC0ANXPk\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"observability-is-not-enough\",\"first_publication_date\":\"2026-07-21T17:55:31+0000\",\"last_publication_date\":\"2026-09-04T17:44:15+0000\",\"uid\":\"observability-is-not-enough\",\"url\":\"/blog/observability-is-not-enough/\",\"link_type\":\"Document\",\"key\":\"c917d1b4-c3b5-47f0-8b91-73836d88ee40\",\"isBroken\":false}},{\"post\":{\"id\":\"agjEChEAACcAq2f0\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"the-next-era-of-software-needs-runtime-control\",\"first_publication_date\":\"2026-05-18T16:13:48+0000\",\"last_publication_date\":\"2026-09-04T17:50:17+0000\",\"uid\":\"the-next-era-of-software-needs-runtime-control\",\"url\":\"/blog/the-next-era-of-software-needs-runtime-control/\",\"link_type\":\"Document\",\"key\":\"bf003791-2eb2-45e8-980e-7da3928f7477\",\"isBroken\":false}}],\"video_id\":[],\"video_type\":\"Wistia\",\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"AI has made writing code free, or at least, “free minus the incredible token spend we're all experiencing right now.” But there’s a difference between writing code and producing software, and most engineering organizations are about to learn it the hard way.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"All we've actually done with AI is move the bottleneck out of writing code and into the process of reviewing that code and deciding what the specs are. I heard a telling statistic at this year's OpenAI Frontiers conference: Leading teams report shipping roughly three times as many PRs as they shipped in December, and those who really get it are on track to go six times faster by the end of the year. That volume is the heart of the problem. The code shows up, but the question is whether your organization can absorb it without drowning.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"So here’s the thing I keep telling other engineering leaders: You don't win this era by running your old process faster. You win by changing the game.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Change is no longer discrete\",\"spans\":[{\"start\":0,\"end\":28,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"We operated for decades on a comfortable assumption that behavior changes when code changes. You review, you stage, you deploy, you monitor, you fix. Agile codified a version of this workflow by forcing teams to ship small, ship often, and keep each change tiny enough that when something breaks, you can find it fast in a sequential log of changes.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"I’ve been following this model in some form since the extreme programming days of the late '90s, and I'll say it plainly: Agile is now obsolete. Small batches were how you localized a problem when humans were the rate limiter, but now that agents can do that work, small batches solve a problem we no longer have.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The real problem is drift. Every system depends on a model, and these underlying models are constantly and quietly changing. This challenge is compounded by always-changing prompts, context, and data infrastructure, and all of it is sitting on top of a probabilistic system. The old instinct to slow down, shrink the change, and add another review ritual doesn't reduce your risk. It increases it because, while you're deliberating, the ground is moving underneath you. What you need is a different set of tools and techniques to manage the drift. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Why we built a software factory\",\"spans\":[{\"start\":0,\"end\":31,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"At LaunchDarkly, we have the same problem that many of our customers do: going faster and faster, but staying in control while we do it. That’s why we built our own software factory and turned it loose on the full software development lifecycle, with agents automatically handling PRs, reviews, feature flagging, guarded releases, and cleanup. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The headline result is that we’re shipping three times more code than we shipped just three months ago, and we’re doing it with a very small team. Each engineer has become an army of one, operating a team of agents that are all working toward a common goal. Everyone is thinking and operating more like a front-line manager than an IC, and my team of six or eight people is now doing the work of six or eight teams. And we didn’t prove this model on a greenfield, either. We pointed it at our oldest, most business-critical production systems: the ones that every mature org is terrified to touch.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Controlled automation beats autonomy every time\",\"spans\":[{\"start\":0,\"end\":47,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"We’ve learned many lessons from building a software factory, and one of the most important is that full autonomy is a seductive trap. If you hand an agent a broad mandate, it doesn’t know what you actually meant. It’s like telling a robot to build you a house. It will build you a house, but it might be a birdhouse. If you then say you want “a house for humans,” it could come back with a dollhouse. To get what you want, you have to spell out the dimensions, the number of floors, and the number of bathrooms. Specification is the job now. \",\"spans\":[{\"start\":526,\"end\":528,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Specification means real validation, not theater. Code is often structurally correct but functionally incorrect. It compiles, the pixels land in the right place, and it's still wrong. Your eval loops have to go deeper than “Is the button rendered?” Instead, you have to ask: “Do the right menus appear when I click the button? When I navigate those menus, are the right APIs called with the right parameters?” You need both the white-box checks of structure and the black-box checks of behavior. You also need to ask performance questions, such as, “Does the running system show the same latency, availability, and throughput you know to be correct?” Connecting these requirements and rerunning the release-observe-iterate loop is what helps make automation safer.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"There’s also a compounding danger people underestimate. When you connect multiple models and one of them drifts, the next one drifts off the first. The first model’s error is multiplied down the chain. The whole game becomes about making sure that when something goes even slightly off course, it gets back on the right path fast. One of the things I've always loved about software is that when you tell the computer to do something, it does it. We're no longer in that world. Strong guardrails and checkpoints are how you push a probabilistic system back toward the deterministic outcomes we all want and expect. The ability to do that has been game-changing for us.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"The engineer’s job has gotten more important\",\"spans\":[{\"start\":0,\"end\":44,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"There’s a misconception that AI does the thinking for you, but it’s not really a thinking tool. It’s a predictability engine, and it functions best when you put your own judgment, knowledge, and experience into the loop. It’s an amazing piece of math that’s built to serve you, and you have to treat it with the right level of control and instruction to get what you want out of it.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"That’s why I think we need more people in software, not fewer. The toil, or the work that humans don’t actually learn from, is getting automated, but human attention must remain present. Understanding and implementing nonfunctional requirements has always been the interesting part of the job, and it’s the part that becomes more essential as you grow in your career. This requirement isn’t going anywhere. If anything, it matters more, and it matters earlier. \",\"spans\":[{\"start\":27,\"end\":31,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"This principle extends to oversight itself. One of the most freeing things about running a software factory is using agentic judgment to decide where a human is actually needed. For instance, agents can make calls on whether something is high risk or whether a flag is needed at all. That’s because agents are excellent at judging other agents’ work if you give them criteria. Ask an agent, “Is this good?” and you won’t get anything useful because it has no idea what “good” means. But if you own the criteria and give it a series of binary checks, it will become a rigorous reviewer. This is how we can put people on the most important, cognitively demanding work, and keep them as far away as possible from the toil.\",\"spans\":[{\"start\":350,\"end\":352,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"You build the factory. LaunchDarkly helps you run it safely.\",\"spans\":[{\"start\":0,\"end\":60,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Could you build a software factory without runtime control underneath it? There are many things you can do, but the question is whether you should. \",\"spans\":[{\"start\":100,\"end\":103,\"type\":\"em\"},{\"start\":140,\"end\":146,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Manufacturing offers a useful metaphor. Ford gave us the assembly line. Toyota gave us the Andon cord and the Kanban process to go with it, and reliability, quality, and affordability improved dramatically. Software is entering that same phase, but unlike most cars, software is dynamic, responsive to real-world events, and always mutating in production. You can't bolt that down and walk away.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"If you're a leader staring at three or six times your previous change volume heading for your production environment, my advice is simple: Don't try to inspect your way through it at human speed, and don't YOLO it either. Build the factory. Build the loop where code is written, flagged, released, measured, corrected, and improved continuously, and wrap that loop in real control. The factory is the delivery mechanism, and control is the safety mechanism. Neither one reaches its full value without the other.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"We’ve spent 12 years obsessing over how to do this reliably at scale, with global reach and the right number of nines. It’s our core business, and it isn’t anyone else’s, and runtime control of agents is the ultimate evolution of where we’ve been heading for a decade. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"A factory has a lot of moving parts, but what LaunchDarkly provides is the control infrastructure that runs underneath it all. We’re vendor-neutral, so no matter what frameworks or platforms your factory runs on, we’ll snap right in. And we’re building our own software factory out in the open, because you can’t credibly help others build one if you’re not living in one yourself.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Join the waitlist.\",\"spans\":[{\"start\":0,\"end\":18,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/early-access/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$6b29bfa3-5499-41cd-9f56-29137db7a968\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"Entering the AI software factory era\",\"spans\":[],\"direction\":\"ltr\"}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"Learn why we built an AI software factory at LaunchDarkly—and what we learned about AI-driven software development along the way.\",\"spans\":[],\"direction\":\"ltr\"}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":1920,\"height\":1080},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/4OygjDic_uYo2YmN_Blog_07-26_EnteringtheeraoftheAIsoftwarefactory_1920x1080.png?auto=format,compress\",\"id\":\"4OygjDic_uYo2YmN\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}}}},{\"id\":\"al5R2xIAAC0ANXPk\",\"uid\":\"observability-is-not-enough\",\"url\":\"/blog/observability-is-not-enough/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22al5R2xIAAC0ANXPk%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2026-07-21T17:55:31+0000\",\"last_publication_date\":\"2026-09-04T17:44:15+0000\",\"slugs\":[\"observability-is-not-enough\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"Observability is not enough\",\"spans\":[],\"direction\":\"ltr\"}],\"author\":{\"id\":\"al5RdRIAAC4ANXM3\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"betsy-sallee\",\"first_publication_date\":\"2026-07-20T16:50:20+0000\",\"last_publication_date\":\"2026-07-20T16:50:20+0000\",\"uid\":\"betsy-sallee\",\"url\":\"/blog/author/betsy-sallee/\",\"link_type\":\"Document\",\"key\":\"0d549b01-5bd4-48fb-8a20-4824afc879dc\",\"isBroken\":false},\"timestamp\":null,\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"apmjDhIAACwAiPJB\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"runtime-control\",\"first_publication_date\":\"2026-09-03T16:41:23+0000\",\"last_publication_date\":\"2026-09-04T17:33:07+0000\",\"uid\":\"runtime-control\",\"url\":\"/blog/category/runtime-control/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"Runtime Control\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"ccf6e9f9-1c5c-4ec5-8d56-2a2e7bbd9b0d\",\"isBroken\":false}},{\"category\":{\"id\":\"apmi3hIAACkAiPHQ\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-agents\",\"first_publication_date\":\"2026-09-03T16:40:35+0000\",\"last_publication_date\":\"2026-09-04T17:32:49+0000\",\"uid\":\"ai-agents\",\"url\":\"/blog/category/ai-agents/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI Agents\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"e0f339cb-19dc-415e-a28a-45b4a5808eee\",\"isBroken\":false}},{\"category\":{\"id\":\"apmibBIAACoAiPDR\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-generated-code\",\"first_publication_date\":\"2026-09-03T16:38:38+0000\",\"last_publication_date\":\"2026-09-04T17:33:32+0000\",\"uid\":\"ai-generated-code\",\"url\":\"/blog/category/ai-generated-code/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI-Generated Code\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"6dfc58c3-350a-413c-a4d7-cdb30757b7e7\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"With runtime control, teams can extend observability by moving beyond reactive monitoring and toward proactive remediation.\",\"spans\":[],\"direction\":\"ltr\"}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":3000,\"height\":1688},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/d1VBhZjwlbSiXIvN_Blog_07-26_Observabilityisnotenough_HeroImage_1920x1080.png?auto=format,compress\u0026rect=0,0,1919,1080\u0026w=3000\u0026h=1688\",\"id\":\"d1VBhZjwlbSiXIvN\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"id\":\"agjEChEAACcAq2f0\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"the-next-era-of-software-needs-runtime-control\",\"first_publication_date\":\"2026-05-18T16:13:48+0000\",\"last_publication_date\":\"2026-09-04T17:50:17+0000\",\"uid\":\"the-next-era-of-software-needs-runtime-control\",\"url\":\"/blog/the-next-era-of-software-needs-runtime-control/\",\"link_type\":\"Document\",\"key\":\"5df6cff5-dda8-40d7-b277-eee098af9aee\",\"isBroken\":false}},{\"post\":{\"id\":\"aihmexEAACwAcS9Q\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"speed-isnt-the-risk.-lack-of-control-is.\",\"first_publication_date\":\"2026-06-10T18:58:20+0000\",\"last_publication_date\":\"2026-09-04T17:45:48+0000\",\"uid\":\"speed-isnt-the-risk-lack-of-control-is\",\"url\":\"/blog/speed-isnt-the-risk-lack-of-control-is/\",\"link_type\":\"Document\",\"key\":\"119cc7a3-b3a3-40f6-8380-61c1bd2c075d\",\"isBroken\":false}},{\"post\":{\"id\":\"agNzzREAACcAo1rt\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"introducing-agentcontrol\",\"first_publication_date\":\"2026-05-12T18:45:48+0000\",\"last_publication_date\":\"2026-09-04T17:50:49+0000\",\"uid\":\"introducing-agentcontrol\",\"url\":\"/blog/introducing-agentcontrol/\",\"link_type\":\"Document\",\"key\":\"734c3832-79bf-4b76-b2e7-2b4943899bbe\",\"isBroken\":false}}],\"video_id\":[],\"video_type\":\"Wistia\",\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Observability has been foundational to software development for the better part of two decades. As distributed, cloud-based systems became the norm, engineering teams needed a common framework for understanding what was happening within them. Logs, metrics, and traces emerged as the lingua franca for monitoring and diagnosing issues at scale, powering the dashboards and alerts that engineering teams have come to rely on.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"But traditional observability tools can only tell you what happened. They don’t tell you which change caused the problem, and they don’t proactively act on what they see. This creates a gap between the moment you know something is wrong and the moment you’re able to fix it. An alert fires, someone gets paged, and the manual investigation begins. This is a reality that teams have largely learned to live with, but in the AI era, it’s become a liability that shouldn’t be ignored.\",\"spans\":[{\"start\":54,\"end\":58,\"type\":\"em\"},{\"start\":89,\"end\":101,\"type\":\"em\"},{\"start\":137,\"end\":152,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"There are two reasons for this shift. First, it’s now standard practice for most engineering teams to use AI to write code. Second, many of these teams are also building AI agents into their products, which are enormously powerful but inherently unpredictable. These are distinct yet interconnected forces that converge on a single imperative: control that lives in production, acts automatically, and operates at the change level—all at runtime, in real time.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"AI has fundamentally changed how software is built\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"It’s no secret that teams are using AI to write code faster than ever, but that velocity comes with a corresponding increase in production incidents. According to the LaunchDarkly Control Gap Report, 94% of survey respondents confirm that AI has accelerated their team’s output, but nearly as many (91%) say they're more cautious about pushing AI-written code live. For every two steps forward, there's one all-too-frequent step back.\",\"spans\":[{\"start\":167,\"end\":198,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://go.launchdarkly.com/rs/850-KKH-319/images/Ebook-26-08-The-Control-Gap-Report.pdf?version=0\u0026utm_entry_page=https%253A%252F%252Flaunchdarkly.com%252Fguides%252Fthe-ai-control-gap-ugtd%252F\",\"target\":\"_blank\"}},{\"start\":336,\"end\":364,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/prevent-ai-coding-errors-in-production/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The impact of this problem isn't abstract. It can be seen from within an organization when middle-of-the-night firefights become the norm and engineers resign. And it can be seen from the outside when users lose trust in their favorite products and decide to try a competitor. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Simply put, it’s no longer feasible for human engineers on most teams to fix user-facing issues at the rate at which they're introduced. This problem is also reflected in survey data: 24% of respondents report that their team has to roll back or hotfix production issues daily, and 14% of teams get caught in this cycle multiple times a day. And finding a real solution—not just a band-aid—takes meaningful time and effort. That’s because traditional observability solutions can tell you something is broken, but they can’t identify which of the 47 changes that were deployed in the past 24 hours caused it. \",\"spans\":[{\"start\":320,\"end\":340,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Teams are therefore faced with an impossible choice: either slow down and risk losing competitive ground, or move ahead as quickly as possible while putting the user experience—and the business’s reputation—at risk.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"AI agents are nondeterministic by design\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The challenges of managing code that was written by AI are real, but they’re only part of the story. The most ambitious teams are building AI agents directly into their applications, pushing the boundaries of what software can do and redefining what users expect from it. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"These agentic systems are defined by contingency and variability at every level. Nondeterminism isn’t a flaw; it’s the whole point. AI agents reason and adapt dynamically, which means their behavior can’t be reliably predicted—even by the teams that built them. Additionally, the models that power these agents are constantly and quietly being updated by providers, and the users interacting with them are endlessly variable in how they ask questions, what context they bring, and what they expect.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"This unpredictability makes the limitations of preproduction testing painfully apparent, with users often sounding the first alarm that something is wrong. And even once teams know there’s a problem, the path to remediation is almost never straightforward. The definitions shaping agent behavior are scattered across repos and frameworks, and when an issue crops up, the toolchain offers little relief. Evals live in one tool, behavior control is elsewhere, and implementing a tested fix still requires a redeploy.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"This delay between detection and remediation is a critical problem because a misbehaving agent doesn’t stop running while teams figure out how to handle it. Customers may continue to be exposed to bad responses for as long as the deployment cycle takes.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Runtime control bridges the gap between knowledge and action\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"In this landscape, teams have a clear and urgent need to move beyond reactive monitoring and toward proactive remediation. This evolution requires a new operating model: runtime control.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Runtime control doesn’t replace observability; it extends it. While observability tools provide visibility into what’s happening in production, they're not designed to intervene. Someone still has to investigate the problem—and then write and deploy a fix. Runtime control bridges that gap, giving teams the ability to automatically detect and respond to concerning, change-based signals live at runtime, before users feel the impact. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"With this approach, the incident that used to take hours to diagnose and resolve can be handled in seconds. Whether the problem is a bug in AI-written code or a misbehaving agent, engineers wake up to “something happened, and it’s been handled,” instead of a 2 a.m. page.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Runtime control is the foundation for the AI software factory\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"As AI continues to transform the nature of software and how it gets built, the question teams should be asking isn’t whether their observability tooling is good, but whether it’s enough. Consider whether your team can:\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Release AI-generated changes progressively, limiting exposure while observing real-world impact.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Control and govern AI agent behavior in production, not just monitor it.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Halt or roll back within seconds when performance falls outside acceptable thresholds—without a redeploy.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Trace an incident to the specific change that caused it, automatically.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Automatically act on concerning health and performance signals before users feel the impact.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The teams that can do these things are able to ship faster with fewer incidents, and are best positioned to see stronger ROI from their AI investments. With runtime control in place, the loop of the software development lifecycle starts to close itself. Agents are able to build, release, observe, and iterate autonomously, with human judgment reserved for the moments that matter most. Engineers stop managing systems and start setting goals. That’s the AI software factory, and runtime control is the foundation it’s built on.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"For a deeper look at how runtime control helps teams navigate the conflicting priorities of AI adoption and production reliability, check out the LaunchDarkly Control Gap Report.\\n\",\"spans\":[{\"start\":146,\"end\":177,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://go.launchdarkly.com/rs/850-KKH-319/images/Ebook-26-08-The-Control-Gap-Report.pdf?version=0\u0026utm_entry_page=https%253A%252F%252Flaunchdarkly.com%252Fguides%252Fthe-ai-control-gap-ugtd%252F\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$5e139279-d65a-437a-8389-5a43e600e05d\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"Observability is not enough\",\"spans\":[],\"direction\":\"ltr\"}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"With runtime control, teams can extend observability by moving beyond reactive monitoring and toward proactive remediation.\",\"spans\":[],\"direction\":\"ltr\"}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":1920,\"height\":1080},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/d1VBhZjwlbSiXIvN_Blog_07-26_Observabilityisnotenough_HeroImage_1920x1080.png?auto=format,compress\",\"id\":\"d1VBhZjwlbSiXIvN\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}}}},{\"id\":\"aihmexEAACwAcS9Q\",\"uid\":\"speed-isnt-the-risk-lack-of-control-is\",\"url\":\"/blog/speed-isnt-the-risk-lack-of-control-is/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22aihmexEAACwAcS9Q%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2026-06-10T18:58:20+0000\",\"last_publication_date\":\"2026-09-04T17:45:48+0000\",\"slugs\":[\"speed-isnt-the-risk.-lack-of-control-is.\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"Speed isn't the risk. Lack of control is.\",\"spans\":[],\"direction\":\"ltr\"}],\"author\":{\"id\":\"ZXitvRAAACIAtJ-l\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"kellye-king\",\"first_publication_date\":\"2023-12-12T19:00:16+0000\",\"last_publication_date\":\"2025-04-21T23:14:48+0000\",\"uid\":\"kellye-king\",\"url\":\"/blog/author/kellye-king/\",\"link_type\":\"Document\",\"key\":\"bd12b238-8aab-41a2-9925-458edec201d5\",\"isBroken\":false},\"timestamp\":\"2026-06-11T18:03:00+0000\",\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"apmjDhIAACwAiPJB\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"runtime-control\",\"first_publication_date\":\"2026-09-03T16:41:23+0000\",\"last_publication_date\":\"2026-09-04T17:33:07+0000\",\"uid\":\"runtime-control\",\"url\":\"/blog/category/runtime-control/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"Runtime Control\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"8e8c937f-2018-49e4-9de4-05e7d1ad27de\",\"isBroken\":false}},{\"category\":{\"id\":\"apmi3hIAACkAiPHQ\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-agents\",\"first_publication_date\":\"2026-09-03T16:40:35+0000\",\"last_publication_date\":\"2026-09-04T17:32:49+0000\",\"uid\":\"ai-agents\",\"url\":\"/blog/category/ai-agents/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI Agents\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"49797308-2bea-4f0f-a943-45753de5038a\",\"isBroken\":false}},{\"category\":{\"id\":\"apmibBIAACoAiPDR\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-generated-code\",\"first_publication_date\":\"2026-09-03T16:38:38+0000\",\"last_publication_date\":\"2026-09-04T17:33:32+0000\",\"uid\":\"ai-generated-code\",\"url\":\"/blog/category/ai-generated-code/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI-Generated Code\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"2ac5d724-7b40-4768-9081-6db6e6df394d\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"Why controlling code and agents in the AI era matters—and why we built AgentControl.\",\"spans\":[],\"direction\":\"ltr\"}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":3000,\"height\":1688},\"alt\":\"Screenshot of the Control Panel discussion with Edith Harbaugh, Cameron Etezadi, and Marek Poliks from LaunchDarkly\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/aim9LgeQX7-eXL_3_Blog_06-26_ControlPanelRecap_HeroImage_1920x1080.png?auto=format,compress\u0026rect=0,0,1919,1080\u0026w=3000\u0026h=1688\",\"id\":\"aim9LgeQX7-eXL_3\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"link_type\":\"Document\"}}],\"video_id\":[],\"video_type\":\"Wistia\",\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"For the last year, most conversations about AI have focused on what agents can do. Can they write code? Automate workflows? Resolve customer issues? Accelerate development?\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Those are important questions. But they're no longer the hardest ones. The harder question is how to operate agents at scale in production.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"That was the focus of a recent conversation with LaunchDarkly CEO and Co-founder Edith Harbaugh, CTO Cameron Etezadi, and Head of AI Marek Poliks. They discussed the challenges that engineering teams increasingly face: maintaining control of AI-built code and agents in production.\",\"spans\":[{\"start\":260,\"end\":266,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/solutions/control-ai-agents/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$490815a8-e25f-4402-b832-64ecf8723a02\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[{\"type\":\"paragraph\",\"text\":\"The bottleneck moved, and so did the risk\",\"spans\":[],\"direction\":\"ltr\"}],\"wysiwyg\":[{\"type\":\"heading2\",\"text\":\"The bottleneck moved, and so did the risk\",\"spans\":[{\"start\":0,\"end\":41,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The cost of producing software is falling fast. Ideas that previously took weeks to prototype can now become working applications in hours. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"As AI accelerates software creation, the constraint is no longer writing code. It's everything that happens after: reviewing it, releasing it, and controlling what it does after it's live. Agents make this shift impossible to ignore.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Traditional software followed a familiar pattern: Build, test, deploy, monitor, fix. The assumption underneath that model was simple—software changed when developers changed it. Agents don't work that way.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"An agent's behavior can shift without a single line of code changing. Models get updated. An environment shifts. An input you never tested for shows up. Customers often experience the impact before engineering teams know anything has happened. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The old build-test-deploy-monitor-fix loop assumed that change only happened when you made it. That assumption is gone. As Edith put it, \\\"Agents are like code—but times 100, on Red Bull. With code, there's a limit to how much a human can produce. An agent can produce infinite code, and that code can keep changing.\\\" \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The takeaway for engineering leaders: Pre-production testing and deployment controls still matter, but they’re no longer sufficient on their own. Control has to live where change actually happens now: at runtime.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$95d66983-8d36-4325-a458-701a4b87da9a\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"quote\":[{\"type\":\"paragraph\",\"text\":\"\\\"Agents are like code—but times 100, on Red Bull. With code, there's a limit to how much a human can produce. An agent can produce infinite code, and that code can keep changing.\\\" \\n\\n— Edith Harbaugh, CEO \u0026 Co-founder\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"breakout_quote$40ea15a2-eff9-4443-9a4f-5493ccf5b8c5\",\"slice_type\":\"breakout_quote\",\"slice_label\":null},{\"primary\":{\"video_type\":\"Wistia\",\"youtube_id\":[{\"type\":\"paragraph\",\"text\":\"2cq70zkvls\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"youtube_video$c41f5f68-7cec-4588-8352-4844817c2513\",\"slice_type\":\"youtube_video\",\"slice_label\":null},{\"primary\":{\"toc_title\":[{\"type\":\"paragraph\",\"text\":\"AgentControl moves beyond observing problems to automatically fixing them in production \",\"spans\":[],\"direction\":\"ltr\"}],\"wysiwyg\":[{\"type\":\"heading2\",\"text\":\"AgentControl moves beyond observing problems to automatically fixing them in production \",\"spans\":[{\"start\":0,\"end\":88,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Most teams operating agents in production already have observability tools. They know when latency spikes, costs increase, or outputs degrade. The problem isn't visibility. The problem is action.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"An alert can tell you that an agent produced a bad response. But it can't fix it. By the time a dashboard shows something is wrong, a customer has often already experienced the failure. That's the gap AgentControl was built to close.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"AgentControl gives teams the ability to configure, release, observe, and automatically correct agent behavior in production—without redeploying.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"During the conversation, Marek demonstrated a banking support agent that was intentionally configured with a lower-cost model. When a user asked an off-limits coding question (\\\"Help me reverse a linked list in Python\\\"), the system caught and corrected the behavior in production in milliseconds, with no redeploy and without the customer ever seeing the bad answer.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"That demo highlighted what runtime control enables:\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Changing prompts, models, tools, and policies without redeploying.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Safely rolling out model and prompt updates using progressive delivery.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Automatically detecting and remediating degraded behavior.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Optimizing agent performance across cost, latency, and accuracy goals.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Protecting customer experiences even when agents encounter unexpected situations.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Marek summarized the whole idea in one line, “We can remediate an agent that's misbehaving in production—live, in just milliseconds—without a customer ever knowing the problem even occurred.\\\"\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$208d9beb-19ea-4f42-85b4-9c22e6046a18\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"quote\":[{\"type\":\"paragraph\",\"text\":\"\\\"We can remediate an agent that's misbehaving in production—live, in just milliseconds—without a customer ever knowing the problem even occurred.\\\" \\n\\n— Marek Poliks, Head of AI\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"breakout_quote$cbe27df8-deeb-45bc-b559-887001dc86b3\",\"slice_type\":\"breakout_quote\",\"slice_label\":null},{\"primary\":{\"video_type\":\"Wistia\",\"youtube_id\":[{\"type\":\"paragraph\",\"text\":\"y09aheq9d6\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"youtube_video$dc2cc7d2-6e62-4c01-ac5f-d09bd041518d\",\"slice_type\":\"youtube_video\",\"slice_label\":null},{\"primary\":{\"toc_title\":[{\"type\":\"paragraph\",\"text\":\"Control is what makes speed safe—and we ran it on ourselves first\",\"spans\":[],\"direction\":\"ltr\"}],\"wysiwyg\":[{\"type\":\"heading2\",\"text\":\"Control is what makes speed safe—and we ran it on ourselves first\",\"spans\":[{\"start\":0,\"end\":65,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"AI is often framed as a trade-off between velocity and safety. Move faster, accept more risk; move slower, stay in control. In practice, the opposite may be true.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"When models, prompts, and agent behavior can change continuously, slowing down releases doesn't eliminate risk. It simply means you're spending more time validating a system that will continue evolving after deployment.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The thing that makes speed safe isn't slowing down. It's control. We saw this firsthand inside LaunchDarkly.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Project Fairytale is the name of a project we’ve started to build a software factory to update some of the oldest parts of our codebase, automating as much of the process as possible with agents. The main lesson was that the more structure, checkpoints, and human-defined guardrails the team gave agents, the better and faster the agents performed. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"As Cameron put it, \\\"[AI is] not really a thinking tool, though a lot of people confuse it as one. It's a predictability engine—an amazing piece of math. But it functions best when you put judgment, knowledge, and control into the loop to get the output you want.\\\" \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The modernization project that was originally scoped as a year-long, eight-person project shipped with two engineers in less than a quarter. \",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$ac1ab2a2-019b-4c88-923e-5a77c3bfc098\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"quote\":[{\"type\":\"paragraph\",\"text\":\"\\\"[AI is] not really a thinking tool, though a lot of people confuse it as one. It's a predictability engine—an amazing piece of math. But it functions best when you put judgment, knowledge, and control into the loop to get the output you want. It's not great at coming up with its own outcomes. It's still built to serve you.\\\" \\n\\n— Cameron Etezadi, CTO\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"breakout_quote$13cec0f2-707e-44a6-9eed-ad87f643eaf8\",\"slice_type\":\"breakout_quote\",\"slice_label\":null},{\"primary\":{\"video_type\":\"Wistia\",\"youtube_id\":[{\"type\":\"paragraph\",\"text\":\"l3oljza42n\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"youtube_video$c5691b82-9e9b-4d18-816d-5b08767ea96e\",\"slice_type\":\"youtube_video\",\"slice_label\":null},{\"primary\":{\"toc_title\":[{\"type\":\"paragraph\",\"text\":\"See how AgentControl can work with your own agents \",\"spans\":[],\"direction\":\"ltr\"}],\"wysiwyg\":[{\"type\":\"heading2\",\"text\":\"See how AgentControl can work with your own agents \",\"spans\":[{\"start\":0,\"end\":51,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"AgentControl is available now. Want to put runtime control around the agents you're shipping? Request a personalized demo, and we'll show you how to configure, guard, observe, and optimize your agents in production so you're handling problems before customers ever feel them, instead of waking up to a 2 a.m. page.\",\"spans\":[{\"start\":77,\"end\":83,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"heading3\",\"text\":\"Request an AgentControl demo\",\"spans\":[{\"start\":0,\"end\":28,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/request-a-demo/\",\"target\":\"_self\"}},{\"start\":0,\"end\":28,\"type\":\"strong\"}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$719af5f1-a202-443e-90b9-f8b4489fb403\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"Speed isn't the risk. Lack of control is.\",\"spans\":[],\"direction\":\"ltr\"}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"Why controlling code and agents in the AI era matters—and why we built AgentControl.\",\"spans\":[],\"direction\":\"ltr\"}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":1920,\"height\":1080},\"alt\":\"Screenshot of the Control Panel discussion with Edith Harbaugh, Cameron Etezadi, and Marek Poliks from LaunchDarkly\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/aim9LgeQX7-eXL_3_Blog_06-26_ControlPanelRecap_HeroImage_1920x1080.png?auto=format,compress\",\"id\":\"aim9LgeQX7-eXL_3\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}}}},{\"id\":\"agjEChEAACcAq2f0\",\"uid\":\"the-next-era-of-software-needs-runtime-control\",\"url\":\"/blog/the-next-era-of-software-needs-runtime-control/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22agjEChEAACcAq2f0%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2026-05-18T16:13:48+0000\",\"last_publication_date\":\"2026-09-04T17:50:17+0000\",\"slugs\":[\"the-next-era-of-software-needs-runtime-control\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"The next era of software needs runtime control\",\"spans\":[],\"direction\":\"ltr\"}],\"author\":{\"id\":\"X2ucBhEAACEArlpv\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"edith-harbaugh\",\"first_publication_date\":\"2020-09-23T19:03:37+0000\",\"last_publication_date\":\"2023-02-21T16:07:12+0000\",\"uid\":\"edithharbaugh\",\"url\":\"/blog/author/edithharbaugh/\",\"link_type\":\"Document\",\"key\":\"414828de-a328-4f4d-ac95-b6df6bcaa7bf\",\"isBroken\":false},\"timestamp\":null,\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"apmjDhIAACwAiPJB\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"runtime-control\",\"first_publication_date\":\"2026-09-03T16:41:23+0000\",\"last_publication_date\":\"2026-09-04T17:33:07+0000\",\"uid\":\"runtime-control\",\"url\":\"/blog/category/runtime-control/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"Runtime Control\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"64e056b2-7f7e-4f99-9358-1f0d872315a7\",\"isBroken\":false}},{\"category\":{\"id\":\"X2u4kxEAACAArtwf\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"product-updates\",\"first_publication_date\":\"2020-09-23T21:05:26+0000\",\"last_publication_date\":\"2024-07-02T17:56:11+0000\",\"uid\":\"product-updates\",\"url\":\"/blog/category/product-updates/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"Product Updates\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"af16d8a6-7ab4-44b8-99f9-fefcef854970\",\"isBroken\":false}},{\"category\":{\"id\":\"apmi3hIAACkAiPHQ\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-agents\",\"first_publication_date\":\"2026-09-03T16:40:35+0000\",\"last_publication_date\":\"2026-09-04T17:32:49+0000\",\"uid\":\"ai-agents\",\"url\":\"/blog/category/ai-agents/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI Agents\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"39c37747-da4c-4fe7-a965-926846e8234e\",\"isBroken\":false}},{\"category\":{\"id\":\"apmibBIAACoAiPDR\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-generated-code\",\"first_publication_date\":\"2026-09-03T16:38:38+0000\",\"last_publication_date\":\"2026-09-04T17:33:32+0000\",\"uid\":\"ai-generated-code\",\"url\":\"/blog/category/ai-generated-code/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI-Generated Code\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"49b3eb56-debf-457c-b1b8-c2d5fbdc9496\",\"isBroken\":false}}],\"excerpt\":[],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":3000,\"height\":1688},\"alt\":\"Featured image for \\\"The Next Era of Software Needs Runtime Control\\\"\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/ags6OKYofJOwHVw2_Blog_05-26_ExecPost1-Edith_HeroImage_1920x1080.png?auto=format,compress\u0026rect=0,0,1919,1080\u0026w=3000\u0026h=1688\",\"id\":\"ags6OKYofJOwHVw2\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"id\":\"agNzzREAACcAo1rt\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"introducing-agentcontrol\",\"first_publication_date\":\"2026-05-12T18:45:48+0000\",\"last_publication_date\":\"2026-09-04T17:50:49+0000\",\"uid\":\"introducing-agentcontrol\",\"url\":\"/blog/introducing-agentcontrol/\",\"link_type\":\"Document\",\"key\":\"6c34b57f-1ffb-43a9-a8f1-36cf366d5c05\",\"isBroken\":false}},{\"post\":{\"id\":\"agjB4BEAACkAq2TD\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"agent-optimization-discover-better-agent-configurations-automatically\",\"first_publication_date\":\"2026-05-18T17:34:01+0000\",\"last_publication_date\":\"2026-09-04T17:49:37+0000\",\"uid\":\"agentcontrol-agent-optimization\",\"url\":\"/blog/agentcontrol-agent-optimization/\",\"link_type\":\"Document\",\"key\":\"adf98b01-e3d7-4909-bc34-5b840bfd75d9\",\"isBroken\":false}},{\"post\":{\"id\":\"agjAbxEAACkAq2Kf\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"adaptive-triggers-ai-that-corrects-itself-in-production\",\"first_publication_date\":\"2026-05-18T17:35:43+0000\",\"last_publication_date\":\"2026-09-04T17:48:09+0000\",\"uid\":\"agentcontrol-adaptive-triggers\",\"url\":\"/blog/agentcontrol-adaptive-triggers/\",\"link_type\":\"Document\",\"key\":\"46a1822b-2c69-45fb-b327-074fee253904\",\"isBroken\":false}}],\"video_id\":[],\"video_type\":\"Wistia\",\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Today is an important day for LaunchDarkly and our customers: We’re launching AgentControl, a new solution that helps teams control not just code in production, as we have for over a decade, but also the AI agents acting on their behalf.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"AgentControl gives teams one place to configure, evaluate, observe, and control agents in production, without building or stitching together separate tools.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"This is more than a new product for us. It reflects a broader shift in how software is built, released, and improved in this era of AI, and how LaunchDarkly is evolving to support you into the future.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Why we started LaunchDarkly\",\"spans\":[{\"start\":0,\"end\":27,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"I cofounded LaunchDarkly in 2014 to solve a problem I’d experienced firsthand. As an engineering manager and product manager, I’d felt the pain of bad releases, software that missed the mark, and customers left angry or disappointed. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"We built LaunchDarkly to help teams separate deployment from release so they could roll out changes safely, measure impact, and iterate quickly. It was the tool I wanted, not just to de-risk releases, but to ensure the right functionality reached the right users at the right time.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Over the past decade, we’ve helped thousands of customers move from infrequent, high-risk, all-or-nothing releases to continuous delivery. Today, software teams can ship in minutes, learn in real time, and improve continuously with confidence and control.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"That core idea of reducing risk and speeding up the cycle from idea to production hasn’t changed. But AI has fundamentally changed and accelerated software development.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"AI has introduced new challenges\",\"spans\":[{\"start\":0,\"end\":32,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Everything is moving faster—faster than teams can manually review, validate, and control.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"In 2024, LaunchDarkly introduced guarded releases to help teams deal with the increase of AI-built code. By tying releases to critical metrics, guarded releases gave teams automated runtime control for code, with the system detecting issues in production and automatically taking action before customers were impacted or teams needed to intervene. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"That was the first wave of change, but now we’re entering the second. Agents are being put to work in production at scale—from customer-facing experiences to back-end operations—making decisions, taking action, and evolving over time. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Agents don’t fail like traditional software. They drift. Models update, context shifts, and behavior changes without a single line of code changing. Pre-production controls can’t stop this, and the standard playbook—detect, fix, redeploy—breaks down for AI systems that never stop evolving.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"When agents behave, they’re incredibly powerful. When they misbehave, they create unacceptable risk. You can’t catch this before production. You have to control it in production.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"What we're launching\",\"spans\":[{\"start\":0,\"end\":20,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"AgentControl is our control plane for AI systems in production.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/platform/agent-control/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"With AgentControl, teams can define prompts, models, tools, and parameters as runtime-changeable AI configs—versioned and updated without redeploys. Teams can experiment and validate changes offline against their own datasets, then continuously evaluate live traffic in production for latency, cost, quality, and behavioral drift.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Those real-time signals can then trigger automated action through guarded releases: rerouting traffic, rolling back changes, adjusting configurations, or shutting down problematic behavior before customers are impacted.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Most AI tooling helps you observe and evaluate. AgentControl helps you ship and control, closing the loop from signal to action without waiting through a deploy cycle. And all of this runs on the same battle-hardened delivery infrastructure that powers 50 trillion evaluations a day for thousands of the world's largest and most innovative companies.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"AgentControl is already helping teams govern and scale agents, optimize AI spend and performance, and continuously experiment and improve in production, including our own teams here at LaunchDarkly.\",\"spans\":[{\"start\":38,\"end\":61,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/solutions/control-ai-agents/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"We believe this is the foundation for a new generation of software systems that can safely heal themselves and continuously optimize toward better outcomes.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Runtime control for code and agents\",\"spans\":[{\"start\":0,\"end\":35,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Runtime control for both code and agents helps teams move faster and safer, and fully realize the value from AI. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"In this new era, the best teams will stay in control, setting goals and guardrails while using agents that ship continuously, learn instantly, and adapt in real time. That’s the future we’re building toward.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"We’re incredibly grateful to be building alongside you, and can’t wait to see what you create.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Please join us at our launch event on June 11 at 10 a.m. PT to learn more about AgentControl and check out our updated website—we’ve put a little more color into LaunchDarkly!\",\"spans\":[{\"start\":7,\"end\":34,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/webinars/controlling-code-and-agents-in-the-ai-era\",\"target\":\"_self\"}},{\"start\":119,\"end\":126,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://www.launchdarkly.com\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$11282aec-5716-465b-9eff-540533e0e1b5\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"The next era of software needs runtime control\",\"spans\":[],\"direction\":\"ltr\"}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"Today we’re launching AgentControl, a new solution that helps teams control not just code in production, as we have for over a decade, but also the AI agents acting on their behalf.\",\"spans\":[],\"direction\":\"ltr\"}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":1920,\"height\":1080},\"alt\":\"Featured image for \\\"The Next Era of Software Needs Runtime Control\\\"\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/ags6OKYofJOwHVw2_Blog_05-26_ExecPost1-Edith_HeroImage_1920x1080.png?auto=format,compress\",\"id\":\"ags6OKYofJOwHVw2\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}}}},{\"id\":\"ZxvUoREAACAAs1PF\",\"uid\":\"genai-transforming-software-development-lifecycle\",\"url\":\"/blog/genai-transforming-software-development-lifecycle/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22ZxvUoREAACAAs1PF%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2024-10-25T17:26:42+0000\",\"last_publication_date\":\"2026-09-04T18:15:15+0000\",\"slugs\":[\"part-2-how-is-genai-transforming-the-software-development-lifecycle\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"Part 2: How Is GenAI Transforming the Software Development Lifecycle? \",\"spans\":[],\"direction\":\"ltr\"}],\"author\":{\"id\":\"ZVVXXhAAAIQ5r0-4\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"steve-zegalia\",\"first_publication_date\":\"2023-11-15T23:42:29+0000\",\"last_publication_date\":\"2023-11-15T23:42:29+0000\",\"uid\":\"steve-zegalia\",\"url\":\"/blog/author/steve-zegalia/\",\"link_type\":\"Document\",\"key\":\"28b59d80-37a2-44c9-8238-81ebfc6a5fd4\",\"isBroken\":false},\"timestamp\":null,\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"apmibBIAACoAiPDR\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-generated-code\",\"first_publication_date\":\"2026-09-03T16:38:38+0000\",\"last_publication_date\":\"2026-09-04T17:33:32+0000\",\"uid\":\"ai-generated-code\",\"url\":\"/blog/category/ai-generated-code/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI-Generated Code\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"79cbc227-d878-42a8-b4cb-b55bfe5b34f3\",\"isBroken\":false}},{\"category\":{\"id\":\"ZWZWcRAAACAAgbM9\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"targeted-experiences\",\"first_publication_date\":\"2023-11-28T21:07:32+0000\",\"last_publication_date\":\"2024-07-02T17:46:07+0000\",\"uid\":\"targeted-experiences\",\"url\":\"/blog/category/targeted-experiences/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"Targeted experiences\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"9820e1a2-c4ce-46a3-abca-c73a7c066ceb\",\"isBroken\":false}},{\"category\":{\"id\":\"ZWZWmRAAACEAgbPz\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"product-experimentation\",\"first_publication_date\":\"2023-11-28T21:08:06+0000\",\"last_publication_date\":\"2024-07-02T17:46:43+0000\",\"uid\":\"product-experimentation\",\"url\":\"/blog/category/product-experimentation/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"Product experimentation\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"6044a522-5ea3-4b0e-9732-03204d20811a\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"In this four-part blog series, we’ll cover how GenAI is transforming software delivery, the new challenges it introduces, and how LaunchDarkly can help teams build and deliver new GenAI features within a matter of hours, not weeks. \",\"spans\":[{\"start\":0,\"end\":232,\"type\":\"em\"}],\"direction\":\"ltr\"}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":3000,\"height\":1689},\"alt\":\"How Is GenAI Transforming the Software Development Lifecycle? \",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/ZxvUj4F3NbkBYC3W_24-10-AI-Part2-HowIsGenAITransformingtheSoftwareDevelopmentLifecycle_.png?auto=format,compress\u0026rect=0,0,4000,2252\u0026w=3000\u0026h=1689\",\"id\":\"ZxvUj4F3NbkBYC3W\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"id\":\"ZwQaghIAACUAfuVY\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"part-1-keeping-up-with-the-pace-of-genai-innovation\",\"first_publication_date\":\"2024-10-07T17:44:27+0000\",\"last_publication_date\":\"2026-09-04T18:16:01+0000\",\"uid\":\"pace-of-gen-ai-innovation\",\"url\":\"/blog/pace-of-gen-ai-innovation/\",\"link_type\":\"Document\",\"key\":\"d76cf51c-65f4-4396-aad8-299473f3c65d\",\"isBroken\":false}},{\"post\":{\"id\":\"ZXdTGRAAACAAFTGy\",\"type\":\"blog_post\",\"tags\":[\"AWS\",\"GenAI\",\"AI\",\"Amazon Bedrock\",\"feature flags\"],\"lang\":\"en-us\",\"slug\":\"ai-development-with-launchdarkly-release-measure-and-iterate\",\"first_publication_date\":\"2023-12-11T19:05:39+0000\",\"last_publication_date\":\"2026-09-04T18:21:31+0000\",\"uid\":\"ai-development-with-launchdarkly\",\"url\":\"/blog/ai-development-with-launchdarkly/\",\"link_type\":\"Document\",\"key\":\"2b373c6c-9b37-4129-92a1-b06e7d71dfb8\",\"isBroken\":false}},{\"post\":{\"id\":\"Zms5AxIAACAAG3nw\",\"type\":\"blog_post\",\"tags\":[\"ML\",\"artificial intelligence\",\"GenAI\",\"Machine Learning\",\"AI\"],\"lang\":\"en-us\",\"slug\":\"introducing-ai-model-and-ai-prompt-flags-ga\",\"first_publication_date\":\"2024-06-13T21:59:33+0000\",\"last_publication_date\":\"2026-09-04T18:20:11+0000\",\"uid\":\"introducing-ai-model--ai-prompt-flags\",\"url\":\"/blog/introducing-ai-model--ai-prompt-flags/\",\"link_type\":\"Document\",\"key\":\"81eaa607-dda1-487d-ada4-09c587025238\",\"isBroken\":false}}],\"video_id\":[],\"video_type\":\"Wistia\",\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"In this four-part blog series (see part one here), we’ll cover how GenAI is transforming software delivery, the new challenges it introduces, and how LaunchDarkly can help teams build and deliver new GenAI features within a matter of hours, not weeks.\",\"spans\":[{\"start\":0,\"end\":251,\"type\":\"em\"},{\"start\":31,\"end\":48,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/pace-of-gen-ai-innovation/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$9209906c-7a3d-42cf-8b1c-1c709474311a\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"As we noted in the previous post in this series, businesses of all types are rapidly increasing the rate at which they’re building GenAI features or net-new products. But building GenAI features comes with a new set of considerations and challenges, from non-deterministic outputs to a rapidly shifting model landscape. First, let’s take a look at some of the main ways that building with GenAI differs from the traditional software development lifecycle (SDLC):\",\"spans\":[{\"start\":19,\"end\":32,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/pace-of-gen-ai-innovation/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$fa14f008-4076-4df4-9398-8df8588a86d0\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[{\"type\":\"paragraph\",\"text\":\"Planning\",\"spans\":[],\"direction\":\"ltr\"}],\"wysiwyg\":[{\"type\":\"heading3\",\"text\":\"Planning\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The simplest way to distinguish between GenAI and ‘Traditional’ software is that the latter operates on deterministic principles—inputs are predefined, and outputs are predictable. With GenAI, developers are building systems that deliver non-deterministic interactions to users. User input and the resulting output can vary widely, creating challenges when it comes to ensuring consistency and safety.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$b12b76c7-cdb7-46f5-8fac-f5e09476229a\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"One of the biggest challenges for AI engineers is designing guardrails around these non-deterministic interactions.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"simple_quote$59c76a24-55d8-4723-b017-e62f8b4e9721\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Non-deterministic interactions are a feature, not a bug. But one of the biggest challenges for AI engineers is designing guardrails around these non-deterministic interactions. AI engineers must find ways to narrow and shape the creative output of large language models (LLMs) into predictable, controlled responses while still retaining the natural and human-like flexibility that users expect from these models. That means finding the optimal model configuration, paired with the right prompts to generate a desired outcome—repeatedly, and at scale. Striking this balance is crucial to minimize the likelihood of hallucinations—incorrect or misleading outputs—without overly constraining the models’ creative capabilities.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$c7b94b72-1cf4-493a-b4cd-2f6afea6154a\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[{\"type\":\"paragraph\",\"text\":\"Design\",\"spans\":[],\"direction\":\"ltr\"}],\"wysiwyg\":[{\"type\":\"heading3\",\"text\":\"Design\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"New models and strategies are redefining the state of the art of building GenAI software on a regular basis, so teams need to optimize for architecture patterns capable of including new model configurations, prompt strategies, and augmentation strategies. \",\"spans\":[{\"start\":208,\"end\":225,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/solutions/enterprise-prompt-management-tools/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Should AI engineers attempt to build custom models tailored specifically for their domain, or utilize Retrieval-Augmented Generation (RAG) to improve their LLM performance by retrieving relevant data from external sources? Both approaches have pros and cons, but developers need to be mindful of the trade-offs. Custom models may offer better alignment with specific business needs, but RAG may offer more agility by pulling in real-time, updated information.\",\"spans\":[{\"start\":94,\"end\":139,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/llm-rag-tutorial/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$65481674-331b-43a9-af33-9343e69a226f\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[{\"type\":\"paragraph\",\"text\":\"Implementation\",\"spans\":[],\"direction\":\"ltr\"}],\"wysiwyg\":[{\"type\":\"heading3\",\"text\":\"Implementation\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Iterating on prompts and adjusting model configurations can also become a manual, time-intensive process. In traditional software development, iterating involves code changes, redeployment, and testing. In GenAI development, this work is compounded by the need for constant tweaking of model configurations and prompts, increasing the friction around implementing new and updated features. In addition, the need for continuous improvement and adjustment of GenAI software makes the testing, deployment, and maintenance phases more compressed and cyclical than with traditional software. \",\"spans\":[{\"start\":0,\"end\":20,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/prompt-versioning-and-management/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$86d744ee-679b-46a7-954c-43efb3082352\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[{\"type\":\"paragraph\",\"text\":\"Testing\",\"spans\":[],\"direction\":\"ltr\"}],\"wysiwyg\":[{\"type\":\"heading3\",\"text\":\"Testing\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"In the traditional SDLC, testing is mostly deterministic—you can verify that a system is working as expected by defining a repeatable set of inputs or scenarios and validating that the expected (deterministic) output is returned. But GenAI introduces a new dimension to testing. Developers are not only testing for technical performance (e.g., response times, system load) but also for subjective measures like tone, helpfulness, and scope of knowledge.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$1eaa6d26-6406-454e-9cdf-a8266689d6e5\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"Developers now need to test for how ‘natural’ the output feels, how aligned it is with brand, and whether it provides helpful or relevant information to the user. \",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"simple_quote$d0079ecf-1e8d-4e64-92f1-31cee74cb80f\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"How do you measure whether a chatbot has the right mix of friendliness and expertise? With GenAI, testing becomes both an art and a science. Developers now need to test for how ‘natural’ the output feels, how aligned it is with the company’s brand and values, and whether it provides relevant information to the user. These metrics are inherently less objective, adding complexity to the testing phase. Tools that specialize in testing for these subjective qualities are still evolving, leaving development teams to rely on manual processes or semi-automated solutions.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$da59d48d-65b7-47fc-8ac7-8f5318f8d2fc\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[{\"type\":\"paragraph\",\"text\":\"Deploy\",\"spans\":[],\"direction\":\"ltr\"}],\"wysiwyg\":[{\"type\":\"heading3\",\"text\":\"Deployment \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Non-deterministic output can introduce new and dangerous user experience risks. The failure state of a chatbot gone awry has the potential to create an even worse user experience than ‘traditional’ software failing to return a deterministic output. Developers need to plan for scenarios where things could go wrong, incorporating fallback mechanisms to ensure that non-deterministic output is both accurate and relevant to users’ needs.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$1b5c5da5-280c-46ae-a80c-1896ed67c3f5\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[{\"type\":\"paragraph\",\"text\":\"Maintain\",\"spans\":[],\"direction\":\"ltr\"}],\"wysiwyg\":[{\"type\":\"heading3\",\"text\":\"Maintain \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"GenAI is also pushing the boundaries of traditional SDLC due to the rapid pace of innovation in the AI space. Over the past six months alone, numerous new models have emerged.Organizations must take steps to stay current, often struggling to properly optimize and evaluate models before the next ones are released. The rate of change with GenAI means that teams may need to update their models and prompt strategies regularly to keep up with the competition.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$45adde3f-b494-48cd-a02d-0c793e51a712\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[{\"type\":\"paragraph\",\"text\":\"Conclusion\",\"spans\":[],\"direction\":\"ltr\"}],\"wysiwyg\":[{\"type\":\"heading2\",\"text\":\"Conclusion\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"We’ve covered several ways that GenAI introduces new challenges into the traditional software development lifecycle. So what’s the best solution? The same principles of control and safety that make feature management a foundational best practice for high-velocity ‘traditional’ engineering teams also make it a best practice for teams building GenAI features. GenAI teams can use feature management to: \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Reduce the friction associated with the new GenAI SDLC by controlling prompt and model configurations using feature flags\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Safeguard the end-user experience by making it possible to roll back to a safe state without redeploying if an issue occurs\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Reduce the opportunity cost of testing and upgrading to a new model or strategy by making it easier to switch to new configurations\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Experimenting with different model and prompt configurations to understand how to optimize the user experience and understand the business impact of new changes \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"GenAI has created a paradigm shift in software development. Teams building AI applications must now account for non-determinism, which requires rethinking everything from how we test software to how we deploy it. As technological change accelerates, development teams will need to stay agile, embrace new testing and deployment methods, and find innovative ways to balance creativity with control. The fundamental principles of feature management will be critical for teams looking to deliver high-quality GenAI features quickly and safely, and LaunchDarkly is excited to support GenAI builders with upcoming features to support the new GenAI software development lifecycle.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$4aafa436-f6af-435f-9816-0eb1ca7bfd6a\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"In our next blog post, we’ll walk through some best practices for taking new models and prompt strategies to production using LaunchDarkly. In the meantime, try out LaunchDarkly’s AI model flags and AI prompt flags to keep up with the pace of AI innovation by introducing new models, prompts, and configurations at runtime, and rollback instantly in case there’s an issue. \",\"spans\":[{\"start\":0,\"end\":374,\"type\":\"em\"},{\"start\":180,\"end\":194,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://docs.launchdarkly.com/home/flag-templates/ai-model-flags\",\"target\":\"_blank\"}},{\"start\":199,\"end\":214,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://docs.launchdarkly.com/home/flag-templates/ai-prompt-flags\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"}]},\"items\":[],\"id\":\"wysiwyg$ce71cc3f-a592-4e57-8d84-e3c0fd587f11\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"GenAI is Transforming the Software Development Lifecycle | LaunchDarkly\",\"spans\":[],\"direction\":\"ltr\"}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"Discover how GenAI is transforming the Software Development Lifecycle! Learn how LaunchDarkly helps teams deliver AI features faster while tackling unique challenges.\",\"spans\":[],\"direction\":\"ltr\"}],\"schema\":[],\"open_graph_image\":{}}},{\"id\":\"ZkfWbRAAACEATRl_\",\"uid\":\"github-copilot-integration-ai-powered-feature-management\",\"url\":\"/blog/github-copilot-integration-ai-powered-feature-management/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22ZkfWbRAAACEATRl_%22%29+%5D%5D\",\"tags\":[\"AI\",\"GenAI\",\"GitHub Copilot\"],\"first_publication_date\":\"2024-05-20T18:29:18+0000\",\"last_publication_date\":\"2026-09-04T18:20:37+0000\",\"slugs\":[\"announcing-new-launchdarkly-extensions-for-github-copilot-ai-powered-feature-management\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"Announcing New LaunchDarkly Extensions for GitHub Copilot: AI-Powered Feature Management\",\"spans\":[]}],\"author\":{\"id\":\"ZVVXXhAAAIQ5r0-4\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"steve-zegalia\",\"first_publication_date\":\"2023-11-15T23:42:29+0000\",\"last_publication_date\":\"2023-11-15T23:42:29+0000\",\"uid\":\"steve-zegalia\",\"url\":\"/blog/author/steve-zegalia/\",\"link_type\":\"Document\",\"key\":\"d959511e-7a20-4f8d-898e-2b845c6cb270\",\"isBroken\":false},\"timestamp\":\"2024-05-21T07:00:00+0000\",\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"apmibBIAACoAiPDR\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-generated-code\",\"first_publication_date\":\"2026-09-03T16:38:38+0000\",\"last_publication_date\":\"2026-09-04T17:33:32+0000\",\"uid\":\"ai-generated-code\",\"url\":\"/blog/category/ai-generated-code/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI-Generated Code\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"2f573934-d404-4fa1-9443-fe571725c40f\",\"isBroken\":false}}],\"excerpt\":[],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":3000,\"height\":1736},\"alt\":\"LaunchDarkly GitHubt Copilot integration blog post featured image\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/ZkfWqSol0Zci9Qbi_GLXY24launch-Copilot.png?auto=compress,format\u0026rect=0,0,3999,2314\u0026w=3000\u0026h=1736\",\"id\":\"ZkfWqSol0Zci9Qbi\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":0.7502160760587727,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"id\":\"ZXdTGRAAACAAFTGy\",\"type\":\"blog_post\",\"tags\":[\"AWS\",\"GenAI\",\"AI\",\"Amazon Bedrock\",\"feature flags\"],\"lang\":\"en-us\",\"slug\":\"ai-development-with-launchdarkly-release-measure-and-iterate\",\"first_publication_date\":\"2023-12-11T19:05:39+0000\",\"last_publication_date\":\"2026-09-04T18:21:31+0000\",\"uid\":\"ai-development-with-launchdarkly\",\"url\":\"/blog/ai-development-with-launchdarkly/\",\"link_type\":\"Document\",\"key\":\"5f2fd4de-6c05-4cd6-9b6b-b7740805eed3\",\"isBroken\":false}},{\"post\":{\"id\":\"ZkVQwBMAACAAcf3E\",\"type\":\"blog_post\",\"tags\":[\"product updates\"],\"lang\":\"en-us\",\"slug\":\"the-launchdarkly-cli-stay-in-developer-flow-state\",\"first_publication_date\":\"2024-05-16T17:08:56+0000\",\"last_publication_date\":\"2026-07-27T19:55:56+0000\",\"uid\":\"introducing-launchdarkly-cli\",\"url\":\"/blog/introducing-launchdarkly-cli/\",\"link_type\":\"Document\",\"key\":\"82032af3-83ed-4c80-9642-b7009d5053aa\",\"isBroken\":false}},{\"post\":{\"id\":\"ZjA0SxAAACIAdWti\",\"type\":\"blog_post\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"meet-the-new-and-improved-launchdarkly-experience\",\"first_publication_date\":\"2024-05-15T15:35:15+0000\",\"last_publication_date\":\"2024-05-15T18:30:36+0000\",\"uid\":\"new-and-improved-launchdarkly-platform-experience\",\"url\":\"/blog/new-and-improved-launchdarkly-platform-experience/\",\"link_type\":\"Document\",\"key\":\"eeec22d1-1707-4554-8b81-cc0d477e2256\",\"isBroken\":false}}],\"video_id\":[],\"video_type\":\"Wistia\",\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"At LaunchDarkly, we try to make developer workflows tied to feature management feel seamless. Recently, we’ve been thinking of ways to use AI to remove friction points from common tasks associated with feature management. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"To do that, we’re proud to announce two new versions of a LaunchDarkly extension for GitHub Copilot (you can also read more about the announcement on the GitHub blog): \",\"spans\":[{\"start\":114,\"end\":165,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://github.blog/2024-05-21-introducing-github-copilot-extensions\"}}]},{\"type\":\"list-item\",\"text\":\"The LaunchDarkly extension for GitHub Copilot on Visual Studio Marketplace to help developers interact with Copilot to manage the feature flag lifecycle. \",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"The LaunchDarkly extension for GitHub Copilot on GitHub Marketplace (Limited Public Beta) to help developers get answers from Copilot about LaunchDarkly documentation. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Here’s what you can do with the two extensions. \",\"spans\":[]},{\"type\":\"heading2\",\"text\":\"The LaunchDarkly Extension for GitHub Copilot on Visual Studio Marketplace\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"The LaunchDarkly VS Code extension is one of our most popular integrations—it allows users of the most popular IDE to bring feature management right into their development environment, with features like the ability to create boolean flags, flag commands to manage your flags, and a whole host of other features designed to improve your developer experience. But what if you could talk to Copilot to use AI to help manage the feature flag lifecycle? \",\"spans\":[{\"start\":4,\"end\":34,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://marketplace.visualstudio.com/items?itemName=LaunchDarklyOfficial.launchdarkly#create-boolean-flag\"}},{\"start\":219,\"end\":239,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://marketplace.visualstudio.com/items?itemName=LaunchDarklyOfficial.launchdarkly#create-boolean-flag\"}},{\"start\":241,\"end\":275,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://marketplace.visualstudio.com/items?itemName=LaunchDarklyOfficial.launchdarkly#flag-actions-command\"}}]},{\"type\":\"paragraph\",\"text\":\"That’s exactly what you can do with the LaunchDarkly GitHub Copilot Extension for VS Code. With this extension, users of the LaunchDarkly VS Code Extension and GitHub VS Code Extension are now able to interact with Copilot inside VS Code to use powerful AI to automate some of the mental load and manual actions associated with more repeatable tasks in the management of a flag’s lifecycle. Here’s what you can do with the extension: \",\"spans\":[{\"start\":159,\"end\":184,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://vscode.github.com/\"}}]},{\"type\":\"heading3\",\"text\":\"Boolean flag creation\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"If you want to create a boolean flag without leaving your IDE, you can use existing LaunchDarkly VS Code extension commands in conjunction with GitHub Copilot to create a boolean flag. For example, by using the create flag slash command and telling Copilot ‘Create a flag called Integration Galaxy Launch’, Copilot will trigger a VS Code command to create a boolean flag with the requested associated information. \",\"spans\":[]},{\"type\":\"heading3\",\"text\":\"Flag summarization (coming soon)\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"If you notice an existing flag and want to return more information, either because you’re unfamiliar with the flag or because you don’t know its state, you can use GitHub Copilot to generate a user-friendly summarization of existing flags with information like: \",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"General flag overview\",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"SDK availability\",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"Variations\",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"Targeting\",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"Prerequisites\",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"Release Pipeline Data\",\"spans\":[]},{\"type\":\"heading3\",\"text\":\"Flag cleanup status\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Finally, if you want to archive a flag, but don’t know whether it’s safe to deprecate, you can use the integration to run a number of checks to ensure that the flag is safe to remove. GitHub Copilot will share a summary that includes information about dependent flags, release pipeline status, the flag’s status in critical environments, and other dependencies. \",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$0f3203e5-6516-4207-a22c-1c3b7f970233\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"image\":{\"dimensions\":{\"width\":1661,\"height\":809},\"alt\":\"The LaunchDarkly Extension for GitHub Copilot on Visual Studio Marketplace\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/ZkfYuiol0Zci9Qbq_image2.png?auto=compress,format\",\"id\":\"ZkfYuiol0Zci9Qbq\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"lightbox\":true,\"image_link\":{\"link_type\":\"Any\"}},\"items\":[{}],\"id\":\"image$cb719d27-a319-44fe-a636-fb6262af5cea\",\"slice_type\":\"image\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"heading3\",\"text\":\"Getting started with the extension\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"To use the extension, you will need the LaunchDarkly VS Code Extension and GitHub VS Code Extension. The extension is currently available in the Visual Studio Code Marketplace on the Insiders Build (Flag summarization via hover with the explain command is not yet available). \",\"spans\":[{\"start\":39,\"end\":70,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://docs.launchdarkly.com/integrations/vscode\"}},{\"start\":74,\"end\":99,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://vscode.github.com/\"}},{\"start\":183,\"end\":197,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://code.visualstudio.com/updates/v1_89\"}}]},{\"type\":\"heading2\",\"text\":\"The LaunchDarkly Extension for GitHub Copilot on GitHub Marketplace\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"One of the most common issues with any developer tool is finding answers in the documentation. Even with good documentation, it takes time to find what you’re looking for. That’s compounded if you have a question but don’t know exactly what to search for. What if you could ask GitHub Copilot questions about documentation and return a helpful and accurate summary? \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"The LaunchDarkly extension for GitHub Copilot, available in limited public beta on the GitHub Marketplace, is an integrated tool specifically designed to answer documentation questions for developers practicing feature management with LaunchDarkly. Developers can @launchdarkly-app in GitHub Copilot Chat to ask Copilot questions about LaunchDarkly documentation and get the answers needed to resolve development challenges swiftly, without losing focus on their current tasks. \",\"spans\":[{\"start\":264,\"end\":281,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"For example, you can ask GitHub Copilot questions like: \",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"“What is a boolean feature flag?”\",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"“How can I create a migration feature flag?”\",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"“How do I set up Code References?”\",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"“How do I find stale flags in my code?”\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Copilot will help find the answers and respond with a helpful answer pulled directly from our best practices and documentation corpus. \",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$3822c813-843a-43dc-b71f-6603ce4c065d\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"image\":{\"dimensions\":{\"width\":384,\"height\":413},\"alt\":\"Asking LaunchDarkly-GitHub Copilot questions image\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/ZkfY6Col0Zci9Qbr_image1.png?auto=compress,format\",\"id\":\"ZkfY6Col0Zci9Qbr\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"lightbox\":true,\"image_link\":{\"link_type\":\"Any\"}},\"items\":[{}],\"id\":\"image$9eaf5dbe-908c-476b-9053-305505e53e20\",\"slice_type\":\"image\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"heading3\",\"text\":\"Getting started with the LaunchDarkly Extension on GitHub Marketplace\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"The extension is currently in limited public beta. If you’re interested in learning more, please reach out to your LaunchDarkly account team, and we’ll be happy to provide you with more information on accessing the extension. \",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$a4e57702-4f4b-430c-811b-dd57edad79a0\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"GitHub Copilot Integration for Feature Flags\",\"spans\":[],\"direction\":\"ltr\"}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"LaunchDarkly's GitHub Copilot integration brings AI-powered feature management into your IDE. See how it automates flag creation and cleanup.\",\"spans\":[],\"direction\":\"ltr\"}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":4000,\"height\":2314},\"alt\":\"LaunchDarkly GitHubt Copilot integration blog post featured image\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/ZkfWqSol0Zci9Qbi_GLXY24launch-Copilot.png?auto=compress,format\",\"id\":\"ZkfWqSol0Zci9Qbi\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}}}},{\"id\":\"X5iVqBEAAB4Arhxl\",\"uid\":\"ai-and-machine-learning-in-test-automation\",\"url\":\"/blog/ai-and-machine-learning-in-test-automation/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22X5iVqBEAAB4Arhxl%22%29+%5D%5D\",\"tags\":[\"Machine Learning\",\"Test In Production\"],\"first_publication_date\":\"2020-12-03T21:14:20+0000\",\"last_publication_date\":\"2026-09-04T18:22:22+0000\",\"slugs\":[\"ai-and-machine-learning-in-test-automation\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"AI and Machine Learning in Test Automation\",\"spans\":[]}],\"author\":{\"id\":\"X2ujuBEAACIArn1H\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"matt-delaney\",\"first_publication_date\":\"2020-09-23T19:36:28+0000\",\"last_publication_date\":\"2024-09-16T21:43:53+0000\",\"uid\":\"mattdel\",\"url\":\"/blog/author/mattdel/\",\"link_type\":\"Document\",\"key\":\"97cb12e6-2daf-44f4-b770-bcd98aa0cdc5\",\"isBroken\":false},\"timestamp\":\"2020-05-28T00:00:00+0000\",\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"apmibBIAACoAiPDR\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-generated-code\",\"first_publication_date\":\"2026-09-03T16:38:38+0000\",\"last_publication_date\":\"2026-09-04T17:33:32+0000\",\"uid\":\"ai-generated-code\",\"url\":\"/blog/category/ai-generated-code/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"AI-Generated Code\",\"spans\":[],\"direction\":\"ltr\"}]},\"link_type\":\"Document\",\"key\":\"b42bd2a8-6225-4015-8285-887f2d87223d\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"\",\"spans\":[]}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":2000,\"height\":1125},\"alt\":\"AI and Machine Learning in Test Automation\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/MTFjODU5NDAtN2VkZS00ODg3LWJlM2ItODM3OWY2YWFhMWJh_2020_05_blog_tiponlinetestim1x.jpg?auto=compress,format\u0026rect=0,0,1920,1080\u0026w=2000\u0026h=1125\",\"id\":\"X5iV4REAACAArh6n\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1.0416666269302368,\"background\":\"#fff\"}},\"related_posts\":[{\"post\":{\"link_type\":\"Document\"}}],\"video_id\":[],\"video_type\":\"Wistia\",\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"On April 16, Oren Rubin, CEO and Founder of testim.io, spoke at our Test in Production Meetup on Twitch.\",\"spans\":[{\"start\":68,\"end\":103,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.meetup.com/Test-in-Production\"}}]},{\"type\":\"paragraph\",\"text\":\"Oren explained the differences between AI and automation, problems with existing test automation solutions, how AI/machine learning can be used to address software testing problems, and more.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Watch Oren's full talk.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$71828c4e-2ff7-42ee-b179-d85bd79323f4\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"video_type\":\"YouTube\",\"youtube_id\":[{\"type\":\"paragraph\",\"text\":\"PY7Dr_DtgcY\",\"spans\":[]}]},\"items\":[{}],\"id\":\"youtube_video$cd85a718-136d-46eb-8a82-038d4866cffc\",\"slice_type\":\"youtube_video\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"FULL TRANSCRIPT:\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Marvelous. Let me just get these set up correct, hello.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Hello.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Hello, welcome to Test in Production. Thank you so much for joining us. Today is April 16th, 2020. Our guest today is Oren Rubin, CEO and founder of Testim.io. Hello Rubin, Oren, thank you for joining us.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"},{\"start\":31,\"end\":49,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/testing-in-production-for-safety-and-sanity/\"}}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Hello my friend, happy to be here.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Thank you. You are going to be showing us how AI and machine learning can dramatically improve test automation, which I'm looking forward to hearing about. Those of us at LaunchDarkly who use it, we do all kinds of different testing, most notably A/B testing. But functional testing is rather different to that, so before we get started can you tell us a little bit about functional testing.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Yes, sure, of course. There's different type of testing, right. Someone can test... When you talk about the functionality, let's take a calculator, we want to make sure that the output is correct, means if I do one plus one the result will be two. Different types of other testing is, performance testing is does the answer two come fast enough. What load testing is, what happens if I have 2000 people doing it at the same time, how would that impact on that performance. There's accessibility, can someone that has some, wants to see it through some screenery there, will he understand where's the one and where's the two and get the result that two is shown. There's visual validation, so I want to make sure the number two is aligned to the right or aligned to the left, are all the buttons aligned, those are called visual validations.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Cool. So lots of different ways to make sure that this thing is working as designed and possibly even catching things that weren't explicitly designed.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yes, like different aspects of the application.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Cool. So yeah we do a fair amount of that LaunchDarkly and I believe you're going to go into things like the differences between different levels of testing and especially what I'm looking forward to, dealing with some of the brittleness that can happen in browser test automation.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"So let me switch over to the slide view and you can take it away.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Sure, awesome. I think that the first thing I want to make sure that everyone understands, and of course we talked about what is functional testing, but we want to talk and understand [inaudible 00:03:02] and [inaudible 00:03:05] why exactly, what part of my application am I testing. Unit test is just the basic, the most smallest unit and of course I can test a few units at the same time together and how they interact between each other. That's called integrations, test integration. And of course end to end it's called, it means I'm running everything at the same time. Sometimes people get that confused because when people think about end to end flow, sometimes they think about not just all the systems, the back end, the front end, the servers, everything up and running, but they sometimes think about, oh, I want to do a user story from start to end. So some people call that end to end as well.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"It mainly means that the entire system is up and running, but sometimes, as I said, some people think that end to end means the entire user story. The user logs in, add to cart, but mostly an end to end is everything out there. And the [inaudible 00:04:10] actually gives you just good and bad in every, pros and cons in every one of those approaches.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"The unit it means there's a lot of units, that means you have to do, to get a lot of coverage you have to go over basically every unit and write a test for it. So it takes a long time to have the full coverage and also to have a lot of confidence because you can be doing a place where two units work by themselves but together they don't integrate well. And try to think all the different types of integration between all different units is hard, especially if you're someone designing something well, then too many units know about each other, you have to check them together. So, that makes it much hard.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"And end to end it has on the one hand the pros of course, higher coverage, you can check Gmail, like sending an email, getting and make sure that you got it. That can take you, write a test very easily, like in the same day you'll have 30% code coverage for Gmail. But on the other hand it's slower, you don't know exactly what was wrong, was it the back end, was it the front end, so you need a lot more tools for a [inaudible 00:05:22] analysis. So people tend actually to have a mix of both.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"I love showing the difference between unit test, which is something can work great by itself but you want to make it the whole, so if you google the unit test versus integration test you'll see a hundred of those in different types of examples like those.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"And one last thing before we get started is understand where end to end actually work with your functional test, where can you run. People think you can only run it before production and say oh, no, that's the QA, that's another team. But end to end test there's no reason why not run it before production of course and after releasing the production. You can use that piece, some people will use that actually to synthetic monitoring, to make sure you run it every minute or in five minutes on your production just to make sure that you're all safe. That's in addition to all the APM tools. Usually they even provide those capabilities of running end to end test and then again, they're slower but it mimics a real, more like a real users.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"One thing that I would note, you should note is if it's just your test, try to think about analytics and how you affect that in production, so how do you make sure that you can disable analytics so it won't interfere with your real data, because people are... There's other people that might depend on analytics to decide where you're going, so you want to make sure it doesn't affect that.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So as I said, people run different tests and combinations. Sometimes to run it depends on the location [inaudible 00:07:18] timing, so on every commit you can do that five times an hour, so when I have very short, fast test, usually unit test, you can do, before you merge you can do only test the front end side or only test the back end side depending on where your code is. You merge, you actually, as I said, you do some integration tests on several units, either in the front end, you mark all the servers, or vice versa, you just check the server. But before releasing you want to check with end to end and sometimes people even want to check different browsers.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"$46\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So people do want to chunk it up into small valuable pieces and I do believe that machines can help us in different levels and some they already did. So when I talk about, let's separate this between UI interactions and validations. Especially I'll talk more about visual validations even though there's different types of validation. I can validate that, when I said I'm going to use UI interaction to click one plus one, now I want to validate two is shown. I can validate the text, I can validate the network request, I can validate that the pixels are shown, the buttons are aligned, there's so many things I can validate. Today we'll focus more on the visual validation, show the challenges and of course where AI comes in.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So let's start with the user interactions. In order to show sometimes how hard this is I like to play a game. So is there anyone watching us now that's familiar with HTML, basic HTML or developers out there. If you do just raise your hand and let us know, be nice if you can guess. Going to show something that I want to perform, we'll take a very basic app and I want to ask some questions, like how would you, how do you choose when you want to, and to automate pressing a button. Instead of a human, we all might want to automate our tests and to run them automatically, so we want to have, oh, how can I find the play button.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"And it also explains I think throughout this why machines and doing that themselves and learning from humans without us instructing them how to do it, why's it harder. So the basic way of us is actually coding right now. So, but coding means that you have someone, you have to know the app, you have to think and why can a bot do that automatically for us. So, until now bots were kind of very simple but you have to program it to decide which property to use. So all the tools for test automation used to just have one property that you could choose, either whether CSS selectors or X path, they're basically very, very similar. They're both ways to query a graph.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"But the properties that you have are used in HTML, those are like an ID, class, text, whether there's a tag name or linking to somewhere. Those are the things that you can use. CSS selector and X path actually gives you find something inside something, but basically this is kind of like the attributes that you have.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So, what I like to say is, let's just say we always use the ID, why's it that's so simple. If there's an ID, let's choose that. And that's my question that I ask people and if someone knows, just tell me, that'd be great to hear your thoughts. When is using an ID, let say that sounds ideal, that's a unique identifier, why sometimes the next time I run it, it won't work? And I'll share a few of the things, like the reasons that I've seen that it shares, that it fails.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"$47\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So there's, that's another thing that can happen, someone changes the code, you fail. Another thing that I saw was actually if you look at the [inaudible 00:14:13] and you say it's the same ID, what can I find it. Sometimes there's a component inside of an iframe. So even finding an iframe, first you have to go, you have to switch to the right iframe. A lot of people have things like cached [inaudible 00:14:26] et cetera, so it's randomly generated over there and those can break your test very, very easily, very easily. So you need a, in order to find the iframe, that's again the same challenge. So it doesn't depend on you, it's someone else's application, like you're embedded in someone else's application.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"One of the weirdest things, not the weirdest but close, but I still see that. The standards doesn't, the standard says that you have to have one ID in a document, but a lot of people have more than one. I've seen that a lot and they just copy paste something and they forget and the browser don't enforce it, he doesn't not load the page because of that. The page still works. But most query end is just result, they said get element by ID, they return one, which is the first one. So in some places you'll get, you'll see your page and you're like, why am I getting another element, what's going on. It could be that you have the same ID twice. I've seen that so many times.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"This is the weirdest thing I ever saw. There were a few frameworks that were actually generating instead of, like want to do something on top of another, they had two bodies, the HTML had two bodies and actually they put them in a random order. So sometimes it works, sometimes it didn't work. I was like, what. There's like one ID here but why sometimes it doesn't work, and apparently it was looking at the first body, all the tools looking at usually at the first body, so you want to make sure you don't have something weird like that.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Those are the basics, what can make an ID, even though you didn't change anything, your test will break. [inaudible 00:16:15] for example is like, why not class. You said, okay not use ID, you have a reusable component, you can use a class, but classes are for styling. That means they will change, that means that tomorrow people make adjustment and finding it based on just property of the styling, that means that tomorrow if you change the image it might loo different and this is where people start having, oh I want the Nth [inaudible 00:16:43], I want the third one, and those actually tend to break as well because you're not relying on the third and CSS selectors, well until CSS four standard comes out, they've been talking about it for three years now, that you can find an element based on the content. Like instead of the third, can I find it based on that it says Miami next to it, and then click on the image.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So those things are not [inaudible 00:17:11] something you can do with X path, but people really love, especially developers, they know CSS locators, they love that. So that's kind of like annoying as well that you need to, why CSS classes also often break every time you change the design, and people change the UI all the time. That's the problem right now is that people are more agile, they want to release five times a day.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"All the other options, trust me on that, they're also super fragile. They all can tend to break and I think the conclusion here is that a single property is as for us humans, it's too fragile. But on the other hand we can't say, I want to look at 50 properties based on that, this is not something that humans could do, but this is something that computers can actually do very easily. And I want to show something, so and I think the first level by the way is using several locators, several properties and not just one. And I'll try to use an example here. Let's first, we need a test here. And so let's pick something. Yoz, are you with me here?\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yep.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: So I have a few questions for you my friend.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Go for it.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: So what I'm doing here and I want to show something, I want to show how using multi locator works and I'm going to, but before that I need to make a change to the application. The application is going to click this yellow button right here. I added a break in the middle, it's going to click the yellow button. What I want to do is change some of the properties so it's going to look different. So first, what's your favorite color?\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Let's go with red.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: With red, red is awesome. I like the fact that you're like thinking of like, wait a second, what's my favorite color.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: That's a difficult question.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oh, blue, no way.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: No, blue, ah.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Red is awesome. To change that and we can also change, I'll pick my favorite color's pinkish and I need some numbers. Can you give me a random number?\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: 84.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Sorry?\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: 84. Are we talking about...\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: I'll use the four, but here I can change the 84.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"And I'll change one of the classes as well, there's a number here so it's going to look different. What I did here is I change, and I'm going to resume the test, so it's going to look for that yellow button there, and what I wanted to show is that and ask is a human when something, when something changes we as humans we can still find the element. The question is, how do we do this. And I want to just look and say, if you look at all the properties that that element had, there's a lot of them. She's many of them. The fact that we changed the text, the fact that we changed one of the classes and the location, that's very mild changes. So you can even do, if you do a statistical analysis the computer's going to do that super, super fast.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"If you look at all, of course you can look at all the entire body and see all the different properties they have and comparing what you saw earlier, the DOM application earlier, a second ago, and the application now. You can say that in 74% match. So that means this is the confidence that we think that this is the same element, even though they don't look exactly the same, which is great. It means in this case we still had that step, that test passing. It says it's good enough. Of course, you want to have your own threshold, but it means that even though you changed things, that what you think is usually are going to break your test, now those things will not break you test. Your test will not break and won't be so brittle. Especially when you change thing in A/B testing, if you... And I hope that people are doing that. Sometimes you make some changes to an application, you don't want to start rewriting their entire test just because you made a small change to the way things look.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"$48\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"$49\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So I think until those three levels, like one, two and three, still would need some human help out. The third level is I think is connecting to production. I've seen so many times where someone was testing and they're not aware of what's going on in production. So I think that connecting to production gives you so many things. One, you can automatically generate the tests, and there's no reason that you'll think about, oh, well what's the test. You need to think about the bad path not the happy paths. Happy paths you'll have your users in production always running it. You should see what the users are doing, not only to generate the test but to understand coverage and I'm talking about user coverage, not just code coverage.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Code coverage is a way to know how many lines of code have been written, but all lines are equal and not all lines are equal because the login can happen millions of times a day and it's very critical for your business, changing the profile image, it's not the most critical. If that doesn't work, if you have time to run five tests, I would recommend doing the login, the add to cart, the checkout and the change profile image, do it later. If you have time to run them both or authoring both you should start with those which matter to the business first. This is what testing is. Testing is making sure that the product features that you set up are as expected. And of course as expected means that it's the best thing for the business.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So, what I think would be is that you can, if you have something that you can look about what's going on in production, just like you have Google analytics and think about other analytics, whether that's [inaudible 00:26:28] et cetera, you want to know what's going on. What are the user flows that people are doing and you can create those tests automatically. The fact that you're generating the test from viewing a lot of users actually means that it will be more stable because if they have a random generated ID, two different user might have different random IDs and the machines can learn automatically and say, no, no, that property ID I wouldn't use that for this case. It's different between different users, but the text is correct.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So that's something that I think would be super, super helpful, and again, looking at all information and millions of users within a day or two and creating all the tests for you, that's something AI can help and humans we suck at that. So I hope that's more understood.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz, by the way, any questions, or anyone out there? If you have any questions feel free not just to wait until the end, if you want to ask questions I'll be happy to answer.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yep, I'm keeping an eye on things and we have, actually we have some questions. I mean I recommend carry on with the slides for the moment and then we can field all the questions together at the end. I find it works best.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Okay, perfect, perfect. So let's talk about... Sorry, I was going backwards instead of forward. So visual validation again, so to those who haven't been in the beginning, let's take something very, very simple. I can actually show, can even show some examples of why a visual validation, why is it something worth doing. When you're just... I'll start with the drawbacks actually, it's slower, you're taking the screenshot, you need to pass millions of pixels every time and comparing them as opposed to just ask, oh what's the text here.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"So looking, if we're looking here we can see a few flaws that usually won't be found without visual validations. For example that the image is in the back and not in... You see the cowabunga there. The image is in the back, that's something that's going to be harder to find without visual validations. We take a screenshot, you can see how it's different, that's very easy. The size, I knew... I won't mention the name of the company but it start with S and an A after that, there's one more letter. But there was a bug that the entire application instead of being the width of a hundred, 1024, that was a few years back, that was the resolution back then, but the entire application rendered in 124, it's like very small, but all the tests passed. If you find using the DOM, all the tests passed.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So it does, size does matter apparently after all and another one, this is the flying pony tail, I think that's the Google bug. They had, I think they had it only for production, only for administrator [inaudible 00:29:57] flying pony going around and accidentally send it to everyone. Because when you're looking for a text and saying hey, does it show cowabunga, yes it shows it. But the question it doesn't answer, do you have anything else shown there. So those are kind of like the reasons for doing visual validations. The reason that people don't do that a lot is not just because it's slower, but because it was very unstable.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"$4a\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So you will have, you can't have it too loose. So there's a lot of things that happen, this is this real, real examples that we've seen that actually fail. There's a few others that cause fails, tests to fail. And I think that first level of course is very similar is this [inaudible 00:32:06] they can help you build. Instead of doing a lot of validations, take a screenshot once and that's it. And of course if you have things which has the random date, add in ignore region for that specific. But I think what AI helps is actually an understanding what a human would say, would a human say that this change is mild or unnoticeable, or would it say no, this human would fail it. And that's the nice thing that this is where we are, even right now. That there's things that can help you with reducing those flakiness.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"The next level is can you look across tests. Like if you're moving your logo from the left corner to the right corner, will it fail one test. In some cases it will fail a thousand tests. So the question is, do you want it to fail a thousand tests but tell you, look, I've looked at it, the computer can look at it and says it's one issue, it's the same issue. The login, the logo thumbnail, it should be on the left, now it's on the right. One issue, and the maintenance will not be, it won't take you two days to go over that, it'll take you five seconds to say, yeah, it's by design. It's not a bug, the designer decided it and approve that. And you'll learn out of that.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So looking across, just like with... The same thing of course as I said earlier with finding elements. You can understand, over there you can understand that there's a lot of tests failing but they all fail for the same place that an element wasn't available or clicked. So the same thing here can be done in level two here. So those would be [inaudible 00:33:53].\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"I think that next level of course is more based on, can we take what's going on in production and can generate the way we think that they should look. And by the way, when I say production, it doesn't have to be always production. It could be some people playing around with it locally, because as a developer you won't even pass it along before you even play with it yourself. So you can play with it yourself just a bit, but there could be something recording what you're doing and creating an automated test out of that. And you can add those type of visual validations. You probably want to play around with different resolutions, et cetera. It can learn and help create the test for you. It can also update it and of course give you coverage of whether that scenario was checked or not.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So those are the two that we said we'll focus on today. Finding elements and actually then validating. There's a few others and I guess in every aspect not just end to end you need to ask, can we create the unit test automatically from production. I think I can help out in different areas about risk management. We talked about that but it wasn't a big focus. I think the key focus that I want to infer today is that AI can and will improve more and more and more your tests, your authoring, how fast you author and how stable the tests are. It can help you validate better than ever and of course where we see it is the connection to production. If you are doing this right now, even writing the test manually, like coding them, [inaudible 00:35:45] whatever you're using to write the correct test. And also then run it, use it as your own, also your monitor. And monitor your critical flows there in productions. That were my critical things that I recommend people doing.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Thank you everyone.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Fantastic, thank you so much Oren. That was hugely informative, thank you.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"So we're going to take some questions from the audience now, we already have some. And if you're watching on the switch stream and you have questions or comments about test automation, about anything that Oren mentioned here then please post in the chat. We'll be taking them for the next 25 minutes or so.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So to start with, before I get to some of the questions that have already, we've already got a bunch of questions from the chat. But first of all, before I get to that I just want to ask, we probably have some people watching who are very interested in automating end to end tests to improve the quality of their apps. But they haven't really set up much of anything yet. So where's the best, or how is the best way to start to get the best bang for the buck?\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Do you mean whether to start with end to end or with uni-test or integration test?\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Any of that, yeah. I mean let's say you've got, I think this has happened to many of us who do web development, is that we have something that was a spike or side project, or something that we're just trying to get as fast as possible and didn't really bother with the tests. And now we've got something working that we have to maintain and going, oh God, I need test coverage on this.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: So my recommendation is to go top bottom. That means start with the end to end tests so you'll have biggest coverage as soon as possible because you want to have, if you don't have automation and automation that you trust then that means you have to test everything manually and that's... We all know that, people have bugs, so we all know that we need that safety net. And the more you add layer, the integrations, adjusting the front and not the back end, and again if you didn't write unit test, then write the unit test and that would give you, when something fails you'll know, okay, I know that this unit doesn't work and this function failed. End to end wouldn't give to you that right now, I think in the future it will but I think it's, you need a high coverage as soon as possible and then you want to have the safety net as soon as possible and then you want to have the drill down and when something fails you're making a small change, you want to know exactly what failed.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Right, so end to end is the fastest way to get just broad coverage that your happy path works.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Yes.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: And you can do that I suppose as you were demonstrating with a test recorder, is one of the easiest ways to do it. Just kind of click through the way you normally use the app.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Yeah, I think what changed now is AI. I think test recorders back then, a couple years back were so bad. I was personally, everyone knew me as the person that hated that and said, never use that, always code your test and they now like, oh, Oren, you've changed. And now I think they're stable, I think they're more stable than what a human would do. So it doesn't just save you time, they're more stable.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yeah, I definitely remember 10 years ago using Selenium test recorder and [inaudible 00:39:49] editing [inaudible 00:39:51] that it did. And it took a lot of work, as you're saying, this stuff can be useful but incredibly brittle. But you're talking also that then once you've got some end to end coverage, you want to go deeper into unit tests and component tests and things like that. We have one of the, some of the questions we've been getting from the chat. Johnny five is alive, apparently a short circuit fan, is basically saying where do unit tests and component tests fit in here? So where do you think the value is there?\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: The value, I do think that in the future AI can help with even unit tests because if you look at a flow, right now we're talking about from UI testing, it means you click on something and you're validating the expectations later. But actually when you think about it, when you click on something there's a function being called, another function or method inside, whether that's the client or the server, there are being code with some values and you get a response later and in most cases you get, is a function that returns some value. So even if you look at that and could see a lot of examples created out of that, you can create maybe in the future we'll see that unit test will be created automatically just by using your app once.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"So I know there's people who likes TDD and actually that means that you write a test first and then you implement based on that, that's great. I'm not saying to not do that by the way, just making sure. Just saying if you didn't, if you don't, for whatever reason there is, there's no reason that you wouldn't have, wouldn't like to have unit test later but of course it's going to take you a long time to do it later if you don't do it while you're building it all the time, then it will be huge and it will take you months. So if AI can help you with generating those unit tests, I think that would be great.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: But would you say that it's still worth, I mean let's say... At the moment we don't have AI for generating unit tests, what's the, how would you say it fits in at the moment in terms of, let's say you've got some end to end tests, is it still worth putting some effort into having component tests.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Yes, I really am a believer that you should have end to end. They're more... Any unit test, they're more complimentary, everyone helps in a different aspect, anyone can be used by others. For example your end to end text, maybe the manual testers can use that and help out writing more tests. Unit tests for example, I think that last year that would be probably develop for themselves writing and owning that component and ending all the tests for that specific component or I think you need both.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Right, yeah, It's certainly been useful for me when doing testing because unit tests and component tests tend to be much faster than end to end tests. And so if you're able-\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Oh, sorry. I think, I agree with you 100% and even go back just to say that, and I think that the unit test, you'd run them in different times. Every [inaudible 00:43:29] you can run it takes seconds, so let's run it. And the end to end test, because they're slow, something is much slower is something you're going to run it in a later stage.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yeah. And that's something I find incredibly useful is getting validation as fast as possible. You really want that, as they call it the inner loop of development to be as fast and tight as possible. And also the unit tests make for good documentation on themselves. They're good for describing how, what a function is actually meant to be doing.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Example, but you can still do it... I just want to put one note there for everyone, when you writes unit tests, still use it as a black box. Don't look inside of the inside implementation, if there's a function called add and gets two integers and returns another one, don't check that there's an internal state in the application somehow, because you can change the implementation but the units should still do the same thing.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yeah, you're testing the interface, the external interface, external behavior of the component.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Yeah.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: That's a really good point.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Can I give one more point?\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yes, please.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: And also even API testing, if you have a component, let's just say microservices, the fact that one service has tests for their own, just say a service that has their API tests, other components using [inaudible 00:45:02] services using that component or that service, they should have their own test of what do they think, what is the contract between them, what did they assume. So the fact that the even the service has their own unit test, or their own test, the ones using that can say, no, no, no, but this is [inaudible 00:45:22] I think it is and then when they change, when someone changes a service and their test as well because it goes together, it's the same place, you change that, you want to run the test of people that are dependent on you and how they see the contract, and that that contract is still fulfilled. S\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: So would this be by using mocks and spies. So you mock in something to act as the component being used and you want to make sure that it's receiving the method calls that it should be receiving.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: I'll give an example which I just saw a friend use and I like the example. He was giving a friend from [inaudible 00:46:07], he was showing an example on [inaudible 00:46:08] and told, okay, there's a third party library that you're using. I don't know, I think he used something for dates. And then he said, okay, me, when I'm running my test let's write an adaptive first of all, that's the interface between my application and the date, whether I'm using [inaudible 00:46:30] JS or another library there's API that I want to work with. And when I have that API that I want to work with, I can test my tests, my own tests with that... It could be mocked, I don't care because at that point this is the API, I can mock that.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"But on the other hand I can run additional tests which takes the library by itself and add and write tests for it. So that means that even if [inaudible 00:47:02] JS changes something that breaks, obviously when they change something they'll change their test and it'll work great, but now if you, you've updated and you have the new version of [inaudible 00:47:13] JS, but it doesn't find, it breaks your contract how do you use it, then you want to know about it and of course you want to have your own test that breaks because of that.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Right, right. So, yeah, that's very useful especially for catching issues with third party dependencies before they bite you. Many of us have been in the situation of casually updating a third party library because there's a new release and suddenly stuff gets broken and you don't realize until you deploy.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Exactly. And especially in unit tests, you wouldn't catch that because when you're doing unit tests you're not testing the [inaudible 00:47:56], you're not checking the external library. When you do end to end testing you will catch that. So either you, so the question is do you want to have two different types of unit tests, one that checks the external library, one that checks you and the contract between, and would you want to have an end to end. My answer, I think you should have a bit of both.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Right. So we had a couple of questions about the semantics of testing. So for example, Heidi was talking about when you were demonstrating how you can get the right element using AI to do a statistical analysis effectively on the different components, she said it's like you're testing with the gestalt rather than the specifics of the element. And Heidi, please correct me if I'm wrong on this one, so effectively what the component is actually for or what the, you're trying to find a way to describe the semantic meaning of the component that you're looking for. I mean the way that AI is doing it [inaudible 00:49:09], but I suppose this really comes in when you're talking about like TDD. In terms of how do you, and maybe it's two different things, please tell me, but how do you locate something that doesn't exist yet when you're writing a test.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: So let me example. There's TDD and BDD, so let's talk about first of all the differences, a bit of the differences and even show.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yes, please.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: First of all, it's something that you might want to want is one level in [inaudible 00:49:43] layer, business level. Clicking on stuff and user interactions, those are the implementation level. You do want to have both layers in a test. This is not a good test, a good test is if I select those steps here and let's group them all together and say this is the login. And select the other steps and again I'll do, I can like extract the function and say this is search. So this is the business level, this is where we're doing login and the search. And we should focus of course, a test should be written, and we didn't focus on that too much today about the test should be different levels.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"So if you're familiar with things like Cucumbers that actually forces you to work like that, first of all to write the high level implement, and then of course inside what is the implementation inside of it. How do you implement the login. And there's another thing which is something that also [inaudible 00:50:46] forces you as well, [inaudible 00:50:49] focus more, it's a design [inaudible 00:50:51] that focus more on [inaudible 00:50:53]. Here we're using delegations, kinetic functions. If you look at it as code you'll see that if something is just a function. So it's just a function, if there was a function called search, those are the business levels and there's the implementation inside of it of how do you [crosstalk 00:51:10].\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So this is kind of what I'm talking about BDD and also you can write the login before you can decide, oh, sorry. I wanted this thing and say checkout.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Could you zoom that window, because we're realizing it's going to be slightly too high res for people to see very well.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Oh, let me try to make it a bit bigger. Oh, sorry. I'll try [inaudible 00:51:38]. Okay, zoom in here. I'm going to create [inaudible 00:51:41] check out. And I want to zoom in like this so you can see that.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Brilliant, thank you.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: [crosstalk 00:51:48] functionality working, when you write a test you can work either from the [inaudible 00:51:54] business level and to the test, implementation or backwards. As I said, recording is actually, ideally you want to create those steps before go in, whether you record it or code it, this is where of course that you want to go inside the checkout and create that. So I ideally I suggest working first of all with the business level, try to understand that from your analytics, and hopefully AI will help with that and can generate those skeletons automatically for you.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"But then the implementation should be inside those. I think that one other things was like you were mentioning, and then [inaudible 00:52:35] like how do I click, clicking on something, how do I give my [inaudible 00:52:40] I want to do something where I don't have the implementation yet. So I think that what we'll see more and more is that you'll give one property away. Just like what you're doing with code right now, you'll just say, oh, I want this to be, I want to click on something that has an ID X, but it doesn't mean that after the test is running, after it works, that you can't improve it and then start using other properties. Because the ID, as I said, someone's going to change that. So you might want to rely on it for the first time, but then after that you won't.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Another example will be, and I think hopefully by the end of the year we'll see more example like this. You can also look at the mocks. Imagine you have a mock, you can find an element based on the way it looks. Like literally the pixels, it doesn't have to be real ones, could be an image. Imagine that you have an image and you say find an element based on how it looks. This is very flaky, that means that this is going to change so fast people would do a test, change the colors and the text and that would break. But I think, what I think that it's enough if it will run ones, if it will pass once then you can learn about all the different properties, not just the way it looks externally, the pixels. Look at all the different attributes and learn and it will not fail again.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yeah.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: I hope I make myself clear.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Oh yeah, it does, and actually that fits very well because one of the things I learnt with TDD was red green refactor. So, when you get the green that doesn't mean that you're done. You get the green when you've demonstrated that the initial implementation works. And then you can improve things and at that point you can, now that you have something that works you can swap in AI detection for explicit selectors and take over from there. And it means that your test is now more robust.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"The great thing about all of this is that if you, loads of us who work in dealing with test automation are so used to the majority of breakage or a huge amount of breakage being effectively deliberate, right, because something was redesigned and it's... Or something was redesigned and, or something was just moved to a different point on the page or the ID was changed or whatever. And so being able to remove a huge amount of those false positives and make the test more robust is incredibly valuable. So talking of which in terms of changing things, we had a couple of questions, actually both Johnny five band and Heidi were talking about div tags.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Now div tags still exist. They've supposedly, as we're writing more semantic HTML we should be using div tags less, but that doesn't seem to be happening. Ideally we should be using web components or something where you have the HTML, when you read it it has semantic meaning. If you, is this for AI, well certainly for your kind of, your implementation of AI browser testing, is it able to handle, firstly is it able to handle those kinds of changes. So if you switch from a div tag to say web component or something, a customer element to describe a component, is that going to be able to handle that.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Yeah. Not only... I even want to show, maybe I'll show something, I'll take this login sample here. By the way I had once when Wix, originally when I worked there like a decade ago, we used our [inaudible 00:56:37] that we built in house and but obviously they threw away my code and started using react a couple of years ago. And we had a test that ran on a test with this before the change and after the change. The DOM was different but still the test passed because you can still, if you have several properties that actually, it says in high probably this is the same element. For example, if it looked different, a DOM instead of a button, it's div or vice versa, it's still going to have the value for example book.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Right.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: So it still can find it. So I think AI actually adds a lot of things in order how to find. Things that you don't expect. Things that we noticed was that for example in this case, when you click on this book, I saw that all the book, actually is exactly the same, all the book buttons. It's a reusable component. But what I saw was that in that case, so they all have the same properties as everyone else, but I saw that the text actually... How do you know that this is... This is unique to this component but how do you know that to use this component. What happen if you change the [inaudible 00:57:59] with the [inaudible 00:57:59]. What happens if you switch them. What should you click, this one or that one.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"So the question is, it depends on the way you look at it and of course automatically for example it would suggest, okay, there's several properties. Either it's the second, you can click the second one or we can click the one that has Tongli next to it. But you see that more stable, they will see that the text is actually more meaningful [inaudible 00:58:23] the second.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Oh, interesting.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Obviously those things you want to have it so you can edit it and say, no, I don't want you to use this or I want to use always the Nth, I don't know, you can choose a variable, user, I don't know, something, go inside of here.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Right.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: But you can change all that but by default you want the computer to be actually smarter than you and actually suggesting that you've never thought of.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Ideally, yeah. So is there, I mean the second point with that is that one of the problems with divs for example is that, and losing semantic meaning is that it's painful for accessibility. In that you lose a lot of the meaning that assistive browsers and devices are able to pick up on. Are there tools, I mean I'm not sure if testing doe this, but how would you recommend for, what would you recommend for insuring maintaining the accessibility.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Can you say that again. I'm sorry, everyone's working from home including me and there's seven week old baby crying here, but her mom's taking care of her. [crosstalk 00:59:30].\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yeah, it sounds like we're interrupting her meeting. Yeah, so I don't want to interrupt her meeting, it sounds like she's complaining about it. So talking about accessibility in particular, are there ways that you can verify that, whatever the components you have, when you're changing the implementation, that they're still maintaining or improving the accessibility by insuring that the semantic meaning of the component is being passed along to assistive devices or assistive browsers that are able to use it. Do you know, and like ways of doing that or ways of just testing for accessibility generally.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"$4b\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yeah. It's definitely, that would be a really interesting thing to work on in the future. You know, making sure that not just... If you can derive the semantics of a component from its behavior and then validate that, that those semantics are being effectively communicated in the HTML or in however it's implemented, that I can imagine would also be very valuable.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: I agree.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: So we've got to wrap it up in just a couple of minutes. I was wondering, the couple more questions for you before we wrap up. The first one, are there kind of techniques or technologies that you see web developers and especially test automation people, well actually no, let's focus on web developers generally. Techniques or technologies that you really wish they would use more. Other than obviously AI driven test automation, we could say what else do you think would give them value if they used it more or were more aware of it.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Techniques and technologies, so techniques always have one higher level of obstruction. At least one level, you can go in and you can go inside, but you should always separate between the business logic and implementation. I've said that, I'll repeat that because I think it's critical. And that's of course, the thing that this helps is of course is re usability, because this can be copy paste to another test and of course passing different parameters. But I think it's critical.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yeah, there's many layers of doing that throughout [crosstalk 01:03:26].\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Yes. And technology wise, I think we're there. Like if you're talking about front end testing, web developers, front end testers can write more unit tests, right now as opposed to from what I see, and again I met only a few thousand I think over the last few years, is that in the backend everyone's doing unit tests, everyone's doing unit tests. On the front end almost nobody does unit tests.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Ah.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: And there's no reason, there's no reason. There's like right now I'm going to [inaudible 01:04:00], like everyone has beautiful building frameworks to write unit tests but they're not doing that. I suspect it's more educational than technology maybe, because if [inaudible 01:04:12] is available, but I think this is something that I recommend people doing that. You don't have to be religious, you don't have to do TDD, but I think it will help you write more tests, the tests will help you grade it more, [inaudible 01:04:28] their code will be re usability.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yeah. I mean especially given of the past couple of years, design systems have become so much more popular, especially things like Storybook. And Storybook has fantastic built in stuff for running unit tests or components.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: Visual validation as well.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Yeah. It would be, it fits right into the existing component flow. So, unfortunately we're going to wrap it up there. I saw that we've got another question come in that maybe if you want to handle it in the chat later we can discuss it later, which is to do with Cucumber and the ups and downs of using Cucumber. Actually, I'll tell you what, do you want to do one minute on what you like, actually what you like about Cucumber and BDD?\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"What I like about Cucumber is it forces you, you can't write a test without creating the higher level. They said a test starts with the spec. The whole idea, I guess something that nobody, I don't know that nobody, but most people don't know, Cucumber wasn't designed just for test automation. It was designed as a tool for actually for product people, so all the [crosstalk 01:05:52]. Everyone can look at the spec level and they wanted to be tied of course to your code, but [inaudible 01:06:00] in the real implementation, this is [inaudible 01:06:02] accommodation and actually this is the spec. Not just documentation that, you can change documentation and it doesn't relate to the code. We all had it and you had beautiful documentation but then you change the code and the documentation is not updated.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"This kind of forces you to work where you... It's documentation but you can't change that, it's rigid in the fact that if you change it the test won't run. So you have to be, you have to change it and it forces you to separate those between the business logic and implementation. That's what I love about it.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"I do believe, there's two things that they don't force you but there's the given when, again this is depended on whether, how [inaudible 01:06:46] religious are you. It doesn't have to be that way, whether you can call it login, doesn't mean that you have to call it given when I login. Those are [inaudible 01:06:53]. But people should take, just like religion, they should take it as they want and not be forced to be in a specific way and actually take it gradually more and more and get some of the values.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Brilliant. Thank you. So we're going to just wrap up and say thank you Oren for this, this has been fantastically helpful. Oren is the CEO and founder of Testim.io, which he has been using and I will switch to that view again, during this to demo. Since we got several questions asking what tool you're using. I noticed that especially one thing that was incredibly useful is the new free playground for Playwright and Puppeteer users. So, if you want to show that off which is something that everybody can use for free I believe.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: [inaudible 01:07:50] this one, play [inaudible 01:07:54] actual product. There's two released play... We released... first of all this product I demoed here with the recorder [inaudible 01:08:03] Testim, that's also, we released that as, [inaudible 01:08:07] and also what we released this week was you can record, you can go in and record a scenario and export that directly, automatically, just move it a bit so you can see, and you can record the steps and get them at different-\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: That's great.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: ... And you just copy paste, or just click it directly when someone wants to... We want to do more like... I want to show everything, I'll send the URLs also for Puppeteer. Selenium is coming up next, want you to show and play around with all the different things and see the difference between the different frameworks. Those are more of the, what I call the underlying infrastructure frameworks.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Right.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: So this is a completely free tool that we released.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: That's brilliant. Okay, thank you so much for joining us Oren. And for people who are just tuning in or may have missed part of this. We will be putting the recording and the transcription online in the next couple of weeks. And we will also be back next week and I can't remember, is it Sleuth, we'll be talking to somebody from Sleuth next week. So thank you very much Oren for joining us. Thank you everybody who tuned in and see you all next week.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Oren Rubin: It was a pleasure being here, thank you everyone. See you next week.\",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Yoz Grahame: Thank you, bye-bye.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"}]}]},\"items\":[{}],\"id\":\"wysiwyg$607d9522-2179-4f78-bdcc-3126fc53bf9c\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"AI and Machine Learning in Test Automation\",\"spans\":[],\"direction\":\"ltr\"}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"AI and machine learning are transforming test automation with smarter, stable results. See how visual validation and production data reduce flaky tests.\",\"spans\":[],\"direction\":\"ltr\"}],\"schema\":[],\"open_graph_image\":{}}}],\"title\":\"Related Content\",\"seeAllLink\":\"/blog/category/ai-generated-code\",\"isNewBlogStyle\":true,\"extraWideCard\":true,\"perPage\":4,\"perPageTablet\":2,\"noFlex\":true,\"theme\":\"dark\",\"seeAllText\":\"See all posts on AI-Generated Code\"}]}]\n"])</script><script>self.__next_f.push([1,"3d:[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__newsletterContainer\",\"children\":[\"$\",\"$L43\",null,{}]}]\n"])</script><script>self.__next_f.push([1,"3e:[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__g2BannerContainer\",\"children\":[\"$\",\"$L2b\",null,{\"href\":\"/g2-review/\",\"className\":\"styles-module__MISuva__blogG2Banner\",\"children\":[\"$\",\"div\",null,{\"className\":\"styles-module__MISuva__blogG2BannerInner\",\"children\":[[\"$\",\"div\",null,{\"children\":[\"$undefined\",[\"$\",\"img\",null,{\"className\":\"styles-module__MISuva__blogG2BannerImage\",\"src\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ainJTAeQX7-eXMEO_icon-bw--growing-up-arrow.svg\",\"alt\":\"Climbing up arrow\",\"width\":\"$undefined\",\"height\":\"$undefined\",\"loading\":\"lazy\",\"fetchPriority\":\"$undefined\",\"onClick\":\"$undefined\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__MISuva__blogG2BannerContent\",\"children\":[\"$\",\"h4\",null,{\"className\":\"styles-module__J0n02W__variant_h4 styles-module__J0n02W__color_white styles-module__J0n02W__weight_medium\",\"children\":\"LaunchDarkly Tops G2 Grid for Feature Management\"}]}],[\"$\",\"div\",null,{\"className\":\"styles-module__MISuva__blogG2BannerButton\",\"children\":[\"$\",\"button\",null,{\"className\":\"styles-module__d4f9cW__button styles-module__d4f9cW__variant_lime styles-module__d4f9cW__size_default\",\"style\":\"$undefined\",\"type\":\"button\",\"onClick\":\"$undefined\",\"ref\":\"$undefined\",\"children\":[[\"$\",\"span\",null,{\"className\":\"styles-module__d4f9cW__label\",\"children\":\"Learn more\"}],[\"$\",\"span\",null,{\"className\":\"styles-module__d4f9cW__arrowBox false\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":12,\"fill\":\"none\",\"className\":\"styles-module__d4f9cW__arrow\",\"aria-hidden\":\"true\",\"children\":\"$23:2:props:children:1:props:children:props:children:1:props:children:0:props:children:2:props:children:1:props:children:props:children\"}]}]]}]}]]}]}]}]\n"])</script><script>self.__next_f.push([1,"3f:[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"@id\\\":\\\"https://launchdarkly.com/managing-ai-risk-with-runtime-control/#article\\\",\\\"about\\\":[{\\\"@type\\\":\\\"Thing\\\",\\\"name\\\":\\\"AI-generated code ships fast, but runtime control hasn’t kept up\\\"}],\\\"author\\\":[{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"LaunchDarkly\\\",\\\"url\\\":\\\"https://launchdarkly.com/blog/author/launchdarkly/\\\"}],\\\"datePublished\\\":\\\"2026-02-20T23:09:39.000Z\\\",\\\"dateModified\\\":\\\"2026-09-04T17:56:21.000Z\\\",\\\"headline\\\":\\\"AI-generated code ships fast, but runtime control hasn’t kept up\\\",\\\"description\\\":\\\"AI is speeding up code generation, but control in production is lagging behind.\\\",\\\"image\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://launchdarkly.com/open-graph.jpg\\\"},\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://launchdarkly.com/managing-ai-risk-with-runtime-control/#webpage\\\"},\\\"publisher\\\":{\\\"@id\\\":\\\"https://launchdarkly.com/#organization\\\"}}\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Organization\\\",\\\"@id\\\":\\\"https://launchdarkly.com/#organization\\\",\\\"name\\\":\\\"LaunchDarkly\\\",\\\"legalName\\\":\\\"LaunchDarkly\\\",\\\"description\\\":\\\"LaunchDarkly helps teams safely manage code and AI agents in production with feature flags, progressive delivery, automated rollback, and runtime control.\\\",\\\"url\\\":\\\"https://launchdarkly.com/\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://launchdarkly.com/schema-icon.png\\\",\\\"width\\\":\\\"512\\\",\\\"height\\\":\\\"512\\\"},\\\"sameAs\\\":[\\\"https://twitter.com/LaunchDarkly\\\",\\\"https://www.linkedin.com/company/launchdarkly\\\",\\\"https://github.com/launchdarkly\\\"]}\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"description\\\":\\\"Breadcrumbs list\\\",\\\"name\\\":\\\"Breadcrumbs\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Home\\\",\\\"item\\\":\\\"https://launchdarkly.com/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Blog\\\",\\\"item\\\":\\\"https://launchdarkly.com/blog\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":3,\\\"name\\\":\\\"AI-generated code ships fast, but runtime control hasn’t kept up\\\",\\\"item\\\":\\\"https://launchdarkly.com/managing-ai-risk-with-runtime-control/\\\"}]}\"}}]]\n"])</script><script>self.__next_f.push([1,"40:[\"$\",\"$L4c\",null,{\"data\":{\"primary\":{\"heading\":\"Resources to get started.\",\"readMoreLabel\":\"\",\"readMoreHref\":\"\",\"imageAspectRatio\":\"16:9\",\"background\":\"black\"},\"items\":[{\"title\":\"Check out the blog.\",\"eyebrow\":\"Blog\",\"description\":\"Read about LaunchDarkly news, product updates, and more.\",\"image\":\"https://images.prismic.io/launchdarkly-marketingsite/agtlhaYofJOwHWAR_img-res-card--BLOG.png?auto=format,compress\",\"href\":\"/blog/\"},{\"title\":\"Explore our docs.\",\"eyebrow\":\"Docs\",\"description\":\"Learn best practices for getting started with LaunchDarkly.\",\"image\":\"https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format,compress\",\"href\":\"https://launchdarkly.com/docs/home\"},{\"title\":\"Watch on demand.\",\"eyebrow\":\"Videos\",\"description\":\"Check out demos and tutorials to see LaunchDarkly in action.\",\"image\":\"https://images.prismic.io/launchdarkly-marketingsite/agtliKYofJOwHWAU_img-res-card--VIDEOS.png?auto=format,compress\",\"href\":\"https://www.youtube.com/@LaunchDarkly\"},{\"title\":\"Connect at events.\",\"eyebrow\":\"Events\",\"description\":\"Explore ways to connect with us in person and virtually.\",\"image\":\"https://images.prismic.io/launchdarkly-marketingsite/agtlh6YofJOwHWAT_img-res-card--Events.png?auto=format,compress\",\"href\":\"/events-webinars/\"}]},\"customCommands\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"30:[\"$\",\"$L2e\",null,{\"navigationDocument\":{\"id\":\"Z8jwdRIAACIAchAL\",\"uid\":null,\"url\":null,\"type\":\"main_navigation\",\"href\":\"https://launchdarkly-marketingsite.cdn.prismic.io/api/v2/documents/search?ref=aqQbiREAACwA_PkJ\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22Z8jwdRIAACIAchAL%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2025-03-06T23:22:48+0000\",\"last_publication_date\":\"2026-08-12T21:50:57+0000\",\"slugs\":[\"main-navigation\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"products_group\":[{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJEidWJ-7kSC2w_icon--guarded-release-x24.svg\",\"id\":\"aCQJEidWJ-7kSC2w\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZkT8yxcAACQAayzv\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"eb9e562d-4750-4567-8060-b0378a8012b7\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Guarded Releases\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Monitor and de-risk.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"releases\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJESdWJ-7kSC2v_icon--experimentation-x24.svg\",\"id\":\"aCQJESdWJ-7kSC2v\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZS3e3xAAACYArUv0\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"859b7068-0b26-4b9b-be95-730781ae8e60\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Experimentation\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Make data-driven decisions.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"experimentation\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aYTW2d0YXLCxVdmZ_observability-icon-pink-gradient.svg\",\"id\":\"aYTW2d0YXLCxVdmZ\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"aXzdMhEAACEAbMS3\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"a6113607-80f4-45f3-9d88-a7f9cd5474ad\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Observability\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Detect, diagnose, and recover.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"releases\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJEydWJ-7kSC2x_icon--release-management-x24.svg\",\"id\":\"aCQJEydWJ-7kSC2x\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZK7UUREAACQAMsBn\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"bd2dad2e-cc7c-47a4-9c6b-d14e00a62722\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Feature Flags\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Scale great release processes.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"release-management\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJECdWJ-7kSC2u_icon--ai-x24.svg\",\"id\":\"aCQJECdWJ-7kSC2u\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"aScrdxIAACUA_zBM\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"e1c3e064-69c5-4a8a-9e6d-d47afa6f9a84\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AI Configs\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Make innovative AI products.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"ai\",\"spans\":[],\"direction\":\"ltr\"}]}],\"overview_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agwNv6YofJOwHWkd_platform-overview-icon.png?auto=format,compress\",\"id\":\"agwNv6YofJOwHWkd\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agT1iRIAACMAW09R\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"the-runtime-control-layer-for-the-ai-era.\",\"first_publication_date\":\"2026-05-13T22:07:57+0000\",\"last_publication_date\":\"2026-07-29T17:52:40+0000\",\"uid\":\"how-it-works.platform\",\"url\":\"/how-it-works.platform/\",\"link_type\":\"Document\",\"key\":\"cb51a2ac-66b9-445c-add5-1bfd126fdaf1\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Platform overview\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNAKYofJOwHTuE_icon-main-nav--FeatureManagement.png?auto=format,compress\",\"id\":\"agpNAKYofJOwHTuE\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agJOJRIAACMAV0KE\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"AI Refresh\"],\"lang\":\"en-us\",\"slug\":\"feature-flags-for-real-time-control-in-production.\",\"first_publication_date\":\"2026-05-11T23:18:47+0000\",\"last_publication_date\":\"2026-07-09T17:32:44+0000\",\"uid\":\"how-it-works.feature-flags\",\"url\":\"/how-it-works.feature-flags/\",\"link_type\":\"Document\",\"key\":\"5b39f1f4-c3e9-4985-a6f4-09d007cdc71a\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Feature flags\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNA6YofJOwHTuH_icon-main-nav--Observability.png?auto=format,compress\",\"id\":\"agpNA6YofJOwHTuH\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agUqVRIAACEAW5iJ\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"AI Refresh\"],\"lang\":\"en-us\",\"slug\":\"observe-at-the-scale-that-you\",\"first_publication_date\":\"2026-05-14T02:28:03+0000\",\"last_publication_date\":\"2026-07-16T18:41:10+0000\",\"uid\":\"how-it-works.observability\",\"url\":\"/how-it-works.observability/\",\"link_type\":\"Document\",\"key\":\"fb0b6ba7-0f91-4639-a80e-a08103edd108\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Observability\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpM_6YofJOwHTuD_icon-main-nav--Experimentation.png?auto=format,compress\",\"id\":\"agpM_6YofJOwHTuD\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agT6fRIAAI1IW1Zl\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"AI Refresh\"],\"lang\":\"en-us\",\"slug\":\"optimize-at-the-speed-that-you\",\"first_publication_date\":\"2026-05-13T23:15:56+0000\",\"last_publication_date\":\"2026-08-12T00:12:40+0000\",\"uid\":\"how-it-works.experimentation\",\"url\":\"/how-it-works.experimentation/\",\"link_type\":\"Document\",\"key\":\"026bc403-ba2c-4c10-a9a7-28dc7beb9c0e\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Experimentation\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpM_qYofJOwHTuC_icon-main-nav--Agentintegrations.png?auto=format,compress\",\"id\":\"agpM_qYofJOwHTuC\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agPiLhIAACEAWZ_F\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"Agent Integration\"],\"lang\":\"en-us\",\"slug\":\"go-agent-native-from-day-1.\",\"first_publication_date\":\"2026-05-13T03:45:19+0000\",\"last_publication_date\":\"2026-07-02T20:40:47+0000\",\"uid\":\"how-it-works.agent-integrations\",\"url\":\"/how-it-works.agent-integrations/\",\"link_type\":\"Document\",\"key\":\"96423778-717a-4a35-b3d1-2966c0f15a99\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Agent integrations\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNAqYofJOwHTuG_icon-main-nav--Integrations.png?auto=format,compress\",\"id\":\"agpNAqYofJOwHTuG\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agXnzxIAAGfYXLYC\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"integrations\",\"first_publication_date\":\"2026-05-14T15:21:28+0000\",\"last_publication_date\":\"2026-05-19T04:39:17+0000\",\"uid\":\"integrations\",\"url\":\"/integrations/\",\"link_type\":\"Document\",\"key\":\"ac21f49d-de49-4c8f-9cab-03ff74f3aeae\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Integrations\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNAaYofJOwHTuF_icon-main-nav--Infrastructure.png?auto=format,compress\",\"id\":\"agpNAaYofJOwHTuF\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agstuhIAAGVsZG8v\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"platform architecture\"],\"lang\":\"en-us\",\"slug\":\"built-for-runtime-control-at-scale.\",\"first_publication_date\":\"2026-05-18T15:48:56+0000\",\"last_publication_date\":\"2026-05-20T21:04:24+0000\",\"uid\":\"how-it-works.platform-architecture\",\"url\":\"/how-it-works.platform-architecture/\",\"link_type\":\"Document\",\"key\":\"654903e7-c950-4ee9-ad8d-28ced3798a0e\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Architecture\",\"spans\":[],\"direction\":\"ltr\"}]}],\"by_team_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOrqYofJOwHTuK_icon-main-nav--ReleaseAI-BuiltCode.png?auto=format,compress\",\"id\":\"agpOrqYofJOwHTuK\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agZggxIAAGfYXWgr\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-coded-it-but-you-own-it-in-production.-stay-in-control.\",\"first_publication_date\":\"2026-05-14T23:57:25+0000\",\"last_publication_date\":\"2026-07-15T15:24:08+0000\",\"uid\":\"solutions.release-ai-built-code\",\"url\":\"/solutions.release-ai-built-code/\",\"link_type\":\"Document\",\"key\":\"89e8e1ad-db87-4479-aeec-83186124bc80\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Release AI-built code\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOrKYofJOwHTuI_icon-main-nav--ControlAIAgents.png?auto=format,compress\",\"id\":\"agpOrKYofJOwHTuI\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agVNRxIAACEAW8p2\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"agents-make-decisions-you-own-the-results.-stay-in-control.\",\"first_publication_date\":\"2026-05-14T04:20:19+0000\",\"last_publication_date\":\"2026-07-15T15:24:56+0000\",\"uid\":\"solutions.control-ai-agents\",\"url\":\"/solutions.control-ai-agents/\",\"link_type\":\"Document\",\"key\":\"c8ca2188-6dd5-4f79-b127-b32bd5afcc49\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Control AI agents\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOraYofJOwHTuJ_icon-main-nav--OptimizeAIPerformance%26Cost.png?auto=format,compress\",\"id\":\"agpOraYofJOwHTuJ\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agZehRIAACEAXWU6\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"stop-guessing.-optimize-model-performance-and-cost-in-real-time.\",\"first_publication_date\":\"2026-05-14T23:47:53+0000\",\"last_publication_date\":\"2026-07-15T15:25:55+0000\",\"uid\":\"solutions.optimize-ai-performance\",\"url\":\"/solutions.optimize-ai-performance/\",\"link_type\":\"Document\",\"key\":\"57b0c941-034c-46e0-80ef-722178945659\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Optimize AI performance \u0026 cost\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOsKYofJOwHTuM_icon-main-nav--Self-HealSystems.png?auto=format,compress\",\"id\":\"agpOsKYofJOwHTuM\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agVxxxIAAI1IW_7K\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"stop-responding-and-automatically-fix-problems-in-production.\",\"first_publication_date\":\"2026-05-14T07:01:00+0000\",\"last_publication_date\":\"2026-07-07T00:03:00+0000\",\"uid\":\"solutions.self-heal-systems\",\"url\":\"/solutions.self-heal-systems/\",\"link_type\":\"Document\",\"key\":\"a777ddee-a6f5-485b-8cb0-df55680e5bd3\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Self-heal systems\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOr6YofJOwHTuL_icon-main-nav--RunExperiments.png?auto=format,compress\",\"id\":\"agpOr6YofJOwHTuL\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agZhwBIAACMAXWoU\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"experiment-at-ai-scale-without-losing-control.\",\"first_publication_date\":\"2026-05-15T00:01:50+0000\",\"last_publication_date\":\"2026-07-15T15:28:25+0000\",\"uid\":\"solutions.run-experiments\",\"url\":\"/solutions.run-experiments/\",\"link_type\":\"Document\",\"key\":\"0c20b758-07ba-4180-9002-028f2eb0c933\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Run experiments\",\"spans\":[],\"direction\":\"ltr\"}]}],\"by_industry_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQmaYofJOwHTuS_icon-main-nav--AIEngineer.png?auto=format,compress\",\"id\":\"agpQmaYofJOwHTuS\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"af-1HRIAACEAU2aQ\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"AI Engineer\"],\"lang\":\"en-us\",\"slug\":\"agents-break-in-production.-thats-where-control-matters.\",\"first_publication_date\":\"2026-05-09T23:06:03+0000\",\"last_publication_date\":\"2026-05-20T21:03:40+0000\",\"uid\":\"persona.ai-engineers\",\"url\":\"/persona.ai-engineers/\",\"link_type\":\"Document\",\"key\":\"fe8f38e4-584c-451d-b926-af442c252bea\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AI engineers\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQmqYofJOwHTuT_icon-main-nav--Developers.png?auto=format,compress\",\"id\":\"agpQmqYofJOwHTuT\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agaOnBIAACMAXamc\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"development teams\"],\"lang\":\"en-us\",\"slug\":\"ship-faster.-stay-in-control.-fix-problems-automatically.\",\"first_publication_date\":\"2026-05-15T03:39:15+0000\",\"last_publication_date\":\"2026-08-27T20:30:26+0000\",\"uid\":\"persona.development-teams\",\"url\":\"/persona.development-teams/\",\"link_type\":\"Document\",\"key\":\"dc747045-cd9a-4d86-aec3-d00c036dff99\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Developers\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQm6YofJOwHTuU_icon-main-nav--DevOps-SRE.png?auto=format,compress\",\"id\":\"agpQm6YofJOwHTuU\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agaRwhIAAGfYXa5B\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"devops\"],\"lang\":\"en-us\",\"slug\":\"prevent-incidents.fix-problems-automatically.\",\"first_publication_date\":\"2026-05-15T03:39:15+0000\",\"last_publication_date\":\"2026-08-18T18:21:56+0000\",\"uid\":\"persona.devops-site-reliability-engineer-teams\",\"url\":\"/persona.devops-site-reliability-engineer-teams/\",\"link_type\":\"Document\",\"key\":\"95bbe00c-5ed4-4caf-a18e-830cfa416ced\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"DevOps \u0026 SRE\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQnaYofJOwHTuW_icon-main-nav--ProductManagers.png?auto=format,compress\",\"id\":\"agpQnaYofJOwHTuW\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agaJuhIAAGfYXaJy\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"product managers\"],\"lang\":\"en-us\",\"slug\":\"launch-confidently.-learn-what-works.-improve-continuously.\",\"first_publication_date\":\"2026-05-15T03:39:15+0000\",\"last_publication_date\":\"2026-05-19T01:10:37+0000\",\"uid\":\"persona.product-managers\",\"url\":\"/persona.product-managers/\",\"link_type\":\"Document\",\"key\":\"aaa44826-4691-462b-a8a1-acc80ad8fbdb\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Product managers\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/8Rpfg-gh7BMefouu_persona-data-scientist-icon-nav.png?auto=format,compress\",\"id\":\"8Rpfg-gh7BMefouu\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"alem8REAACwAC87h\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"data scientists\"],\"lang\":\"en-us\",\"slug\":\"run-experiments-you-can-actually-trust.\",\"first_publication_date\":\"2026-07-15T18:45:45+0000\",\"last_publication_date\":\"2026-07-17T19:14:06+0000\",\"uid\":\"persona.data-scientists\",\"url\":\"/persona.data-scientists/\",\"link_type\":\"Document\",\"key\":\"f7bf52f5-fab6-4ea1-9d9c-e319463a6190\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Data scientists\",\"spans\":[],\"direction\":\"ltr\"}]}],\"learn_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSN6YofJOwHTud_icon-main-nav--Blog.png?auto=format,compress\",\"id\":\"agpSN6YofJOwHTud\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"9ad95dc9-c5ec-4aab-ac8a-7b7405aec915\",\"url\":\"https://launchdarkly.com/blog/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Blog\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSOaYofJOwHTuf_icon-main-nav--GuidesandEbooks.png?auto=format,compress\",\"id\":\"agpSOaYofJOwHTuf\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"1b0edfb5-d056-42ae-a4c2-dd530e49f057\",\"url\":\"https://launchdarkly.com/guides/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Guides \u0026 ebooks\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSOKYofJOwHTue_icon-main-nav--EventsandWebinars.png?auto=format,compress\",\"id\":\"agpSOKYofJOwHTue\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"YQxWXxIAACkAIPjQ\",\"type\":\"events\",\"tags\":[\"events\",\"webinars\"],\"lang\":\"en-us\",\"slug\":\"events\",\"first_publication_date\":\"2021-08-05T21:26:24+0000\",\"last_publication_date\":\"2026-09-11T15:17:28+0000\",\"uid\":\"events-webinars\",\"url\":\"/events-webinars/\",\"link_type\":\"Document\",\"key\":\"d1154925-59b3-4c22-afcc-e0efad605e91\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Events \u0026 webinars\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSOqYofJOwHTug_icon-main-nav--Videos.png?auto=format,compress\",\"id\":\"agpSOqYofJOwHTug\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"c4b22447-de6e-4d1e-9b7a-11748b8055aa\",\"url\":\"https://www.youtube.com/@LaunchDarkly\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Videos\",\"spans\":[],\"direction\":\"ltr\"}]}],\"success_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format,compress\",\"id\":\"agpSQ6YofJOwHTui\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"8a7c9deb-617c-4160-adeb-5b432b051ecf\",\"url\":\"https://academy.launchdarkly.com/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Academy\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSRKYofJOwHTuj_icon-main-nav--CustomerStories.png?auto=format,compress\",\"id\":\"agpSRKYofJOwHTuj\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ajGF7RcAADAA88aj\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"trusted-by-industry-leading-teams.\",\"first_publication_date\":\"2026-06-16T17:59:03+0000\",\"last_publication_date\":\"2026-06-23T21:13:13+0000\",\"uid\":\"customer-stories\",\"url\":\"/customer-stories/\",\"link_type\":\"Document\",\"key\":\"d11dbfa0-bb2d-461c-b5c3-03e978db76b6\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Customer stories\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSRqYofJOwHTul_icon-main-nav--ProfessionalServices.png?auto=format,compress\",\"id\":\"agpSRqYofJOwHTul\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZSgkThAAACcAC-sT\",\"type\":\"new_pages\",\"tags\":[\"services\",\"professional services\"],\"lang\":\"en-us\",\"slug\":\"launchdarkly-professional-services\",\"first_publication_date\":\"2023-10-12T16:52:47+0000\",\"last_publication_date\":\"2026-07-08T15:43:17+0000\",\"uid\":\"services\",\"url\":\"/services/\",\"link_type\":\"Document\",\"key\":\"93fcdada-dd96-49ca-b8f3-a466eb109f19\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Professional services\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSRaYofJOwHTuk_icon-main-nav--Partners.png?auto=format,compress\",\"id\":\"agpSRaYofJOwHTuk\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZMggHhEAACYAn2e4\",\"type\":\"new_pages\",\"tags\":[\"partner program\",\"partner program page\"],\"lang\":\"en-us\",\"slug\":\"lets-build-better-software-together.\",\"first_publication_date\":\"2023-07-31T21:59:14+0000\",\"last_publication_date\":\"2026-07-08T15:56:45+0000\",\"uid\":\"partner-program\",\"url\":\"/partner-program/\",\"link_type\":\"Document\",\"key\":\"c693eb6c-d924-4446-98dc-e50e30a73e31\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Partners\",\"spans\":[],\"direction\":\"ltr\"}]}],\"get_help_group\":[{\"icon\":{\"dimensions\":{\"width\":160,\"height\":160},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format,compress\",\"id\":\"agpTiKYofJOwHTu2\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"671d49cc-49d6-4614-90a4-3c31313a2f47\",\"url\":\"https://support.launchdarkly.com/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Help Center\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Explore help topics for everything LaunchDarkly.\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":160,\"height\":160},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format,compress\",\"id\":\"agpTiaYofJOwHTu3\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"b1c38405-1e18-4080-81ee-a86756bec156\",\"url\":\"https://support.launchdarkly.com/hc/en-us/requests/new?ticket_form_id=360000836893\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Request support\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Reach out to us for direct answers to your questions.\",\"spans\":[],\"direction\":\"ltr\"}]}],\"resources_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format,compress\",\"id\":\"agpSVKYofJOwHTuo\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"79ea2804-386d-45ba-ae92-9de4e6a20aa2\",\"url\":\"https://launchdarkly.com/docs/home\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Docs home\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format,compress\",\"id\":\"agpSVaYofJOwHTup\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"d55987b1-30ac-4d93-907a-c50f827814d5\",\"url\":\"https://launchdarkly.com/docs/home/getting-started\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Feature flags Quickstart\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format,compress\",\"id\":\"agpSUqYofJOwHTum\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"f3e899b1-5149-4b7f-a205-8d8be0d0d0ca\",\"url\":\"https://launchdarkly.com/docs/home/agentcontrol/quickstart\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AgentControl Quickstart\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format,compress\",\"id\":\"agpSU6YofJOwHTun\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"98e0f384-0d91-4ddc-b989-908d24e47a4d\",\"url\":\"https://launchdarkly.com/docs/api/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"API docs\",\"spans\":[],\"direction\":\"ltr\"}]}],\"workflow_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSZqYofJOwHTut_icon-main-nav--Productupdates.png?auto=format,compress\",\"id\":\"agpSZqYofJOwHTut\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"daebf9c5-8c24-4a14-9df2-0a7f80d7dfce\",\"url\":\"https://launchdarkly.com/changelog/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Product Updates\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSZaYofJOwHTus_icon-main-nav--PowerAnalysisCalculator.png?auto=format,compress\",\"id\":\"agpSZaYofJOwHTus\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"4a2ede12-b83e-4114-bbc3-4a738b3d8ccb\",\"url\":\"https://launchdarkly.com/sample-size-calculator/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Power analysis calculator\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format,compress\",\"id\":\"agpSZKYofJOwHTur\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"0eb1c344-46c1-466a-bc84-f3bb4c46290b\",\"url\":\"https://launchdarkly.com/docs/blog\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Flagship engineering blog\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSY6YofJOwHTuq_icon-main-nav--Community.png?auto=format,compress\",\"id\":\"agpSY6YofJOwHTuq\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"84663d21-e4f8-4631-81cd-6da440a8b828\",\"url\":\"https://launchdarkly.com/community/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Community\",\"spans\":[],\"direction\":\"ltr\"}]}],\"banner_group\":[{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":267,\"height\":180},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aatGU1xvIZEnjb9J_top-nav-moving-at-ai-speed.png?auto=format,compress\",\"id\":\"aatGU1xvIZEnjb9J\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Solutions\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Move at AI speed. Stay in control.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"See how to release, experiment, observe and control AI.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Watch demo now\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"bdb970f8-f1f4-424b-ae6b-5160b38903a2\",\"url\":\"https://launchdarkly.com/product-demo/platform-overview/\"}},{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":267,\"height\":180},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aatGU1xvIZEnjb9J_top-nav-moving-at-ai-speed.png?auto=format,compress\",\"id\":\"aatGU1xvIZEnjb9J\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Resources\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Move at AI speed. Stay in control.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"See how to release, experiment, observe and control AI.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Watch demo\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"4d1ad24c-3879-42e8-86de-2ab76c2778ad\",\"url\":\"https://launchdarkly.com/product-demo/platform-overview/\"}},{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":267,\"height\":180},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aatGU1xvIZEnjb9J_top-nav-moving-at-ai-speed.png?auto=format,compress\",\"id\":\"aatGU1xvIZEnjb9J\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Platform\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Move at AI speed. Stay in control.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"See how to release, experiment, observe \u0026 control AI.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Watch demo\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"35310a7f-4223-4c71-b058-f0f99ba04936\",\"url\":\"https://launchdarkly.com/product-demo/platform-overview/\"}},{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":178,\"height\":120},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/abRT8lxvIZEnjqhK_developer-tab-free-trial.png?auto=format,compress\",\"id\":\"abRT8lxvIZEnjqhK\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Developers\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Take control of your AI at runtime.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"Control releases, experiments, and AI behavior in prod.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Free trial\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"4a0a8a27-41ee-4993-8274-dab982a68d7d\",\"url\":\"https://app.launchdarkly.com/signup\"}}],\"new_products_group\":[{\"icon\":{\"dimensions\":{\"width\":150,\"height\":150},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpUVqYofJOwHTu-_icon-main-nav--CodeControl.png?auto=format,compress\",\"id\":\"agpUVqYofJOwHTu-\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agTAhBIAACEAWwQ2\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ship-confidently-with-automatic-recovery-and-continuous-improvement-built-in.\",\"first_publication_date\":\"2026-05-13T18:19:33+0000\",\"last_publication_date\":\"2026-05-19T05:42:39+0000\",\"uid\":\"platform.code-control\",\"url\":\"/platform.code-control/\",\"link_type\":\"Document\",\"key\":\"31f8582d-1543-426b-bfe9-b2e3aa405ab6\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"CodeControl\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Ship confidently, with automated control built in.\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":150,\"height\":150},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpUVaYofJOwHTu9_icon-main-nav--AgentControl.png?auto=format,compress\",\"id\":\"agpUVaYofJOwHTu9\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agSf7RIAAI1IWtRB\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"one-place-to-control-agent-behavior.\",\"first_publication_date\":\"2026-05-13T16:04:01+0000\",\"last_publication_date\":\"2026-06-01T17:57:35+0000\",\"uid\":\"platform.agent-control\",\"url\":\"/platform.agent-control/\",\"link_type\":\"Document\",\"key\":\"a6029978-2730-4f8c-aa21-9c15c2e2fbff\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AgentControl\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"One place to keep your agent behavior under control.\",\"spans\":[],\"direction\":\"ltr\"}]}]}},\"showBanner\":true,\"noNav\":\"$undefined\",\"addRiskMeterLogo\":false,\"hideLinks\":false,\"useSnowflakeHeader\":\"$undefined\",\"EoDNav\":\"$undefined\",\"useAiTheme\":\"$undefined\",\"isHomepage\":\"$undefined\",\"useRefreshDesign\":\"$undefined\",\"useWhiteLogo\":true}]\n"])</script><script>self.__next_f.push([1,"32:[\"$\",\"$L2f\",null,{\"supportItems\":[{\"title\":\"Support home\",\"url\":\"https://support.launchdarkly.com/\"},{\"title\":\"Professional Services\",\"url\":\"/services/\"},{\"title\":\"Documentation\",\"url\":\"https://launchdarkly.com/docs/home\"},{\"title\":\"Status\",\"url\":\"https://status.launchdarkly.com/\"}],\"whyUsItems\":[{\"title\":\"Economic Impact of LaunchDarkly\",\"url\":\"https://launchdarkly.com/guides/forrester-tei-report-2026/\"},{\"title\":\"How LaunchDarkly works\",\"url\":\"/how-it-works.platform/\"},{\"title\":\"Solutions\",\"url\":\"/solutions/\"},{\"title\":\"Trust \u0026 Security\",\"url\":\"/security/\"},{\"title\":\"Trust Center\",\"url\":\"https://trust.launchdarkly.com\"},{\"title\":\"LaunchDarkly vs. Competitors\",\"url\":\"https://launchdarkly.com/compare/\"},{\"title\":\"LaunchDarkly on AWS\",\"url\":\"https://launchdarkly.com/solutions/launchdarkly-aws/\"}],\"companyItems\":[{\"title\":\"About Us\",\"url\":\"/about-us/\"},{\"title\":\"Careers\",\"url\":\"/careers/\"},{\"title\":\"Media \u0026 Analysts\",\"url\":\"/press-and-analysts/\"},{\"title\":\"Partner Program\",\"url\":\"/partner-program/\"},{\"title\":\"Terms \u0026 Policies\",\"url\":\"https://launchdarkly.com/policies/subscription-terms/\"},{\"title\":\"Contact Us\",\"url\":\"/contact-us/\"},{\"title\":\"Community\",\"url\":\"https://launchdarkly.com/community/\"}],\"snsLinks\":[{\"url\":\"https://twitter.com/launchdarkly\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/b4508c29-da0c-4e9b-bcae-205a95a6ba5d_logo--x-twitter.svg?auto=compress,format\",\"iconAlt\":\"twitter\"},{\"url\":\"https://www.youtube.com/@LaunchDarkly\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/276be984-0bd0-44ed-9e32-44a21a0c4fac_icon-youtube.svg\",\"iconAlt\":\"YouTube\"},{\"url\":\"https://www.linkedin.com/company/launchdarkly/mycompany/\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/8b512fb1-6ecc-4e7f-bfe2-368f1a29898b_icon-LinkedIn.svg\",\"iconAlt\":\"LinkedIn\"},{\"url\":\"https://discord.com/invite/launchdarklycommunity\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ZpaT7h5LeNNTxNRX_discord-logo-white.svg?auto=compress,format\",\"iconAlt\":\"Discord\"},{\"url\":\"https://www.instagram.com/launchdarkly/\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/8b8446e4-02c7-468e-bb32-79d0432dd1d0_instagram-icon-small.svg\",\"iconAlt\":\"Instagram\"}],\"useRefresShortFooter\":\"$undefined\",\"loadFooterNewsletter\":true,\"shortFooter\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"4d:I[91711,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"34:[\"$\",\"$L4d\",null,{\"mainBreadcrumb\":\"Blog\",\"mainBreadcrumbLink\":\"/blog\",\"subBreadcrumb\":\"AI-Generated Code\",\"subBreadcrumbLink\":\"/blog/category/ai-generated-code\",\"title\":\"AI-generated code ships fast, but runtime control hasn’t kept up\",\"popularSearchTerms\":[{\"term\":[{\"type\":\"paragraph\",\"text\":\"Feature flags\",\"spans\":[]}]},{\"term\":[{\"type\":\"paragraph\",\"text\":\"Progressive delivery\",\"spans\":[]}]},{\"term\":[{\"type\":\"paragraph\",\"text\":\"feature management\",\"spans\":[]}]},{\"term\":[{\"type\":\"paragraph\",\"text\":\"Git branching strategies vs. trunk-based development\",\"spans\":[]}]},{\"term\":[{\"type\":\"paragraph\",\"text\":\"experimentation and A/B testing\",\"spans\":[]}]}]}]\n"])</script></body></html> |