<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="rss.xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>IBM VIBE Blog</title>
        <link>https://ibm.github.io/VIBE/blog</link>
        <description>IBM VIBE Blog</description>
        <lastBuildDate>Tue, 20 Oct 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[Why test AI agents with conversations, not prompts]]></title>
            <link>https://ibm.github.io/VIBE/blog/testing-agents-with-conversations</link>
            <guid>https://ibm.github.io/VIBE/blog/testing-agents-with-conversations</guid>
            <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A single prompt and a single answer rarely reflect how people use an AI agent. Real usage is a conversation: context builds up, users change their mind, and mistakes compound over turns.]]></description>
            <content:encoded><![CDATA[<p>A single prompt and a single answer rarely reflect how people use an AI agent. Real usage is a conversation: context builds up, users change their mind, and mistakes compound over turns.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-problem-with-prompt-only-testing">The problem with prompt-only testing<a href="https://ibm.github.io/VIBE/blog/testing-agents-with-conversations#the-problem-with-prompt-only-testing" class="hash-link" aria-label="Direct link to The problem with prompt-only testing" title="Direct link to The problem with prompt-only testing" translate="no">​</a></h2>
<p>Prompt-level checks tell you whether one reply looks right. They miss failures that only show up across turns, such as forgotten context, contradictory answers, or a tool call that goes wrong on the third message.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-vibe-model">The VIBE model<a href="https://ibm.github.io/VIBE/blog/testing-agents-with-conversations#the-vibe-model" class="hash-link" aria-label="Direct link to The VIBE model" title="Direct link to The VIBE model" translate="no">​</a></h2>
<p>VIBE organizes evaluation around a few concepts:</p>
<ul>
<li class=""><strong>Conversation</strong>: an ordered script of user messages.</li>
<li class=""><strong>Turn target</strong>: the reply you expect for a user turn, scored for similarity against the agent's actual answer.</li>
<li class=""><strong>Session</strong>: the transcript produced by a run, with timing, token usage and scores per turn.</li>
<li class=""><strong>Suite</strong>: a named collection of conversations that you run together.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-minimal-loop">A minimal loop<a href="https://ibm.github.io/VIBE/blog/testing-agents-with-conversations#a-minimal-loop" class="hash-link" aria-label="Direct link to A minimal loop" title="Direct link to A minimal loop" translate="no">​</a></h2>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">vibe conversation create </span><span class="token parameter variable" style="color:#36acaa">--name</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Refund flow"</span><span class="token plain"> </span><span class="token parameter variable" style="color:#36acaa">--json</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">vibe conversation add-message </span><span class="token parameter variable" style="color:#36acaa">--conversation</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">id</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"> </span><span class="token parameter variable" style="color:#36acaa">--role</span><span class="token plain"> user </span><span class="token parameter variable" style="color:#36acaa">--content</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"I want a refund"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">vibe conversation set-target </span><span class="token parameter variable" style="color:#36acaa">--conversation</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">id</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"> </span><span class="token parameter variable" style="color:#36acaa">--target</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"I can help with that"</span><span class="token plain"> </span><span class="token parameter variable" style="color:#36acaa">--threshold</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">65</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">vibe run conversation </span><span class="token parameter variable" style="color:#36acaa">--conversation</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">id</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"> </span><span class="token parameter variable" style="color:#36acaa">--agent</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">agent_id</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"> </span><span class="token parameter variable" style="color:#36acaa">--json</span><br></div></code></pre></div></div>
<p>The command exits with <code>0</code> when the conversation passes and <code>1</code> when a turn falls below its threshold, so it drops straight into CI.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="next-steps">Next steps<a href="https://ibm.github.io/VIBE/blog/testing-agents-with-conversations#next-steps" class="hash-link" aria-label="Direct link to Next steps" title="Direct link to Next steps" translate="no">​</a></h2>
<p>Try the <a class="" href="https://ibm.github.io/VIBE/docs/quickstart">quickstart</a>, then read the <a class="" href="https://ibm.github.io/VIBE/docs/product-tour">product tour</a> to see how sessions and suites fit together.</p>]]></content:encoded>
            <category>Learning</category>
        </item>
    </channel>
</rss>