<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pavlo Golovatyy</title>
    <link>https://pavlo.sh</link>
    <description>Personal blog of Pavlo Golovatyy, software engineer specialized in AI and ML.</description>
    <language>en</language>
    <atom:link href="https://pavlo.sh/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Your Agent Will Find the Gap: Sandboxing and Least Privilege After the Hugging Face Breach</title>
      <link>https://pavlo.sh/blog/ai-agent-sandboxing-least-privilege-after-the-hugging-face-breach</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/ai-agent-sandboxing-least-privilege-after-the-hugging-face-breach</guid>
      <description>In July 2026, agents running on OpenAI models escaped an evaluation sandbox that had exactly one way out, and ran a four-and-a-half-day campaign that ended inside Hugging Face&apos;s production infrastructure. They were not malicious. They wanted the answer key to a benchmark. Almost every link in that chain was an ordinary weakness: a package proxy, secrets in environment variables, a template renderer, the cloud metadata endpoint. This article walks through what actually happened, why goal-driven agents route around the boundaries you give them, why your API keys are now what attackers want most, and the containment layers I would put around any agent that runs code or calls tools in production.</description>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Reranking and Hybrid Search: The Retrieval Layer Everyone Skips</title>
      <link>https://pavlo.sh/blog/reranking-and-hybrid-search-the-retrieval-layer-everyone-skips</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/reranking-and-hybrid-search-the-retrieval-layer-everyone-skips</guid>
      <description>Most teams tune chunking, pick an embedding model, and then leave the actual retrieval step at its default: top-5 by cosine similarity. That default is usually the weakest link in the whole pipeline. This guide covers the layer in between, why pure vector search fails on the queries that matter most, how BM25 and dense retrieval fail differently, how to fuse them with Reciprocal Rank Fusion instead of hand-tuned weights, what a cross-encoder reranker actually does and what it costs in latency, and how to size a retrieve-then-rerank pipeline and measure each stage separately.</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The 88% Problem: Why Almost Every AI Agent Pilot Dies Before Production</title>
      <link>https://pavlo.sh/blog/why-ai-agent-pilots-never-reach-production</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/why-ai-agent-pilots-never-reach-production</guid>
      <description>Three independent studies in 2026 put the enterprise AI agent pilot failure rate somewhere between 86 and 89 percent. The interesting part is that almost none of those failures are model failures. This article breaks down where pilots actually die, why a great demo is a poor predictor of a working system, how per-step reliability compounds into production failure, and what the small minority of teams that ship are doing differently.</description>
      <pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The EU AI Act Deadline Did Not Move for You: What Developers Have to Ship by August 2026</title>
      <link>https://pavlo.sh/blog/eu-ai-act-august-2026-what-developers-actually-have-to-ship</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/eu-ai-act-august-2026-what-developers-actually-have-to-ship</guid>
      <description>Most engineering teams read the headline that the EU AI Act was delayed and stopped paying attention. The delay applies to high-risk systems, not to Article 50, which becomes enforceable on 2 August 2026 with fines up to 15 million euro or 3 percent of global turnover. If you ship a chatbot, an agent, or anything that generates text, images, audio, or video, this is the deadline that lands on your backlog. This guide translates Article 50 into engineering requirements: what to disclose, what to mark machine-readable, where the exceptions actually apply, and what to build this week.</description>
      <pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Claude vs GPT vs Gemini in 2026: Which One to Use for What</title>
      <link>https://pavlo.sh/blog/claude-vs-gpt-vs-gemini-how-to-choose-in-2026</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/claude-vs-gpt-vs-gemini-how-to-choose-in-2026</guid>
      <description>Anthropic, OpenAI, and Google are all shipping new flagship models every few weeks in 2026, and none of them wins on every axis anymore. This guide compares the current Claude, GPT-5.6, and Gemini 3 lineups model by model, with real pricing, real benchmark data, and a practical framework for choosing the right model, or the right combination of models, for coding, research, enterprise work, and cost-sensitive pipelines.</description>
      <pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Prompt Caching and Semantic Caching: The Two Levers That Actually Cut Your LLM Bill</title>
      <link>https://pavlo.sh/blog/prompt-caching-and-semantic-caching-cut-llm-costs</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/prompt-caching-and-semantic-caching-cut-llm-costs</guid>
      <description>Two techniques share the word &quot;cache&quot; in LLM engineering, and teams mix them up constantly, even though they solve different problems at different layers. This guide explains how prompt caching reuses already-processed tokens to cut input costs, how semantic caching skips the model entirely on near-duplicate queries, the real numbers from Anthropic, OpenAI, and Gemini, and the failure modes, like stale answers and false positives, that make semantic caching far riskier than it looks.</description>
      <pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Chunking Strategies for RAG: The Decision That Makes or Breaks Retrieval</title>
      <link>https://pavlo.sh/blog/chunking-strategies-for-rag-the-decision-that-makes-or-breaks-retrieval</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/chunking-strategies-for-rag-the-decision-that-makes-or-breaks-retrieval</guid>
      <description>Chunking is the quietest, most consequential decision in any RAG system. The chunk is the unit of retrieval, so if you split your documents badly, no embedding model or reranker can save you. This guide explains the real trade-off between precision and context, the chunk sizes and overlaps that actually work, and the full ladder of strategies, from recursive splitting to late chunking and contextual retrieval, so you know which one your documents actually need.</description>
      <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Model Context Protocol (MCP) Explained: The USB-C of AI Agents</title>
      <link>https://pavlo.sh/blog/model-context-protocol-mcp-explained</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/model-context-protocol-mcp-explained</guid>
      <description>Every AI agent that connects to a tool, a database, or an API used to need its own custom integration code. Model Context Protocol replaces that with one standard. This guide explains what MCP actually is, how hosts, clients, and servers fit together, how tools, resources, and prompts differ, why it spread across the industry so fast, and the real security and token-cost tradeoffs you take on the moment you connect a server.</description>
      <pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>RAG vs Fine-Tuning vs Prompting: How to Actually Choose in 2026</title>
      <link>https://pavlo.sh/blog/rag-vs-fine-tuning-vs-prompting-how-to-choose</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/rag-vs-fine-tuning-vs-prompting-how-to-choose</guid>
      <description>The most common architecture question in LLM applications has no one-size answer. This guide explains what prompting, RAG, and fine-tuning each actually change, why the difference is knowledge versus behavior, why most teams reach for fine-tuning too early, and how to walk the 2026 decision ladder—prompt, then RAG, then fine-tune, then distill—without wasting months and budget.</description>
      <pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to Integrate Artificial Intelligence into Business Processes Without Disrupting Everything</title>
      <link>https://pavlo.sh/blog/how-to-integrate-artificial-intelligence-into-business-processes-without-disrupting-everything</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/how-to-integrate-artificial-intelligence-into-business-processes-without-disrupting-everything</guid>
      <description>A practical, updated playbook for integrating AI into business processes in the LLM era. Learn how to assess readiness, pick high-impact use cases, decide between traditional ML and LLMs, evaluate systems before they ship, manage security risks like prompt injection, and roll out gradually without breaking operations.</description>
      <pubDate>Sat, 13 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Optimization of ML Models: Advanced Techniques to Reduce Resource Consumption</title>
      <link>https://pavlo.sh/blog/optimization-of-ml-models-advanced-techniques-to-reduce-resource-consumption</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/optimization-of-ml-models-advanced-techniques-to-reduce-resource-consumption</guid>
      <description>Models keep getting bigger while budgets do not. This updated guide covers the techniques that make machine learning and LLMs cheaper to run without sacrificing accuracy: quantization, pruning, knowledge distillation, feature selection, efficient hardware, and adaptive computation, with practical notes on applying them to large language models in production.</description>
      <pubDate>Sat, 13 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Embeddings Explained: Choosing the Right Model and Vector Database for Production</title>
      <link>https://pavlo.sh/blog/embeddings-explained-choosing-the-right-model-and-vector-database-for-production</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/embeddings-explained-choosing-the-right-model-and-vector-database-for-production</guid>
      <description>Your RAG system is only as good as the embeddings underneath it. This guide explains what embeddings actually are, how to choose an embedding model in 2026 without trusting leaderboards blindly, how dimensions affect cost and latency, and how to pick a vector database (Pinecone, Qdrant, Weaviate, Milvus, pgvector) based on scale, indexing, and filtering rather than hype.</description>
      <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Prompt Injection: The Security Hole in Every LLM App</title>
      <link>https://pavlo.sh/blog/prompt-injection-security-holes-in-every-llm-app</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/prompt-injection-security-holes-in-every-llm-app</guid>
      <description>Prompt injection is the number one security risk in LLM applications, and there is no patch that makes it go away. This guide explains direct and indirect injection, how data gets exfiltrated through tools and markdown images, the lethal trifecta that makes agents dangerous, and the defense-in-depth strategy that actually reduces your blast radius in production.</description>
      <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>LLM Evaluation: Why Your Demo Works but Production Fails</title>
      <link>https://pavlo.sh/blog/llm-evaluation-why-your-demo-works-but-production-fails</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/llm-evaluation-why-your-demo-works-but-production-fails</guid>
      <description>Most LLM applications demo perfectly and then break with real users. This guide explains how to evaluate LLM applications properly: how to build an eval dataset, the metrics that actually matter, how to use LLM-as-a-judge without fooling yourself, and how to catch regressions before your users do.</description>
      <pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why Tokens Matter: The Hidden Unit That Shapes Your LLM Bills, Context, and Performance</title>
      <link>https://pavlo.sh/blog/why-tokens-matter</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/why-tokens-matter</guid>
      <description>Tokens are the fundamental unit of everything you do with LLMs: pricing, context limits, latency, retrieval, even multilingual fairness. This article explains what tokens really are, why they behave strangely across languages, and how a practical understanding of tokenization changes the way you design AI systems.</description>
      <pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>RAG in Production: What Nobody Tells You Before You Deploy</title>
      <link>https://pavlo.sh/blog/rag-in-production-what-nobody-tells-you</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/rag-in-production-what-nobody-tells-you</guid>
      <description>RAG sounds simple in theory: retrieve relevant chunks, inject them into the prompt, get better answers. In production, the reality is far messier. This guide covers the real failure modes, including chunking pitfalls, embedding drift, retrieval quality collapse, and latency traps, and what actually works to fix them.</description>
      <pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>LLM Context Window Limitations: Why More Tokens Hurt Your AI App Performance</title>
      <link>https://pavlo.sh/blog/llm-context-window-limitations-accuracy-degradation</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/llm-context-window-limitations-accuracy-degradation</guid>
      <description>Large language models advertise million-token context windows, but longer inputs silently degrade accuracy. Learn why the &quot;lost in the middle&quot; problem affects every major LLM, and what RAG and prompt structuring strategies actually work for production AI systems.</description>
      <pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Agent Skills vs Multi-Agent Systems: Are We Witnessing the Next Architectural Shift in AI?</title>
      <link>https://pavlo.sh/blog/agent-skills-vs-multi-agent-systems-architectural-shift-ai</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/agent-skills-vs-multi-agent-systems-architectural-shift-ai</guid>
      <description>Agent Skills introduce a new paradigm for building AI systems by packaging operational knowledge into reusable modules. But can they truly replace multi-agent architectures? This article explores the trade-offs, strengths, and future of both approaches.</description>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>OpenAI Agents SDK: How to Build Agentic AI Applications in Python Easily</title>
      <link>https://pavlo.sh/blog/openai-agents-sdk-build-agentic-ai-apps-in-python-with-ease</link>
      <guid isPermaLink="true">https://pavlo.sh/blog/openai-agents-sdk-build-agentic-ai-apps-in-python-with-ease</guid>
      <description>Learn how to build powerful, customizable agentic AI applications in Python using the OpenAI Agents SDK. Discover multi-agent orchestration, guardrails, and built-in tracing for production-ready AI workflows.</description>
      <pubDate>Sat, 31 May 2025 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
