<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel><title>All Stack Labs blog</title><link>https://allstacklabs.com/blog/</link><description>Guides from All Stack Labs on AI agents, voice agents, MCP servers, automation and software you own.</description><language>en-us</language><lastBuildDate>Mon, 12 Oct 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://allstacklabs.com/blog/feed.xml" rel="self" type="application/rss+xml"/>
<item><title>Before a voice agent answers your phones</title><link>https://allstacklabs.com/blog/before-a-voice-agent-answers-your-phones/</link><guid isPermaLink="true">https://allstacklabs.com/blog/before-a-voice-agent-answers-your-phones/</guid><pubDate>Mon, 12 Oct 2026 12:00:00 +0000</pubDate><description>What it takes to put an AI voice agent on your business phones: missed calls, response time, failure modes, US consent rules and testing.</description><content:encoded><![CDATA[<p class="byline">All Stack Labs, 12 October 2026</p>
<p>Many calls to businesses never reach a person. Invoca, which tracks calls for its business customers, found that only 56% of callers reach a person. Quo, a business phone provider, looked at 16.7 million missed calls and found that about 69% did not get a callback within 48 hours.</p>
<p>A voice agent closes that gap. It picks up every call, answers questions, books the appointment and writes it all back to your systems. Getting one to do that reliably, on real calls, is harder than the demos suggest.</p>
<h2>Fast enough, and patient enough</h2>
<p>People are fast. A study of conversations in ten languages found the average gap before an answer to a yes or no question was about 200 milliseconds. No phone agent matches that yet. Twilio publishes a target of about 1.1 seconds end to end, and calls it a starting benchmark rather than the best possible.</p>
<p>Speed is only half of turn-taking. The agent also has to know when the caller has finished. LiveKit describes an older model that decided a caller was done after each digit of a phone number. Its newer model cut false interruptions overall by 39%. An agent that interrupts a caller reading out a card number makes them start again.</p>
<h2>Where voice agents fail</h2>
<p>Sierra, which builds customer service agents, tested voice agents on real tasks with realistic audio: background noise, varied accents and callers who talk over the agent. By April 2026, the best agent on its leaderboard completed 67% of tasks. Their example failure will be familiar to anyone who has run a phone line: street noise and an unfamiliar accent throw off the transcription, and the identity check fails.</p>
<p>The quiet failures are worse, because they look like success. Roark, which tests voice agents, describes a scheduling agent that checked availability in UTC instead of the caller's local time. As they put it, "the agent sounded fine, the tool call succeeded, and the appointment was wrong." Common causes:</p>
<ul>
  <li><b>Time zones.</b> The caller, the server and the calendar can each be in a different one.</li>
  <li><b>Stale availability.</b> The agent offers a slot someone booked a minute ago.</li>
  <li><b>Invented answers.</b> A price or a policy the agent was never given, said with confidence.</li>
  <li><b>No way out.</b> A caller who needs a person and cannot reach one.</li>
  <li><b>Half-written records.</b> The call went well, and nothing reached the CRM.</li>
</ul>
<h2>The rules that apply</h2>
<p>This is not legal advice, and the details depend on your state and your industry. These are the questions to settle with your lawyer before launch:</p>
<ul>
  <li><b>Calling out is different from picking up.</b> In February 2024 the FCC ruled that AI-generated voices count as artificial voices under the Telephone Consumer Protection Act. AI calls to consumers need prior express consent, and written consent for telemarketing. An AI callback to a missed caller is an outbound call.</li>
  <li><b>Recording needs consent.</b> Federal law needs one party to agree, but around a dozen states, including California, Florida, Illinois, Pennsylvania and Washington, require everyone on the call to agree. Most voice agents record and transcribe, so say so at the start.</li>
  <li><b>Some states want the AI disclosed.</b> Since January 2025, California has required health care providers that use AI to generate patient messages about clinical information to include a disclaimer, spoken at the start and the end of a call, along with how to reach a person. It does not cover scheduling or billing, or messages a licensed provider has reviewed. Utah requires disclosure when a consumer asks, and Texas requires it of state agencies and health care providers.</li>
  <li><b>Health data needs a BAA.</b> If the agent handles patient information, every vendor that stores it, recordings and transcripts included, is a business associate under HIPAA and needs a business associate agreement.</li>
