{"id":35699,"date":"2026-04-29T13:50:58","date_gmt":"2026-04-29T11:50:58","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=35699"},"modified":"2026-04-29T13:51:01","modified_gmt":"2026-04-29T11:51:01","slug":"ai-stack-from-machine-learning-to-agentic-ai","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/","title":{"rendered":"AI Stack: From Machine Learning to Agentic AI"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>A practical guide for developers who want to understand the AI ecosystem \u2014 not just use it.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>The word &#8220;artificial intelligence&#8221; gets applied to everything: chatbots, Netflix recommendations, self-driving cars, image generators. But behind all of it sits a well-defined technology stack \u2014 layers built on top of each other, each one with a reason to exist. Understanding this structure is what separates developers who use AI tools from developers who design them.<\/p>\n\n\n\n<p>Let&#8217;s start from the bottom.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-1-artificial-intelligence-ai-the-umbrella\">1. Artificial Intelligence (AI) \u2014 The Umbrella<\/h2>\n\n\n\n<p>AI is the field that encompasses everything: any system designed to simulate human cognitive capabilities like reasoning, learning, perception, or decision-making.<\/p>\n\n\n\n<p>The earliest AI systems were <strong>rule-based<\/strong>: explicit logic written by hand.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">def approve_loan(income, credit_score):\n    <span class=\"hljs-keyword\">if<\/span> income &gt; <span class=\"hljs-number\">50000<\/span> and credit_score &gt; <span class=\"hljs-number\">700<\/span>:\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Approved\"<\/span>\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Denied\"<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Simple, transparent, brittle. It doesn&#8217;t adapt. It doesn&#8217;t learn. Every new edge case requires a human to update the rules manually. That limitation is exactly what motivated the next layer.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-2-machine-learning-ml-learning-from-data\">2. Machine Learning (ML) \u2014 Learning from Data<\/h2>\n\n\n\n<p>ML flips the paradigm: instead of writing rules, you provide <strong>data<\/strong> and let the model learn the patterns on its own.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">from<\/span> sklearn.datasets <span class=\"hljs-keyword\">import<\/span> load_iris\n<span class=\"hljs-keyword\">from<\/span> sklearn.model_selection <span class=\"hljs-keyword\">import<\/span> train_test_split\n<span class=\"hljs-keyword\">from<\/span> sklearn.ensemble <span class=\"hljs-keyword\">import<\/span> RandomForestClassifier\n\nX, y = load_iris(return_X_y=True)\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=<span class=\"hljs-number\">0.2<\/span>)\n\nmodel = RandomForestClassifier()\nmodel.fit(X_train, y_train)\n\npredictions = model.predict(X_test)\nprint(predictions&#91;:<span class=\"hljs-number\">5<\/span>])\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Where it shines:<\/strong> fraud detection, demand forecasting, recommendation systems, churn prediction.<\/p>\n\n\n\n<p><strong>Where it shows its limits:<\/strong> high-dimensional data, images, text, audio. For those cases you need more powerful architectures.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-3-neural-networks-nn-the-artificial-brain\">3. Neural Networks (NN) \u2014 The Artificial Brain<\/h2>\n\n\n\n<p>Neural networks take inspiration from the structure of the brain: interconnected nodes that process information in parallel. Each neuron computes:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">output = activation(weight \u00b7 input + bias)\n<\/code><\/span><\/pre>\n\n\n<p>Training happens through <strong>backpropagation<\/strong>: compute the error on the output, propagate it backward, and update the weights to minimize it.<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">import torch\nimport torch.nn as nn\n\nclass NeuralNetwork(nn.Module):\n    def __init__(self):\n        super().__init__()\n        self.layer1 = nn.Linear(4, 8)\n        self.layer2 = nn.Linear(8, 3)\n\n    def forward(self, x):\n        x = torch.relu(self.layer1(x))\n        return self.layer2(x)\n\nmodel = NeuralNetwork()\noutput = model(torch.rand(1, 4))\nprint(output)\n<\/code><\/span><\/pre>\n\n\n<p>Neural networks work well on structured problems. But for genuinely complex tasks \u2014 speech recognition, language understanding \u2014 you need networks that are much, much deeper.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-4-deep-learning-dl-more-layers-more-power\">4. Deep Learning (DL) \u2014 More Layers, More Power<\/h2>\n\n\n\n<p>Deep Learning is ML with many-layered neural networks. More layers means the ability to extract increasingly abstract features from raw data.<\/p>\n\n\n\n<p>This is what made computer vision, NLP, speech synthesis, and autonomous driving possible.<\/p>\n\n\n\n<p>The main architectures you&#8217;ll encounter in practice:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Architecture<\/th><th>Typical use case<\/th><\/tr><\/thead><tbody><tr><td>CNN<\/td><td>Computer vision, image classification<\/td><\/tr><tr><td>RNN \/ LSTM<\/td><td>Time series, sequential text<\/td><\/tr><tr><td>Transformer<\/td><td>NLP, LLMs, generation<\/td><\/tr><tr><td>Autoencoder<\/td><td>Compression, anomaly detection<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">from<\/span> tensorflow <span class=\"hljs-keyword\">import<\/span> keras\n<span class=\"hljs-keyword\">from<\/span> tensorflow.keras <span class=\"hljs-keyword\">import<\/span> layers\n\nmodel = keras.Sequential(&#91;\n    layers.Dense(<span class=\"hljs-number\">128<\/span>, activation=<span class=\"hljs-string\">\"relu\"<\/span>),\n    layers.Dense(<span class=\"hljs-number\">64<\/span>, activation=<span class=\"hljs-string\">\"relu\"<\/span>),\n    layers.Dense(<span class=\"hljs-number\">10<\/span>, activation=<span class=\"hljs-string\">\"softmax\"<\/span>)\n])\n\nmodel.compile(\n    optimizer=<span class=\"hljs-string\">\"adam\"<\/span>,\n    loss=<span class=\"hljs-string\">\"sparse_categorical_crossentropy\"<\/span>,\n    metrics=&#91;<span class=\"hljs-string\">\"accuracy\"<\/span>]\n)\n\nmodel.summary()\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Deep Learning opened the door to generating new content \u2014 and that&#8217;s where things get really interesting.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-5-generative-ai-create-don-t-just-classify\">5. Generative AI \u2014 Create, Don&#8217;t Just Classify<\/h2>\n\n\n\n<p>A classifier says &#8220;this image is a cat.&#8221; A generative model <strong>creates a new image of a cat<\/strong>. That&#8217;s a fundamental paradigm shift.<\/p>\n\n\n\n<p>The main families of generative models:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>GAN<\/strong> (Generative Adversarial Networks): two competing networks \u2014 generator vs. discriminator<\/li>\n\n\n\n<li><strong>VAE<\/strong> (Variational Autoencoder): probabilistic encoding of latent space<\/li>\n\n\n\n<li><strong>Diffusion Models<\/strong>: iteratively add and then remove noise (e.g. Stable Diffusion)<\/li>\n\n\n\n<li><strong>LLMs<\/strong>: autoregressive transformers for language<\/li>\n<\/ul>\n\n\n\n<p>Conceptual GAN example in PyTorch:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">import torch\nimport torch.nn as nn\n\nclass Generator(nn.Module):\n    def __init__(self):\n        super().__init__()\n        self.net = nn.Sequential(\n            nn.Linear(100, 256),\n            nn.ReLU(),\n            nn.Linear(256, 784),\n            nn.Tanh()\n        )\n\n    def forward(self, x):\n        return self.net(x)\n\ngenerator = Generator()\nnoise = torch.randn(1, 100)\nfake_image = generator(noise)\nprint(fake_image.shape)  # torch.Size(&#91;1, 784])\n<\/code><\/span><\/pre>\n\n\n<p>The products you use every day \u2014 ChatGPT, Claude, Gemini, Midjourney, Copilot \u2014 are all built on these foundations.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-6-llms-and-slms-scale-and-trade-offs\">6. LLMs and SLMs \u2014 Scale and Trade-offs<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-large-language-models-llm\">Large Language Models (LLM)<\/h3>\n\n\n\n<p>Base architecture: <strong>Transformer<\/strong>. Billions (or trillions) of parameters. Trained on massive corpora with self-supervised learning.<\/p>\n\n\n\n<p>Strengths: complex reasoning, long-form generation, deep contextual understanding.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">from<\/span> transformers <span class=\"hljs-keyword\">import<\/span> pipeline\n\ngenerator = pipeline(<span class=\"hljs-string\">\"text-generation\"<\/span>, model=<span class=\"hljs-string\">\"gpt2\"<\/span>)\noutput = generator(<span class=\"hljs-string\">\"Artificial intelligence will transform\"<\/span>, max_length=<span class=\"hljs-number\">40<\/span>)\nprint(output)\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-small-language-models-slm\">Small Language Models (SLM)<\/h3>\n\n\n\n<p>Compact versions optimized for: low latency, reduced energy consumption, <strong>on-device<\/strong> or <strong>on-premise<\/strong> execution.<\/p>\n\n\n\n<p>Examples: Phi-3 (Microsoft), Gemma (Google), LLaMA 3 in small variants.<\/p>\n\n\n\n<p><strong>The pattern emerging in production systems:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">SLM \u2192 fast tasks, repetitive work, classification, routing\nLLM \u2192 complex reasoning, summarization, creative generation\n<\/code><\/span><\/pre>\n\n\n<p>Hybrid SLM+LLM architectures are already the norm in production.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-7-ai-agents-and-agentic-ai-from-output-to-action\">7. AI Agents and Agentic AI \u2014 From Output to Action<\/h2>\n\n\n\n<p>This is where the paradigm shifts again. An LLM answers a question. An <strong>agent<\/strong> plans toward a goal, selects the right tools, executes them in sequence, and manages state across steps.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-typical-agent-architecture\">Typical Agent Architecture<\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">User input\n     \u2193\nLLM reasoning (planning)\n     \u2193\nTool selection (which API to call?)\n     \u2193\nExecution (actual call)\n     \u2193\nMemory update (save context)\n     \u2193\nOutput \/ next action\n<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-practical-example\">Practical Example<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">import<\/span> requests\n\ndef get_weather(city: str) -&gt; dict:\n    url = f<span class=\"hljs-string\">\"https:\/\/api.weatherapi.com\/v1\/current.json?key=API_KEY&amp;q={city}\"<\/span>\n    <span class=\"hljs-keyword\">return<\/span> requests.get(url).json()\n\ndef agent(city: str) -&gt; str:\n    data = get_weather(city)\n    temp = data.get(<span class=\"hljs-string\">\"current\"<\/span>, {}).get(<span class=\"hljs-string\">\"temp_c\"<\/span>)\n\n    <span class=\"hljs-keyword\">if<\/span> temp is None:\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Couldn't retrieve temperature.\"<\/span>\n\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"Cold out \u2014 bring a jacket.\"<\/span> <span class=\"hljs-keyword\">if<\/span> temp &lt; <span class=\"hljs-number\">15<\/span> <span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-string\">\"Nice weather, no jacket needed.\"<\/span>\n\nprint(agent(<span class=\"hljs-string\">\"New York\"<\/span>))\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In real systems the agent also handles: persistent memory (e.g. a vector store), structured tool calling, retry logic, and handoffs between agents.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-main-frameworks\">Main Frameworks<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Framework<\/th><th>Characteristic<\/th><\/tr><\/thead><tbody><tr><td>LangChain<\/td><td>Full ecosystem, chains and agents<\/td><\/tr><tr><td>LangGraph<\/td><td>Stateful agents as graphs<\/td><\/tr><tr><td>CrewAI<\/td><td>Multi-agent with explicit roles<\/td><\/tr><tr><td>AutoGen (Microsoft)<\/td><td>Agent-to-agent conversations<\/td><\/tr><tr><td>Semantic Kernel<\/td><td>Enterprise integration (.NET\/Python)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-full-picture\">The Full Picture<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Agentic AI          \u2190 autonomy, planning, execution\n      \u2191\nGenerative AI       \u2190 LLMs, diffusion, content generation\n      \u2191\nLLM \/ SLM           \u2190 transformers, billions <span class=\"hljs-keyword\">of<\/span> parameters\n      \u2191\nDeep Learning       \u2190 deep networks, CNN, RNN\n      \u2191\nNeural Networks     \u2190 backpropagation, activations\n      \u2191\nMachine Learning    \u2190 learning <span class=\"hljs-keyword\">from<\/span> data, feature engineering\n      \u2191\nAI (rules)          \u2190 explicit logic, expert systems\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Real systems combine multiple layers. An e-commerce assistant might use:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CNN<\/strong> to analyze product images<\/li>\n\n\n\n<li><strong>LLM<\/strong> to answer questions in natural language<\/li>\n\n\n\n<li><strong>RAG<\/strong> to retrieve info from an up-to-date catalog<\/li>\n\n\n\n<li><strong>Agent<\/strong> to initiate returns, update orders, notify users<\/li>\n<\/ul>\n\n\n\n<p>Intelligence emerges from the combination.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-where-the-industry-is-heading\">Where the Industry Is Heading<\/h2>\n\n\n\n<p>Three concrete trends worth tracking:<\/p>\n\n\n\n<p><strong>1. Multi-agent systems<\/strong> \u2014 multiple specialized agents collaborating. One handles planning, one executes, one verifies. Better separation of concerns, more robustness.<\/p>\n\n\n\n<p><strong>2. Hybrid SLM+LLM architectures<\/strong> \u2014 the large model for reasoning, the small model for execution. Cuts costs and latency without sacrificing quality.<\/p>\n\n\n\n<p><strong>3. Progressive autonomy<\/strong> \u2014 agents that run complete workflows without human intervention, escalating only for ambiguous cases. &#8220;Human in the loop&#8221; becomes opt-in, not mandatory.<\/p>\n\n\n\n<p>There&#8217;s already talk of an <strong>Agentic Web<\/strong>: networks of agents collaborating across the internet as a distributed intelligence layer.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-takeaway-for-developers\">Takeaway for Developers<\/h2>\n\n\n\n<p>The distinction that actually matters isn&#8217;t between technologies \u2014 it&#8217;s between <strong>developers who use AI and developers who design it<\/strong>.<\/p>\n\n\n\n<p>Using it is easy: grab an API key and go. Designing it means understanding which layers of the stack to involve, where the bottlenecks are, how to combine LLMs and agents reliably, and how to handle state, errors, and security in production.<\/p>\n\n\n\n<p>This stack isn&#8217;t static \u2014 every year adds a new layer. But the fundamentals stay: data, models, architectures, agents. Developers who understand them deeply will have a durable advantage.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A practical guide for developers who want to understand the AI ecosystem \u2014 not just use it. The word &#8220;artificial intelligence&#8221; gets applied to everything: chatbots, Netflix recommendations, self-driving cars, image generators. But behind all of it sits a well-defined technology stack \u2014 layers built on top of each other, each one with a reason&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/\">Read more<\/a><\/p>\n","protected":false},"author":313,"featured_media":33961,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[46],"tags":[10003,7214],"collections":[],"class_list":{"0":"post-35699","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-ai-ml","8":"tag-ai","9":"tag-machine-learning","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>AI Stack: Do You Really Understand It?<\/title>\n<meta name=\"description\" content=\"The distinction that actually matters isn&#039;t between technologies \u2014 it&#039;s between developers who use AI and developers who design it.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AI Stack: From Machine Learning to Agentic AI\" \/>\n<meta property=\"og:description\" content=\"The distinction that actually matters isn&#039;t between technologies \u2014 it&#039;s between developers who use AI and developers who design it.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-29T11:50:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-29T11:51:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1792\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Orli Dun\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Orli Dun\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/\"},\"author\":{\"name\":\"Orli Dun\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/37ca255c359cc54110ac89eb4fa7db42\"},\"headline\":\"AI Stack: From Machine Learning to Agentic AI\",\"datePublished\":\"2026-04-29T11:50:58+00:00\",\"dateModified\":\"2026-04-29T11:51:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/\"},\"wordCount\":859,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol.webp\",\"keywords\":[\"AI\",\"Machine Learning\"],\"articleSection\":[\"AI\/ML\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/\",\"name\":\"AI Stack: Do You Really Understand It?\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol.webp\",\"datePublished\":\"2026-04-29T11:50:58+00:00\",\"dateModified\":\"2026-04-29T11:51:01+00:00\",\"description\":\"The distinction that actually matters isn't between technologies \u2014 it's between developers who use AI and developers who design it.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol.webp\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol.webp\",\"width\":1792,\"height\":1024,\"caption\":\"ai\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI\/ML\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"AI Stack: From Machine Learning to Agentic AI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/37ca255c359cc54110ac89eb4fa7db42\",\"name\":\"Orli Dun\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/04\/alura-profile-100x100.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/04\/alura-profile-100x100.png\",\"caption\":\"Orli Dun\"},\"description\":\"From finance to the digital revolution! Systems Engineer | Cloud &amp; AI | Tech Creator | Community Manager at Alura Latam #foramillionfriends\",\"sameAs\":[\"https:\/\/orlidun.vercel.app\/\",\"https:\/\/www.linkedin.com\/in\/orlibetdungonzalez\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/orli-dun\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"AI Stack: Do You Really Understand It?","description":"The distinction that actually matters isn't between technologies \u2014 it's between developers who use AI and developers who design it.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/","og_locale":"en_US","og_type":"article","og_title":"AI Stack: From Machine Learning to Agentic AI","og_description":"The distinction that actually matters isn't between technologies \u2014 it's between developers who use AI and developers who design it.","og_url":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2026-04-29T11:50:58+00:00","article_modified_time":"2026-04-29T11:51:01+00:00","og_image":[{"width":1792,"height":1024,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol.webp","type":"image\/webp"}],"author":"Orli Dun","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Orli Dun","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/"},"author":{"name":"Orli Dun","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/37ca255c359cc54110ac89eb4fa7db42"},"headline":"AI Stack: From Machine Learning to Agentic AI","datePublished":"2026-04-29T11:50:58+00:00","dateModified":"2026-04-29T11:51:01+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/"},"wordCount":859,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol.webp","keywords":["AI","Machine Learning"],"articleSection":["AI\/ML"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/","url":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/","name":"AI Stack: Do You Really Understand It?","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol.webp","datePublished":"2026-04-29T11:50:58+00:00","dateModified":"2026-04-29T11:51:01+00:00","description":"The distinction that actually matters isn't between technologies \u2014 it's between developers who use AI and developers who design it.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol.webp","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol.webp","width":1792,"height":1024,"caption":"ai"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/ai-stack-from-machine-learning-to-agentic-ai\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"AI\/ML","item":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/"},{"@type":"ListItem","position":3,"name":"AI Stack: From Machine Learning to Agentic AI"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/37ca255c359cc54110ac89eb4fa7db42","name":"Orli Dun","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/04\/alura-profile-100x100.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/04\/alura-profile-100x100.png","caption":"Orli Dun"},"description":"From finance to the digital revolution! Systems Engineer | Cloud &amp; AI | Tech Creator | Community Manager at Alura Latam #foramillionfriends","sameAs":["https:\/\/orlidun.vercel.app\/","https:\/\/www.linkedin.com\/in\/orlibetdungonzalez"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/orli-dun\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-600x400.webp","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-600x600.webp","author_info":{"display_name":"Orli Dun","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/orli-dun\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol.webp",1792,1024,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-150x150.webp",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-300x171.webp",300,171,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-768x439.webp",768,439,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-1024x585.webp",1024,585,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-1536x878.webp",1536,878,true],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol.webp",1792,1024,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-100x100.webp",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-180x128.webp",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-896x504.webp",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-400x225.webp",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-600x400.webp",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/09\/protocol-600x600.webp",600,600,true]},"uagb_author_info":{"display_name":"Orli Dun","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/orli-dun\/"},"uagb_comment_info":0,"uagb_excerpt":"A practical guide for developers who want to understand the AI ecosystem \u2014 not just use it. The word &#8220;artificial intelligence&#8221; gets applied to everything: chatbots, Netflix recommendations, self-driving cars, image generators. But behind all of it sits a well-defined technology stack \u2014 layers built on top of each other, each one with a reason&#8230;&hellip;","lang":"en","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/35699","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/313"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=35699"}],"version-history":[{"count":1,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/35699\/revisions"}],"predecessor-version":[{"id":35700,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/35699\/revisions\/35700"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/33961"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=35699"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=35699"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=35699"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=35699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}