{"allowedRenditionsWidth":["320","480","640","768","960","1200","1440","1920"],"cssClassNames":"page basicpage summit-page","templateName":"base-page-template54","language":"en","description":"Learn how AI engineering combines context, orchestration, evaluation, serving and governance to build reliable production AI systems at scale.","title":"AI Engineering: Build & Operate Production AI Systems | Snowflake","canonicalLink":"https://www.snowflake.com/en/artificial-intelligence/ai-engineering/","robotsTags":[],"analyticsPageType":"homepage","analyticsCategory":"general","analyticsSubCategory":"","excludeFromAnalytics":false,"isPasswordProtected":false,"analyticsContentTags":["snowflake-site:taxonomy/content-type/fundamentals"],"analyticsEnabled":true,"coveoConfig":{"pipeline":"snowflake.com","searchHub":"snowflake.com","organizationId":"snowflakecomputingproduction8neljofn","apiKey":"xx335921a6-2a0a-40f2-a167-e390b4766c3d"},"analyticsDebugMode":false,"analyticsData":{"excludeFromAnalytics":false,"subCategory":"","pageType":"homepage","templateName":"base-page-template54","siteName":"snowflake","pageUrl":"/content/snowflake-site/global/en/artificial-intelligence/ai-engineering","language":"en","category":"general","pageName":"AI Engineering: How to Build and Operate Production AI Systems","contentTags":["snowflake-site:taxonomy/content-type/fundamentals"]},":mappedPath":"/en/artificial-intelligence/ai-engineering/",":type":"snowflake-site/components/structure/page",":items":{"root":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"markup_editor_928258845":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-banner":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-header":"aem-GridColumn aem-GridColumn--default--12","responsivegrid":"aem-GridColumn aem-GridColumn--default--12","markup_editor_597730182":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-footer":"aem-GridColumn aem-GridColumn--default--12","experiencefragment":"aem-GridColumn aem-GridColumn--default--12","modal_container":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"columnCount":12,":items":{"experiencefragment-banner":{"id":"experiencefragment-9b964a0b42","configured":true,"localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/pushdown-banner/master/jcr:content",":type":"snowflake-site/components/experiencefragment","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/pushdown-banner/master.xfmodel.json"},"experiencefragment-header":{"id":"experiencefragment-2901100757","configured":true,"localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/jcr:content",":type":"snowflake-site/components/experiencefragment","languageNavPath":"/content/snowflake-site/global/en/artificial-intelligence/ai-engineering.languagenav.json","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master.xfmodel.json"},"responsivegrid":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"flexible_column_cont_939100716":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1158003461":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_663228916":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_912630531":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1398138236":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1786318617":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1467213961":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1377146023":"aem-GridColumn aem-GridColumn--default--12"},"columnCount":12,":items":{"flexible_column_cont":{"id":"flexible-column-container-74e91a6063","propertiesId":"hub-hero-breadcrumbs","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"small","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"page-section","backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-f22d10bf75",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"breadcrumb":{"id":"breadcrumb-ff923cce10","items":[{"id":"breadcrumb-ff923cce10-item-e7ce355135","link":{"valid":true,"url":"/en/"},"active":false,"current":false,"title":"English",":type":"snowflake-site/components/structure/page","appliedCssClassNames":"summit-page"},{"id":"breadcrumb-ff923cce10-item-4b75ed29e6","link":{"valid":true,"url":"/en/artificial-intelligence/"},"active":false,"current":false,"title":"Artificial Intelligence",":type":"snowflake-site/components/structure/page","appliedCssClassNames":"summit-page"},{"id":"breadcrumb-ff923cce10-item-d5e33a6013","link":{"valid":true,"url":"/en/artificial-intelligence/ai-engineering/"},"active":true,"current":true,"title":"AI Engineering",":type":"snowflake-site/components/structure/page","appliedCssClassNames":"summit-page"}],":type":"snowflake-site/components/breadcrumb"}},":itemsOrder":["breadcrumb"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_939100716":{"id":"flexible-column-container-7700358e63","propertiesId":"hub-hero","type":"2-column-even","alignColumns":"center","containerMaxWidth":"extra-large","topPadding":"extra-small","bottomPadding":"extra-small","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"page-section","backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-5542954b8b",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"text_635913770":{"id":"text-8211b614de","additionalClasses":"eyebrow-text","text":"\u003Cp style=\"padding-top: 8.0px;\"\u003EFoundational Guide\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-02"},"title_v2":{"id":"title-v2-f403eb2625","additionalClasses":"hub-hero__headline","type":"heading1","lines":["AI Engineering: How to Build and Operate Production AI Systems"],":type":"snowflake-site/components/title-v2","appliedCssClassNames":"left-alignment"},"text":{"id":"text-315caefc3b","additionalClasses":"hub-hero__subheadline","text":"\u003Cp\u003EAI engineering turns a capable model into a production system. It brings together governed data, application logic, orchestration, evaluation and operational controls so AI can do useful work repeatedly, not just perform well in a demo.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"container":{"additionalClasses":"hub-hero__authors","gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"content_chip_copy":"aem-GridColumn aem-GridColumn--default--12","content_chip":"aem-GridColumn aem-GridColumn--default--12"},"layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-eb12b1f4be",":type":"snowflake-site/components/container",":items":{"content_chip":{"id":"content-chip-29ce614f2b","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/authors/Laurie-Macpherson/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Read bio"},"image":{"id":"image","isLcpImage":true,"lazyEnabled":true,"src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--a7e9fdff-6f08-4edc-9cd1-e213bb234aaa/laurie-macpherson.jpg?preferwebp=true&quality=85","alt":"Laurie MacPherson","width":"800","height":"800",":type":"snowflake-site/components/image"},"headline":{"id":"title","type":"heading5","lines":["Laurie MacPherson","Technical Writer, Snowflake"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip"},"content_chip_copy":{"id":"content-chip-a656f9a646","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/authors/david-gaule/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Read bio"},"image":{"id":"image","isLcpImage":false,"lazyEnabled":true,"src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--fd9454ea-3b59-4d19-95be-534774cbd226/david.jpg?preferwebp=true&quality=85","alt":"David Gaule","width":"512","height":"512",":type":"snowflake-site/components/image"},"headline":{"id":"title","type":"heading5","lines":["David Gaule","Technical Editor, Snowflake"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip"}},":itemsOrder":["content_chip","content_chip_copy"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"}},":itemsOrder":["text_635913770","title_v2","text","container"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small"},"flexible_column_content_container_2":{"additionalClasses":"hub-hero__video-column","layout":"SIMPLE","id":"container-87ae41fce2",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"youtube":{"id":"embed-7ee7eafadb","youtubeVideoId":"gA-R_MgZQAk","layout":"responsive","youtubeAspectRatio":"56.25","youtubeAutoPlay":false,"youtubeLoop":false,"youtubeMute":false,"youtubePlaysInline":false,"youtubeRel":false,"embeddableResourceType":"core/wcm/components/embed/v1/embed/embeddable/youtube","type":"EMBEDDABLE",":type":"snowflake-site/components/youtube"}},":itemsOrder":["youtube"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_1398138236":{"id":"flexible-column-container-057e1d185a","propertiesId":"hub-hero-related-topics","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"extra-small","bottomPadding":"medium","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"page-section","backgroundImageOption":"none","flexible_column_content_container_1":{"additionalClasses":"related-topics-outer-container border-top","layout":"SIMPLE","id":"container-b070681d41",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"text_894059747":{"id":"text-9efbae1b27","additionalClasses":"seo-hub-hero__related-topic-label","text":"\u003Cp\u003EAI Engineering Topics:\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"text":{"id":"text-a971baf2dc","additionalClasses":"related-topics ","text":"\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/ai-engineering/ai-cost-optimization/\"\u003EAI Cost Optimization\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/ai-engineering/context-engineering/\"\u003EContext Engineering\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/ai-engineering/harness-engineering/\"\u003EHarness Engineering\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small"}},":itemsOrder":["text_894059747","text"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_663228916":{"id":"flexible-column-container-8a0a95292a","propertiesId":"hub-body","type":"2-column-60-40","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"medium","bottomPadding":"medium","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"page-section","backgroundImageOption":"none","flexible_column_content_container_1":{"additionalClasses":"longform-content","layout":"SIMPLE","id":"hub-body-content",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"callout__0":{"id":"text-20867e8ce7","additionalClasses":"callout callout--general","text":"\u003Cp\u003E\u003Cstrong\u003EAI ENGINEERING DEFINED\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EAI engineering applies software-engineering discipline to systems built around foundation models, connecting model access, context, orchestration, evaluation, serving and governance into a production architecture that can be tested and operated over time.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"text__0":{"id":"text-6555847d1e","text":"\u003Cp\u003EEnterprise spending on \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/generative-ai/\"\u003Egenerative AI\u003C/a\u003E reached an estimated $37 billion in 2025, according to \u003Ca href=\"https://menlovc.com/perspective/2025-the-state-of-generative-ai-in-the-enterprise/\" target=\"_blank\"\u003EMenlo Ventures\u003C/a\u003E. The largest share — $19 billion — went to the application layer: the products and software that put foundation models to work.\u003C/p\u003E\n\u003Cp\u003EThat distribution reflects where much of the technical work now sits. A production AI application needs more than access to a capable model. It has to assemble current, permissioned context; coordinate tools and multistep logic; evaluate variable outputs; meet latency and cost targets; and preserve enough state to continue work across calls.\u003C/p\u003E\n\u003Cp\u003EAI engineering brings those responsibilities into a single discipline by treating the model as one component within a larger system whose data, runtime behavior and operating requirements all have to work together.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_what-is-ai-engineering":{"id":"title-v2-f4ea8bad67","additionalClasses":"anchor-title anchor-title--what-is-ai-engineering","type":"heading2","lines":["What is AI engineering?"],":type":"snowflake-site/components/title-v2"},"text_what-is-ai-engineering_0":{"id":"text-23329b8ef1","text":"\u003Cp\u003EAI engineering is the discipline of designing, building, deploying and operating AI systems. It applies software-engineering practices — testing, versioning, observability, release controls and cost management — to applications whose core behavior depends on probabilistic AI models. The model supplies capabilities such as language understanding, generation or reasoning, while the surrounding system determines how those capabilities are used, constrained and evaluated.\u003C/p\u003E\n\u003Cp\u003EThe term is still used loosely, however. In some organizations, AI engineering includes traditional model development and training. But in most enterprises, the center of AI engineering work has shifted toward composing systems around pretrained models. The scope includes model access, retrieval and context assembly, orchestration, evaluation, deployment, inference optimization, monitoring and governance.\u003C/p\u003E\n\u003Cp\u003EEach layer affects the others. A larger context may improve grounding while raising latency and cost, for example. A smaller model may handle routine extraction efficiently, but only if the routing policy recognizes requests that require more capability. The engineering challenge is to make trade-offs explicit and measurable.\u003C/p\u003E\n\u003Cp\u003EA prototype often hides many of these concerns because traffic is low, context is hand-selected and a person is reviewing the output. Once an application is used repeatedly — by different users, over changing data and through downstream systems — reliability, governance, latency and cost determine whether it can remain in production.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_ai-engineering-vs-ml-engineering-mlops-and-data-science":{"id":"title-v2-f8e3b9c886","additionalClasses":"anchor-title anchor-title--ai-engineering-vs-ml-engineering-mlops-and-data-science","type":"heading2","lines":["AI engineering vs. ML engineering, MLOps and data science"],":type":"snowflake-site/components/title-v2"},"text_ai-engineering-vs-ml-engineering-mlops-and-data-science_0":{"id":"text-e8b7081c57","text":"\u003Cp\u003E\u003Cstrong\u003EAI engineering\u003C/strong\u003E builds the production system around one or more AI models. The work typically includes model selection, retrieval and context assembly, application logic, tool integration, evaluation, serving and monitoring. Its primary artifact is the AI-enabled product or workflow that users interact with.\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EML engineering\u003C/strong\u003E typically focuses more directly on the model itself. ML engineers prepare features, select architectures, train or fine-tune models and improve their performance against defined objectives. In organizations that rely heavily on pretrained foundation models, some of that work may give way to model adaptation, but the model remains the central engineering artifact.\u003C/p\u003E\n\u003Cp\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/mlops/\"\u003E\u003Cstrong\u003EMLOps\u003C/strong\u003E\u003C/a\u003E manages the operational lifecycle of models. It provides the pipelines and controls used to version, deploy, monitor and retrain them, much as DevOps supports the software lifecycle. AI engineering uses many of those practices, though its operating scope extends beyond the model endpoint to the retrieval, orchestration, evaluation and application layers around it.\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EData science\u003C/strong\u003E begins with the analytical question. Data scientists explore data, test hypotheses, develop statistical or predictive approaches and often create the first prototype. AI engineers take a model or prototype into a production application, where it has to work with live data, changing user requests, security requirements and downstream systems.\u003C/p\u003E\n\u003Ctable\u003E\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EDiscipline\u003C/th\u003E\u003Cth\u003EPrimary Focus\u003C/th\u003E\u003Cth\u003EMain Deliverable\u003C/th\u003E\u003Cth\u003EQuick Distinction\u003C/th\u003E\u003C/tr\u003E\u003C/thead\u003E\u003Ctbody\u003E\u003Ctr\u003E\u003Ctd\u003E\u003Cstrong\u003EAI engineering\u003C/strong\u003E\u003C/td\u003E\u003Ctd\u003EBuilding a complete production system around one or more AI models\u003C/td\u003E\u003Ctd\u003EAn AI-enabled product or workflow used by end users\u003C/td\u003E\u003Ctd\u003EEngineers the entire AI application, not just the model\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003E\u003Cstrong\u003EML engineering\u003C/strong\u003E\u003C/td\u003E\u003Ctd\u003EDeveloping and improving the model itself\u003C/td\u003E\u003Ctd\u003EA trained, fine-tuned or adapted model\u003C/td\u003E\u003Ctd\u003EEngineers the model as the central artifact\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003E\u003Cstrong\u003EMLOps\u003C/strong\u003E\u003C/td\u003E\u003Ctd\u003EManaging the operational lifecycle of models\u003C/td\u003E\u003Ctd\u003EReliable infrastructure and processes for operating models\u003C/td\u003E\u003Ctd\u003EKeeps models deployable, observable and maintainable\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003E\u003Cstrong\u003EData science\u003C/strong\u003E\u003C/td\u003E\u003Ctd\u003EAnswering analytical questions and developing initial solutions\u003C/td\u003E\u003Ctd\u003EInsights, experiments, analyses or an initial model prototype\u003C/td\u003E\u003Ctd\u003EDiscovers what the data shows and proves early feasibility\u003C/td\u003E\u003C/tr\u003E\u003C/tbody\u003E\u003C/table\u003E\n\u003Cp\u003EThe boundaries between these disciplines aren’t rigid. An AI engineer may fine-tune a model or maintain a deployment pipeline, while an ML engineer may help integrate a foundation model into an application. The main difference is what each role is primarily responsible for: data science develops insight and prototypes, ML engineering develops models, MLOps operates the model lifecycle and AI engineering owns the behavior of the complete \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/\"\u003EAI system\u003C/a\u003E.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"card_v2_ai-engineering-vs-ml-engineering-mlops-and-data-science_0":{"id":"card-v2-888e31c6dd","additionalClasses":"seo-customer","configurationStatus":{"configured":true,"message":""},"title":{"id":"title","type":"heading4","lines":["Customer story: Simon AI"],":type":"snowflake-site/components/title-v2"},"button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/customers/all-customers/case-study/simon-ai/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Read the full customer story"},"image":{"id":"image","isLcpImage":false,"lazyEnabled":true,"src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--14908946-2304-4502-8358-b79697f78567/simon-ai-logo-nav.png?preferwebp=true&quality=85","alt":"Simon AI logo","width":"840","height":"360",":type":"snowflake-site/components/image"},"type":"content-card","text":{"id":"text","text":"\u003Cp\u003ESimon AI uses Snowflake Cortex AI and Snowpark Container Services to power composable AI agents that help marketers deliver contextual personalization at scale without moving data or compromising governance. Running directly in Snowflake’s AI Data Cloud, Simon’s agents give marketers governed, real-time access to structured and unstructured data, helping customers build contextually relevant audiences 90% faster and identify 100+ new high-value customer cohorts.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text"},"layoutStyle":"horizontal",":type":"snowflake-site/components/card-v2"},"title_how-ai-engineering-works-from-prototype-to-production":{"id":"title-v2-b56b382dfd","additionalClasses":"anchor-title anchor-title--how-ai-engineering-works-from-prototype-to-production","type":"heading2","lines":["How AI engineering works: from prototype to production"],":type":"snowflake-site/components/title-v2"},"text_how-ai-engineering-works-from-prototype-to-production_0":{"id":"text-60c0bccaca","text":"\u003Cp\u003EAI engineering turns a model prototype into a reliable production system. Engineers define the task, choose a model, assemble the instructions and data it needs, and build the surrounding workflow for tool use, memory and control flow.\u003C/p\u003E\n\u003Cp\u003EThey then evaluate the system as a whole. Deterministic checks verify schemas, identifiers and permissions, while broader tests measure qualities such as groundedness, relevance and completeness. These evaluations help teams compare changes to models, prompts, retrieval and orchestration before release.\u003C/p\u003E\n\u003Cp\u003EIn production, the system must also meet latency, throughput and cost targets, recover from model or tool failures, and provide enough observability to trace problems to retrieval, context assembly, model behavior, tool execution or validation.\u003C/p\u003E\n\u003Cp\u003EThe resulting production stack can be understood as a sequence of connected responsibilities:\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003EModel access:\u003C/strong\u003E Select or route to a model suited to the request\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EContext and retrieval:\u003C/strong\u003E Assemble the instructions, data, tools and state required for the current step\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EOrchestration:\u003C/strong\u003E Coordinate model calls, tool use, memory, retries and stop conditions\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EEvaluation:\u003C/strong\u003E Test whether the complete system meets quality and policy requirements\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EServing and optimization:\u003C/strong\u003E Operate the workflow within latency, throughput and cost targets\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EMonitoring and governance:\u003C/strong\u003E Trace what the application accessed, produced and did over time\u003C/li\u003E\n\u003C/ul\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"callout_how-ai-engineering-works-from-prototype-to-production_0":{"id":"text-87e7564591","additionalClasses":"callout callout--tip","text":"\u003Cp\u003E\u003Cstrong\u003EQUICK TIP\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EEvaluate retrieval quality before blaming the model. If the wrong policy, customer record or metric definition enters the context, even a strong model may produce an answer that sounds plausible but fails the business task.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"title_designing-ai-applications-and-architecture":{"id":"title-v2-51f07d67f0","additionalClasses":"anchor-title anchor-title--designing-ai-applications-and-architecture","type":"heading2","lines":["Designing AI applications and architecture"],":type":"snowflake-site/components/title-v2"},"text_designing-ai-applications-and-architecture_0":{"id":"text-0b1591b798","text":"\u003Cp\u003EAI application architecture separates the model from the services around it. The model performs inference, while the application manages retrieval, memory, business logic, tools, validation, permissions and user interaction. This separation allows teams to change models without rebuilding the product and to enforce controls outside the model itself.\u003C/p\u003E\n\u003Cp\u003EThe architecture must also connect securely to existing data and systems. Reading governed data, searching documents, calling APIs or writing results back requires authentication, permission checks, schema validation, error handling and audit logs.\u003C/p\u003E\n\u003Cp\u003EDeployment depends on the workload. Batch systems process records asynchronously, while interactive assistants and agents must account for response time, tool latency and concurrency. Many applications combine both approaches, using batch pipelines to prepare data that an interactive service retrieves at runtime.\u003C/p\u003E\n\u003Cp\u003EProduction design should make changes safe and reproducible. Models, prompts, retrieval settings and tool schemas should be versioned together, tested in staging and released gradually through canaries, shadow traffic or A/B tests. Observability should trace each request across retrieval, prompt assembly, model decisions, tool calls and validation so failures can be diagnosed and rolled back quickly.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_context-engineering-and-the-model-input-layer":{"id":"title-v2-99597cff6b","additionalClasses":"anchor-title anchor-title--context-engineering-and-the-model-input-layer","type":"heading2","lines":["Context engineering and the model input layer"],":type":"snowflake-site/components/title-v2"},"text_context-engineering-and-the-model-input-layer_0":{"id":"text-24ecef5f04","text":"\u003Cp\u003EFor each model call, an AI application constructs a temporary working set. It may include system instructions, the user’s request, retrieved business data, conversation history, workflow state, tool definitions and an output schema. The quality of that working set often explains the quality of the result more directly than the nominal size of the model.\u003C/p\u003E\r\n\u003Cp\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/ai-engineering/context-engineering/\"\u003EContext engineering\u003C/a\u003E designs the system that selects, structures and updates those inputs. A capable model can still produce an incorrect answer when retrieval returns the wrong customer record, an outdated policy outranks the current version or earlier state is dropped between steps. Conversely, a focused context assembled from authoritative sources can let a smaller model complete a bounded task reliably.\u003C/p\u003E\r\n\u003Cp\u003ELeo Rodriguez, Principal Product Marketing Manager, AI/ML at Snowflake, frames the significance of context engineering this way: “The AI models are already intelligent. The problem is that they don’t automatically have all the business context to be trusted by the business users. To get accurate answers, you have to give the model the definitions, relationships, permissions and trusted sources it needs to reason over enterprise data.”\u003C/p\u003E\r\n\u003Cp\u003EA production context stack commonly contains:\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003ESystem and task instructions that define the role, rules and immediate objective\u003C/li\u003E\r\n\u003Cli\u003EUser input and identifiers associated with the current request\u003C/li\u003E\r\n\u003Cli\u003ERetrieved structured and unstructured data, filtered under the user’s permissions\u003C/li\u003E\r\n\u003Cli\u003EShort-term or long-term memory selected for the current task\u003C/li\u003E\r\n\u003Cli\u003ETool definitions describing the functions the model may call\u003C/li\u003E\r\n\u003Cli\u003EPrior workflow state, including completed actions and unresolved decisions\u003C/li\u003E\r\n\u003Cli\u003EA structured-output schema for the downstream application\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\u003Cp\u003EThe context window places a hard budget around that material. Retrieval may return more passages than the model needs, tool schemas can consume substantial space and long conversations accumulate history quickly. Ranking, metadata filters, deduplication and compression help reserve capacity for the information most likely to affect the current step. Because information can be factually correct and still irrelevant, relevance has to be evaluated alongside recency, authority, identity and permissions.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"quote_item":{"id":"quote-item-4127fc6e44","alignment":"left","layout":"simple","quoteSourceName":"Leo Rodriguez","quoteSourceTitle":"Principle Product Manager, AI/ML, Snowflake","showQuoteIcon":true,"quote":"AI models are already intelligent. The problem is that they don’t automatically have all the business context to be trusted by the business users.","showHangingPunctuation":false,":type":"snowflake-site/components/quote-item"},"text_context-engineering-and-the-model-input-layer_1":{"id":"text-6533d8a9dd","text":"\u003Cp\u003E\u003Ca href=\"https://www.snowflake.com/en/fundamentals/rag/\"\u003ERetrieval-augmented generation\u003C/a\u003E (RAG) and prompt engineering sit within this layer. RAG supplies external knowledge; prompt engineering shapes instructions and requested output. Context engineering coordinates those techniques with memory, state, tool exposure and token budgeting across the application.\u003C/p\u003E\n\u003Cp\u003EStructured outputs provide a contract between the probabilistic model and deterministic code. A schema can limit the response to required fields and make malformed output easier to detect, though schema validity doesn’t establish factual accuracy. The application may still need to verify identifiers, compare values with source data or require approval before an action proceeds.\u003C/p\u003E\n\u003Cp\u003E\u003Cem\u003ELearn how Cortex Search and Cortex Analyst can support retrieval-augmented generation over enterprise knowledge:\u003C/em\u003E\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"yt_context-engineering-and-the-model-input-layer_0":{"id":"embed-c5ec43801e","youtubeVideoId":"punK7CLS3Sg","layout":"responsive","youtubeAspectRatio":"56.25","youtubeAutoPlay":false,"youtubeLoop":false,"youtubeMute":false,"youtubePlaysInline":false,"youtubeRel":false,"embeddableResourceType":"core/wcm/components/embed/v1/embed/embeddable/youtube","type":"EMBEDDABLE",":type":"snowflake-site/components/youtube"},"title_orchestration-gateways-harnesses-and-control-loops":{"id":"title-v2-d1d51b0969","additionalClasses":"anchor-title anchor-title--orchestration-gateways-harnesses-and-control-loops","type":"heading2","lines":["Orchestration: gateways, harnesses and control loops"],":type":"snowflake-site/components/title-v2"},"text_orchestration-gateways-harnesses-and-control-loops_0":{"id":"text-ad381974f8","text":"\u003Cp\u003EProduction AI rarely consists of one prompt and one response. A request may pass through a gateway, route to one of several models, retrieve context, call a tool, inspect the result and continue until the task is complete. Orchestration coordinates that execution path.\u003C/p\u003E\r\n\u003Cp\u003EAn AI gateway provides a common entry point for model traffic. Depending on the architecture, it may centralize provider access, authentication, routing, rate limits, logging and cost attribution. Model routing then selects a model or fallback path based on the task, latency target, policy or confidence threshold, allowing routine work to use a smaller model while difficult requests escalate.\u003C/p\u003E\r\n\u003Cp\u003EThe \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/agents/harness/\"\u003Eagent harness\u003C/a\u003E provides the runtime orchestration around a model. It supplies tools, memory, context management, state persistence, control flow and guardrails, giving the model the working conditions required for multistep work. Two applications can use the same foundation model and produce very different completion rates because their harnesses expose different tools, preserve different state and handle failures differently.\u003C/p\u003E\r\n\u003Cp\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/ai-engineering/harness-engineering/\"\u003ELearn more about harness engineering &gt;\u003C/a\u003E\u003C/p\u003E\r\n\u003Cp\u003EArun Agarwal, Snowflake’s Principal Product Marketing Manager, AI/ML, explains: “Agent orchestration lives in the agent harness, not the model. That separation is what lets customers keep pace as models get smarter. They can select the most appropriate model for their use case without rebuilding the agent.”\u003C/p\u003E\r\n\u003Cp\u003EAt the center of many harnesses is a control loop. The model proposes a next step, the harness validates and performs it, the result returns to the model and the cycle continues. That plan-act-observe pattern needs boundaries: iteration limits, timeout thresholds, retry rules and stop conditions prevent the application from repeating an unproductive action or consuming resources after the task can no longer be completed.\u003C/p\u003E\r\n\u003Cp\u003EGuardrails can run before and after model inference. Input controls may reject prohibited requests or remove tools that the current user cannot access. Output controls may validate a schema, check grounding, enforce policy or block an unsupported action. Task-specific controls are generally more useful than a generic filter alone because a data engineering agent, a financial analysis agent and an internal support agent have different permissible actions.\u003C/p\u003E\r\n\u003Cp\u003EThe Model Context Protocol standardizes how applications connect to external tools and services, while agent orchestration coordinates work across multiple agents or workflow steps. The harness remains the per-agent runtime that governs how one agent uses its assigned tools, context and state.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_optimizing-ai-performance-and-cost":{"id":"title-v2-0cef1a634d","additionalClasses":"anchor-title anchor-title--optimizing-ai-performance-and-cost","type":"heading2","lines":["Optimizing AI performance and cost"],":type":"snowflake-site/components/title-v2"},"text_optimizing-ai-performance-and-cost_0":{"id":"text-8ebc5967f3","text":"\u003Cp\u003EAI performance is shaped by both the model and the serving path around it. Interactive applications track time to first token, which includes prompt processing and queueing, as well as time per output token during generation. Batch systems place more weight on throughput and cost per completed item. Agentic workflows add another unit: cost and latency per successful run, including every model call, retrieval step, tool invocation and retry.\u003C/p\u003E\r\n\u003Cp\u003EThe input side of inference deserves particular attention. During prefill, the model processes the full request and creates the key-value cache used during generation. In prompt-heavy enterprise workloads, long instructions, retrieved passages and conversation history can make prefill a substantial share of compute.\u003C/p\u003E\r\n\u003Cp\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/ai-engineering/ai-cost-optimization\"\u003EAI cost optimization\u003C/a\u003E starts with attribution. Provider invoices show total consumption, but application telemetry explains which feature, workflow or configuration produced it. Useful measures include input and output tokens, model calls per request, cache-hit rates, escalation rates, latency, completion rate and cost per successful workflow. When those values are tagged by team, environment and feature, a billing increase can be traced to user growth, longer context, repeated loops or a change in model selection.\u003C/p\u003E\r\n\u003Cp\u003ERodriguez says teams often underestimate AI cost when they look only at the final response rather than the full workflow that produced it. “If a task takes 20 prompts to complete, you’re not just paying for the 20th prompt,” he explains. “In many cases, the model is processing the prior prompts, long context windows and all the information it needs to decide where to look. That’s where teams can get surprised by the compounding cost of a single query.”\u003C/p\u003E\r\n\u003Cp\u003EThe main optimization levers affect different parts of the path:\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Cb\u003EContext reduction\u003C/b\u003E removes duplicated instructions, caps retrieved passages and compresses history so the model processes fewer input tokens.\u003C/li\u003E\r\n\u003Cli\u003E\u003Cb\u003EModel routing\u003C/b\u003E assigns bounded work to the least expensive model expected to meet the quality threshold.\u003C/li\u003E\r\n\u003Cli\u003E\u003Cb\u003ESemantic caching\u003C/b\u003E reuses approved responses or intermediate results when a new request is sufficiently similar and the underlying data, permissions and freshness constraints still hold.\u003C/li\u003E\r\n\u003Cli\u003E\u003Cb\u003EBatching and continuous batching\u003C/b\u003E improve GPU utilization by processing compatible requests together.\u003C/li\u003E\r\n\u003Cli\u003E\u003Cb\u003EQuantization\u003C/b\u003E reduces model-weight memory, which can leave more capacity for concurrent requests or permit lower-capacity hardware.\u003C/li\u003E\r\n\u003Cli\u003E\u003Cb\u003EKV-cache optimization\u003C/b\u003E improves memory allocation or reuse for long and repeated prefixes.\u003C/li\u003E\r\n\u003Cli\u003E\u003Cb\u003EStructured outputs\u003C/b\u003E limit unnecessary generation and reduce retries caused by invalid formatting\u003C/li\u003E\r\n\u003C/ul\u003E\r\n\u003Cp\u003EThese savings interact. Compression changes what reaches the router, caching removes some calls before inference and infrastructure improvements apply only to the traffic that remains. Evaluation has to accompany each change: a lower bill offers little value when compression drops a policy exception, a cache returns stale data or a smaller model fails on the requests routed to it.\u003C/p\u003E\r\n\u003Cp\u003E\u003Ci\u003ESee how Snowflake Cortex Analyst uses semantic context to let business users ask natural-language questions over governed Snowflake data:\u003C/i\u003E\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"yt_optimizing-ai-performance-and-cost_0":{"id":"embed-689fa36336","youtubeVideoId":"CXoca9hDdaQ","layout":"responsive","youtubeAspectRatio":"56.25","youtubeAutoPlay":false,"youtubeLoop":false,"youtubeMute":false,"youtubePlaysInline":false,"youtubeRel":false,"embeddableResourceType":"core/wcm/components/embed/v1/embed/embeddable/youtube","type":"EMBEDDABLE",":type":"snowflake-site/components/youtube"},"title_evaluating-and-improving-ai-systems":{"id":"title-v2-4b3dedf8c0","additionalClasses":"anchor-title anchor-title--evaluating-and-improving-ai-systems","type":"heading2","lines":["Evaluating and improving AI systems"],":type":"snowflake-site/components/title-v2"},"text_evaluating-and-improving-ai-systems_0":{"id":"text-fc4d9a1abe","text":"\u003Cp\u003EAI systems often produce several acceptable answers, vary across repeated runs and depend on retrieval results that change over time. Evaluation makes that behavior tractable by defining representative tasks, acceptable outcomes and release thresholds. The evaluation should cover the complete pipeline.\u003C/p\u003E\n\u003Cp\u003EOffline evaluation happens before release, using fixed or replayed examples. Online evaluation samples production traffic, gathers user feedback and detects distribution shifts or new error patterns. Together, they create a release loop: changes run through regression tests in continuous integration, canary or shadow deployments expose them to realistic traffic, and production monitoring shows whether behavior continues to meet the threshold.\u003C/p\u003E\n\u003Cp\u003EObservability supplies the evidence behind the evaluation score. Traces should connect the final output with the model version, instructions, retrieved sources, tool calls, state changes, validation results, latency and token consumption. When performance drifts, engineers can then determine whether the cause is a model change, stale data, retrieval quality, a new request pattern or the surrounding runtime.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"callout_evaluating-and-improving-ai-systems_0":{"id":"text-d4da71cb50","additionalClasses":"callout callout--warning","text":"\u003Cp\u003E\u003Cstrong\u003ECOMMON PITFALL\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EA common mistake is evaluating the model in isolation. Many production failures start outside the model endpoint, with stale retrieval results, missing permissions, invalid tool arguments, dropped state or weak output validation.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"title_why-build-production-ai-on-snowflake":{"id":"title-v2-7636f0a52b","additionalClasses":"anchor-title anchor-title--why-build-production-ai-on-snowflake","type":"heading2","lines":["Why build production AI on Snowflake"],":type":"snowflake-site/components/title-v2"},"text_why-build-production-ai-on-snowflake_0":{"id":"text-c7818f25f3","text":"\u003Cp\u003EEnterprise AI systems derive much of their value from proprietary data: customer records, operational events, documents, metrics, policies and the relationships among them. Context carries the organization’s access rules and business definitions. When AI is built in a separate environment, teams may have to reproduce data pipelines, permissions, monitoring and governance for each application.\u003C/p\u003E\n\u003Cp\u003ESnowflake brings AI services to governed data through \u003Ca href=\"https://www.snowflake.com/en/product/features/cortex/\"\u003ECortex AI\u003C/a\u003E, a suite of managed capabilities for building and operating AI applications within Snowflake. Teams can access foundation models, process structured and unstructured data, retrieve enterprise knowledge, build agents and evaluate application behavior while applying Snowflake’s existing security and governance controls.\u003C/p\u003E\n\u003Cp\u003ECortex AI Functions enable AI operations in SQL for tasks such as extraction, classification and summarization. Cortex Search retrieves relevant unstructured content, while Cortex Analyst interprets natural-language questions over structured data using semantic context. \u003Ca href=\"https://www.snowflake.com/en/developers/guides/getting-started-with-cortex-agents/\"\u003ECortex Agents\u003C/a\u003E coordinates these resources and custom tools for multistep work, and Snowflake CoWork provides a conversational interface through which business users can work with configured agents.\u003C/p\u003E\n\u003Cp\u003EFor custom systems, Snowpark Container Services supports application and model-serving components within Snowflake’s platform. AI Observability provides evaluation and tracing for generative AI applications, while \u003Ca href=\"https://www.snowflake.com/en/product/features/horizon/\"\u003EHorizon Catalog\u003C/a\u003E supplies governance capabilities such as access control, lineage, data quality and AI guardrails. Together, these services map to the same production stack: access the model, assemble governed context, orchestrate work, evaluate behavior, operate the serving path and observe what happens.\u003C/p\u003E\n\u003Cp\u003ETeams still define which data and tools an application may use, how semantic models represent business logic, which changes pass an evaluation gate and what level of cost or latency is acceptable. But the architecture does reduce the number of disconnected systems in which those decisions have to be reimplemented.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_turning-model-capability-into-production-performance":{"id":"title-v2-548a6b34b1","additionalClasses":"anchor-title anchor-title--turning-model-capability-into-production-performance","type":"heading2","lines":["Turning model capability into production performance"],":type":"snowflake-site/components/title-v2"},"text_turning-model-capability-into-production-performance_0":{"id":"text-24f6bfa9cb","text":"\u003Cp\u003EAs foundation models improve and become easier to access, enterprise differentiation shifts toward the system around them: the quality of governed context, the specificity of tools, the evaluation data that reflects real work and the operating controls that keep the application reliable. AI engineering is the practice that assembles those pieces into a production system and keeps them aligned as models, data and requirements change.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"callout_turning-model-capability-into-production-performance_0":{"id":"text-402cd0b43d","additionalClasses":"callout callout--general","text":"\u003Cp\u003E\u003Cstrong\u003EKEY TAKEAWAY\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EFoundation models supply powerful capabilities, but AI engineering determines how those capabilities are applied, constrained, measured and improved. The most successful production systems treat AI as part of a larger architecture that must be tested and operated over time.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"}},":itemsOrder":["callout__0","text__0","title_what-is-ai-engineering","text_what-is-ai-engineering_0","title_ai-engineering-vs-ml-engineering-mlops-and-data-science","text_ai-engineering-vs-ml-engineering-mlops-and-data-science_0","card_v2_ai-engineering-vs-ml-engineering-mlops-and-data-science_0","title_how-ai-engineering-works-from-prototype-to-production","text_how-ai-engineering-works-from-prototype-to-production_0","callout_how-ai-engineering-works-from-prototype-to-production_0","title_designing-ai-applications-and-architecture","text_designing-ai-applications-and-architecture_0","title_context-engineering-and-the-model-input-layer","text_context-engineering-and-the-model-input-layer_0","quote_item","text_context-engineering-and-the-model-input-layer_1","yt_context-engineering-and-the-model-input-layer_0","title_orchestration-gateways-harnesses-and-control-loops","text_orchestration-gateways-harnesses-and-control-loops_0","title_optimizing-ai-performance-and-cost","text_optimizing-ai-performance-and-cost_0","yt_optimizing-ai-performance-and-cost_0","title_evaluating-and-improving-ai-systems","text_evaluating-and-improving-ai-systems_0","callout_evaluating-and-improving-ai-systems_0","title_why-build-production-ai-on-snowflake","text_why-build-production-ai-on-snowflake_0","title_turning-model-capability-into-production-performance","text_turning-model-capability-into-production-performance_0","callout_turning-model-capability-into-production-performance_0"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-medium"},"flexible_column_content_container_2":{"additionalClasses":"hub-sidebar","layout":"SIMPLE","id":"hub-body-aside",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"container":{"additionalClasses":"sticky-sidebar","gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"text_943981956_copy_":"aem-GridColumn aem-GridColumn--default--12","text_copy":"aem-GridColumn aem-GridColumn--default--12"},"layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-a37b324bb9",":type":"snowflake-site/components/container",":items":{"text_943981956_copy_":{"id":"text-6f207aabe6","additionalClasses":"eyebrow-text","text":"\u003Cp\u003EIn This Guide\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular"},"text_copy":{"id":"text-09aa56558d","additionalClasses":"page-toc","text":"\u003Cul\u003E\u003Cli data-anchor=\"what-is-ai-engineering\"\u003EWhat is AI engineering?\u003C/li\u003E\u003Cli data-anchor=\"ai-engineering-vs-ml-engineering-mlops-and-data-science\"\u003EAI engineering vs. ML engineering, MLOps and data science\u003C/li\u003E\u003Cli data-anchor=\"how-ai-engineering-works-from-prototype-to-production\"\u003EHow AI engineering works: from prototype to production\u003C/li\u003E\u003Cli data-anchor=\"designing-ai-applications-and-architecture\"\u003EDesigning AI applications and architecture\u003C/li\u003E\u003Cli data-anchor=\"context-engineering-and-the-model-input-layer\"\u003EContext engineering and the model input layer\u003C/li\u003E\u003Cli data-anchor=\"orchestration-gateways-harnesses-and-control-loops\"\u003EOrchestration: gateways, harnesses and control loops\u003C/li\u003E\u003Cli data-anchor=\"optimizing-ai-performance-and-cost\"\u003EOptimizing AI performance and cost\u003C/li\u003E\u003Cli data-anchor=\"evaluating-and-improving-ai-systems\"\u003EEvaluating and improving AI systems\u003C/li\u003E\u003Cli data-anchor=\"why-build-production-ai-on-snowflake\"\u003EWhy build production AI on Snowflake\u003C/li\u003E\u003Cli data-anchor=\"turning-model-capability-into-production-performance\"\u003ETurning model capability into production performance\u003C/li\u003E\u003C/ul\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-05"}},":itemsOrder":["text_943981956_copy_","text_copy"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-medium"}},":itemsOrder":["container"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"},"flexible_column_cont_1786318617":{"id":"flexible-column-container-b0f4aef2e6","propertiesId":"hub-faq","type":"2-column-40-60","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"large","bottomPadding":"large","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"hub-faq-intro",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"title_v2_copy":{"id":"title-v2-e08dcb000f","additionalClasses":"hub-faq__headline","type":"heading2","lines":["Frequently Asked Questions"],":type":"snowflake-site/components/title-v2","appliedCssClassNames":"left-alignment"},"text_copy":{"id":"text-78c66d95c4","additionalClasses":"hub-faq__subheadline","text":"\u003Cp\u003EYour common questions about AI engineering, answered by Snowflake experts.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"}},":itemsOrder":["title_v2_copy","text_copy"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small"},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"hub-faq-accordions",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"simple_snowflake_acc":{"id":"simple-snowflake-accordion-a5a040cd1b","additionalClasses":"seo-hub__faqs","showDivider":false,"accordionItemsList":[{"title":"How is AI engineering different from machine learning engineering, MLOps and data science?","richText":"\u003Cp\u003EAI engineering builds production systems around AI models, including context, orchestration, evaluation and serving. ML engineering develops and trains models, MLOps manages the model lifecycle and data science analyzes data and develops prototypes. The roles can overlap, particularly on small teams.\u003C/p\u003E"},{"title":"What does an AI engineer do?","richText":"\u003Cp\u003EAn AI engineer integrates foundation models into production products. The work can include selecting models; designing retrieval and context pipelines; building agent harnesses and tool integrations; creating evaluation suites; deploying inference services; and monitoring reliability, latency, cost and policy compliance across the application.\u003C/p\u003E"},{"title":"What skills and tools do AI engineers use?","richText":"\u003Cp\u003EAI engineers need strong software-engineering fundamentals, including APIs, testing, version control, security and distributed-system design. They also work with LLM integration, RAG and vector search, prompt and context management, orchestration frameworks, structured outputs, evaluation tooling, and cloud or MLOps services for deployment and monitoring.\u003C/p\u003E"},{"title":"How do you take an AI prototype to production?","richText":"\u003Cp\u003EStart by identifying what the prototype assumes: hand-selected context, broad permissions, manual review, low traffic or a single model call. Replace those assumptions with production mechanisms. Ground the application in governed data, add state and orchestration for multistep work, validate tool calls and outputs, build a representative evaluation set, define latency and cost budgets, deploy through controlled environments and monitor the full workflow for drift and regressions.\u003C/p\u003E"},{"title":"What are the main components of a production AI system?","richText":"\u003Cp\u003EA production AI system typically includes model access or routing; context and retrieval; orchestration and tool use; evaluation; serving and cost controls; observability; and governance. The exact architecture varies by workload, but the system needs a defined path for selecting information, performing work, verifying results and recording what occurred.\u003C/p\u003E"}],":type":"snowflake-site/components/simple-snowflake-accordion"}},":itemsOrder":["simple_snowflake_acc"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_1467213961":{"id":"flexible-column-container-163f7cbf09","propertiesId":"hub-explore-resources-header","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"large","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-d940665760",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"title_v2":{"id":"title-v2-3a1b26f35d","additionalClasses":"hub-explore-resources-header__headline","type":"heading2","lines":["Explore AI Resources"],":type":"snowflake-site/components/title-v2","appliedCssClassNames":"left-alignment"}},":itemsOrder":["title_v2"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_912630531":{"id":"flexible-column-container-a9e1f7a23e","propertiesId":"hub-explore-resources-grid","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"small","bottomPadding":"large","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"hub-explore-resources-grid-inner",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"resource_chip_0":{"id":"content-chip-e837fc2a79","tagText":"WEBINAR","tagColor":"#EEBDD3","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/webinars/virtual-hands-on-lab/build-an-llmpowered-app-in-10-min-with-snowflake-cortex-ai-2026-05-27/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Read more"},"headline":{"id":"title","type":"heading5","lines":["Build an LLM-Powered App in 10 min with Snowflake Cortex AI"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip","appliedCssClassNames":"snowflake-content-chip-white-bg"},"resource_chip_1":{"id":"content-chip-d2df3cd45a","tagText":"GUIDE","tagColor":"#AAE5EA","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/developers/guides/build-custom-llm-apps-with-snowpark-container-services-and-nvidia/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Read more"},"headline":{"id":"title","type":"heading5","lines":["Build LLM Apps with Snowpark Container Services and NVIDIA"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip","appliedCssClassNames":"snowflake-content-chip-white-bg"},"resource_chip_2":{"id":"content-chip-135421dbc8","tagText":"BLOG","tagColor":"#29B5E8","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/blog/cortex-code-governed-agent-data-stack/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Read more"},"headline":{"id":"title","type":"heading5","lines":["Cortex Code: One Governed Agent for Your Entire Data Stack"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip","appliedCssClassNames":"snowflake-content-chip-white-bg"},"resource_chip_3":{"id":"content-chip-3c1103d00a","tagText":"EBOOK","tagColor":"#71D3DC","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/resources/ebook/building-trusted-ai--data-platform-essentials/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Read more"},"headline":{"id":"title","type":"heading5","lines":["Building Trusted AI: Data Platform Essentials"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip","appliedCssClassNames":"snowflake-content-chip-white-bg"}},":itemsOrder":["resource_chip_0","resource_chip_1","resource_chip_2","resource_chip_3"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_1158003461":{"id":"flexible-column-container-a24f0f8ca6","propertiesId":"hub-explore-topics-header","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"large","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-b5fbc0e8b7",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"title_v2_copy_copy":{"id":"title-v2-0752232ac7","additionalClasses":"hub-explore-topics-header__headline","type":"heading2","lines":["Explore AI Topics"],":type":"snowflake-site/components/title-v2","appliedCssClassNames":"left-alignment"},"text_copy_copy":{"id":"text-21a25ce9e4","additionalClasses":"hub-explore-topics-header__subheadline","text":"\u003Cp\u003EDeep dives into every aspect of artificial intelligence\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"}},":itemsOrder":["title_v2_copy_copy","text_copy_copy"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small"},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-white-bg"},"flexible_column_cont_1377146023":{"id":"flexible-column-container-d028112688","propertiesId":"hub-explore-topics-grid","type":"3-column-even","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"small","bottomPadding":"large","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-6923c00bac",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"topic_card_0":{"id":"card-v2-8e481510f9","configurationStatus":{"configured":true,"message":""},"title":{"id":"title","type":"heading4","lines":["Artificial Intelligence"],":type":"snowflake-site/components/title-v2"},"button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/artificial-intelligence/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Learn more"},"type":"content-card","text":{"id":"text","text":"\u003Cp\u003EFoundational guide to enterprise AI: how it works, where it's headed and what it means for your business.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text"},"layoutStyle":"vertical",":type":"snowflake-site/components/card-v2"}},":itemsOrder":["topic_card_0"]},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"container-c16c4772c9",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"topic_card_1":{"id":"card-v2-623ae0e870","configurationStatus":{"configured":true,"message":""},"title":{"id":"title","type":"heading4","lines":["Harness Engineering"],":type":"snowflake-site/components/title-v2"},"button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/artificial-intelligence/ai-engineering/harness-engineering/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Learn more"},"type":"content-card","text":{"id":"text","text":"\u003Cp\u003EBuilding the scaffolding — tools, memory and control flow — that lets AI agents operate reliably in production.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text"},"layoutStyle":"vertical",":type":"snowflake-site/components/card-v2"}},":itemsOrder":["topic_card_1"]},"flexible_column_content_container_3":{"layout":"SIMPLE","id":"container-516d1bcdbd",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"topic_card_2":{"id":"card-v2-7051190066","configurationStatus":{"configured":true,"message":""},"title":{"id":"title","type":"heading4","lines":["Machine Learning"],":type":"snowflake-site/components/title-v2"},"button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/artificial-intelligence/machine-learning/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Learn more"},"type":"content-card","text":{"id":"text","text":"\u003Cp\u003EUnderstanding algorithms that automatically learn and improve from experience.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text"},"layoutStyle":"vertical",":type":"snowflake-site/components/card-v2"}},":itemsOrder":["topic_card_2"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-white-bg"}},":itemsOrder":["flexible_column_cont","flexible_column_cont_939100716","flexible_column_cont_1398138236","flexible_column_cont_663228916","flexible_column_cont_1786318617","flexible_column_cont_1467213961","flexible_column_cont_912630531","flexible_column_cont_1158003461","flexible_column_cont_1377146023"],":type":"wcm/foundation/components/responsivegrid"},"modal_container":{"layout":"SIMPLE","id":"container-5a2e4b4f24",":type":"snowflake-site/components/modal/modal-container",":items":{},":itemsOrder":[]},"markup_editor_928258845":{"id":"markup-editor-5471969447","title":" ","cssContent":".snowflake-flexible-column-container-gray-10-bg\u003E.snowflake-flexible-column-container{background-color:var(--ui-background-05) !important}.text-size-regular:has(.seo-hub-hero__related-topic-label){display:flex;align-items:center}.hub-hero__headline span{text-transform:none !important}.hub-hero__subheadline p{max-width:70ch;margin-top:8px}.hub-hero__authors \u003E .container \u003E .cmp-container \u003E .aem-container{display:flex;flex-direction:row}.hub-hero__authors \u003E .container \u003E .cmp-container \u003E .aem-container \u003E div{width:auto !important;margin:24px 48px 0 0 !important}.hub-hero__authors .heading-5-v2{gap:var(--spacing-00)}.hub-hero__authors .snowflake-content-chip-button{display:none !important}.hub-hero__authors .snowflake-person-chip-content .body-2,.hub-hero__authors .snowflake-content-chip-content .snowflake-title-v2-line{font-size:16px !important;line-height:20px !important;font-family:\"Lato\",sans-serif !important;color:#000 !important;font-weight:600 !important}.hub-hero__authors .snowflake-person-chip-content .body-3,.hub-hero__authors .snowflake-content-chip-content .snowflake-title-v2-line:not(:first-child){font-weight:400 !important;color:var(--text-05) !important;font-size:16px !important}.hub-hero__authors .snowflake-image-container img{aspect-ratio:1 !important;border-radius:100%;overflow:hidden}.hub-hero__authors .snowflake-person-chip-avatar{width:56px;height:56px}.hub-hero__authors .snowflake-content-chip{align-items:center;display:inline-flex}.hub-hero__authors .snowflake-content-chip-image{max-width:56px;line-height:0;margin-right:var(--spacing-03)}.hub-hero__authors .snowflake-person-chip-inner-horizontal{gap:var(--spacing-03)}@media screen and (min-width:1367px){.hub-hero__headline .heading-1-v2{font-size:48px;line-height:44px}}#hub-explore-resources-grid-inner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:24px}#hub-explore-resources-grid-inner\u003E.container\u003E.cmp-container\u003E.aem-container::before,#hub-explore-resources-grid-inner\u003E.container\u003E.cmp-container\u003E.aem-container::after{display:none}#hub-explore-resources-grid-inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(25% - 18px)}.text-color-text-05 .snowflake-text h2,.text-color-text-05.cq-Editable-dom h2,.text-color-text-05 .snowflake-text h3,.text-color-text-05.cq-Editable-dom h3,.text-color-text-05 .snowflake-text h4,.text-color-text-05.cq-Editable-dom h4,.text-color-text-05 .snowflake-text h5,.text-color-text-05.cq-Editable-dom h5,.text-color-text-05 .snowflake-text h6,.text-color-text-05.cq-Editable-dom h6{color:#000 !important}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"},"markup_editor_597730182":{"id":"markup-editor-31c5c48b84","title":" ","cssContent":".sf-copy-markdown [data-copy-md]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-family:'Texta',sans-serif;text-transform:uppercase;font-weight:800 !important;font-size:14px;font-weight:500;color:#11567f;background:#f0faff;border:1px solid #b8e6f9;border-radius:24px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.sf-copy-markdown [data-copy-md]:hover{background:#ddf3fc;border-color:#29b5e8}.sf-copy-markdown [data-copy-md][data-copied=\"1\"]{color:#0f7b3e;background:#ecfdf5;border-color:#6ee7a0;pointer-events:none}.sf-copy-markdown [data-copy-md] svg{flex-shrink:0}.longform-conten .snowflake-content-chip-white-bg .snowflake-content-chip{box-shadow:0 0 24px 4px rgba(0,0,0,.02),0 4px 8px 0 rgba(0,0,0,.04);flex-direction:row-reverse;align-items:center}.longform-conten .snowflake-content-chip-button{display:none}.longform-conten .snowflake-content-chip-image__inner{aspect-ratio:5 / 3;display:flex;justify-content:center;align-items:center;background-color:var(--ui-01);border-radius:4px}.longform-conten .snowflake-content-chip-image{margin-right:0;margin-left:48px}.longform-conten .snowflake-content-chip-image img{width:50%;border-radius:0 !important;object-fit:contain}.longform-content .black-blue-text-color .snowflake-title-v2-line:not(:first-child){font-size:14px !important;font-weight:400 !important;color:rgba(0,0,0,.6) !important;margin-top:8px !important}.page-toc ul li:first-child{padding-top:0 !important}.page-toc ul li:last-child{padding-bottom:0 !important}.seo-hub__top-bar \u003E .container \u003E .cmp-container \u003E .aem-container \u003E div:first-child{flex-grow:1}.sf-copy-markdown{margin-top:40px !important}.page-toc ul{margin-top:16px !important}.seo-hub__top-bar \u003E .container \u003E .cmp-container \u003E .aem-container{display:flex;justify-content:space-between}.sf-copy-markdown{}.callout.snowflake-text p:not(:first-child){margin-top:var(--spacing-01)}.callout \u003E span \u003E p:first-child \u003E strong,.callout \u003E span \u003E p:first-child \u003E b{text-transform:uppercase;font-family:'Texta',sans-serif;font-size:16px !important;color:var(--ui-01) !important}.seo-hub-hero__subheadline p{max-width:50ch}.tag-group ul{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:row;row-gap:12px;column-gap:8px;align-items:center;flex-wrap:wrap}.tag-group ul li:first-child{flex-shrink:0}.tag-group ul li a{display:inline-block;padding:2px 12px;border-radius:48px;background-color:#ededed;color:#666;font-size:14px !important}@media screen and (min-width:1367px){.seo-hub-hero__headline span.snowflake-title-v2-line{font-size:56px !important}}.callout.snowflake-text p:not(:first-child){margin-top:var(--spacing-01)}.callout \u003E span \u003E p:first-child \u003E b{text-transform:uppercase;font-family:'Texta',sans-serif;font-size:16px !important;color:var(--ui-01) !important}.seo-hub-hero__subheadline p{max-width:80ch}#hero:has(.snowflake-youtube-lite) .seo-hub-hero__subheadline p{max-width:50ch}.tag-group ul{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:row;row-gap:12px;column-gap:8px;align-items:center;flex-wrap:wrap}.tag-group ul li:first-child{width:100%;flex-shrink:0}.tag-group ul li a{display:inline-block;padding:2px 12px;border-radius:48px;background-color:#ededed;color:#666;font-size:14px !important}@media screen and (min-width:1367px){.seo-hub-hero__headline span.snowflake-title-v2-line{font-size:56px !important}}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"},"markup_editor":{"id":"markup-editor-cd6fd52883","title":" ","cssContent":"div.snowflake-breadcrumb a.snowflake-breadcrumb-item,.snowflake-breadcrumb div.snowflake-breadcrumb-item{text-transform:none;font-weight:500}.snowflake-breadcrumb svg{display:none !important}.snowflake-breadcrumb a:has(svg)::after{content:'/';margin:0 12px;color:#666}.hub-sidebar{padding:0 40px}.sticky-sidebar{max-width:340px;margin-left:auto}.page-toc ul{list-style-type:none;padding:0}.page-toc li{padding:8px 16px;border-left:4px solid var(--ui-01);cursor:pointer;transition:300ms ease all}.page-toc li:hover{color:var(--ui-01);border-color:#7fd3f1;transition:300ms ease all}.callout,.customer-card{background-color:#eef9fd;border-left:4px solid var(--ui-01);padding:24px 24px 24px 32px;border-radius:4px}.logo-container{max-width:180px}.longform-content li{margin-top:1rem !important}div.longform-content p{max-width:80ch}.bolder .snowflake-title-v2-line{font-weight:900 !important}.border-top\u003Ediv{border-top:1px solid #ccc;padding-top:48px}.related-topics ul{list-style-type:none;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap}.related-topics li{display:inline-block;border:1px solid #ccc;padding:4px 12px;border-radius:24px}div.longform-content .snowflake-text h2,div.longform-content .snowflake-text .heading-2-v2,div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-title-v2 .heading-3-v2,div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-title-v2 .heading-4-v2,div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-title-v2 .heading-5-v2,div.longform-content .snowflake-text h6,div.longform-content .snowflake-title-v2 .heading-6-v2,div.longform-content .snowflake-text .heading-6-v2{text-transform:none !important}div.longform-content .snowflake-text h2,div.longform-content .snowflake-text .heading-2-v2,div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-text h6,div.longform-content .snowflake-text .heading-6-v2{margin-top:1.5rem !important;line-height:1.1 !important}div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-title-v2 .heading-3-v2,div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-title-v2 .heading-4-v2,div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-title-v2 .heading-5-v2,div.longform-content .snowflake-text h6,div.longform-content .snowflake-text .heading-6-v2,div.longform-content .snowflake-title-v2 .heading-6-v2{font-family:Lato,sans-serif !important;font-weight:800 !important}div.longform-content .snowflake-text h2,div.longform-content .snowflake-text .heading-2-v2,div.longform-content .snowflake-title-v2 .heading-2-v2{text-transform:none !important;font-size:28px !important}div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-title-v2 .heading-3-v2{font-size:22px !important}div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-title-v2 .heading-4-v2{font-size:18px !important}div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-title-v2 .heading-5-v2{font-size:16px !important}div.longform-content .snowflake-text h6,div.longform-content .snowflake-text .heading-6-v2,div.longform-content .snowflake-title-v2 .heading-6-v2{font-size:14px !important}@media screen and (min-width:992px){div.longform-content .snowflake-text h2,div.longform-content .snowflake-text .heading-2-v2,div.longform-content .snowflake-title-v2 .heading-2-v2{font-size:38px !important}div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-title-v2 .heading-3-v2{font-size:26px !important}div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-title-v2 .heading-4-v2{font-size:22px !important}div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-title-v2 .heading-5-v2{font-size:18px !important}div.longform-content .snowflake-text h6,div.longform-content .snowflake-text .heading-6-v2,div.longform-content .snowflake-title-v2 .heading-6-v2{font-size:16px !important}}.sticky-sidebar .page-toc li.is-active{font-weight:600;color:var(--snow-blue,#29b5e8)}.sticky-sidebar .page-toc li[data-anchor]{cursor:pointer}.longform-content table{margin-top:24px;margin-bottom:24px;width:100%;background-color:var(--ui-background-01);border-collapse:collapse;border:2px solid var(--ui-background-09);font-family:'Lato',sans-serif;color:var(--ui-background-09)}.longform-content table thead{background-color:var(--ui-01)}.longform-content th,.longform-content td{min-width:120px;border:2px solid var(--ui-background-09);padding:var(--spacing-01)}.longform-content ol{margin-top:0 !important}.longform-content ol li{margin-bottom:1rem !important}.longform-content ul li{margin:0;padding:0 0 0 32px;position:relative}.longform-content ul{list-style-type:none}.longform-content ul li::before{content:\"\";display:block;border-radius:100%;background:#29b5e8;width:18px;height:18px;position:absolute;top:4px;left:0;border:5px solid #e5f2f7;box-sizing:border-box}.seo-customer.snowflake-card-v2-advanced-horizontal .snowflake-card-v2-advanced-image-container{max-width:200px}.seo-customer.snowflake-card-v2-advanced-horizontal .snowflake-card-v2-advanced-image-container img{object-fit:contain}.related-topics-outer-container \u003E .container \u003E .cmp-container \u003E .aem-container{display:flex;flex-direction:row}.related-topics-outer-container \u003E .container \u003E .cmp-container \u003E .aem-container \u003E div{width:auto !important;margin:0 !important}.related-topics-outer-container \u003E .container \u003E .cmp-container \u003E .aem-container \u003E div:first-child{margin-right:16px !important;flex-shrink:0}","jsContent":"(function(){var OFFSET=100;if(window.gsap&&window.ScrollTrigger){gsap.registerPlugin(ScrollTrigger);var sidebar=document.querySelector('.sticky-sidebar');var body=document.querySelector('.longform-content');if(sidebar&&body){ScrollTrigger.create({trigger:sidebar,start:'top 100px',endTrigger:body,end:'bottom bottom',pin:sidebar,pinSpacing:false});}}document.addEventListener('click',function(e){var li=e.target.closest('li[data-anchor]');if(!li)return;var slug=li.getAttribute('data-anchor');var heading=document.querySelector('.anchor-title--'+CSS.escape(slug));if(!heading)return;e.preventDefault();var top=heading.getBoundingClientRect().top+window.pageYOffset-OFFSET;window.scrollTo({top:top,behavior:'smooth'});history.replaceState(null,'','#'+slug);},false);var headings=document.querySelectorAll('[class*=\"anchor-title--\"]');if(headings.length&&'IntersectionObserver'in window){var io=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(!entry.isIntersecting)return;var cls=Array.from(entry.target.classList).find(function(c){return c.indexOf('anchor-title--')===0;});if(!cls)return;var slug=cls.replace('anchor-title--','');document.querySelectorAll('li[data-anchor]').forEach(function(li){li.classList.toggle('is-active',li.getAttribute('data-anchor')===slug);});});},{rootMargin:'-20% 0px -70% 0px',threshold:0});headings.forEach(function(h){io.observe(h);});}})();","isGSAPEnabled":true,":type":"snowflake-site/components/markup-editor"},"experiencefragment-footer":{"id":"experiencefragment-7ff881460e","configured":true,"localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer/master/jcr:content",":type":"snowflake-site/components/experiencefragment","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer/master.xfmodel.json"},"experiencefragment":{"id":"experiencefragment-a37fefcff2","configured":true,"localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer-legal-disclaimers/master/jcr:content",":type":"snowflake-site/components/experiencefragment","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer-legal-disclaimers/master.xfmodel.json"}},":itemsOrder":["experiencefragment-banner","experiencefragment-header","responsivegrid","modal_container","markup_editor_928258845","markup_editor_597730182","markup_editor","experiencefragment-footer","experiencefragment"],":type":"wcm/foundation/components/responsivegrid"}},":itemsOrder":["root"],":hierarchyType":"page",":path":"/content/snowflake-site/global/en/artificial-intelligence/ai-engineering","locale":"en"}
  