</ul>
<h2>Test it before it takes a real call</h2>
<p>A voice agent should pass a test suite before it reaches a customer, and keep passing it after every change. OpenAI's guide to evaluating real-time voice agents sets out the stages: scripted single turns first, then real noisy phone audio, then full simulated calls against mocked tools. Every failure in production becomes a new test. And keep a person listening: the same guide suggests reviewing 1 to 5% of sessions end to end.</p>
<p>Run each scenario more than once. Sierra's earlier research measured whether an agent succeeds on every repeat of the same task, and found reliability falls sharply as the repeats add up. A caller does not care that the agent usually gets it right.</p>
<p>Then track the numbers the business cares about: calls answered, tasks completed, transfers to a person, and bookings that landed correctly in the calendar.</p>
<h2>What it takes</h2>
<p>A voice agent that sounds good in a demo is easy to build. One that books the right slot in the right time zone, hands off when it should, follows the rules for your state and writes everything back to your CRM takes engineering. That is the part we build, and we have built thousands of agents and voice agents.</p>
<h2 class="sources-h">Sources</h2><ol class="sources"><li><a href="https://www.invoca.com/reports/the-invoca-lead-conversion-benchmarks-report-2026" rel="noopener" target="_blank">Invoca, Lead Conversion Benchmarks Report (2026)</a></li><li><a href="https://www.quo.com/blog/small-business-callback-statistics/" rel="noopener" target="_blank">Quo, Small business callback statistics (2026)</a></li><li><a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC2705608/" rel="noopener" target="_blank">Stivers et al., Universals and cultural variation in turn-taking in conversation, PNAS (2009)</a></li><li><a href="https://www.twilio.com/en-us/blog/developers/best-practices/guide-core-latency-ai-voice-agents" rel="noopener" target="_blank">Twilio, Core latency in AI voice agents (2025)</a></li><li><a href="https://livekit.com/blog/improved-end-of-turn-model-cuts-voice-ai-interruptions-39" rel="noopener" target="_blank">LiveKit, Improved end-of-turn model cuts voice AI interruptions by 39% (2025)</a></li><li><a href="https://sierra.ai/blog/tau-voice-benchmarking-real-time-voice-agents-on-real-world-tasks" rel="noopener" target="_blank">Sierra, Benchmarking real-time voice agents on real-world tasks (2026)</a></li><li><a href="https://roark.ai/blog/testing-appointment-scheduling-voice-agents" rel="noopener" target="_blank">Roark, Testing appointment scheduling voice agents (2026)</a></li><li><a href="https://docs.fcc.gov/public/attachments/FCC-24-17A1.pdf" rel="noopener" target="_blank">FCC, Declaratory Ruling on AI-generated voices under the TCPA, FCC 24-17 (2024)</a></li><li><a href="https://www.rcfp.org/introduction-to-reporters-recording-guide/" rel="noopener" target="_blank">Reporters Committee for Freedom of the Press, Reporter&#x27;s Recording Guide</a></li><li><a href="https://california.public.law/codes/ca_health_and_safety_code_section_1339.75" rel="noopener" target="_blank">California Health and Safety Code section 1339.75 (AB 3030)</a></li><li><a href="https://fpf.org/wp-content/uploads/2025/04/Overview-of-Utahs-2025-Enacted-AI-Legislation.pdf" rel="noopener" target="_blank">Future of Privacy Forum, Overview of Utah&#x27;s 2025 AI legislation (2025)</a></li><li><a href="https://www.klgates.com/Pared-Back-Version-of-the-Texas-Responsible-Artificial-Intelligence-Governance-Act-Signed-Into-Law-6-24-2025" rel="noopener" target="_blank">K&amp;L Gates, Texas Responsible Artificial Intelligence Governance Act signed into law (2025)</a></li><li><a href="https://www.hhs.gov/guidance/document/faq-2077-can-csp-be-considered-be-conduit-postal-service-and-therefore-not-business" rel="noopener" target="_blank">HHS, HIPAA FAQ 2077 on cloud service providers</a></li><li><a href="https://developers.openai.com/cookbook/examples/realtime_eval_guide" rel="noopener" target="_blank">OpenAI Cookbook, Realtime eval guide</a></li><li><a href="https://sierra.ai/blog/benchmarking-ai-agents" rel="noopener" target="_blank">Sierra, Benchmarking AI agents for the real world (2024)</a></li></ol>]]></content:encoded></item>
<item><title>Build or buy: when your own tool wins</title><link>https://allstacklabs.com/blog/build-or-buy-when-your-own-tool-wins/</link><guid isPermaLink="true">https://allstacklabs.com/blog/build-or-buy-when-your-own-tool-wins/</guid><pubDate>Mon, 12 Oct 2026 12:00:00 +0000</pubDate><description>When an internal tool beats another per-seat SaaS subscription: rising SaaS prices, spreadsheet risk, maintenance costs and a test for what to build.</description><content:encoded><![CDATA[<p class="byline">All Stack Labs, 12 October 2026</p>
<p>Most of the software a business runs should be bought. Email, payroll and accounting are solved problems, and building your own would waste money. But the stack keeps growing. Zylo, which sells SaaS management software, put median SaaS spend at $9,455 per employee in its 2026 index, and found companies leave 36% of their licences unused. In its 2025 index, companies with up to 500 employees ran 152 apps on average.</p>
<p>Somewhere in that pile is a tool your team bends its work around, or a spreadsheet doing a job no tool covers. That is where building pays.</p>
<h2>Renting keeps getting more expensive</h2>
<p>Subscriptions do not hold still. Vertice, another spend management vendor, put SaaS inflation at 16.4% in June 2026, the highest on its index. The biggest vendors are also adding AI to their plans and charging for it:</p>
<ul>
  <li><b>Microsoft</b> raised Microsoft 365 prices from July 2026. Business Standard went from $12.50 to $14 per user a month.</li>
  <li><b>Google</b> added Gemini to Workspace in 2025 and moved Business Standard from $12 to $14.</li>
  <li><b>Salesforce</b> raised Enterprise and Unlimited list prices by an average of 6% in August 2025, and sells its AI agents on top, as add-ons or at $0.10 per action.</li>
