<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Information Sufficiency |</title><link>https://hyangsukmin.github.io/tags/information-sufficiency/</link><atom:link href="https://hyangsukmin.github.io/tags/information-sufficiency/index.xml" rel="self" type="application/rss+xml"/><description>Information Sufficiency</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Tue, 01 Sep 2026 00:00:00 +0000</lastBuildDate><image><url>https://hyangsukmin.github.io/media/icon_hu_982c5d63a71b2961.png</url><title>Information Sufficiency</title><link>https://hyangsukmin.github.io/tags/information-sufficiency/</link></image><item><title>Maybe the LLM Answered Too Early</title><link>https://hyangsukmin.github.io/notes/2026-09-01-information-sufficiency/</link><pubDate>Tue, 01 Sep 2026 00:00:00 +0000</pubDate><guid>https://hyangsukmin.github.io/notes/2026-09-01-information-sufficiency/</guid><description>&lt;p&gt;I keep coming back to a simple question:&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Does the model actually have enough information to answer?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I first ran into this while working on dialogue summarization.&lt;/p&gt;
&lt;p&gt;The task was not to summarize an entire conversation, but only a segment of it. The problem was that a segment is often not self-contained.&lt;/p&gt;
&lt;p&gt;Someone might say:&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;“Okay, let’s go with that approach.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The sentence is understandable on its own. But a useful summary may still need to know &lt;strong&gt;what &lt;em&gt;that approach&lt;/em&gt; refers to&lt;/strong&gt; or &lt;strong&gt;why it was chosen&lt;/strong&gt;. That evidence may live several turns earlier.&lt;/p&gt;
&lt;p&gt;At the time, the problem I cared about was:&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Can we identify what evidence is missing from the current segment, then retrieve specifically for that gap?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So the rough pipeline became:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;missing evidence → targeted retrieval → generation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;That was a fairly specific summarization problem. But I now think the same structure appears in many LLM interactions.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;&lt;img alt="Information sufficiency decision loop"
src="https://hyangsukmin.github.io/notes/2026-09-01-information-sufficiency/information-sufficiency.gif"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="the-failure-may-happen-before-generation"&gt;The failure may happen before generation&lt;/h2&gt;
&lt;p&gt;Consider prompts like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“Which one is better for me?”&lt;/li&gt;
&lt;li&gt;“Can you improve this?”&lt;/li&gt;
&lt;li&gt;“What should I do next?”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The model may not have enough information to give a useful answer.&lt;/p&gt;
&lt;p&gt;Maybe a user constraint is unstated.&lt;br&gt;
Maybe an earlier turn contains a necessary detail.&lt;br&gt;
Maybe the answer depends on an external source.&lt;/p&gt;
&lt;p&gt;Yet the model often answers anyway.&lt;/p&gt;
&lt;p&gt;Then the user corrects it. The model tries again. Another condition appears. The conversation gets longer, more tokens are spent, and the original intent can become harder to track.&lt;/p&gt;
&lt;p&gt;This makes me think that some bad answers are not primarily &lt;strong&gt;generation failures&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;They are &lt;strong&gt;information-state failures&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="three-questions-before-answering"&gt;Three questions before answering&lt;/h2&gt;
&lt;p&gt;I find it useful to separate three decisions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. What is the user actually trying to accomplish?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The literal request is not always the goal.&lt;/p&gt;
&lt;p&gt;“Summarize this” can mean preparing a status update, extracting decisions, or creating something to remember later. The information needed depends on the goal.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Is the available information sufficient for that goal?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is different from asking whether the model is confident.&lt;/p&gt;
&lt;p&gt;A model can be confident while missing an important piece of context. A long context window can still contain the wrong evidence.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. If something is missing, what should happen next?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If only the user can provide it → &lt;strong&gt;ASK&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;If it exists in an external source → &lt;strong&gt;RETRIEVE&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;If it is already present but needs additional processing → &lt;strong&gt;REASON&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;If the information is sufficient → &lt;strong&gt;ANSWER&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The interesting question is not only whether a model &lt;em&gt;can&lt;/em&gt; answer.&lt;/p&gt;
&lt;p&gt;It is whether it &lt;em&gt;should answer yet&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id="retrieval-can-fail-before-retrieval-starts"&gt;Retrieval can fail before retrieval starts&lt;/h2&gt;
&lt;p&gt;This also changes how I think about RAG.&lt;/p&gt;
&lt;p&gt;A typical retrieval setup starts with a query. The task is then to retrieve better evidence for that query.&lt;/p&gt;
&lt;p&gt;But in an interactive system, there is an earlier problem:&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;What if the model has not identified the information it actually needs?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In that case, improving the retriever may not fix the bottleneck.&lt;/p&gt;
&lt;p&gt;I want to distinguish:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;retrieval failure&lt;/strong&gt;&lt;br&gt;
from&lt;br&gt;
&lt;strong&gt;information-need identification failure&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;They can produce similar bad answers, but they call for different solutions.&lt;/p&gt;
&lt;h2 id="a-metric-i-think-is-missing"&gt;A metric I think is missing&lt;/h2&gt;
&lt;p&gt;Suppose two assistants eventually produce the same correct answer.&lt;/p&gt;
&lt;p&gt;One gets there immediately.&lt;/p&gt;
&lt;p&gt;The other requires three user corrections.&lt;/p&gt;
&lt;p&gt;Should they receive the same score?&lt;/p&gt;
&lt;p&gt;For an interactive system, probably not.&lt;/p&gt;
&lt;p&gt;Besides final-answer quality, I think we should care about things such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;unnecessary dialogue turns,&lt;/li&gt;
&lt;li&gt;clarification burden,&lt;/li&gt;
&lt;li&gt;unnecessary retrieval or tool calls,&lt;/li&gt;
&lt;li&gt;token and latency cost,&lt;/li&gt;
&lt;li&gt;time until the user&amp;rsquo;s goal is satisfied,&lt;/li&gt;
&lt;li&gt;whether the original intent survives a long interaction.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I do not yet know the right metric. But &lt;strong&gt;interaction cost&lt;/strong&gt; feels like part of model quality, not only a product concern.&lt;/p&gt;
&lt;h2 id="the-question-i-want-to-keep-working-on"&gt;The question I want to keep working on&lt;/h2&gt;
&lt;p&gt;The research question I keep returning to is:&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;How can an LLM determine whether the information available to it is sufficient to fulfill a user&amp;rsquo;s intent?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And, when it is not:&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Can it identify what is missing and choose the right action to obtain it?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A few questions I want to explore:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How should information sufficiency be defined and evaluated?&lt;/li&gt;
&lt;li&gt;How is missing information different from uncertainty?&lt;/li&gt;
&lt;li&gt;When should a model ask the user instead of retrieving?&lt;/li&gt;
&lt;li&gt;Can &lt;strong&gt;ASK / RETRIEVE / ANSWER&lt;/strong&gt; be learned as a decision policy?&lt;/li&gt;
&lt;li&gt;Can better information-state decisions reduce interaction cost?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I do not want an assistant that asks a clarification question every time it is slightly uncertain.&lt;/p&gt;
&lt;p&gt;I want one that knows the difference between:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;enough information to act&lt;/strong&gt;&lt;br&gt;
and&lt;br&gt;
&lt;strong&gt;one important thing is still missing&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;That distinction seems small, but I suspect it sits underneath a lot of frustrating LLM interactions.&lt;/p&gt;</description></item></channel></rss>