<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="format-detection" content="telephone=no">
<meta name="author" content="NLPearl" />
<!-- Preload Roboto font to avoid FOUT -->
<link rel="preload" href="/fonts/roboto/roboto-latin.woff2" as="font" type="font/woff2" crossorigin />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@nlpearl" />
<!-- Attribution Context -->
<script>
(function(){var UTM_KEYS=['utm_source','utm_medium','utm_campaign','utm_content','utm_term'];var CLICK_KEYS=['gclid','fbclid','msclkid','ttclid'];var COOKIE_NAME='attribution_context';var DAYS=90;function nowTs(){return Math.floor(Date.now()/1000)}function getParams(){var qs=window.location.search;if(qs&&qs!=='?')return new URLSearchParams(qs);var hash=window.location.hash||'';var i=hash.indexOf('?');return i>=0?new URLSearchParams(hash.slice(i+1)):new URLSearchParams()}function pick(params,keys){var out={};for(var i=0;i<keys.length;i++){var k=keys[i];var v=params.get(k);if(v&&v.trim())out[k]=v.trim()}return out}function getRef(params){var v=params.get('ref');if(!v)return null;v=v.trim();return v?v:null}function readCookie(name){var all=document.cookie||'';var parts=all.split('; ');for(var i=0;i<parts.length;i++){var p=parts[i];var eq=p.indexOf('=');if(eq<0)continue;if(p.slice(0,eq)!==name)continue;var raw=p.slice(eq+1);try{return decodeURIComponent(raw)}catch(e){return raw}}return null}function writeCookie(name,value,days){var exp=new Date(Date.now()+days*864e5).toUTCString();var cookie=name+'='+encodeURIComponent(value)+'; Expires='+exp+'; Path=/'+'; SameSite=Lax'+'; Domain=.nlpearl.ai';if(location.protocol==='https:')cookie+='; Secure';document.cookie=cookie}function safeJsonParse(str){if(!str)return null;try{return JSON.parse(str)}catch(e){return null}}var params=getParams();var utms=pick(params,UTM_KEYS);var clicks=pick(params,CLICK_KEYS);var ref=getRef(params);var hasUtm=Object.keys(utms).length>0;var hasClicks=Object.keys(clicks).length>0;var hasRef=!!ref;if(!hasUtm&&!hasClicks&&!hasRef)return;var ctx=safeJsonParse(readCookie(COOKIE_NAME));if(!ctx||typeof ctx!=='object')ctx={v:1,first:null};var hadFirst=!!ctx.first;var touch=Object.assign({},utms,ref?{ref:ref}:{},{ts:nowTs()});if(!ctx.first){ctx.first=touch}else{if(hasUtm||hasRef)ctx.last=touch}if(hasClicks){ctx.click_ids=(ctx.click_ids&&typeof ctx.click_ids==='object')?ctx.click_ids:{};var firstEmpty=!ctx.click_ids.first||Object.keys(ctx.click_ids.first).length===0;if(firstEmpty)ctx.click_ids.first=Object.assign({},clicks);if(hadFirst)ctx.click_ids.last=Object.assign({},ctx.click_ids.last||{},clicks)}writeCookie(COOKIE_NAME,JSON.stringify(ctx),DAYS)})();
</script>
<script type="module" crossorigin src="/assets/index-d-FqP2Ip.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-C2f4q_Gs.css">
<title>PearlVibe v2: Build and Debug AI Agents | NLPearl</title>
<meta name="description" content="Discover PearlVibe v2: build AI agents with visible steps, investigate real calls and chats, and review changes with evidence before publishing." data-rh="true">
<link rel="canonical" href="https://nlpearl.ai/introducing-pearlvibe-v2-the-ai-agent-engineer-that-shows-its-work" data-rh="true">
<meta property="og:type" content="article" data-rh="true">
<meta property="og:title" content="PearlVibe v2: Build and Debug AI Agents | NLPearl" data-rh="true">
<meta property="og:description" content="Discover PearlVibe v2: build AI agents with visible steps, investigate real calls and chats, and review changes with evidence before publishing." data-rh="true">
<meta property="og:url" content="https://nlpearl.ai/introducing-pearlvibe-v2-the-ai-agent-engineer-that-shows-its-work" data-rh="true">
<meta property="og:image" content="https://qiwmsbwgfjuurromacmx.supabase.co/storage/v1/object/public/media/1789488121645-RTYUTYRXVBGNHGHNFBDVSCds.png" data-rh="true">
<meta name="twitter:title" content="PearlVibe v2: Build and Debug AI Agents | NLPearl" data-rh="true">
<meta name="twitter:description" content="Discover PearlVibe v2: build AI agents with visible steps, investigate real calls and chats, and review changes with evidence before publishing." data-rh="true">
<meta name="twitter:image" content="https://qiwmsbwgfjuurromacmx.supabase.co/storage/v1/object/public/media/1789488121645-RTYUTYRXVBGNHGHNFBDVSCds.png" data-rh="true">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"Introducing PearlVibe v2: The AI Agent Engineer for Agents You Can Trust","description":"Discover PearlVibe v2: build AI agents with visible steps, investigate real calls and chats, and review changes with evidence before publishing.","image":"https://qiwmsbwgfjuurromacmx.supabase.co/storage/v1/object/public/media/1789488121645-RTYUTYRXVBGNHGHNFBDVSCds.png","datePublished":"2026-09-15T07:25:05.147+00:00","dateModified":"2026-10-02T07:11:05.796054+00:00","mainEntityOfPage":"https://nlpearl.ai/introducing-pearlvibe-v2-the-ai-agent-engineer-that-shows-its-work","author":{"@type":"Person","name":"David Sztern","jobTitle":"Co-founder & CEO","worksFor":{"@type":"Organization","name":"NLPearl"}},"publisher":{"@type":"Organization","name":"NLPearl","url":"https://nlpearl.ai"}}</script>
</head>
<body>
<div id="root"><article><h1>Introducing PearlVibe v2: The AI Agent Engineer for Agents You Can Trust</h1><time datetime="2026-09-15">2026-09-15</time> <p>Updated <time datetime="2026-10-02">October 2, 2026</time></p><p><em>PearlVibe now shows every step as it builds, separates advice from action, and investigates your real calls and chats to explain what your AI agent did and why. It is the first release built around one rule: nothing is reported without the evidence behind it.</em></p><p>When we launched PearlVibe, the promise was simple: describe the <a target="_blank" rel="noopener noreferrer" class="text-primary underline cursor-pointer" href="https://nlpearl.ai/phone-pearl"><u>AI voice agent</u></a> or AI text agent you need, and PearlVibe builds it. Personality, knowledge base, conversation flow, API integrations, pre-call and post-call actions, all from a chat.</p><p>That promise created a new question. Once an AI engineer can build your agent in minutes, how do you know what it actually did? When the agent misbehaves on a real call, who investigates? And when you fix it, how do you know the fix worked and nothing else broke?</p><p>Most AI agent builders compete on how fast you can create an agent. Speed matters, but it is not the hard part. The hard part is trust. A support team cannot run an AI phone agent it cannot inspect. A sales team cannot let an AI agent rewrite its own booking logic without a review. A compliance team will not accept "the model says it looks fine." The gap between "an AI built this" and "we trust this with our customers" is visibility, and PearlVibe v2 is built to close it.</p><h2>Why AI Agents Are Hard to Trust in Production</h2><p>Talk to any team running conversational AI at scale and you hear the same two fears. The first is going live: publishing an agent to real customers without knowing what it will do in the situations nobody tested. The second is changing anything afterwards, because touching a live agent means guessing what else might break. Both fears have the same effect. Agents go live later than they should, and they stay worse than they need to be, because improving them feels risky.</p><p>When something does go wrong, the investigation looks the same almost everywhere. A customer notices, or worse, their customer does. A ticket is opened. Someone asks for the recording, the version that was live, the expected behavior, and whether it can be reproduced. Then a person opens the flow, reads the transcript line by line, and tries to reconstruct what the agent was thinking. It takes hours, often days, and the person doing it is rarely confident in the answer.</p><p>And the answer very often has the same shape: the agent was doing exactly what it was built to do. The mistake was made weeks earlier, during the build, by someone who was never going to be an expert in conversation design and had no way to see it. Nor should they need to be.</p><p></p><iframe class="w-full rounded-lg my-6 border-0 block" loading="lazy" allow="autoplay; fullscreen; clipboard-read; clipboard-write" allowfullscreen="true" src="/embeds/pearlvibe-vs-manual-forensics-1.html" width="100%" height="600" title="Embedded content"></iframe><p>We know this because we have spent two years investigating broken agents. Across real deployments, we have cataloged 40 distinct ways AI agents fail, each one learned from a real customer incident. They recur: the same shapes turn up across different industries, different flows, and different people building them.</p><p>That makes these failures predictable. And anything predictable can be looked for, in every agent, automatically, on the day it is built. A generic "test your prompt" tool cannot tell you that your booking flow is structurally exposed to one of the most common ways booking flows fail, because it has never investigated a broken one. That catalog is what PearlVibe v2 puts to work.</p><h2>Watch PearlVibe Work</h2><p>PearlVibe now shows what it is doing as it does it. Each step appears in the conversation at the point it happened, with a spinner while it runs, a check or a red mark when it lands, and how long it took. Click any step to unfold its result: the flow node it edited, the API it called, the variable it created.</p><p>When the answer is done, the list folds into one line naming the most substantial thing that happened. Your conversation history reads like a changelog, not a log file.</p><p>For a team that has to answer "who changed what, and when," this matters more than it looks. Every action PearlVibe takes is visible at the moment it happens, timed, and inspectable afterwards. You see how it reasons about your Pearl, where a step failed and why, and what it decided not to touch. An AI agent builder you can watch is one you can correct, and one you stop second-guessing.</p><h2>Ask First, Build When You Are Ready</h2><p>PearlVibe now has two modes, switched from the pill in the composer bar.</p><p><strong>Ask</strong> answers questions about your Pearl and proposes changes without touching it. "Why does my agent ask for the phone number twice?" "What happens if the CRM lookup fails?" "How would you shorten the qualification step?" You get the analysis and a specific proposal. Your agent stays exactly as it is.</p><p><strong>Build</strong> makes the change, with your confirmation.</p><p>The separation is deliberate. Ask mode never writes. Build mode never writes without you saying so. Add the ability to ask how your draft differs from the published version, and you know exactly what will change before it changes, which is the working definition of change control. It is how teams work with any engineer: you talk it through, then you ship. And it makes PearlVibe safe to use on a live production agent, whether that agent handles inbound support calls, runs outbound sales campaigns, or answers customers on WhatsApp and SMS.</p><h2>Ask What Happened on a Call</h2><p>The biggest change in v2: PearlVibe can now read your real calls and chats.</p><p>Ask it to look at your last test call and it tells you what was said, which steps ran, and what your APIs returned. Ask why your agent skipped the booking and it investigates the calls itself. It finds the relevant conversations, traces the path through your flow, checks the API responses, and comes back with the cause in plain language: "Callers agree to a slot and no appointment is created, because nothing forces the booking step to run."</p><p>Two more diagnostics come with it. Ask PearlVibe how your draft differs from the published version before you go live. Ask it to check your flow for structural problems, the kind that only surface on the tenth call, before a customer finds one.</p><p>This is what agentic means here. Not a chatbot that answers questions about your agent, but an agent that does the investigation, so that neither you nor your support team has to. Debugging an AI voice agent used to mean a transcript in one tab and a log in another. Now you ask a question, and the answer arrives with the calls attached.</p><h2>Evidence Before Verdict</h2><p>All of this rests on you believing what PearlVibe tells you. So there is one rule underneath the whole release: nothing is reported without the evidence behind it.</p><p>Not a score. Not a rating. Not "looks good." If PearlVibe says a step never ran, it shows you which calls. If it says the agent promised something it had not done, it quotes the sentence where it did. If it says your draft differs from production, it shows the difference.</p><p>We hold this rule because the alternative is dangerous. A false all-clear is worse than no check at all. It manufactures the confidence to publish a broken agent, and that confidence came from the tool, not from you. Every guard in PearlVibe v2 exists for that one reason.</p><p>It also means being honest about the edges. A structural check tells you about the structures we know how to check. A call investigation tells you about the calls it read. Neither tells you about the situation nobody thought of, and PearlVibe will say so rather than let a green screen imply something broader.</p><p>For enterprise teams, this is the difference between a result a compliance officer accepts and one they argue with. "The booking API was never called, here are the twelve calls" is a finding. "A model rated this conversation 4 out of 10" is an opinion, and we will not make you defend one.</p><h2>Built for Enterprise Evaluation</h2><p>When enterprise customers ask us about evaluating AI agents, they name three things: define our own criteria, audit what actually happened, and gate our releases.</p><p>PearlVibe v2 is the foundation for all three. Ask mode and call investigation are the audit: what was said, which steps ran, what the APIs returned, on the version that was live. The structural check and the draft-versus-published diff are the gate: what is exposed, and what will change, checked before you publish. And because every step PearlVibe takes is visible and timed, the record of how your agent was built and changed is there when someone asks for it.</p><p>The security model follows the same logic. Ask mode has no write access to your agent. Build mode acts only on your confirmation. Investigations run inside your NLPearl workspace, on your own calls and chats, under the same access controls as the rest of the platform. PearlVibe runs on the same GDPR-compliant, SOC 2 infrastructure as the rest of the NLPearl platform. And none of it is bespoke: the same product that serves a two-person clinic serves a global contact center, with governance layered on top rather than built around a single account.</p><h2>What's Next: Rehearsals, Then Guards</h2><p>Later this month, we are releasing the next version, where PearlVibe interacts directly with your agent to uncover more ways to improve it, identify weaknesses, and find potential gaps or failure points.</p><p>Concretely, PearlVibe will play the customer. A hundred different customers, talking to your agent exactly as real callers would, with every outside system safely simulated so nothing real is touched. This is how robustness stops being a hope and becomes something you can look at. Rehearsals show something no single real call can. Run the same situation five times and the agent gets it right three times and wrong twice. That inconsistency is the finding, and only a rehearsal can make it visible.</p><p></p><img class="rounded-lg max-w-full mx-auto" src="https://qiwmsbwgfjuurromacmx.supabase.co/storage/v1/object/public/changelog-images/1789471600537-5lg4okhgin.png"><p></p><p>Rehearsals also make fixes provable. PearlVibe records the exact conditions of every run, so when it says "this got better," it can show both runs were fair: same situation, same setup, same everything except the change being tested. If anything differed, it will not claim an improvement. It will tell you what differed.</p><p>Beyond that, the direction is a loop. Something goes wrong; PearlVibe notices and explains it with the calls that show it. You approve the fix in one click. PearlVibe proves the fix on a new version, same situation before and after. And the problem is guarded: a check now stands behind it, run before every release, so it cannot come back unnoticed.</p><p></p><iframe class="w-full rounded-lg my-6 border-0 block" loading="lazy" allow="autoplay; fullscreen; clipboard-read; clipboard-write" allowfullscreen="true" src="/embeds/pearlvibe-assurance-loop-1.html" width="100%" height="600" title="Embedded content"></iframe><p></p><p>Every problem found this way leaves a check behind, and every check means that problem is caught before a caller sees it. A support ticket is a cost that repeats. A finding is a cost that pays back. That is the difference between an AI agent platform whose reliability you hope for and one whose reliability compounds.</p><h2>Try PearlVibe v2</h2><p>PearlVibe v2 is live for all NLPearl users. Open PearlVibe, switch the pill to Ask, and ask it what happened on your last call.</p><p>To go deeper on modes, call investigation, and JSON output paths, see the <a target="_blank" rel="noopener noreferrer nofollow" class="text-primary underline cursor-pointer" href="https://developers.nlpearl.ai/pages/pearl_vibe"><u>PearlVibe documentation</u></a>.</p><p><strong>Describe it. Watch it build. Ask it why.</strong></p><p><em>David Sztern, Co-founder & CEO</em></p><p></p></article></div>
</body>
</html>