</ul>
<p>Per-seat pricing also taxes growth. Each new hire adds a seat on each per-seat tool.</p>
<h2>Your spreadsheet is already a tool you built</h2>
<p>When no product fits, the work lands in a spreadsheet. Spreadsheets suit analysis but are fragile as systems. Raymond Panko's review of the research put the average error rate at 3.9% of cells in lab studies, and detailed field audits found errors in 94% of the spreadsheets they examined. His other finding matters more: the people who build spreadsheets are highly overconfident that theirs are right.</p>
<p>Two well-known failures show the risk. In October 2020, Public Health England left 15,841 positive COVID cases out of its daily figures, which press reports traced to lab files loaded into an old Excel format with a row limit. And in January 2012, a JPMorgan model review described the risk calculation behind the trades later known as the London Whale as "done off spreadsheets using a manual process" and "error prone". The US Senate published it the following year.</p>
<p>If a spreadsheet moves data between systems, depends on copying numbers by hand or holds the only record of something important, it is already an internal tool. It just has no tests, no permissions and no history.</p>
<h2>When to build</h2>
<p>Martin Fowler's test still holds. Ask whether the function is a differentiator. If it is a utility, buy the package and adjust your process to fit it. If it is part of what makes you better than your competitors, you do not want the same software they have. Build when:</p>
<ul>
  <li><b>It is how you win.</b> Quoting, scheduling or a client portal that customers choose you for.</li>
  <li><b>You pay for a platform to use a few screens of it.</b> Each price rise lands on every seat.</li>
  <li><b>A spreadsheet is doing integration work.</b> As Thoughtworks' Brandon Byars put it, you can't buy integration. If people copy data between systems, that job belongs in software with logs and alerts.</li>
  <li><b>Your data or your rules are unusual.</b> Regulated records, odd pricing, or approvals no product models well.</li>
