<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Blog on Deduced</title>
		<link>https://www.deduced.co/blog/</link>
		<description>Recent content in Blog on Deduced</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<lastBuildDate>Wed, 07 Oct 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://www.deduced.co/blog/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Better labels make AI classification easier to check</title>
				<link>https://www.deduced.co/blog/better-labels-better-ai-classification/</link>
				<pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://www.deduced.co/blog/better-labels-better-ai-classification/</guid>
				<description>&lt;p&gt;Two people can read the same survey response and choose different categories without either being careless. The labels may overlap, depend on unstated context, or ask for distinctions the text never makes.&lt;/p&gt;&#xA;&lt;p&gt;AI classification has the same problem. Before changing models, check whether the task has a clear set of answers.&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-label-is-part-of-the-question&#34;&gt;A label is part of the question&lt;/h2&gt;&#xA;&lt;p&gt;Consider a community survey with the categories “events,” “activities” and “meetups.” Without definitions, a comment about a weekend gathering could fit all three.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to analyze a collection of articles with AI</title>
				<link>https://www.deduced.co/blog/analyze-a-collection-of-articles/</link>
				<pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://www.deduced.co/blog/analyze-a-collection-of-articles/</guid>
				<description>&lt;p&gt;A folder of articles is full of possible answers. The difficult part is deciding what you want to know, and giving each answer a consistent shape.&lt;/p&gt;&#xA;&lt;p&gt;Imagine you are planning a small balcony garden. You have saved growing guides, product reviews, recipes and design ideas. Your first question is simple: &lt;strong&gt;which articles contain practical advice for growing plants in a small space?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;That is the &lt;a href=&#34;https://www.deduced.co/examples/#run&#34;&gt;illustrative reading-list example&lt;/a&gt;. The workflow below shows how to turn a mixed collection into something you can inspect.&lt;/p&gt;</description>
			</item>
			<item>
				<title>What we learned from 714,480 rows</title>
				<link>https://www.deduced.co/blog/what-we-learned-from-714480-rows/</link>
				<pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://www.deduced.co/blog/what-we-learned-from-714480-rows/</guid>
				<description>&lt;p&gt;A large run can finish successfully and still answer the wrong question. That is the most useful lesson from our recent Deduced experiments.&lt;/p&gt;&#xA;&lt;p&gt;Our October 5, 2026 internal test report covers seven datasets and &lt;strong&gt;714,480 rows&lt;/strong&gt;, with no failed rows reported. The collection spans reviews, public text and sports records. Most datasets contained 100,000 rows; software reviews contained 114,155 and medication reviews 100,325.&lt;/p&gt;&#xA;&lt;p&gt;Those numbers tell us that the processing completed in these runs. To understand whether the answers were useful, we had to look at each task separately.&lt;/p&gt;</description>
			</item>
			<item>
				<title>When AI should judge—and code should count</title>
				<link>https://www.deduced.co/blog/when-ai-should-judge-and-code-should-count/</link>
				<pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://www.deduced.co/blog/when-ai-should-judge-and-code-should-count/</guid>
				<description>&lt;p&gt;Suppose you have a collection of game reviews. You want to know which mention performance problems, which praise the story, and what share of the collection recommends the game.&lt;/p&gt;&#xA;&lt;p&gt;There are two jobs here. Interpreting a review requires judgment. Counting the resulting labels requires arithmetic. Giving each job to the right operation makes the result easier to inspect.&lt;/p&gt;&#xA;&lt;h2 id=&#34;turn-interpretation-into-structured-answers&#34;&gt;Turn interpretation into structured answers&lt;/h2&gt;&#xA;&lt;p&gt;A review might say “the story kept me playing even when the frame rate didn&amp;rsquo;t.” A model can help classify the topics and assess the sentiment expressed toward each one. Keep the original review, the question and the returned answer together.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Why grouping records changes AI answers</title>
				<link>https://www.deduced.co/blog/why-group-context-changes-ai-answers/</link>
				<pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://www.deduced.co/blog/why-group-context-changes-ai-answers/</guid>
				<description>&lt;p&gt;Before asking a model a better question, check whether you have given it the right piece of evidence.&lt;/p&gt;&#xA;&lt;p&gt;An interview answer, an entire interview and a collection of interviews are three different inputs. Each can support different conclusions. Grouping related records is useful when the evidence for an answer is spread across them—but it also changes what you are measuring.&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-tennis-example&#34;&gt;A tennis example&lt;/h2&gt;&#xA;&lt;p&gt;In our October 5, 2026 internal tests, predicting the match-result label from individual tennis question-and-answer turns produced 54% agreement. The corresponding task over grouped press conferences produced 98%. The report lists 3,055 conference groups, with 3,054 whole conferences scored.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A question is not a stage</title>
				<link>https://www.deduced.co/blog/a-question-is-not-a-stage/</link>
				<pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate>
				<guid>https://www.deduced.co/blog/a-question-is-not-a-stage/</guid>
				<description>&lt;p&gt;Five questions about a customer do not make five model calls. In Deduced they make one, unless one of them cannot be asked until another is answered.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-packing-rule&#34;&gt;The packing rule&lt;/h2&gt;&#xA;&lt;p&gt;The compiler groups questions that can be answered from the same state with compatible model settings into a single request. Their answers do not become hidden context for each other. TypeSafe’s documentation is explicit that sibling answers stay separate, and the trace keeps one recorded judgment per question either way.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Every judgment keeps its request</title>
				<link>https://www.deduced.co/blog/every-judgment-keeps-its-request/</link>
				<pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate>
				<guid>https://www.deduced.co/blog/every-judgment-keeps-its-request/</guid>
				<description>&lt;p&gt;A model answer you cannot reproduce is an opinion. Deduced stores, for every judgment, the request body that was sent, the response body that came back, and the attempt that carried both. Everything the app shows in the right panel is read from those stored facts. Nothing is reconstructed from logs or chat history.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-chain&#34;&gt;The chain&lt;/h2&gt;&#xA;&#xA;&lt;figure class=&#34;article-diagram&#34; id=&#34;diagram-lineage&#34;&gt;&#xA;&#xA;  &lt;div class=&#34;ad-section-head&#34;&gt;&lt;strong&gt;Every answer has a path&lt;/strong&gt;&lt;span&gt;Each connection is a stored reference.&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;ol class=&#34;ad-lineage&#34;&gt;&#xA;    &lt;li&gt;&lt;i aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;b&gt;Record&lt;/b&gt;&lt;span&gt;Source snapshot&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;i aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;b&gt;Unit&lt;/b&gt;&lt;span&gt;Grouped evidence&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;i aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;b&gt;Attempt&lt;/b&gt;&lt;span&gt;Model request&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;i aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;b&gt;Response&lt;/b&gt;&lt;span&gt;Provider output&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;i aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;b&gt;Judgment&lt;/b&gt;&lt;span&gt;Typed answer&lt;/span&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &lt;div class=&#34;ad-branches&#34;&gt;&lt;div&gt;&lt;b&gt;Filtered out?&lt;/b&gt;&lt;p&gt;The record stays in the trace with the rule that excluded it.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Plugging Pylon, Fireflies and Attio into a reducer</title>
				<link>https://www.deduced.co/blog/plugging-pylon-fireflies-attio-into-a-reducer/</link>
				<pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate>
				<guid>https://www.deduced.co/blog/plugging-pylon-fireflies-attio-into-a-reducer/</guid>
				<description>&lt;p&gt;A reducer never calls Pylon. It reads a snapshot that a Pylon connector published. That one boundary is what lets the same question run over support tickets on Monday and call transcripts on Tuesday without touching the workflow.&lt;/p&gt;&#xA;&lt;h2 id=&#34;one-contract-for-every-source&#34;&gt;One contract for every source&lt;/h2&gt;&#xA;&#xA;&lt;figure class=&#34;article-diagram&#34; id=&#34;diagram-sources&#34;&gt;&#xA;&#xA;  &lt;div class=&#34;ad-section-head&#34;&gt;&lt;strong&gt;New data, a new snapshot&lt;/strong&gt;&lt;span&gt;Earlier runs keep their original inputs.&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;ad-three-step&#34;&gt;&#xA;    &lt;section class=&#34;ad-card&#34;&gt;&lt;h3&gt;Import records&lt;/h3&gt;&lt;p&gt;Raw evidence&lt;br&gt;Structured fields&lt;br&gt;Source references&lt;/p&gt;&lt;/section&gt;&lt;span class=&#34;ad-arrow&#34; aria-hidden=&#34;true&#34;&gt;→&lt;/span&gt;&#xA;    &lt;section class=&#34;ad-stage&#34;&gt;&lt;h3&gt;Check the contract&lt;/h3&gt;&lt;p&gt;Schema&lt;br&gt;Coverage&lt;br&gt;Provenance&lt;/p&gt;&lt;/section&gt;&lt;span class=&#34;ad-arrow&#34; aria-hidden=&#34;true&#34;&gt;→&lt;/span&gt;&#xA;    &lt;section class=&#34;ad-card&#34;&gt;&lt;h3&gt;Versioned snapshots&lt;/h3&gt;&lt;p&gt;Run A → snapshot 1&lt;br&gt;Run B → snapshot 2&lt;/p&gt;</description>
			</item>
			<item>
				<title>What a reducer is, and what it is not</title>
				<link>https://www.deduced.co/blog/what-a-reducer-is/</link>
				<pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate>
				<guid>https://www.deduced.co/blog/what-a-reducer-is/</guid>
				<description>&lt;p&gt;A reducer is the evaluate stage in a Deduced workflow. It takes one unit, a record or a group of records, binds it into a single request, asks Jev a fixed set of typed questions, and writes the answers back as data. The name is a nod to MapReduce. The nod stops there.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-goes-in&#34;&gt;What goes in&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;The unit.&lt;/strong&gt; You choose it: one ticket, one customer with all of their tickets, one call transcript, one candidate pair. “Per customer” means grouping by the customer key and declaring which tickets go into the state. It does not mean renaming per-ticket scores as customer risk.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The state.&lt;/strong&gt; The fields from that unit the model is allowed to see, bound explicitly. Jev fetches nothing. A dataset reference in the instructions is not content.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The questions.&lt;/strong&gt; Each has a type with a fixed answer shape. Each is written to name the fields it is about, because the model never sees your question IDs.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;figure class=&#34;article-diagram&#34; id=&#34;diagram-reducer&#34;&gt;&#xA;&#xA;  &lt;div class=&#34;ad-section-head&#34;&gt;&lt;strong&gt;One customer, one shared state&lt;/strong&gt;&lt;span&gt;Group the evidence before asking the model.&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;ad-three-step&#34;&gt;&#xA;    &lt;section class=&#34;ad-card&#34;&gt;&lt;h3&gt;Northstar&lt;/h3&gt;&lt;p&gt;Ticket T01&lt;br&gt;Ticket T02&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