</ul>
<p>Buy when the function is a commodity, a good product exists and its roadmap is one you want.</p>
<h2>The real cost of building</h2>
<p>A tool is not finished at launch. A widely cited estimate from Robert Glass's Facts and Fallacies of Software Engineering puts maintenance at 40 to 80 percent of software costs, with 60 percent the average. Plan for it from the first day.</p>
<p>Build it so that work stays cheap: a standard stack, tests, documentation and everything in your own accounts. Then any capable engineer can extend it, and you are never tied to the people who wrote it. That is how we build internal tools, and why we hand them over.</p>
<h2>The rule</h2>
<p>Buy the commodities. Build the part that makes you different, and the part your spreadsheets are holding together. When you compare costs, count the seats you will add over the next three years, not the ones you pay for today.</p>
<h2 class="sources-h">Sources</h2><ol class="sources"><li><a href="https://zylo.com/news/2026-saas-management-index" rel="noopener" target="_blank">Zylo, 2026 SaaS Management Index (2026)</a></li><li><a href="https://zylo.com/news/2025-saas-management-index" rel="noopener" target="_blank">Zylo, 2025 SaaS Management Index (2025)</a></li><li><a href="https://www.vertice.one/insights/saas-inflation-rate" rel="noopener" target="_blank">Vertice, SaaS Inflation Index (2026)</a></li><li><a href="https://www.microsoft.com/en-us/licensing/news/2026-m365-packaging-pricing-updates" rel="noopener" target="_blank">Microsoft, Microsoft 365 packaging and pricing updates (2026)</a></li><li><a href="https://workspace.google.com/blog/product-announcements/empowering-businesses-with-AI" rel="noopener" target="_blank">Google Workspace, AI in Workspace plans (2025)</a></li><li><a href="https://www.salesforce.com/news/stories/pricing-update-2025/" rel="noopener" target="_blank">Salesforce, Pricing update (2025)</a></li><li><a href="https://www.salesforce.com/news/press-releases/2025/05/15/agentforce-flexible-pricing-news/" rel="noopener" target="_blank">Salesforce, Agentforce flexible pricing (2025)</a></li><li><a href="https://arxiv.org/abs/1602.02601" rel="noopener" target="_blank">Raymond Panko, What We Don&#x27;t Know About Spreadsheet Errors Today (2015)</a></li><li><a href="https://www.theregister.com/2020/10/05/excel_england_coronavirus_contact_error/" rel="noopener" target="_blank">The Register, Excel blamed for England&#x27;s missing coronavirus cases (2020)</a></li><li><a href="https://www.govinfo.gov/content/pkg/CHRG-113shrg85162/html/CHRG-113shrg85162.htm" rel="noopener" target="_blank">US Senate hearing, JPMorgan Chase Whale Trades: A Case History of Derivatives Risks and Abuses (2013)</a></li><li><a href="https://www.martinfowler.com/bliki/UtilityVsStrategicDichotomy.html" rel="noopener" target="_blank">Martin Fowler, Utility Vs Strategic Dichotomy (2010)</a></li><li><a href="https://martinfowler.com/articles/cant-buy-integration.html" rel="noopener" target="_blank">Brandon Byars, You Can&#x27;t Buy Integration (2021)</a></li><li><a href="https://www.ybrikman.com/blog/2017/03/30/facts-and-fallacies-of-software-engineering/" rel="noopener" target="_blank">Yevgeniy Brikman, notes on Robert Glass&#x27;s Facts and Fallacies of Software Engineering (2017)</a></li></ol>]]></content:encoded></item>
<item><title>What an MCP server is, and when you need one</title><link>https://allstacklabs.com/blog/what-an-mcp-server-is-and-when-you-need-one/</link><guid isPermaLink="true">https://allstacklabs.com/blog/what-an-mcp-server-is-and-when-you-need-one/</guid><pubDate>Mon, 12 Oct 2026 12:00:00 +0000</pubDate><description>What the Model Context Protocol is, who supports it, how authorization and security work, and when your product needs an MCP server.</description><content:encoded><![CDATA[<p class="byline">All Stack Labs, 12 October 2026</p>
<p>Anthropic released the Model Context Protocol in November 2024 as an open standard for connecting AI assistants to the systems where data lives. A year later it had been adopted across the industry and handed to the Agentic AI Foundation, a fund under the Linux Foundation co-founded by Anthropic, Block and OpenAI. By then its official SDKs were being downloaded more than 97 million times a month.</p>
<p>If your customers use Claude, ChatGPT, Gemini, Copilot or Cursor, MCP is how those tools can work inside your product on their behalf. An MCP server is the piece you build to let them in.</p>
<h2>What it is</h2>
<p>An MCP server sits in front of your product and tells an agent what it can do there. It offers three kinds of things:</p>
<ul>
  <li><b>Tools.</b> Actions the model can take, like creating an invoice or searching orders.</li>
  <li><b>Resources.</b> Data the model can read, like a document or a customer record.</li>
  <li><b>Prompts.</b> Ready-made workflows a user can pick, like "summarise this account".</li>
</ul>
<p>A server can run locally, as a program on the user's machine, or remotely, over HTTP. Remote is what most products want: nothing for the customer to install, and you control the deployment. The latest revision of the spec, from July 2026, made the protocol core stateless, so a remote MCP server now runs like any other web service, behind your usual load balancers.</p>
<h2>Who already ships one</h2>
<p>Many of the tools your customers use every day have official servers. Stripe, GitHub, Atlassian, Linear and Notion all publish one. On the client side, MCP works in Claude, in ChatGPT, in Google's Gemini CLI, in Microsoft Copilot and VS Code, and in Cursor.</p>
<h2>The permissions are the product</h2>
<p>Most of the work is in the permissions. For remote servers, the spec builds on OAuth 2.1. The server publishes how clients should authorise against it, clients must use PKCE, and the server must check that every token was issued for it and must never pass a client's token on to another service.</p>
<p>The best servers go further. Stripe's server asks a person to confirm actions like refunds and outbound payments, and from 31 October 2026 it stops accepting full-access secret keys or any restricted key that is not tagged for agents. That is the pattern to copy: narrow scopes, separate credentials for agents, and a human step for anything that moves money or deletes data.</p>
<h2>What can go wrong</h2>
<ul>
  <li><b>Tool poisoning.</b> Researchers at Invariant Labs showed instructions hidden in a tool's description, invisible to users but visible to the model. A server can also change its descriptions after a user has approved it.</li>
  <li><b>Prompt injection through data.</b> In another demonstration, a public GitHub issue led an agent to leak data from private repositories. The server code was not at fault. The agent trusted what it read.</li>
  <li><b>Fake servers.</b> In September 2025, researchers found a package posing as a Postmark MCP server that quietly copied every email it sent to an attacker.</li>
  <li><b>Scopes that are too broad.</b> The spec's own security guidance warns against offering every possible scope and handing clients all of them. OWASP has published a beta MCP Top 10 that includes scope creep, tool poisoning and prompt injection.</li>
</ul>
<p>The common thread: your server may be running next to untrusted ones, in the same conversation. Enforce permissions on your side, on every call, and never rely on the model to behave.</p>
<h2>When your product needs one</h2>
<ul>
  <li><b>Your customers already work in AI tools.</b> If they paste your data into ChatGPT or Claude today, they will want an agent to fetch it and act on it directly.</li>
  <li><b>Your product has work worth delegating.</b> Creating, updating, searching, reporting. Anything a user does in ten clicks is a candidate for one request.</li>
  <li><b>Your competitors are shipping theirs.</b> When an agent picks a tool to finish a task, it can only pick products it can reach.</li>
  <li><b>You have an API, but it was built for developers.</b> Agents need tools shaped around tasks, with descriptions they can follow.</li>
</ul>
<p>You probably do not need one yet if your product has no API, or if nothing in it is safe to delegate without a person checking each step.</p>
<h2>How we build them</h2>
<p>Start with the tasks, not the endpoints: what should an agent be able to do for your users, and what should it never do. Design a small set of typed tools around those tasks, write descriptions a model can follow, and put every permission check on the server. Then test it the way agents will use it, across the clients your customers have, and publish it under a domain you control so nobody can pass off a copy as yours.</p>
<h2>Start with the permissions</h2>
<p>AI tools are becoming one of the ways your customers use software. An MCP server decides what those tools can do in yours, so design its permissions first and build the tools around them.</p>
<h2 class="sources-h">Sources</h2><ol class="sources"><li><a href="https://www.anthropic.com/news/model-context-protocol" rel="noopener" target="_blank">Anthropic, Introducing the Model Context Protocol (2024)</a></li><li><a href="https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation" rel="noopener" target="_blank">Anthropic, Donating the Model Context Protocol and establishing the Agentic AI Foundation (2025)</a></li><li><a href="https://modelcontextprotocol.io/specification/latest" rel="noopener" target="_blank">Model Context Protocol specification</a></li><li><a href="https://blog.modelcontextprotocol.io/posts/2026-07-28/" rel="noopener" target="_blank">MCP Blog, the 2026-07-28 specification release (2026)</a></li><li><a href="https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization" rel="noopener" target="_blank">MCP specification, Authorization (2026)</a></li><li><a href="https://modelcontextprotocol.io/docs/2026-07-28/tutorials/security/security_best_practices" rel="noopener" target="_blank">MCP documentation, Security best practices (2026)</a></li><li><a href="https://docs.stripe.com/mcp" rel="noopener" target="_blank">Stripe, Model Context Protocol documentation</a></li><li><a href="https://github.blog/changelog/2025-09-04-remote-github-mcp-server-is-now-generally-available/" rel="noopener" target="_blank">GitHub, Remote GitHub MCP server is now generally available (2025)</a></li><li><a href="https://www.atlassian.com/blog/rovo/atlassian-rovo-mcp-ga" rel="noopener" target="_blank">Atlassian, Rovo MCP Server is now GA (2026)</a></li><li><a href="https://linear.app/changelog/2025-05-01-mcp" rel="noopener" target="_blank">Linear, MCP server (2025)</a></li><li><a href="https://developers.notion.com/docs/mcp" rel="noopener" target="_blank">Notion, Notion MCP</a></li><li><a href="https://blog.google/technology/developers/introducing-gemini-cli-open-source-ai-agent/" rel="noopener" target="_blank">Google, Introducing Gemini CLI (2025)</a></li><li><a href="https://github.blog/changelog/2025-07-14-model-context-protocol-mcp-support-in-vs-code-is-generally-available/" rel="noopener" target="_blank">GitHub, MCP support in VS Code is generally available (2025)</a></li><li><a href="https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks" rel="noopener" target="_blank">Invariant Labs, MCP security notification: tool poisoning attacks (2025)</a></li><li><a href="https://invariantlabs.ai/blog/mcp-github-vulnerability" rel="noopener" target="_blank">Invariant Labs, GitHub MCP exploited: accessing private repositories via MCP (2025)</a></li><li><a href="https://thehackernews.com/2025/09/first-malicious-mcp-server-found.html" rel="noopener" target="_blank">The Hacker News, First malicious MCP server found (2025)</a></li><li><a href="https://owasp.org/www-project-mcp-top-10/" rel="noopener" target="_blank">OWASP, MCP Top 10</a></li></ol>]]></content:encoded></item>
<item><title>Why your AI search gives wrong answers</title><link>https://allstacklabs.com/blog/why-your-ai-search-gives-wrong-answers/</link><guid isPermaLink="true">https://allstacklabs.com/blog/why-your-ai-search-gives-wrong-answers/</guid><pubDate>Mon, 12 Oct 2026 12:00:00 +0000</pubDate><description>Why a company chatbot or AI search gives wrong answers from your own documents, the retrieval fixes that work, and how to measure them.</description><content:encoded><![CDATA[<p class="byline">All Stack Labs, 12 October 2026</p>
<p>In February 2024, a tribunal in British Columbia ordered Air Canada to pay a passenger $812.02. The airline's website chatbot had told him he could claim a bereavement fare within 90 days of buying his ticket. The bereavement page that the chatbot linked to said the opposite. Air Canada argued the chatbot was responsible for its own words. The tribunal called that "a remarkable submission" and found the airline had not taken reasonable care to make its chatbot accurate.</p>
<p>The sum was small, but the ruling was clear: when an AI answers from your documents, its answers are yours. And the research says the cause of a wrong answer is often upstream of the model.</p>
<h2>Where it breaks</h2>
<p>A 2024 study of three retrieval systems, two of them in use, listed seven ways they fail. Three happen before the model writes anything:</p>
<ul>
  <li><b>The answer is not there.</b> Your documents do not cover the question, and the system answers anyway instead of saying so.</li>
  <li><b>It ranks too low.</b> The right passage exists, but other passages outrank it.</li>
  <li><b>It gets cut.</b> The passage is retrieved, then dropped to fit the prompt.</li>
</ul>
<p>The other four happen in the model. It misses an answer buried among noise or contradictions, or it gets the format, the level of detail or the completeness wrong.</p>
<h2>More context can make it worse</h2>
<p>The instinct is to hand the model more. Google Research found that when the retrieved text was not enough to answer the question, one model's rate of wrong answers rose from 10.2% with no retrieval at all to 66.1%. Partial evidence made it less willing to say it did not know.</p>
<p>Other studies point the same way. In one, models followed incorrect retrieved text over their own correct knowledge more than 60% of the time. In another, answers placed in the middle of a long prompt were found less often than ones at the start or the end. And at 32,000 tokens of context, 11 of the 13 models in one benchmark dropped below half of their short-prompt scores. A bigger context window is not a fix on its own.</p>
<h2>Semantic search misses exact lookups</h2>
<p>Vector search is good at meaning and poor at exact strings. In Microsoft's tests on customer data, vector search scored 11.7 on keyword-style queries where keyword search scored 79.2. Think part numbers, policy codes, product SKUs and people's names, which is a large share of what customers and staff actually ask.</p>
<p>Searching both ways is the starting point. On the same customer datasets, keyword and vector search combined, with a reranker on top, scored 60.1 against 43.8 for vectors alone.</p>
<h2>What fixes it</h2>
<ul>
  <li><b>Hybrid search and a reranker.</b> Anthropic added a short line of context to each chunk before indexing it, then combined vector search, keyword search and reranking. Failed retrievals in their tests fell by 67%, from 5.7% to 1.9%.</li>
  <li><b>Clean documents.</b> Retire old versions, remove duplicates and put effective dates on policies. A model will repeat an outdated page as confidently as a current one.</li>
  <li><b>A tested way to say "I don't know".</b> When the answer is not in your documents, the right response is to say so and hand off to a person. Treat that as a feature and measure it.</li>
  <li><b>Chunks that fit the questions.</b> NVIDIA found page-sized chunks gave the most consistent accuracy across datasets, while short factual questions did best with chunks of 256 to 512 tokens.</li>
  <li><b>No retrieval when you don't need it.</b> If the whole knowledge base is under about 200,000 tokens, roughly 500 pages, Anthropic suggests putting all of it in the prompt.</li>
</ul>
<h2>Measure it, then keep measuring</h2>
<p>Start with a set of real questions your users ask, each paired with the passage that answers it. Anthropic's engineering team suggests 20 to 50 cases drawn from real failures as a first set. Add to it every time something new goes wrong.</p>
<p>Score retrieval and answering separately. Context recall tells you whether the right passage came back. Faithfulness tells you whether every claim in the answer is supported by what came back. Open source tools such as Ragas compute both. OpenAI's evaluation guide works through an example that targets context recall of at least 0.85, and recommends running the evals on every change.</p>
<p>Once that set exists, a model upgrade, a new batch of documents or a prompt edit stops being a guess. You can see what got better and what broke.</p>
<h2>Where to start</h2>
<p>When your AI search is wrong, look at retrieval and the documents behind it before you look at the model, and measure retrieval before and after every change. That is how we build retrieval for clients, and it is what lets you put the system in front of customers.</p>
<h2 class="sources-h">Sources</h2><ol class="sources"><li><a href="https://decisions.civilresolutionbc.ca/crt/crtd/en/525448/1/document.do" rel="noopener" target="_blank">Moffatt v. Air Canada, 2024 BCCRT 149, Civil Resolution Tribunal of British Columbia (2024)</a></li><li><a href="https://arxiv.org/abs/2401.05856" rel="noopener" target="_blank">Barnett et al., Seven Failure Points When Engineering a Retrieval Augmented Generation System (2024)</a></li><li><a href="https://research.google/blog/deeper-insights-into-retrieval-augmented-generation-the-role-of-sufficient-context/" rel="noopener" target="_blank">Google Research, Deeper insights into retrieval augmented generation: the role of sufficient context (2025)</a></li><li><a href="https://arxiv.org/abs/2404.10198" rel="noopener" target="_blank">Wu, Wu and Zou, ClashEval: Quantifying the tug-of-war between an LLM&#x27;s internal prior and external evidence (2024)</a></li><li><a href="https://arxiv.org/abs/2307.03172" rel="noopener" target="_blank">Liu et al., Lost in the Middle: How Language Models Use Long Contexts (2023)</a></li><li><a href="https://arxiv.org/abs/2502.05167" rel="noopener" target="_blank">NoLiMa: Long-Context Evaluation Beyond Literal Matching (2025)</a></li><li><a href="https://techcommunity.microsoft.com/blog/azure-ai-services-blog/azure-ai-search-outperforming-vector-search-with-hybrid-retrieval-and-ranking-ca/3929167" rel="noopener" target="_blank">Microsoft, Azure AI Search: Outperforming vector search with hybrid retrieval and ranking capabilities (2023)</a></li><li><a href="https://www.anthropic.com/news/contextual-retrieval" rel="noopener" target="_blank">Anthropic, Introducing Contextual Retrieval (2024)</a></li><li><a href="https://developer.nvidia.com/blog/finding-the-best-chunking-strategy-for-accurate-ai-responses/" rel="noopener" target="_blank">NVIDIA, Finding the Best Chunking Strategy for Accurate AI Responses (2025)</a></li><li><a href="https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents" rel="noopener" target="_blank">Anthropic, Demystifying evals for AI agents (2026)</a></li><li><a href="https://platform.openai.com/docs/guides/evaluation-best-practices" rel="noopener" target="_blank">OpenAI, Evaluation best practices</a></li><li><a href="https://docs.ragas.io/en/stable/" rel="noopener" target="_blank">Ragas documentation</a></li></ol>]]></content:encoded></item>
<item><title>Zapier or your own automation platform</title><link>https://allstacklabs.com/blog/zapier-or-your-own-automation-platform/</link><guid isPermaLink="true">https://allstacklabs.com/blog/zapier-or-your-own-automation-platform/</guid><pubDate>Mon, 13 Jul 2026 12:00:00 +0000</pubDate><description>Zapier and Make charge per task, so the bill grows as your automation succeeds. What changes when you own your automation platform.</description><content:encoded><![CDATA[<p class="byline">All Stack Labs, 13 July 2026</p>
<p>Zapier made automation mainstream, and it is good for getting started. Its pricing, though, punishes growth. This is why we build most client automation on a platform the client owns.</p>
<h2>The per-task trap</h2>
<p>Zapier and Make both meter usage. Every step a workflow runs counts against your plan. That is fine at a few hundred tasks a month, but automation is supposed to scale. When a workflow that syncs orders or routes leads starts running thousands of times a month, you pay more because it is doing its job. Teams end up rationing automation to protect the invoice, which defeats the point.</p>
<h2>What owning the platform changes</h2>
<p>Run your automation on your own platform, on infrastructure in your name, and four things change:</p>
<ul>
  <li><b>Flat cost.</b> You pay for a server, not per task. Volume barely moves the bill until you outgrow it.</li>
  <li><b>Your data stays home.</b> Credentials, customer records and payloads never leave your environment, which matters for privacy and compliance.</li>
  <li><b>No feature gates.</b> Custom code, your own credentials and unlimited workflows are not locked behind a higher tier.</li>
  <li><b>You own it.</b> The workflows, the logic and the integrations are yours, portable and exportable rather than trapped in a vendor account.</li>
</ul>
<h2>Where Zapier still wins</h2>
<p>If you need a handful of simple automations and no engineering time, hosted Zapier is the pragmatic choice: no maintenance and a huge library of ready-made connectors. Owning the platform pays off once you have real volume, sensitive data, or workflows complex enough that per-task pricing hurts. A fair rule of thumb: low volume and simple, stay hosted; scaling, sensitive or complex, own it.</p>
<h2>The catch: someone has to run it</h2>
<p>An owned platform is not free of effort. A production setup needs hardening, backups, monitoring, error handling and updates. Done badly, it is fragile. Done properly, it runs untouched for months. That second part is most of the value, and it is what we build and hand over, documented so your team can own it.</p>
<h2>Which one to pick</h2>
<p>Hosted tools rent you convenience. Owning the platform buys you the cost curve, the data and the workflows themselves. For anything you plan to lean on as you grow, owning it wins.</p>]]></content:encoded></item>
</channel></rss>
