<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Nava Labs Field Notes]]></title><description><![CDATA[Taking you under the hood of our work in progress at Nava Labs.]]></description><link>https://fieldnotes.navapbc.com</link><image><url>https://substackcdn.com/image/fetch/$s_!-G2m!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed123b24-b4da-4317-b0ce-d29952489779_708x708.png</url><title>Nava Labs Field Notes</title><link>https://fieldnotes.navapbc.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 29 Oct 2026 17:14:36 GMT</lastBuildDate><atom:link href="https://fieldnotes.navapbc.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Nava Public Benefit Corporation]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[navalabs@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[navalabs@substack.com]]></itunes:email><itunes:name><![CDATA[Nava Labs]]></itunes:name></itunes:owner><itunes:author><![CDATA[Nava Labs]]></itunes:author><googleplay:owner><![CDATA[navalabs@substack.com]]></googleplay:owner><googleplay:email><![CDATA[navalabs@substack.com]]></googleplay:email><googleplay:author><![CDATA[Nava Labs]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[How our SNAP evaluation led to a fix in Inspect AI]]></title><description><![CDATA[Why GPT-5.6 models failed on Amazon Bedrock, and how a one-change fix became four in the UK AI Security Institute&#8217;s eval framework.]]></description><link>https://fieldnotes.navapbc.com/p/how-snap-evaluation-fix-inspect-ai</link><guid isPermaLink="false">https://fieldnotes.navapbc.com/p/how-snap-evaluation-fix-inspect-ai</guid><dc:creator><![CDATA[Cory Trimm]]></dc:creator><pubDate>Wed, 28 Oct 2026 19:26:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8ecs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><em>A note on timing: this happened in September 2026, on Inspect AI 0.3.259 through 0.3.269.</em></p></div><p>This is a companion to our <a href="https://fieldnotes.navapbc.com/p/what-ai-gets-wrong-about-snap-and">series</a> of <a href="https://fieldnotes.navapbc.com/p/accuracy-ai-models-snap-questions">posts</a>, where Ryan Hansz and I walk through the eval behind our SNAP results. Partway through that work, a whole family of models stopped working, and the fix ended up being in <a href="https://inspect.aisi.org.uk/">Inspect</a> itself.</p><p>Inspect is free, open source software from the <a href="https://www.aisi.gov.uk/">UK government&#8217;s AI Security Institute</a> for testing AI models: you give it a set of questions with known answers, it asks each model, and it scores how often the model gets them right.</p><h2>Every request crashed</h2><p>When I first ran the full set of frontier models through Amazon Bedrock, OpenAI&#8217;s GPT-5.6 models (Sol, Terra and Luna) crashed on every single request.</p><p>These models return their reasoning as an encrypted blob called <code>redactedContent</code>, never as readable text. That&#8217;s on purpose, and it&#8217;s a valid response shape in AWS&#8217;s API. But Inspect&#8217;s Bedrock provider only expected the readable shape, and its <a href="https://pydantic.dev/">pydantic</a> model marked the readable field as required. So every response failed validation before Inspect could even parse it:</p><pre><code><code>ValidationError: 2 validation errors for ConverseResponse
output.message.content.0.reasoningContent.reasoningText
  Field required [type=missing, input_value={'redactedContent': b'rsn...'}, input_type=dict]
</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g268!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229c0d5a-5c3d-4505-97d0-fad2e2839b54_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g268!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229c0d5a-5c3d-4505-97d0-fad2e2839b54_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!g268!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229c0d5a-5c3d-4505-97d0-fad2e2839b54_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!g268!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229c0d5a-5c3d-4505-97d0-fad2e2839b54_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!g268!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229c0d5a-5c3d-4505-97d0-fad2e2839b54_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g268!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229c0d5a-5c3d-4505-97d0-fad2e2839b54_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/229c0d5a-5c3d-4505-97d0-fad2e2839b54_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:629186,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/220714125?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229c0d5a-5c3d-4505-97d0-fad2e2839b54_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!g268!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229c0d5a-5c3d-4505-97d0-fad2e2839b54_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!g268!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229c0d5a-5c3d-4505-97d0-fad2e2839b54_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!g268!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229c0d5a-5c3d-4505-97d0-fad2e2839b54_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!g268!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229c0d5a-5c3d-4505-97d0-fad2e2839b54_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A raw <code>aws bedrock-runtime converse</code> call showed the API was fine. The bug was in Inspect. Reading the provider source (<code>inspect_ai/model/_providers/bedrock.py</code>) took about 10 minutes and saved me an afternoon of guessing.</p><h2>Issue first, then the pull request</h2><p>Inspect has an issue-first rule for outside contributors. You open a GitHub issue, a maintainer marks it <code>accepted</code>, and only then can you open a pull request. So I patched my local install to keep the eval moving, and then <a href="https://github.com/UKGovernmentBEIS/inspect_ai/issues/5217">filed issue #5217</a> on September 3 with reproduction steps and a proposed fix.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8ecs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8ecs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png 424w, https://substackcdn.com/image/fetch/$s_!8ecs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png 848w, https://substackcdn.com/image/fetch/$s_!8ecs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png 1272w, https://substackcdn.com/image/fetch/$s_!8ecs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!8ecs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png" width="1456" height="1017" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1017,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:471883,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/220714125?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8ecs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png 424w, https://substackcdn.com/image/fetch/$s_!8ecs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png 848w, https://substackcdn.com/image/fetch/$s_!8ecs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png 1272w, https://substackcdn.com/image/fetch/$s_!8ecs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ca4ef6d-d5e0-4b5c-a317-bab7c390a335_2218x1550.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>One change became four</h2><p>The fix ended up bigger than I planned. I&#8217;d scoped one change, and the merged pull request had four:</p><ol><li><p>Parse the encrypted block instead of crashing.</p></li><li><p>Send the encrypted bytes back to the model on the next turn. Parsing alone fixed turn one, but it broke every multi-turn and tool-using eval at turn two. That&#8217;s most of what we run.</p></li><li><p>Do the same in the streaming path, so streamed and regular calls behave the same.</p></li><li><p>Swap in a placeholder for the bytes when writing the raw response to the log. The field is binary, and non-text bytes break the log&#8217;s text encoding.</p></li></ol><p>It took three rounds of review with the maintainers. They caught things I had missed, including a crash I had found and then talked myself out of because my test data wasn&#8217;t realistic. <a href="https://github.com/UKGovernmentBEIS/inspect_ai/pull/5299">Pull request #5299</a> merged on September 25 and shipped in <a href="https://pypi.org/project/inspect-ai/0.3.269/">Inspect 0.3.269</a>. If you run OpenAI reasoning models through Bedrock in Inspect, they work now.</p><p>The review also turned up three related issues I filed afterward: <a href="https://github.com/UKGovernmentBEIS/inspect_ai/issues/5300">#5300</a>, <a href="https://github.com/UKGovernmentBEIS/inspect_ai/issues/5301">#5301</a> and <a href="https://github.com/UKGovernmentBEIS/inspect_ai/issues/5302">#5302</a>.</p><p>Measuring AI on benefits questions only counts if the measuring tool is open and works for everyone, so we fixed the bug upstream instead of keeping a private patch.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What I&#8217;d take from it</h2><ul><li><p>When a provider crashes, make the sample, raw API call yourself. It tells you in one command whether the bug is upstream or in your code.</p></li><li><p>Read the provider&#8217;s source before you blame your config.</p></li><li><p>Test the second turn too. A fix that parses a response can still break the conversation that follows.</p></li><li><p>Patch locally to keep moving, but file the issue the same day while the repro is fresh.</p></li></ul><p>It&#8217;s a small fix, and I&#8217;m still pretty happy that a SNAP eval led to a patch in the AI Security Institute&#8217;s own framework.</p>]]></content:encoded></item><item><title><![CDATA[Why AI guardrails for public benefits should start at the agency level]]></title><description><![CDATA[Agencies can and should write their own guardrails now, and revise them as AI changes.]]></description><link>https://fieldnotes.navapbc.com/p/why-benefits-ai-guardrails-start-agency-level</link><guid isPermaLink="false">https://fieldnotes.navapbc.com/p/why-benefits-ai-guardrails-start-agency-level</guid><dc:creator><![CDATA[Kara English]]></dc:creator><pubDate>Fri, 09 Oct 2026 19:05:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ha6m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b3c8b10-3368-4548-b64c-3f31e663f007_2048x687.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In our first post on this topic, we argued that <a href="https://fieldnotes.navapbc.com/p/3-gaps-state-ai-governance-public-benefits">AI governance in public benefits should run as a feedback loop</a>. We think the best place to first run and test that loop should be within an agency itself.</p><p>Through this work, we&#8217;ve scanned AI governance in all 50 U.S. states plus D.C., read 35 AI policies at different levels and scored them each against 25 policy provisions, built case studies of different states with AI policies, and held conversations with state agency leaders doing the actual work to find out what failed in practice. We landed on the finding that <strong>AI guardrails in public benefits should start at the agency level. </strong>By agency level, we mean two administrative layers: statewide IT or CIO policy and the benefits agency&#8217;s own policy. In the policies we reviewed, both layers were more specific than legislation or executive orders, and neither has to wait for a new law to act.</p><p>Here are three reasons we came to that conclusion.</p><h3><strong>1. Shadow AI is already happening, and the agency is held responsible for it</strong></h3><p>In December 2023, a child protection worker in Victoria, Australia <a href="https://www.theguardian.com/australia-news/2024/sep/26/victoria-child-protection-chat-gpt-ban-ovic-report-ntwnfb">discreetly used ChatGPT</a> to draft a report for the Children&#8217;s Court. The generated report raised some concerns, as it was found to downplay the severity of potential harm to the child and had impacts on decisions about the child&#8217;s care. This sparked further investigation by the state&#8217;s privacy regulator who found that nearly 900 department employees &#8211; almost 13 percent of the workforce &#8211; had used ChatGPT in the prior six months.</p><p><strong>The final <a href="https://ovic.vic.gov.au/mediarelease/ovic-finds-department-responsible-for-breaches-of-privacy-through-use-of-chatgpt/">investigation report</a> blamed the agency</strong>, finding that the Department of Families, Fairness and Housing (DFFH) failed to &#8220;take reasonable steps to ensure the accuracy of personal information and to protect personal information from unauthorised disclosure.&#8221;</p><p>While that case is about child protection in Australia, the same pattern is already showing up in the US. One <a href="https://indexaiglobalpublicservices.publicfirst.co/#key">report</a>, a survey of 3,335 public servants across 10 countries including the US, found that in &#8220;low-enablement environments,&#8221; 64% of enthusiastic AI workers report using personal logins, and 70% report using AI for work tasks without their manager knowing. Additionally, journalists in Washington State documented this pattern when they obtained <a href="https://www.cascadepbs.org/news/2025/08/wa-city-officials-are-using-chatgpt-to-write-government-documents/">thousands of pages of ChatGPT conversations </a>from local officials: constituent replies, policy documents, and grant applications &#8211; none carrying the state-required disclosure, and many from personal accounts.</p><p>While we haven&#8217;t seen a records request on a SNAP or Medicaid eligibility office, we&#8217;d expect it to find a similar outcome: a caseworker using a personal login for an AI tool to transcribe their lengthy interview, draft their case notes, or answer a tricky policy question.</p><p><strong>When staff don&#8217;t have clear guidance and approved tools, AI use doesn&#8217;t stop. It moves to where it can&#8217;t be tracked, evaluated, or made safe. </strong>We understand caseworkers are under immense pressure from changing policies, staffing shortages, and increased administrative burden, and we know why they&#8217;re turning to AI. But for tools that touch benefit decisions, this kind of risk can&#8217;t be tolerated. The Australia case made it clear that agencies can still be held responsible for AI outcomes, even when they don&#8217;t act.</p><p>Giving staff an approved alternative is part of that responsibility, but a list of tools alone isn&#8217;t enough: if no one owns the approval process or staff have to wait indefinitely for an answer, the list functions like a ban and pushes experimentation back toward personal accounts.</p><h3><strong>2. Agency policies can survive legislative churn</strong></h3><p><strong>Legislation takes multiple cycles and can end up weaker than it started. </strong>Colorado passed the country&#8217;s first comprehensive state AI law in May 2024. Its original requirements were set to begin in February 2026, then delayed until June while lawmakers negotiated a compromise. In May 2026, lawmakers replaced it with a <a href="https://coloradosun.com/2026/05/12/colorado-ai-law-rewrite-passes/">narrower framework</a>: some provisions took effect immediately, while the remaining requirements begin in January 2027. <strong>That is two years of legislative revision during which the original law never took effect, while AI capabilities continued to change rapidly.</strong></p><p>New York shows what the agency layer can do when a statute is weakened. The legislature rewrote the <a href="https://www.nysenate.gov/legislation/bills/2023/S7543/amendment/A">LOADinG Act</a> in 2025, before it took effect, and dropped its human-review requirement. The state&#8217;s own <a href="https://its.ny.gov/acceptable-use-artificial-intelligence-technologies">AI policy</a>, updated in June 2026, still says &#8220;Automated final decision systems are not permitted,&#8221; and names benefits eligibility in scope. It&#8217;s statewide IT policy rather than law, making enforcement penalties slightly weaker. However, that guardrail survived where the statute didn&#8217;t.</p><p>The<strong> </strong><a href="https://www.justice.gov/ag/media/1422986/dl?inline">federal litigation task force</a> created in 2025 targets state AI laws, while the <a href="https://www.federalregister.gov/documents/2025/12/16/2025-23092/ensuring-a-national-policy-framework-for-artificial-intelligence">broader federal strategy</a> expressly preserves requirements governing a state&#8217;s own procurement and use of AI. Agency procurement terms and internal-use rules therefore remain a separate layer of protection.</p><h3><strong>3. Agency policies contain specific rules and review requirements</strong></h3><p><strong>Agency policies already carry the most specific rules.</strong> We scored 35 policies on how many of 25 common rules each one actually requires (note: these are selected policies, not a representative sample). The rules we looked for included things like required pre-deployment testing, prohibited use cases, and impact evaluations.</p><p>Statewide IT policies contained on average 9.2 out of 25 provisions, and SNAP agency policies 7.0, compared with 5.8 for state statutes and 1.0 for executive orders. Prohibited uses, data classification, and AI inventories all show up at the agency level more often than in statute &#8211; and these are some of the provisions we think are the most useful for protecting beneficiaries.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ha6m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b3c8b10-3368-4548-b64c-3f31e663f007_2048x687.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ha6m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b3c8b10-3368-4548-b64c-3f31e663f007_2048x687.png 424w, https://substackcdn.com/image/fetch/$s_!ha6m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b3c8b10-3368-4548-b64c-3f31e663f007_2048x687.png 848w, https://substackcdn.com/image/fetch/$s_!ha6m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b3c8b10-3368-4548-b64c-3f31e663f007_2048x687.png 1272w, https://substackcdn.com/image/fetch/$s_!ha6m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b3c8b10-3368-4548-b64c-3f31e663f007_2048x687.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!ha6m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b3c8b10-3368-4548-b64c-3f31e663f007_2048x687.png" width="1456" height="488" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b3c8b10-3368-4548-b64c-3f31e663f007_2048x687.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:488,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ha6m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b3c8b10-3368-4548-b64c-3f31e663f007_2048x687.png 424w, https://substackcdn.com/image/fetch/$s_!ha6m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b3c8b10-3368-4548-b64c-3f31e663f007_2048x687.png 848w, https://substackcdn.com/image/fetch/$s_!ha6m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b3c8b10-3368-4548-b64c-3f31e663f007_2048x687.png 1272w, https://substackcdn.com/image/fetch/$s_!ha6m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b3c8b10-3368-4548-b64c-3f31e663f007_2048x687.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Average number of the 25 provisions each type of policy requires. Source: AI Policies and Key Provisions Mapped, September 2026.</em></figcaption></figure></div><p><strong>The agency layer is also where policies actually get revised.</strong> Of the 150 policies we checked, only 42 percent require their own review with a real cadence, owner, or trigger. Another 43 percent say something like &#8220;may be reviewed periodically,&#8221; which functions the same as saying nothing at all. <strong>State agency and IT policies carry a real review requirement more often than any other layer of policy.</strong></p><p>But a feedback loop has two halves, and the second one is missing almost everywhere. None of the 10 state agency policies we scored requires an outcome evaluation of the AI it governs, or a way to feed evaluation results back into the policy. That&#8217;s one recommendation we added into the model agency policy we&#8217;re building.</p><p><strong>The agency is where a definition of AI meets real tools.</strong> Defining &#8220;artificial intelligence&#8221; and deciding which tools need to be governed by the policy has been one of the biggest challenges we&#8217;ve seen states struggle with.</p><ul><li><p><em>Are we only governing generative AI?</em></p></li><li><p><em>Does that include traditional machine learning or automated systems the agency already uses?</em></p></li><li><p><em>Which use cases do we need to be tracking more closely?</em></p></li><li><p><em>How do we prevent overburdening our staff with an approval process?</em></p></li></ul><p>These are real questions states are grappling with, and ones we hope to help states think through in the model policy guidance we&#8217;re writing.</p><p>A statutory definition is not enough to produce a complete inventory. Agency policy can pair the definition with clear ownership, reporting procedures, and a current inventory of the tools staff actually use.</p><p>New York shows why. Its state law had one of the broadest definitions of AI of any policy we reviewed, but its first public inventory still <a href="https://nysfocus.com/2026/07/30/new-york-ai-systems-inventory-findings">returned no use cases from SNAP</a> or several other agencies with high-profile AI tools already in production. The <a href="https://www.nysenate.gov/legislation/laws/STT/103-E">state law</a> included a requirement to inventory all AI tools that &#8220;directly impact the public.&#8221; While they attempt to define the terminology, the law lacks useful operational detail, which may be one reason agencies failed to report their tools.</p><p>That is why a benefits agency still needs its own policy when a statewide one exists: the statewide policy sets the groundwork, and the benefits agency applies it more specifically to its programs, and keeps the inventory current.</p><h3><strong>Limitations of agency-level policy</strong></h3><p>Agency policy is not a substitute for law, particularly when it comes to claimant rights. The statewide policies in our latest research were much stronger on how agencies manage AI than on explanation, appeal, or opt-out rights. Agencies can test operating rules now; legislatures still have a role in codifying protections that should not depend on which administration is in office.</p><h3><strong>Agency-level policy as a legislative testing ground</strong></h3><p>We think states should start governing at the agency level, now. Not instead of legislation, but ahead of it. An agency can write and revise its guardrails on something closer to the timeline the technology actually moves on. The ineffective guardrails can be removed, and what works well can become a candidate for state legislation.</p><p>In the two states where we scored both a statewide policy and the benefits agency&#8217;s policy, the statewide policy was the more detailed of the two. This suggests a benefits agency doesn&#8217;t have to start from scratch; it can build on what its state IT office already requires and add the rules specific to its programs.</p><div><hr></div><h3><strong>What&#8217;s next</strong></h3><p>We plan to present more of our thinking at Nava&#8217;s <a href="https://www.navapbc.com/events/open-source-summit-ai-futures">Open Source Summit: AI Futures</a> on October 14. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive new posts as soon as they come out.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>We&#8217;re also using this research to build a model agency AI policy that agencies can adapt now and revise as the evidence changes. We especially want to hear what happens after a policy is adopted:</p><ul><li><p>Which rules hold up</p></li><li><p>Which create work without reducing risk</p></li><li><p>Which ones staff route around</p></li><li><p>What would trigger a revision to your policy</p></li></ul><p>If your agency is drafting an AI policy, or has one that isn&#8217;t doing what it was meant to, comment below or email us at <a href="mailto:labs@navapbc.com">labs@navapbc.com</a>.</p>]]></content:encoded></item><item><title><![CDATA[What AI gets wrong about SNAP, and what we tried to fix it]]></title><description><![CDATA[Part 2 of our series evaluating LLM performance on SNAP policy questions]]></description><link>https://fieldnotes.navapbc.com/p/what-ai-gets-wrong-about-snap-and</link><guid isPermaLink="false">https://fieldnotes.navapbc.com/p/what-ai-gets-wrong-about-snap-and</guid><dc:creator><![CDATA[Ryan Hansz]]></dc:creator><pubDate>Thu, 08 Oct 2026 14:05:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2A7Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2A7Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2A7Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!2A7Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!2A7Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!2A7Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2A7Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:339171,&quot;alt&quot;:&quot;Two cards on a pink background. Left, an example self-employment question: \&quot;Maria sells handmade candles. Which amount counts as her income?\&quot; The model chose A, total sales of $1,200. The answer key is B, sales minus allowable costs: $1,200 minus $420 equals $780. Right, a bar chart titled \&quot;Across all 500 questions\&quot; shows GPT-6 Astra's wrong answers falling from 39 with the baseline prompt to about 8 with the revised prompt.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/216754845?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Two cards on a pink background. Left, an example self-employment question: &quot;Maria sells handmade candles. Which amount counts as her income?&quot; The model chose A, total sales of $1,200. The answer key is B, sales minus allowable costs: $1,200 minus $420 equals $780. Right, a bar chart titled &quot;Across all 500 questions&quot; shows GPT-6 Astra's wrong answers falling from 39 with the baseline prompt to about 8 with the revised prompt." title="Two cards on a pink background. Left, an example self-employment question: &quot;Maria sells handmade candles. Which amount counts as her income?&quot; The model chose A, total sales of $1,200. The answer key is B, sales minus allowable costs: $1,200 minus $420 equals $780. Right, a bar chart titled &quot;Across all 500 questions&quot; shows GPT-6 Astra's wrong answers falling from 39 with the baseline prompt to about 8 with the revised prompt." srcset="https://substackcdn.com/image/fetch/$s_!2A7Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!2A7Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!2A7Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!2A7Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24e40d4c-8afb-4a06-b2fa-83a766341317_3840x2160.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Illustrative self employment question</figcaption></figure></div><h2>Intro</h2><p>In <a href="https://fieldnotes.navapbc.com/p/accuracy-ai-models-snap-questions">our first post</a>, we shared how models performed on a set of 500 SNAP (CalFresh) scenario questions. Here, I&#8217;ll look at the questions they got wrong most often and the experiments I tried to improve their answers.</p><p>In the original runs, GPT-6 Astra led the models we tested with an average accuracy of 92.2%. That still meant about 39 of 500 answers were wrong according to a key created by SNAP experts. Let&#8217;s dive in to the errors and how we might improve accuracy.<br><br>Our testing dataset focused on California questions, so you may see SNAP referred to as CalFresh (California&#8217;s name for the program.) </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Error Categories</h2><p>To begin, I wanted to see if any topics or types of questions caused the most errors. The dataset creators, Better Government Lab, tagged each question in the dataset with a SNAP quality control topic. This let us see where errors clustered in LLM responses. The categories with high errors were fairly consistent across models, though each model had its own highs and lows. I saw that four categories (self-employment, <a href="https://stgenssa.sccgov.org/debs/program_handbooks/calfresh/assets/CalFresh/TCF/TCFOvrvw.htm?agt=index">transitional benefits</a>, social security numbers and citizenship and noncitizenship status) had the most errors.  </p><p>Note: Some categories in the dataset only have a few questions, so one answer can cause a large swing in accuracy.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/xH68e/7/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/47468dc3-763c-422b-bf12-f5147b4ed065_1220x996.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf0ac267-61dc-4f8a-96bb-a5e38f9591c7_1220x1246.png&quot;,&quot;height&quot;:618,&quot;title&quot;:&quot;Where do AI models struggle with SNAP policy?&quot;,&quot;description&quot;:&quot;Accuracy across 29 quality-control error categories, pooled across 43 matched runs of 11 hosted models. Dot size reflects the number of questions.&quot;,&quot;belowTheFold&quot;:false}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/xH68e/7/" width="730" height="618" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/taZll/3/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a1eeacd-b05a-4403-ba2a-22115ffc3eb1_1220x1354.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a4d7fc6f-ee61-4900-af2d-d5e888b65386_1220x1632.png&quot;,&quot;height&quot;:806,&quot;title&quot;:&quot;Where did GPT-6 Astra lead other models on SNAP policy?&quot;,&quot;description&quot;:&quot;Percentage-point difference in answer-key agreement by category, comparing original GPT-6 Astra runs with the equally weighted average of 11 other models.&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/taZll/3/" width="730" height="806" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p></p><h2>Why are LLMs getting questions wrong?</h2><p>As LLMs improve, mistakes can be harder to untangle. In the frontier models we tested, we did not see clear examples of hallucinated policies or arithmetic errors. Instead, we saw subtle misreadings of wording and incorrect assumptions about households or income.</p><p>As an example, &#8220;for benefits,&#8221; &#8220;for the purpose of assistance,&#8221; and &#8220;application for assistance&#8221; can all lead to different correct responses to a question. </p><p>Other errors reflected outdated policy information (the models had no web access in our first tests) or reliance on general rules when more specific ones applied.</p><h4>Error cause: not aware of policy updates</h4><p>These were policies that had changed after the models had been trained. For example, <a href="https://www.getcalfresh.org/en/immigrants/">non-citizen eligibility policies</a> changed in the last year. Since we didn&#8217;t allow web-search in our initial testing, models had no way to see new information about the rules.</p><div class="callout-block" data-callout="true"><p><strong>Hypothetical household:</strong> Tomas applies for CalFresh with his child. Tomas is an asylee.<br><br><strong>How this could lead to AI mistakes: </strong>Previously, Tomas would&#8217;ve likely been eligible for SNAP. Under the latest policies, asylees are not eligible. </p></div><h4>Error cause: relying on general policies when more specific rules applied. </h4><ul><li><p>The model didn&#8217;t surface or prioritize California policies that override general policies. </p><ul><li><p>For example, <a href="https://stgenssa.sccgov.org/debs/program_handbooks/calfresh/assets/CalFresh/SSNRequirements/Newborn.htm">SSN requirements for newborns</a> or <a href="https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2021/21-58.pdf?ver=2021-05-21-162533-693">verification requirements</a> for students. </p></li></ul></li></ul><div class="callout-block" data-callout="true"><p><strong>Hypothetical situation:</strong> Dominic applies for CalFresh as a college student in an employment focused program. <br><br><strong>How this could lead to AI mistakes: </strong>Most aspects of a SNAP application require verification. But California has a specific policy that &#8220;[Workers] must only require verification that a student meets an exemption when information provided by the household is questionable&#8230;&#8221; (<a href="https://cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACLs/2021/21-58.pdf?ver=2021-05-21-162533-693">Source</a>). A model may say Dominic must provide documents when the policy doesn&#8217;t always require that. </p></div><h4>Error cause: not applying the correct role for a household member</h4><p><br>Some questions relied on understanding the difference between being reported on an application, having income or resources counted, belonging to a CalFresh household, and receiving benefits. Assuming a different scenario led the AI to answer questions incorrectly. </p><div class="callout-block" data-callout="true"><p><strong>Hypothetical household:</strong> Elena would like to apply for CalFresh for her household. She lives with her child and her partner, Mateo. Mateo isn&#8217;t eligible for CalFresh. <br><br><strong>How this could lead to mistakes: </strong> </p><ul><li><p>&#8220;Is Mateo eligible to receive benefits? (<strong>No</strong>)&#8221; </p></li><li><p>&#8220;Should Mateo be included on an application? (<strong>Yes</strong> because workers need to include his income in the application)&#8221; </p></li><li><p>If the model misinterprets the intent of the question, it could answer incorrectly even with all the correct policy info. </p></li></ul></div><h4>Error cause: Nuances in income + benefit calculations</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1-Zx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0129bada-360c-43b3-aa90-494707e869b7_1630x1488.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1-Zx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0129bada-360c-43b3-aa90-494707e869b7_1630x1488.png 424w, https://substackcdn.com/image/fetch/$s_!1-Zx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0129bada-360c-43b3-aa90-494707e869b7_1630x1488.png 848w, https://substackcdn.com/image/fetch/$s_!1-Zx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0129bada-360c-43b3-aa90-494707e869b7_1630x1488.png 1272w, https://substackcdn.com/image/fetch/$s_!1-Zx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0129bada-360c-43b3-aa90-494707e869b7_1630x1488.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!1-Zx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0129bada-360c-43b3-aa90-494707e869b7_1630x1488.png" width="1456" height="1329" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0129bada-360c-43b3-aa90-494707e869b7_1630x1488.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1329,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:368674,&quot;alt&quot;:&quot;California's CalFresh budget worksheet (CF 286 SAR)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/216754845?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0129bada-360c-43b3-aa90-494707e869b7_1630x1488.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="California's CalFresh budget worksheet (CF 286 SAR)" title="California's CalFresh budget worksheet (CF 286 SAR)" srcset="https://substackcdn.com/image/fetch/$s_!1-Zx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0129bada-360c-43b3-aa90-494707e869b7_1630x1488.png 424w, https://substackcdn.com/image/fetch/$s_!1-Zx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0129bada-360c-43b3-aa90-494707e869b7_1630x1488.png 848w, https://substackcdn.com/image/fetch/$s_!1-Zx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0129bada-360c-43b3-aa90-494707e869b7_1630x1488.png 1272w, https://substackcdn.com/image/fetch/$s_!1-Zx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0129bada-360c-43b3-aa90-494707e869b7_1630x1488.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Part of a worksheet to determine countable income for CalFresh</figcaption></figure></div><p>Determining how to count income and expenses for SNAP is a complex process. LLMs made errors in this category when they incorrectly assumed:</p><ul><li><p>Whether an amount already had the earned income deduction applied to it</p></li><li><p>Whether an amount in a question was &#8220;gross&#8221; or &#8220;net&#8221; income</p></li><li><p>How to count one time (excluded) vs. recurring payments (included)</p></li><li><p>If an income amount was &#8220;<a href="https://calfresh.guide/prospective-budgeting-semi-annual-reporting-sar-households/#anticipated/">reasonably anticipated</a>&#8221; when calculating future income amounts</p></li><li><p>How to apply rules about self-employment expense deductions. Like whether a meal at a business conference is a deductible expense. </p><p></p></li></ul><h2>Experiments to improve results</h2><h3>Experiment #1: Add web search and increase reasoning level</h3><p>This is the most straightforward change I could make. The experiment assumed that if models had more reasoning budget and access to newer resources, then they would improve accuracy, especially on questions with recent policy changes.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/U9LTs/5/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c2902e6-4796-4a5a-ad91-3483f5c6aa9d_1220x358.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a336078-f850-4505-926b-5d2bd4f34b2d_1220x610.png&quot;,&quot;height&quot;:277,&quot;title&quot;:&quot;Search and thinking settings produced modest results&quot;,&quot;description&quot;:&quot;Answer-key agreement on 500 SNAP/CalFresh questions. Sol improved with search at medium effort; Astra stayed near 94%.&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/U9LTs/5/" width="730" height="277" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><ul><li><p>I tested two OpenAI models: GPT-6 Sol and GPT-6 Astra.</p></li><li><p>Changing reasoning effort and adding web search without specialized guidance produced modest overall results. Citizenship and noncitizenship questions showed a clearer improvement.</p><ul><li><p>As expected, this category benefited most from access to current sources because its policies had recently changed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x8QK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51ef6195-55e9-4b14-b01a-a4e6bf407bf5_1150x564.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x8QK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51ef6195-55e9-4b14-b01a-a4e6bf407bf5_1150x564.png 424w, https://substackcdn.com/image/fetch/$s_!x8QK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51ef6195-55e9-4b14-b01a-a4e6bf407bf5_1150x564.png 848w, https://substackcdn.com/image/fetch/$s_!x8QK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51ef6195-55e9-4b14-b01a-a4e6bf407bf5_1150x564.png 1272w, https://substackcdn.com/image/fetch/$s_!x8QK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51ef6195-55e9-4b14-b01a-a4e6bf407bf5_1150x564.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!x8QK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51ef6195-55e9-4b14-b01a-a4e6bf407bf5_1150x564.png" width="1150" height="564" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51ef6195-55e9-4b14-b01a-a4e6bf407bf5_1150x564.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:564,&quot;width&quot;:1150,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83470,&quot;alt&quot;:&quot;Table of answer-key agreement on 34 citizenship questions. With web search, Astra rose from 31 to 32 correct at low reasoning and 31 to 33 at medium reasoning. Sol rose from 24 to 29 correct at low reasoning and 25 to 31 at medium reasoning.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/216754845?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51ef6195-55e9-4b14-b01a-a4e6bf407bf5_1150x564.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Table of answer-key agreement on 34 citizenship questions. With web search, Astra rose from 31 to 32 correct at low reasoning and 31 to 33 at medium reasoning. Sol rose from 24 to 29 correct at low reasoning and 25 to 31 at medium reasoning." title="Table of answer-key agreement on 34 citizenship questions. With web search, Astra rose from 31 to 32 correct at low reasoning and 31 to 33 at medium reasoning. Sol rose from 24 to 29 correct at low reasoning and 25 to 31 at medium reasoning." srcset="https://substackcdn.com/image/fetch/$s_!x8QK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51ef6195-55e9-4b14-b01a-a4e6bf407bf5_1150x564.png 424w, https://substackcdn.com/image/fetch/$s_!x8QK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51ef6195-55e9-4b14-b01a-a4e6bf407bf5_1150x564.png 848w, https://substackcdn.com/image/fetch/$s_!x8QK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51ef6195-55e9-4b14-b01a-a4e6bf407bf5_1150x564.png 1272w, https://substackcdn.com/image/fetch/$s_!x8QK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51ef6195-55e9-4b14-b01a-a4e6bf407bf5_1150x564.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">On 34 citizenship questions, web search improved answer-key agreement for both Astra and Sol in these matched runs.</figcaption></figure></div><p></p></li></ul></li></ul><h3>Experiment #2: Improve the system prompt</h3><p>I reviewed questions GPT-6 Astra consistently got wrong in the dataset, wrote notes on the mistakes, and turned those notes into general guidance for later tests. </p><p>GPT-6 Astra with the revised prompt averaged <strong>491.7/500 (98.3%)</strong> across three runs, up from 461/500 (92.2%) at baseline."</p><h4>Baseline prompt</h4><pre><code><code>You are answering a SNAP scenario benchmark question.
Return only JSON: {"answer":"one multiple-choice letter","reasoning":"brief explanation","review_required":true|false}.
Use only facts in the scenario. Do not represent your response as a final benefits decision or legal advice.</code></code></pre><h4>Types of instructions I added </h4><p>Many of the instructions I added clarified terms or expected processes that had led to errors. A few examples are: </p><ul><li><p>For questions determined to be about <strong>immigration or SSN requirements</strong>, the instructions told the model to use web search to find up to date policies since these topics have had recent changes. </p><ul><li><p>For topics with California specific policies, I instructed the model to check current CDSS guidance</p></li></ul></li><li><p>For <strong>income and deductions</strong>:</p><ul><li><p>Gross income is before business expenses or household deductions; net income is after applicable deductions. </p></li><li><p>A benefit-increasing income decrease or expense claim generally needs verification before raising benefits; one lower payment or higher expense does not by itself establish a lasting reduction.</p></li><li><p>Treat an amount described as earnings as gross unless called net or after deductions. </p></li><li><p>Over-the-counter medicines and vitamins require prescription or approval by a qualified health professional</p></li><li><p>Use submitted official records to resolve a conflicting verbal estimate when those records already establish the amount and frequency.</p></li></ul></li><li><p>For<strong> household composition</strong>:</p><ul><li><p>Inclusion in the household assessment is distinct from an individual&#8217;s eligibility to receive benefits; an ineligible noncitizen&#8217;s income and resources can still matter. </p></li><li><p>Do not infer that co-residence makes unrelated people a food household.</p></li></ul></li><li><p>And many more pieces of guidance and clarification for each category of error</p></li></ul><h4>Limitations</h4><ul><li><p>The changes I made to the prompt were designed specifically for this set of 500 questions. </p><ul><li><p>This type of focus could lead to &#8220;overfitting&#8221; where the model will perform well on this set of questions, but do worse in the real world.  </p></li><li><p>Further testing on new scenarios and different phrasings could show whether this guidance holds up.</p></li></ul></li><li><p>While I am familiar with CalFresh and SNAP policies, I am not a policy expert, so some of the guidance I gave the tool would need to be verified before it would be used broadly.  </p></li></ul><p></p><h4>What might this mean when developing AI tools?  </h4><p>An overall score can hide errors in the questions that matter most to people. Having each question assigned to a quality control category allowed us to have a better picture of how models perform in areas that matter to beneficiaries and staff. Like checking eligibility, identifying who belongs in a household, verifying an expense, or calculating income.</p><p>Based on this experience, here are a few suggestions for teams building AI tools for public benefits:</p><ul><li><p><strong>Review the trickiest errors with program experts. </strong>Some questions were straightforward to resolve, such as pointing the model to current citizenship rules. Others required understanding when staff request verification and when they can accept a client&#8217;s statement.</p></li><li><p><strong>Clarify ambiguous phrasing in people&#8217;s inputs and the tool&#8217;s output. </strong>If a detail changes the answer, such as whether income is gross or net, the tool should ask before proceeding.</p></li><li><p><strong>Make sure the model&#8217;s approach fits its audience. </strong>A public-facing tool should explain that people can apply for SNAP even if they are unsure whether they qualify. A caseworker-facing tool needs more precise guidance on process and verification to support staff decisions.</p></li><li><p><strong>Be ready for a &#8220;whack-a-mole&#8221; improvement process. </strong>Guidance that helps with one topic can cause mistakes elsewhere. When I added broad guidance to verify evidence before using it, the model did worse on questions where verification was needed only if a claim was questionable.</p></li></ul><h3></h3><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive new posts about our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How we cut agentic AI costs by 44–85% using Vercel’s Eve]]></title><description><![CDATA[Testing a pre-built harness on real California benefits applications]]></description><link>https://fieldnotes.navapbc.com/p/cut-agentic-ai-costs-vercel-eve</link><guid isPermaLink="false">https://fieldnotes.navapbc.com/p/cut-agentic-ai-costs-vercel-eve</guid><dc:creator><![CDATA[Kaylyn Van Norstrand]]></dc:creator><pubDate>Mon, 28 Sep 2026 14:37:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RGWn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here at Nava Labs, we run an agentic <a href="https://www.navapbc.com/labs/caseworker-ai-tools/form-filling-assistant">Form-Filling Assistant</a> that drives a real browser through public-benefits applications. It reads participant data from an external API, opens a remote Chrome instance on Kernel.sh, fills out a multi-step government form, and stops just short of submitting it.</p><p>We built it on the Vercel AI SDK with a hand-rolled agent loop: <code>streamText</code> with <code>stopWhen: [stepCountIs(500)]</code>, a custom context compressor, a 900-line composed system prompt, and a <code>readReference</code> tool for pulling in documentation on demand.</p><p>We swapped that hand-rolled setup for <a href="https://github.com/vercel/eve">Vercel&#8217;s Eve</a>, a pre-built agent harness, without changing what the prompt was achieving. The result: costs dropped anywhere from 44% to 85%, depending on the application and model, with fewer errors and faster runs along the way. Here&#8217;s what a harness actually is, what ours was missing, and what the numbers looked like once we made the switch.</p><h2>What is a harness in an AI application, and why is it useful?</h2><p>A harness is the core of an AI application. Think of it as scaffolding that wraps around a raw model and turns it into something that can actually get work done, not just answer questions in a chat box. It takes in a request and routes it through the right tools to complete it: running code or browsing files, keeping track of memory and context over a long task, sandboxing risky actions, pausing for human approval, and handling retries and logging along the way.</p><p>A handful of pre-built harnesses already do this well &#8212; Claude Code, Codex, Cursor, and Vercel&#8217;s Eve among them. We picked Eve to test against our own hand-rolled setup, and here&#8217;s what changed.</p><h3>What we saw with a harness vs. without one</h3><p>To see this play out, here&#8217;s what happened when we tested against real-world benefit applications &#8212; <a href="https://benefitscal.com/">BenefitsCal</a>, as one example: a large, multi-page SNAP benefits form &#8212; with a harness and without one.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RGWn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RGWn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png 424w, https://substackcdn.com/image/fetch/$s_!RGWn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png 848w, https://substackcdn.com/image/fetch/$s_!RGWn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png 1272w, https://substackcdn.com/image/fetch/$s_!RGWn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RGWn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png" width="1456" height="1033" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1033,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:307909,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/216178213?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RGWn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png 424w, https://substackcdn.com/image/fetch/$s_!RGWn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png 848w, https://substackcdn.com/image/fetch/$s_!RGWn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png 1272w, https://substackcdn.com/image/fetch/$s_!RGWn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fc084f-eb13-44c8-be57-fdeb040c3761_2160x1532.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Before Eve</strong></p><p>The Form-Filling Assistant started with a single prompt to manage the agent; it grew past 900 lines as we ran into more types of forms it needed to handle. The prompt was very case-specific, tailored to make sure the benefit applications in Riverside, CA could be completed seamlessly. However, we could only reliably handle three applications, and even those only ran error-free most of the time.</p><p>On top of that prompt, we built a custom set of tools, memory storage, and compaction, and tested each skill individually to try to make the agent more reliable. It got messy fast: as the prompt grew, it got harder to predict what would break, or when. We also leaned heavily on Opus 4.7, which was expensive, and every model update risked breaking the prompt.</p><p><strong>Why we added Eve</strong></p><p>We brought in Vercel&#8217;s Eve harness to target three problems directly:</p><ul><li><p>Memory storage and compaction</p></li><li><p>The ability to switch to less expensive models</p></li><li><p>Error handling and testing</p></li></ul><p><strong>After Eve</strong></p><p>The clearest change showed up in the bill, but it started with a structural fix: we no longer have to manually wire together skills, tools, and the main prompt &#8212; Eve handles that connection natively.</p><ol><li><p><strong>Cost dropped substantially.</strong> Smaller applications that used to run up to $5 now cost about $2. Larger applications, like BenefitsCal, went from roughly $50 down to $18.</p></li><li><p><strong>Run time dropped too.</strong> On our largest applications, run time went from 34 minutes down to 13.</p></li><li><p><strong>Memory got seamless.</strong> Built-in memory worked reliably and didn&#8217;t lose data mid-run. That held true for compaction too &#8212; Eve doesn&#8217;t need a custom compaction implementation, so the agent moves through memory and compaction without issue. Without it, we regularly saw applications stall or error out at exactly that step.</p></li><li><p><strong>Skills became reusable.</strong> The agent reads skill files as needed instead of loading every skill into the first prompt. We used to struggle to manage skills effectively; with Eve, the agent pulls in each skill only when it&#8217;s appropriate. On our longest application, I ran it multiple times with Eve and it completed every time. The same application on our original, non-Eve prompt kept erroring out.</p></li><li><p><strong>Modals stopped being a bottleneck.</strong> We used to get stuck on modals often &#8212; Eve moves through them cleanly, mostly because it knows when to call the right skill or tool.</p></li></ol><p><strong>The BenefitsCal numbers</strong></p><p>Without Eve, we couldn&#8217;t get Sonnet 5 to complete a run at all &#8212; we had to fall back to Sonnet 4.6, and even then needed two forced continues to get past memory and compaction, at a cost of $52.99 and a runtime of 34 minutes. With Eve, that same Sonnet 4.6 run completed with no errors, at $18.67 and 13 minutes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SbT4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5996546-cadb-46af-8f5e-d6b6f5471dbd_768x293.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SbT4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5996546-cadb-46af-8f5e-d6b6f5471dbd_768x293.png 424w, https://substackcdn.com/image/fetch/$s_!SbT4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5996546-cadb-46af-8f5e-d6b6f5471dbd_768x293.png 848w, https://substackcdn.com/image/fetch/$s_!SbT4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5996546-cadb-46af-8f5e-d6b6f5471dbd_768x293.png 1272w, https://substackcdn.com/image/fetch/$s_!SbT4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5996546-cadb-46af-8f5e-d6b6f5471dbd_768x293.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!SbT4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5996546-cadb-46af-8f5e-d6b6f5471dbd_768x293.png" width="768" height="293" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5996546-cadb-46af-8f5e-d6b6f5471dbd_768x293.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:293,&quot;width&quot;:768,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:58905,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://conturbodemonstro477521.substack.com/i/212866099?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5996546-cadb-46af-8f5e-d6b6f5471dbd_768x293.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!SbT4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5996546-cadb-46af-8f5e-d6b6f5471dbd_768x293.png 424w, https://substackcdn.com/image/fetch/$s_!SbT4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5996546-cadb-46af-8f5e-d6b6f5471dbd_768x293.png 848w, https://substackcdn.com/image/fetch/$s_!SbT4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5996546-cadb-46af-8f5e-d6b6f5471dbd_768x293.png 1272w, https://substackcdn.com/image/fetch/$s_!SbT4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5996546-cadb-46af-8f5e-d6b6f5471dbd_768x293.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Smaller applications: the cost</strong></p><p>BenefitsCal is one of our largest applications, so we also wanted to check whether the cost savings held up on smaller ones, across multiple models, before committing further to harness testing.</p><p><em><strong>WIC (Women, Infants, and Children)</strong></em> &#8212; the smallest application we support:</p><ul><li><p><code>gpt-5.4-mini</code>: $0.13 without Eve &#8594; $0.02 with Eve (about an 85% reduction)</p></li><li><p><code>Sonnet 4.6</code>: $2.76 without Eve &#8594; $1.10 with Eve (about a 60% reduction)</p></li><li><p><code>Opus 4.8</code>: $3.40 without Eve &#8594; $1.90 with Eve (about a 44% reduction)</p></li><li><p><code>Haiku 4.5</code>: $0.62 without Eve &#8594; $0.25 with Eve (about a 60% reduction)</p></li></ul><p>WIC was the easiest application we tested &#8212; no errors, and no need for the memory tools &#8212; but the cost reduction held up across every model we tried.</p><p><em><strong>IHSS (In-Home Supportive Services)</strong></em> &#8212; a one-page application, but an older one:</p><ul><li><p><code>Sonnet 5</code>: $5.39 without Eve &#8594; $2.40 with Eve (about a 55% reduction)</p></li><li><p><code>Haiku 4.5</code>: $2.10 without Eve &#8594; $0.95 with Eve (about a 55% reduction) &#8212; though both runs completed with errors, not cleanly</p></li></ul><p>Haiku&#8217;s IHSS result comes with a caveat worth calling out: with or without Eve, it couldn&#8217;t fill in masked or numbered fields &#8212; state, SSN, birthdate, phone number &#8212; so that specific gap looks like a model limitation, not a harness one. Eve still helped elsewhere on that same run: without it, Haiku also missed an entire &#8220;check any that apply&#8221; section and left Submit enabled despite the missing fields; with Eve, neither of those additional issues showed up. Sonnet 5 didn&#8217;t have this problem at all &#8212; with Eve, it took longer to analyze the page but filled out every field correctly, masked ones included.</p><h2>What this could unlock for us</h2><p>Eve took away a lot of the pain we hit while building the application. We spent a lot of time just refining the agent to handle our three main applications reliably. With Eve handling those core pain points, we can put more of that time into the user experience instead.</p><p>A few directions we&#8217;re now considering:</p><ul><li><p>Multi-form applications</p></li><li><p>Audio AI interaction</p></li><li><p>A possible Chrome extension</p></li><li><p>Moving away from a chat-based interface</p></li></ul><p>Also on our radar: Vercel&#8217;s AI SDK now has a <code>HarnessAgent</code> API that lets you swap between harnesses the same way you&#8217;d swap between models &#8212; write the agent once, and change the harness underneath it later. Still early, but worth testing.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive our latest posts in your inbox.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The takeaways</h2><p>Overall, a harness has proven to be the right way to build an AI application. Working with an AI model is powerful, but without a good harness, it comes with unexpected issues and flaws that are hard to predict &#8212; that&#8217;s just the nature of LLMs. </p><p>Once we let Eve take over the parts we&#8217;d been hand-rolling ourselves, the same models did the same work for 44% to 85% less, with fewer errors and faster runs. For an agentic application running at any real scale, that&#8217;s not a marginal win &#8212; it&#8217;s the difference between a project that&#8217;s worth scaling and one that quietly bleeds budget.</p>]]></content:encoded></item><item><title><![CDATA[How accurately do AI models answer questions about SNAP?]]></title><description><![CDATA[We tested frontier and open-source AI models against 500 caseworker questions]]></description><link>https://fieldnotes.navapbc.com/p/accuracy-ai-models-snap-questions</link><guid isPermaLink="false">https://fieldnotes.navapbc.com/p/accuracy-ai-models-snap-questions</guid><dc:creator><![CDATA[Ryan Hansz]]></dc:creator><pubDate>Thu, 24 Sep 2026 17:00:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!i0N9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6785c403-e06b-4c12-a97a-71e3f9c360c3_1220x880.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hjs9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58209dde-7392-46e4-80a8-f40e37556cc0_3840x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hjs9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58209dde-7392-46e4-80a8-f40e37556cc0_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!Hjs9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58209dde-7392-46e4-80a8-f40e37556cc0_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!Hjs9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58209dde-7392-46e4-80a8-f40e37556cc0_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!Hjs9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58209dde-7392-46e4-80a8-f40e37556cc0_3840x2160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hjs9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58209dde-7392-46e4-80a8-f40e37556cc0_3840x2160.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58209dde-7392-46e4-80a8-f40e37556cc0_3840x2160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:284541,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/215724591?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58209dde-7392-46e4-80a8-f40e37556cc0_3840x2160.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Hjs9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58209dde-7392-46e4-80a8-f40e37556cc0_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!Hjs9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58209dde-7392-46e4-80a8-f40e37556cc0_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!Hjs9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58209dde-7392-46e4-80a8-f40e37556cc0_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!Hjs9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58209dde-7392-46e4-80a8-f40e37556cc0_3840x2160.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>SNAP helps <a href="https://fred.stlouisfed.org/series/BR06000CAA647NCEN">millions of people</a> get food. The program is hard to navigate: rules about who is eligible, who belongs on an application, and which deductions a household can get add up to a lot of ways to get something wrong.</p><p>Applied well in this space, AI tools can increase application accuracy, cut administrative burden, and get people food faster. Done poorly, they can discourage people from applying, <a href="https://arxiv.org/abs/2608.16603">create more work for staff</a> who have to fix AI&#8217;s mistakes, and drive up <a href="https://fna-bwbufwdzbabpezgc.z01.azurefd.us/sites/default/files/resource-files/snap-qcfy25-per.pdf">payment errors</a>, which are now tied to how much funding states get for SNAP.</p><p>All of these use cases hinge on how well AI models perform on fundamental SNAP questions. This post walks through how we evaluated frontier and open source Large Language Models (LLMs) on 500 questions about California&#8217;s SNAP program, known as CalFresh. Many of the questions would be applicable to nationwide SNAP questions. Future posts will detail how prompt, harness, and context engineering can continue to increase precision. </p><p>The <a href="https://huggingface.co/datasets/cornellbgl/SNAP_scenarios">dataset</a> is available on request and we used <a href="https://inspect.aisi.org.uk/">open-source tools</a>, so anyone can repeat this approach. The question scenarios were developed by <a href="https://www.bettergovernmentlab.org/">Better Government Lab</a> in partnership with SNAP policy experts. See more about the dataset in the appendix.</p><h3><strong>Sample question (illustrative)</strong></h3><blockquote><p><strong>Preamble<br></strong>Age: Young adult (below 24)<br>Gender: Male<br>Employment status: Employed by other<br>Healthcare/Disability status: Not legally disabled<br>Citizenship status: U.S. citizen</p><p><strong>Question</strong><br>The client is a 20-year-old enrolled full-time, year-round at a California community college. He lives with two roommates and buys and prepares his own food. He works an average of 22 hours per week at a grocery store. Does he meet the CalFresh student eligibility rules? [Select one correct answer.]</p><p>A. No, full-time students are not eligible for CalFresh<br>B. No, he must live with his parents and apply with them because he is under 22<br>C. Yes, because he works an average of at least 20 hours per week<br>D. Yes, but only if he is approved for work-study</p><p><strong>Answer (reviewed by SNAP policy experts)<br>Answer:</strong> C</p></blockquote><h2>How the models performed</h2><p><em>Last updated: Sept. 22, 2026</em></p><h4><strong>Accuracy </strong></h4><ul><li><p><a href="https://openai.com/index/gpt-6-astra/">GPT-6 Astra</a> scored highest, averaging 92.24% across three test runs.</p></li></ul><ul><li><p>That&#8217;s impressive! But this still means the LLM got around 39 out of 500 questions wrong. Depending on the question, one of those incorrect responses could have large impacts.</p></li></ul><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/CRBmP/3/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6785c403-e06b-4c12-a97a-71e3f9c360c3_1220x880.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96ffb650-fede-447a-8b07-11da20c404ec_1220x1152.png&quot;,&quot;height&quot;:567,&quot;title&quot;:&quot;How accurately do leading AI models answer SNAP policy questions?&quot;,&quot;description&quot;:&quot;Mean share of 500 expert-verified questions answered correctly. Hosted frontier models are shown alongside open-weight models run on local hardware.&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/CRBmP/3/" width="730" height="567" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4><strong>Costs</strong> </h4><ul><li><p>Costs per 500-question run varied considerably (<a href="https://www.anthropic.com/claude/fable">Fable&#8217;s</a> $5 compared to <a href="https://gemini.google/release-notes/">Gemini&#8217;s</a> $0.49). </p></li><li><p>While costs were low for our runs of 500 questions, this costs would grow linearly as usage grows, unless questions are batched and cached. Costs would also be more expensive for back-and-forth conversations, as opposed to our test which constrained models&#8217; responses to a single multiple-choice response.</p></li></ul><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/Fm0P1/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/975641d5-bf28-4588-ab1f-2a21c8f606bc_1220x1126.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c54e1fb0-ab58-467e-b3c1-de0333d4d633_1220x1426.png&quot;,&quot;height&quot;:704,&quot;title&quot;:&quot;Which AI models answer SNAP policy questions accurately at low cost?&quot;,&quot;description&quot;:&quot;Accuracy on 500 SNAP policy questions against the average API cost of one full run. Up and to the left is better.&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/Fm0P1/1/" width="730" height="704" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h4><strong>Speed </strong></h4><ul><li><p>Time to respond varied as well: Sonnet 5 was fastest, with a 1.8-second median response, compared to over 20 seconds for some local models.</p></li><li><p>Open-weight models took longer to respond, but speeds vary depending on the hardware running the model. The open models in this test were run on a Mac Studio M3 with ~819 GB/s unified memory bandwidth. Most of these local models <em>could</em> be run on a modest MacBook Pro or other consumer hardware.</p></li></ul><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/Onb6b/2/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b1ef1fe-9151-48bb-8795-2f3e128b88fd_1220x868.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5b7be53-3cae-4927-86db-1b50be6b047f_1220x1140.png&quot;,&quot;height&quot;:561,&quot;title&quot;:&quot;Most hosted AI models answered SNAP questions in under 6 seconds&quot;,&quot;description&quot;:&quot;Median response time per question. Open-weight models ran locally on a Mac, so their speed is not directly comparable with hosted APIs.&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/Onb6b/2/" width="730" height="561" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4><strong>Other observations</strong></h4><ul><li><p><strong>Open-weight models</strong> performed well, with <a href="https://huggingface.co/google/gemma-4-31B">Gemma 4 31B</a> scoring highest at 85.8%. But they didn&#8217;t match the accuracy or speed of the frontier models.</p></li><li><p><strong>Newer, larger models</strong> generally scored higher than their predecessors (GPT-6 outperformed GPT-5.6, for example), with one exception: Claude Opus did slightly better than Fable. A surprise was Gemini 3.8 Flash, which had a great balance of accuracy and low cost, but was slower to respond than other models.</p></li></ul><div><hr></div><h3>AI made the most mistakes in 4 categories</h3><p>The dataset creators, <a href="https://www.bettergovernmentlab.org/">Better Government Lab</a>, grouped their questions using the same error categories as SNAP quality-control reviewers. When we looked at how models did across those categories, we saw most struggled in the same four categories. Questions about citizenship status, self-employment, transitional benefits, and Social Security numbers had the most errors. In a future post, we&#8217;ll dive into these categories and questions to see what may be causing the higher error rates.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/xH68e/5/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d8ac8bf-91ec-4230-9c46-8b78a9ec9792_1220x996.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/03281156-bb17-44b5-9db6-66e7aab2dfd2_1220x1218.png&quot;,&quot;height&quot;:604,&quot;title&quot;:&quot;Where do AI models struggle with SNAP policy?&quot;,&quot;description&quot;:&quot;Accuracy across 29 quality-control error categories, pooled across 31 matched runs of seven hosted models. Dot size reflects the number of questions.&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/xH68e/5/" width="730" height="604" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h3>What&#8217;s next</h3><p>Our next post will explore the high-error questions and categories to explore what types of questions cause LLMs issues, and what might be done to reduce those errors.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive our newest posts right in your inbox.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Multiple-choice questions are only a starting point. Building on our work with <a href="https://www.navapbc.com/labs/caseworker-ai-tools/form-filling-assistant">Form-Filling Assistants</a>, we plan to measure the speed, accuracy, and cost of AI agents while completing government forms.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a7Kz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a18e2b6-a130-4128-91c0-81a9d5b2f0bc_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a7Kz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a18e2b6-a130-4128-91c0-81a9d5b2f0bc_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!a7Kz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a18e2b6-a130-4128-91c0-81a9d5b2f0bc_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!a7Kz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a18e2b6-a130-4128-91c0-81a9d5b2f0bc_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!a7Kz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a18e2b6-a130-4128-91c0-81a9d5b2f0bc_1920x1080.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!a7Kz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a18e2b6-a130-4128-91c0-81a9d5b2f0bc_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a18e2b6-a130-4128-91c0-81a9d5b2f0bc_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:109292,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/215724591?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a18e2b6-a130-4128-91c0-81a9d5b2f0bc_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!a7Kz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a18e2b6-a130-4128-91c0-81a9d5b2f0bc_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!a7Kz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a18e2b6-a130-4128-91c0-81a9d5b2f0bc_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!a7Kz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a18e2b6-a130-4128-91c0-81a9d5b2f0bc_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!a7Kz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a18e2b6-a130-4128-91c0-81a9d5b2f0bc_1920x1080.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Appendix 1: The dataset</h2><p>We used Better Government Lab&#8217;s SNAP Scenarios dataset to measure AI models. Better Government Lab is a Nava Labs partner and worked with us <a href="https://www.navapbc.com/case-studies/evaluating-ai-assistive-chatbot-caseworkers">evaluating an assistive chatbot for caseworkers</a>. They describe the dataset as:</p><blockquote><p>&#8230;a detailed 500-question benchmarking dataset for measuring LLM or human-in-the-loop accuracy on realistic scenarios related to the U.S. Supplemental Nutrition Assistance Program (SNAP) in California...Questions were generated based on frequencies of types of errors from publicly available national quality control data, which pertains to the accuracy of SNAP benefit amounts.</p><p>Source: <a href="https://huggingface.co/datasets/cornellbgl/SNAP_scenarios">https://huggingface.co/datasets/cornellbgl/SNAP_scenarios</a></p></blockquote><p>The questions are equally crucial to caseworkers and program staff who are under pressure to <a href="https://apnews.com/article/snap-food-aid-error-rates-4fa06549e3ec2bd1a1c665b1985cefea">reduce their payment error rates</a> in order to avoid cuts in already strained funding. Better Government Lab also worked with SNAP policy experts in California and Georgia to review and validate the set of questions to ensure they&#8217;re both accurate and relevant.</p><p>This round of testing was focused on California&#8217;s SNAP program. Many questions are consistent nationwide, but some rules vary by state. Results here shouldn&#8217;t be read as a measure of how models handle SNAP nationally.</p><p><strong>Note</strong>: Any example questions and responses in this post are realistic, but not pulled directly from the test set, to avoid having the answers on the open internet.</p><h2>Appendix 2: Full results</h2><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/Zz9C5/2/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5bffc9ac-be7f-4f69-aab2-9ab4d4138d25_1220x1420.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be0f8387-081e-462b-be74-5761dd5b3b02_1220x1670.png&quot;,&quot;height&quot;:840,&quot;title&quot;:&quot;Accuracy, speed, and cost vary across models&quot;,&quot;description&quot;:&quot;Results from the same 500 expert-verified SNAP policy questions. Hosted frontier models are compared with open-weight models run on local hardware.&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/Zz9C5/2/" width="730" height="840" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h2>Appendix 3: Our testing setup</h2><ul><li><p><strong>Tools</strong>: We used <a href="https://inspect.aisi.org.uk/">Inspect</a>, which is described as &#8220;an open-source framework for large language model evaluations&#8230;developed by the <a href="https://aisi.gov.uk/">UK AI Security Institute</a> and <a href="https://meridianlabs.ai/">Meridian Labs</a>.&#8221; </p><ul><li><p>This let us set up test conditions and run LLMs against the scenario dataset reliably and quickly.</p></li></ul></li><li><p><strong>Model setup:</strong> For all of the models we tested, we set reasoning to &#8220;low&#8221; or equivalent settings, and turned off web search and other tools.</p><ul><li><p>Our aim was to provide a baseline measure of performance with settings similar to what may be used in chatbots or other tools for staff and the public.</p></li><li><p>We ran each frontier model 3 times to account for variability in the LLM&#8217;s responses.</p></li><li><p>Since local models had to run sequentially on someone&#8217;s machine, we only ran one test round for those.</p></li></ul></li></ul>]]></content:encoded></item><item><title><![CDATA[How Nava Labs implements LLM guardrails: 5 tactics]]></title><description><![CDATA[Best practices for production applications]]></description><link>https://fieldnotes.navapbc.com/p/how-nava-labs-implements-llm-guardrails</link><guid isPermaLink="false">https://fieldnotes.navapbc.com/p/how-nava-labs-implements-llm-guardrails</guid><dc:creator><![CDATA[Cory Trimm]]></dc:creator><pubDate>Fri, 28 Aug 2026 13:50:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2P8k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Over the past couple of years, <a href="https://navapbc.com/labs">Nava Labs</a> has been partnering with governments, nonprofits, and universities to ship AI-enabled tools to production environments.</p><p>In May 2026, we decided to <a href="https://github.com/search?q=topic%3Acaseworker-toolkit+org%3Anavapbc&amp;type=Repositories">open source</a> our <a href="https://caseworker.navapbc.com/">conglomeration of Caseworker Empowerment Tools</a>.</p><p>With this work, Nava Labs maintains <a href="https://www.navapbc.com/case-studies/building-a-trustworthy-ai-chatbot">rigorous, multi-layered generative AI guardrails</a> to ensure everything we ship meets the needs of caseworkers serving real people. We use strategies like automated schema enforcement (i.e. Zod), deterministic processing (simple function calls), observability with Open Telemetry standards, and persistent logging to ensure we can trace requests and responses from start to finish. Most critically: every tool allows for a &#8220;<a href="https://hai.stanford.edu/ai-definitions/what-is-human-in-the-loop">human in the loop</a>&#8221; at various review gates to ensure safety and accuracy.</p><p>Our commitment to safety and technical integrity of rolling out these solutions is non-negotiable.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2P8k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2P8k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png 424w, https://substackcdn.com/image/fetch/$s_!2P8k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png 848w, https://substackcdn.com/image/fetch/$s_!2P8k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png 1272w, https://substackcdn.com/image/fetch/$s_!2P8k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2P8k!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png" width="1200" height="706.3186813186813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:857,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:2860832,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/209631918?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2P8k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png 424w, https://substackcdn.com/image/fetch/$s_!2P8k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png 848w, https://substackcdn.com/image/fetch/$s_!2P8k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png 1272w, https://substackcdn.com/image/fetch/$s_!2P8k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70642d45-4a7a-4a77-925b-dd43df8ae8a7_3824x2252.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><span>Why guardrails matter</span></h2><p><span>Generative AI can fail convincingly. An answer can sound useful while </span><a href="https://www.politico.com/news/2026/08/17/ai-slop-lawmakers-congress-01008376"><span>creating</span></a><span> or </span><a href="https://www.nytimes.com/2026/06/09/us/ai-lawyers-sanctioned-mississippi.html"><span>citing the wrong policy</span></a><span>, </span><a href="https://www.theguardian.com/technology/2026/mar/20/meta-ai-agents-instruction-causes-large-sensitive-data-leak-to-employees"><span>exposing sensitive data</span></a><span>, or </span><a href="https://www.youtube.com/watch?v=87DyyMV0kCY"><span>taking an action the user never intended</span></a><span>. </span>We&#8217;ve all been there when we slightly push back against Claude or ChatGPT and receive a <code>you are absolutely right</code> message (see: <a href="https://en.wikipedia.org/wiki/Stochastic_parrot">Stochastic Parrot</a>).</p><p><span>In public-benefit work, those failures could cause irreparable harm to caseworkers and the people they intend to serve. </span><strong><span>That is unacceptable</span></strong><span>.</span></p><p><span>Guardrails belong throughout the </span><strong><span>entire software development lifecycle</span></strong><span>.</span></p><h2>How we embed AI guardrails across the software development lifecycle</h2><p>Guardrails aren&#8217;t an afterthought or a quick prompt adjustment &#8212; they belong woven directly into the software development lifecycle. Here is how Nava Labs embeds safety, control, and observability from initial design to active maintenance:</p><h3><strong><span>1. Plan by setting hard boundaries</span></strong></h3><p>Before writing a single line of code, we define the system&#8217;s exact perimeter. Nava Labs does this by explicitly mapping what data the model can see. What state changes it can trigger. And which high-stakes decisions an automated tool is strictly forbidden from making.</p><h3><strong><span>2. Build by coding for least privilege</span></strong></h3><p>We don&#8217;t rely on the model to &#8220;behave&#8221; itself. We attempt to enforce this behavior in code. We do this by validating every input and output with strict type enforcement (like Zod schemas), sandboxing untrusted web content inside virtual machines, scoping retrieval strictly to vetted policy manuals and documents, and granting tools the absolute minimum access they need to operate.</p><h3><strong><span>3. Test by breaking things on purpose</span></strong></h3><p>Models fail in weird ways. So, we actively try to trip them up before caseworkers ever touch them. We can do this by running golden-set benchmarks, monitoring for model drift over time, and running aggressive security stress-tests. Specifically, targeting direct and indirect prompt injection attacks (including <a href="https://arxiv.org/abs/2509.05831">sneaky</a> <code>aria-tag</code> <a href="https://arxiv.org/abs/2509.05831">injections</a> hidden in scraped websites or documents).</p><h3><strong><span>4. Operate by watching the wires in real time</span></strong></h3><p><span>Shipping to production is just the start. We maintain total visibility by tracing every end-to-end request. Typically by using OpenTelemetry standards, tracking real-time failure modes, and keeping a fully tested, one-click rollback path ready if a model update acts up.</span></p><h3><strong><span>5. Review by keeping humans in the loop</span></strong></h3><p>At the end of the day, the machine is just a tool helping an individual. We review what is proposed by surfacing code-verified citations, confidence scores, and missing-field alerts directly to caseworkers, ensuring human navigators always have the context, time, and explicit authority to approve, correct, or shut down a workflow.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive new posts about our latest work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>We released our Caseworker Empowerment Toolkit as <a href="https://github.com/search?q=topic%3Acaseworker-toolkit+org%3Anavapbc&amp;type=Repositories">open source on GitHub</a> so that other teams can inspect, challenge, and improve these patterns with us. Feel free to dive in!</p><p></p><h2><span>Questions to keep in mind when building with generative AI</span></h2><p>These questions below are really for teams building with and implementing generative AI to think about throughout the entire delivery lifecycle.</p><ul><li><p><span>What can the model see, and what can it change?</span></p></li><li><p><span>What happens when a retrieved document or webpage contains malicious instructions?</span></p></li><li><p><span>Can we trace every important claim or action to its source?</span></p></li><li><p><span>Which failures stop the workflow instead of triggering another model call?</span></p></li><li><p><span>What tests run when the model, prompt, data, or tools change?</span></p></li><li><p><span>Who can disable or roll back the system when something goes wrong?</span></p></li><li><p><span>Does the human reviewer have the evidence, time, and authority to disagree?</span></p></li><li><p>Etc.</p></li></ul><p>Have you been doing any work on implementing LLM guardrails? We&#8217;d love to hear about it in the comments!</p>]]></content:encoded></item><item><title><![CDATA[8 multi-agent AI patterns for government]]></title><description><![CDATA[For public service delivery, multi-agent systems must consider privacy, records retention, accessibility, and more.]]></description><link>https://fieldnotes.navapbc.com/p/8-multi-agent-ai-patterns-for-government</link><guid isPermaLink="false">https://fieldnotes.navapbc.com/p/8-multi-agent-ai-patterns-for-government</guid><dc:creator><![CDATA[Cory Trimm]]></dc:creator><pubDate>Fri, 07 Aug 2026 15:35:05 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6f2cd5af-64e3-4fc7-978a-073fb7443a6b_900x506.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In December 2025, Google&#8217;s Agent Development Kit (ADK) team published a <a href="https://developers.googleblog.com/developers-guide-to-multi-agent-patterns-in-adk/">developer&#8217;s guide to multi-agent patterns</a>. I&#8217;ve found myself thinking about how to take these patterns and apply them to government services. Their argument (<a href="https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents">and others</a>) is that a single AI agent given too many responsibilities degrades the same way a monolith does: instruction adherence drops as complexity rises, errors compound, and more. The recommendation is to break the work into specialists, and you get something modular and testable.</p><p>Government agencies and processes already work this way. Think about how a benefits application moves: from an intake <a href="https://caseworker.navapbc.com">caseworker</a> to an eligibility technician to a supervisor. Or background checks: criminal records, credit, employment verification, and education verification &#8212; running concurrently then combined at the end.</p><p>The handoffs, the specialization, the escalation to a human with signature authority: that architecture already exists. Often it is written into statutes, regulations, standard operating procedures, and so on. Similar to <a href="https://www.navapbc.com/legacy-modernization">legacy software</a> being globbed onto over the decades.</p><p>I&#8217;ve found myself wondering about:</p><ul><li><p>what pattern(s) government employees, processes, and technologies already use</p></li><li><p>what breaks when you swap a human with decades of experience for an AI agent</p></li><li><p>how we effectively measure and evaluate the AI agent and outcomes</p></li><li><p>how we combat automation bias and rubber-stamping outputs </p></li><li><p>and so on&#8230;</p></li></ul><div><hr></div><p>Let&#8217;s explore the eight core patterns <a href="https://developers.googleblog.com/developers-guide-to-multi-agent-patterns-in-adk/">from the Google post</a> and how to apply them in a government context:</p><ol><li><p>Sequential Pipeline</p></li><li><p>Coordinator / Dispatcher </p></li><li><p>Parallel Fan-Out</p></li><li><p>Hierarchical Decomposition</p></li><li><p>Generator and Critic</p></li><li><p>Iterative Refinement </p></li><li><p>Human in the Loop</p></li><li><p>Composite Patterns</p></li></ol><h2>The legal constraints that change the architecture</h2><p>Before getting into the AI agent patterns, I want to highlight <strong>six requirements</strong> rooted in U.S. federal law<strong>.</strong> These six requirements shape which patterns are safe where and how they can be applied. Each requirement has some architectural consequences.</p><ol><li><p><strong>Every handoff is a federal record.</strong> Under the <a href="https://www.archives.gov/news/topics/federal-records-act">Federal Records Act</a>, agency decision-making must be preserved and auditable. In a multi-agent system, the state passed between AI agents is part of the decision record. If an eligibility agent writes a determination recommendation to session state and a downstream agent overwrites it, you have destroyed a record. This makes ADK&#8217;s <code>output_key</code> discipline part of compliance control.</p></li><li><p><strong>Adverse determination recommendations require an explanation the claimant can appeal.</strong> A person that is denied benefits gets told why, in plain-language terms, specific enough to contest. An AI agent chain that produces a correct recommendation with no traceable reasoning is a liability &#8212; even when the answer it provides is correct. Every pattern below needs to be able to answer: <em>can you reconstruct which AI agent concluded what, and on what evidence?</em></p></li><li><p><strong>Plain language is a statutory requirement.</strong> <a href="https://www.govinfo.gov/content/pkg/PLAW-111publ274/pdf/PLAW-111publ274.pdf">The Plain Writing Act of 2010</a> requires covered documents to be written clearly. Any AI agent generating citizen-facing text needs a critic checking reading level.</p></li><li><p><strong><a href="https://www.section508.gov/manage/laws-and-policies/">Section 508</a> applies to generated output.</strong> If an AI agent produces a PDF, a form, or a web response, accessibility is a requirement. Generated output needs an accessibility check in the loop.</p></li><li><p><strong>The <a href="https://www.justice.gov/opcl/privacy-act-1974">Privacy Act</a> limits what crosses AI agent boundaries.</strong> Records in a system of records have use limitations. When a coordinator routes a case to three specialist AI agents, you have potentially disclosed personally identifiable information (PII) to three contexts. AI agent boundaries are disclosure boundaries. I look at this as the <a href="https://www.paloaltonetworks.com/cyberpedia/what-is-the-principle-of-least-privilege">Principle of Least Privilege</a>.</p></li><li><p><strong>ATO boundaries are system boundaries.</strong> An AI agent touching a <a href="https://en.wikipedia.org/wiki/FedRAMP">FedRAMP</a>-authorized system and an AI agent touching an unauthorized one cannot share state. The authorization boundary constrains the implementation.</p></li></ol><p>Keep these six constraints in the back of your mind while reading the patterns below. They help determine which ones you can deploy and which need a <a href="https://www.youtube.com/watch?v=9iS-YYLIXiw">human in the loop</a>.</p><h2>1. Sequential pipeline </h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EfoO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b6217fd-c7bd-4c12-b749-1930fc10ebed_900x506.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EfoO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b6217fd-c7bd-4c12-b749-1930fc10ebed_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!EfoO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b6217fd-c7bd-4c12-b749-1930fc10ebed_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!EfoO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b6217fd-c7bd-4c12-b749-1930fc10ebed_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!EfoO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b6217fd-c7bd-4c12-b749-1930fc10ebed_900x506.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!EfoO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b6217fd-c7bd-4c12-b749-1930fc10ebed_900x506.gif" width="900" height="506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b6217fd-c7bd-4c12-b749-1930fc10ebed_900x506.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:830295,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/209244511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b6217fd-c7bd-4c12-b749-1930fc10ebed_900x506.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EfoO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b6217fd-c7bd-4c12-b749-1930fc10ebed_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!EfoO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b6217fd-c7bd-4c12-b749-1930fc10ebed_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!EfoO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b6217fd-c7bd-4c12-b749-1930fc10ebed_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!EfoO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b6217fd-c7bd-4c12-b749-1930fc10ebed_900x506.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="callout-block" data-callout="true"><p><em>Note: Animated graphics generated using Claude</em></p></div><p>Government processes are often sequential with defined handoffs.</p><p><strong>Where this could fit:</strong></p><ul><li><p><strong>FOIA request handling:</strong> Request Intake &#8594; Classification &#8594; Records Search &#8594; Redaction &#8594; Review &#8594; Response Generation</p></li><li><p><strong>Permit applications:</strong> Application Parser &#8594; Code Compliance Checker &#8594; Environmental Impact Reviewer &#8594; Fee Calculator &#8594; Approval Generator</p></li><li><p><strong>Benefits application processing:</strong> Intake &#8594; Eligibility Recommendation &#8594; Documentation Review &#8594; Approval &#8594; Notification</p></li></ul><p><a href="https://adk.dev/agents/workflow-agents/sequential-agents/">ADK&#8217;s</a> <code>SequentialAgent </code><a href="https://adk.dev/agents/workflow-agents/sequential-agents/">runs sub-agents in order</a>. Each writes to shared <code>session.state</code> under an <code>output_key</code>, and the next AI agent reads it. </p><h2>2. Coordinator / dispatcher</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ihS1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd62d4d0-38cc-4e7b-8b26-89bbd8372b9f_900x506.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ihS1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd62d4d0-38cc-4e7b-8b26-89bbd8372b9f_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!ihS1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd62d4d0-38cc-4e7b-8b26-89bbd8372b9f_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!ihS1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd62d4d0-38cc-4e7b-8b26-89bbd8372b9f_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!ihS1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd62d4d0-38cc-4e7b-8b26-89bbd8372b9f_900x506.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!ihS1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd62d4d0-38cc-4e7b-8b26-89bbd8372b9f_900x506.gif" width="900" height="506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd62d4d0-38cc-4e7b-8b26-89bbd8372b9f_900x506.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:902130,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/209244511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd62d4d0-38cc-4e7b-8b26-89bbd8372b9f_900x506.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ihS1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd62d4d0-38cc-4e7b-8b26-89bbd8372b9f_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!ihS1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd62d4d0-38cc-4e7b-8b26-89bbd8372b9f_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!ihS1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd62d4d0-38cc-4e7b-8b26-89bbd8372b9f_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!ihS1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd62d4d0-38cc-4e7b-8b26-89bbd8372b9f_900x506.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A coordinator AI agent reads intent and routes to a specialist, then steps out of the way.</p><p><strong>Where this could fit:</strong></p><ul><li><p><strong>311 citizen service centers</strong> routing requests to Trash and Recycling, Permits, Tax Questions, Public Safety, Parks &amp; Recreation </p></li><li><p><strong>Health system navigation</strong> routing to Benefits, Healthcare Scheduling, Prescription Management, Claims Status</p></li><li><p><strong>Taxpayer assistance</strong> routing to Filing Questions, Payment Plans, Audit Support, Tax Law Interpretation, Refund Status</p></li></ul><p>As you can see, routing runs on LLM-driven delegation. You define a parent with <code>sub_agents</code>, and ADK&#8217;s AutoFlow transfers control based on each child&#8217;s <code>description</code>.</p><p>My gut tells me that the Privacy Act constraint mentioned above applies at the routing decision. The coordinator needs only enough information to route and no more.</p><h2>3. Parallel fan-out and gather</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m6RA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F937d1409-49ef-45bc-9c9e-6e3a33e29331_900x506.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m6RA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F937d1409-49ef-45bc-9c9e-6e3a33e29331_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!m6RA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F937d1409-49ef-45bc-9c9e-6e3a33e29331_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!m6RA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F937d1409-49ef-45bc-9c9e-6e3a33e29331_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!m6RA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F937d1409-49ef-45bc-9c9e-6e3a33e29331_900x506.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!m6RA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F937d1409-49ef-45bc-9c9e-6e3a33e29331_900x506.gif" width="900" height="506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/937d1409-49ef-45bc-9c9e-6e3a33e29331_900x506.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:914166,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/209244511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F937d1409-49ef-45bc-9c9e-6e3a33e29331_900x506.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!m6RA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F937d1409-49ef-45bc-9c9e-6e3a33e29331_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!m6RA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F937d1409-49ef-45bc-9c9e-6e3a33e29331_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!m6RA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F937d1409-49ef-45bc-9c9e-6e3a33e29331_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!m6RA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F937d1409-49ef-45bc-9c9e-6e3a33e29331_900x506.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Independent checks run at the same time, and a synthesizer combines them.</p><p><strong>Where this could fit:</strong></p><ul><li><p><strong>Background checks:</strong> Criminal Records, Credit, Employment Verification, Education Verification, running concurrently</p></li><li><p><strong>Building permit review:</strong> Structural Safety, Fire Code, Electrical Code, Plumbing Code, Zoning Compliance, reviewed simultaneously</p></li><li><p><strong>Grant application screening:</strong> Eligibility, Conflict of Interest, Budget Review, Technical Merit, concurrent</p></li></ul><p><code>ParallelAgent </code><a href="https://adk.dev/agents/workflow-agents/parallel-agents/">runs sub-agents at once</a>, then a downstream AI agent reads all their outputs. Two things of note:</p><ol><li><p>Having many parallel AI agents running in separate threads with a shared state will create race conditions.</p></li><li><p>Do not let the output consolidator flatten the findings. For example, do not remove cited fire code specifics; include why something passed or failed with <a href="https://decagon.ai/glossary/what-is-ai-grounding">grounded information</a>.</p></li></ol><h2>4. Hierarchical decomposition</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zX5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422e20e6-47ba-422b-a6f9-c332de1f74e5_900x506.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zX5A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422e20e6-47ba-422b-a6f9-c332de1f74e5_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!zX5A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422e20e6-47ba-422b-a6f9-c332de1f74e5_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!zX5A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422e20e6-47ba-422b-a6f9-c332de1f74e5_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!zX5A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422e20e6-47ba-422b-a6f9-c332de1f74e5_900x506.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!zX5A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422e20e6-47ba-422b-a6f9-c332de1f74e5_900x506.gif" width="900" height="506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/422e20e6-47ba-422b-a6f9-c332de1f74e5_900x506.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1047221,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/209244511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422e20e6-47ba-422b-a6f9-c332de1f74e5_900x506.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zX5A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422e20e6-47ba-422b-a6f9-c332de1f74e5_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!zX5A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422e20e6-47ba-422b-a6f9-c332de1f74e5_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!zX5A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422e20e6-47ba-422b-a6f9-c332de1f74e5_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!zX5A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422e20e6-47ba-422b-a6f9-c332de1f74e5_900x506.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A parent delegates part of a task, waits for the result, and continues its own reasoning. While this may seem the same as the sequential routing example above, this one is a bit different. The hierarchical parent gets an answer back and keeps working.</p><p><strong>Where this could fit:</strong></p><ul><li><p><strong>Environmental impact assessment</strong>: a project coordinator AI agent delegates to Air Quality, Water Resources, Wildlife Impact, and Cultural Resources specialists, then writes an integrated assessment that reasons across all four</p></li><li><p><strong>Federal procurement review:</strong> a procurement officer AI agent calls Federal Acquisition Regulation Compliance, Small Business Set-Aside Analysis, and Price Reasonableness, then makes an award recommendation informed by all three</p></li><li><p><strong>Policy research:</strong> a lead AI agent calls a research assistant that manages Federal Register search, case law lookup, and Government Accountability Office report retrieval, then drafts against what came back</p></li></ul><p>My understanding is that you can wrap a <a href="https://cloud.google.com/blog/topics/developers-practitioners/tools-make-an-agent-from-zero-to-assistant-with-adk">sub-agent in</a> <code>AgentTool</code> to make this work. The parent calls the sub-agent&#8217;s entire workflow as a single function call and receives the result. </p><h2>5. Generator and critic</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SjKw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe88dc11e-af90-4f15-b91c-be88faa34ae7_900x506.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SjKw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe88dc11e-af90-4f15-b91c-be88faa34ae7_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!SjKw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe88dc11e-af90-4f15-b91c-be88faa34ae7_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!SjKw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe88dc11e-af90-4f15-b91c-be88faa34ae7_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!SjKw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe88dc11e-af90-4f15-b91c-be88faa34ae7_900x506.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!SjKw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe88dc11e-af90-4f15-b91c-be88faa34ae7_900x506.gif" width="900" height="506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e88dc11e-af90-4f15-b91c-be88faa34ae7_900x506.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:926737,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/209244511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe88dc11e-af90-4f15-b91c-be88faa34ae7_900x506.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SjKw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe88dc11e-af90-4f15-b91c-be88faa34ae7_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!SjKw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe88dc11e-af90-4f15-b91c-be88faa34ae7_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!SjKw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe88dc11e-af90-4f15-b91c-be88faa34ae7_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!SjKw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe88dc11e-af90-4f15-b91c-be88faa34ae7_900x506.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A good rule of thumb that I like to follow when creating agentic systems is to split <em>creation</em> from <em>validation</em>. A generator drafts output, a critic checks against explicit criteria. Failures route back with specific feedback until the draft passes. This is also known as a <a href="https://ghuntley.com/loop/">Ralph Loop</a> or setting a <a href="https://developers.openai.com/cookbook/examples/codex/using_goals_in_codex">Goal in Codex</a>.</p><p><strong>Where this could fit:</strong></p><ul><li><p><strong>Guidance documents:</strong> the critic validates against the Code of Federal Regulations, plain-language standards, and Section 508 accessibility requirements</p></li><li><p><strong>Public notices:</strong> the critic checks accuracy, required disclosures, and reading level </p></li><li><p><strong>Grant scoring</strong>: the critic validates against the published rubric and flags scoring inconsistent with it</p></li></ul><p>This is the pattern that statutory constraints demand. The Plain Writing Act and Section 508 are &#8220;pass/fail&#8221; criteria, which is exactly what a critic is for.</p><p>Since this is essentially a <code>where</code> loop, you should have explicit and enumerated criteria for the critic to hit, along with escalation paths or failsafes (like <code>max_iterations</code>) to ensure that the loop does not run indefinitely. </p><h2>6. Iterative refinement</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fm-N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1361a5-980a-4e64-beb9-1316dd68416a_900x506.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fm-N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1361a5-980a-4e64-beb9-1316dd68416a_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!Fm-N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1361a5-980a-4e64-beb9-1316dd68416a_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!Fm-N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1361a5-980a-4e64-beb9-1316dd68416a_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!Fm-N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1361a5-980a-4e64-beb9-1316dd68416a_900x506.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fm-N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1361a5-980a-4e64-beb9-1316dd68416a_900x506.gif" width="900" height="506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c1361a5-980a-4e64-beb9-1316dd68416a_900x506.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1117018,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/209244511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1361a5-980a-4e64-beb9-1316dd68416a_900x506.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Fm-N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1361a5-980a-4e64-beb9-1316dd68416a_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!Fm-N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1361a5-980a-4e64-beb9-1316dd68416a_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!Fm-N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1361a5-980a-4e64-beb9-1316dd68416a_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!Fm-N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1361a5-980a-4e64-beb9-1316dd68416a_900x506.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The same loop shape aimed at improvement rather than correctness. Generator drafts, critic writes optimization notes, refiner rewrites.</p><p><strong>Where this could fit: </strong></p><ul><li><p><strong>Rulemaking:</strong> the critic identifies legal ambiguity and economic impact and the refiner incorporates comments</p></li><li><p><strong>Congressional reports:</strong> the critic checks factual accuracy, citation quality, and balance</p></li></ul><p>You should be cautious with this approach since the refiner will overwrite text on each pass. Ensure that you are tracking draft history and how the language evolved with a version/iteration key.</p><h2>7. Human in the loop </h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BUEo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2607422f-5a01-472e-a318-1dc0e3e3408b_900x506.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BUEo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2607422f-5a01-472e-a318-1dc0e3e3408b_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!BUEo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2607422f-5a01-472e-a318-1dc0e3e3408b_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!BUEo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2607422f-5a01-472e-a318-1dc0e3e3408b_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!BUEo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2607422f-5a01-472e-a318-1dc0e3e3408b_900x506.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!BUEo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2607422f-5a01-472e-a318-1dc0e3e3408b_900x506.gif" width="900" height="506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2607422f-5a01-472e-a318-1dc0e3e3408b_900x506.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1053050,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/209244511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2607422f-5a01-472e-a318-1dc0e3e3408b_900x506.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BUEo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2607422f-5a01-472e-a318-1dc0e3e3408b_900x506.gif 424w, https://substackcdn.com/image/fetch/$s_!BUEo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2607422f-5a01-472e-a318-1dc0e3e3408b_900x506.gif 848w, https://substackcdn.com/image/fetch/$s_!BUEo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2607422f-5a01-472e-a318-1dc0e3e3408b_900x506.gif 1272w, https://substackcdn.com/image/fetch/$s_!BUEo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2607422f-5a01-472e-a318-1dc0e3e3408b_900x506.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is arguably the most important pattern in this list as it relates to government services.</p><p>AI agents do the groundwork and a human authorizes anything irreversible or high-consequence.</p><p><strong>Where this could fit:</strong></p><ul><li><p><strong>Benefits recommendation:</strong> it could surface other programs for individuals with a human caseworker approving before sending</p></li><li><p><strong>Security clearance recommendations:</strong> AI could flag patterns and a human adjudicator decides </p></li><li><p><strong>Regulatory recommendations:</strong> an officer approves before action</p></li></ul><p>For a large share of government decisions this is not optional. Where a statute or delegation of authority assigns a determination to a named official, an AI agent can prepare the decision, but it <em>cannot make it</em>.</p><p>Two really important items to capture when implementing this are:</p><ol><li><p><em>Who</em> reviewed/approved the AI output</p></li><li><p>Whether or not they <em>changed the AI recommendation</em></p></li></ol><p>Also, being able to think about and combat <a href="https://cset.georgetown.edu/publication/ai-safety-and-automation-bias/">Automation Bias in AI</a> is critical.</p><h2>8. Composite systems </h2><p>I&#8217;d be remiss not to mention that no government system or process is singular. Most combine the patterns above. Take a few moments to think about a government process that you interacted with recently. This could be as mundane as <a href="https://www.navapbc.com/news/department-state-passport">renewing your passport</a> or <a href="http://simpler.grants.gov/">applying for a grant</a>.</p><p>These flows appear simple on the surface, but have decades of processes built up behind the scenes. Both of these examples end the same way: with a human making an informed decision.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive new posts and follow our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Final thoughts </h2><p>For work in government and civic tech, we should be thinking about where can we implement automation to free us humans up to do more impactful work. How can we add AI agents to reason and act where mistakes are cheap and reversible? </p><p>FOIA request classification, permit intake parsing, and 311 routing could be good first targets. They&#8217;re high volume, the failure mode is a rerouted request rather than a denied benefit, and every one of them has a human already positioned to catch errors.</p><p>Adjudication is the last thing you automate &#8212; not the first &#8212; and even then the AI agent prepares the decision for a human who signs it.</p><p>Have you been exploring multi-agent architectures? Do you see opportunities or concerns?</p>]]></content:encoded></item><item><title><![CDATA[3 gaps in states’ AI governance for public benefits]]></title><description><![CDATA[AI adoption is outpacing governance and evaluation. We should build a feedback loop.]]></description><link>https://fieldnotes.navapbc.com/p/3-gaps-state-ai-governance-public-benefits</link><guid isPermaLink="false">https://fieldnotes.navapbc.com/p/3-gaps-state-ai-governance-public-benefits</guid><dc:creator><![CDATA[Kara English]]></dc:creator><pubDate>Thu, 06 Aug 2026 14:05:18 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1c571970-ac0c-4495-a4d0-64bbd7ba0743_2150x1212.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>At Nava Labs we&#8217;ve been thinking a lot about AI adoption and policy in the public benefits space: where states stand and what &#8220;good&#8221; might look like. Our running hypothesis is that </span><strong><span>&#8220;good&#8221; should be a loop that connects governance, adoption, and evaluation</span></strong><span>.</span></p><p><span>But before we get to good, let&#8217;s talk about the current state.</span></p><h2><strong><span>The current state</span></strong></h2><p><span>There&#8217;s a lot of conversation about &#8220;AI readiness,&#8221; including what leadership, governance, and infrastructure should be in place for public-sector agencies to deploy AI tools in benefit programs like SNAP. At this stage, both federal and state legislative guidance is thin (only three states have AI laws that explicitly impact AI use in public benefit programs</span><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a><span>), and will likely stay that way. Instead, we&#8217;ve seen many states turn to governors&#8217; executive orders, AI task force reports, and administrative policies to add adequate controls and guardrails around how AI can be deployed, seeking to prevent harm.</span></p><p><span>Once the policies and infrastructure are in place, public benefit agencies often decide they&#8217;re ready for their first AI pilots, often starting with internal-facing tools that aim to reduce caseworker burden. Many states have begun piloting numerous AI tools including policy chatbots, case note generators, document quality verifiers, and the like &#8212; tools </span><a href="https://www.navapbc.com/labs/caseworker-ai-tools"><span>Nava has had a hand in delivering</span></a><span>.</span></p><p><span>And if the state agency has the right infrastructure and capacity, or if they&#8217;re working with a trusted vendor, hopefully they&#8217;re also doing some version of the third step: AI evaluation.</span></p><p><span>With all three steps in place, the process would look something like this:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rsD_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F782f3126-f56c-48ba-93e1-30e29b8ccacf_1709x590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rsD_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F782f3126-f56c-48ba-93e1-30e29b8ccacf_1709x590.png 424w, https://substackcdn.com/image/fetch/$s_!rsD_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F782f3126-f56c-48ba-93e1-30e29b8ccacf_1709x590.png 848w, https://substackcdn.com/image/fetch/$s_!rsD_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F782f3126-f56c-48ba-93e1-30e29b8ccacf_1709x590.png 1272w, https://substackcdn.com/image/fetch/$s_!rsD_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F782f3126-f56c-48ba-93e1-30e29b8ccacf_1709x590.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rsD_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F782f3126-f56c-48ba-93e1-30e29b8ccacf_1709x590.png" width="1456" height="503" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/782f3126-f56c-48ba-93e1-30e29b8ccacf_1709x590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:503,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rsD_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F782f3126-f56c-48ba-93e1-30e29b8ccacf_1709x590.png 424w, https://substackcdn.com/image/fetch/$s_!rsD_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F782f3126-f56c-48ba-93e1-30e29b8ccacf_1709x590.png 848w, https://substackcdn.com/image/fetch/$s_!rsD_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F782f3126-f56c-48ba-93e1-30e29b8ccacf_1709x590.png 1272w, https://substackcdn.com/image/fetch/$s_!rsD_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F782f3126-f56c-48ba-93e1-30e29b8ccacf_1709x590.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>This is a good start, and agencies who&#8217;ve developed some form of this process should applaud their progress &#8212; then push a little further.</span></p><p><span>And while most states establish governance before adoption, it doesn&#8217;t always happen in a linear fashion. States who fail to govern, or who establish strict guardrails that don&#8217;t allow for safe experimentation, may see shadow AI adoption by frustrated employees looking to reduce workload burden behind the scenes.</span></p><p><span>In states who&#8217;ve established some form of generic AI governance as the first step, we&#8217;re also starting to see a pattern where AI adoption is increasing faster than the two things that should keep it accountable: evaluation and governance. AI technology is evolving faster than the other two can keep up.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_sbg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e2d3e-f9d8-46b8-b81e-d2625d86a1b1_1689x1052.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_sbg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e2d3e-f9d8-46b8-b81e-d2625d86a1b1_1689x1052.png 424w, https://substackcdn.com/image/fetch/$s_!_sbg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e2d3e-f9d8-46b8-b81e-d2625d86a1b1_1689x1052.png 848w, https://substackcdn.com/image/fetch/$s_!_sbg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e2d3e-f9d8-46b8-b81e-d2625d86a1b1_1689x1052.png 1272w, https://substackcdn.com/image/fetch/$s_!_sbg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e2d3e-f9d8-46b8-b81e-d2625d86a1b1_1689x1052.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!_sbg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e2d3e-f9d8-46b8-b81e-d2625d86a1b1_1689x1052.png" width="1456" height="907" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/875e2d3e-f9d8-46b8-b81e-d2625d86a1b1_1689x1052.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:907,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_sbg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e2d3e-f9d8-46b8-b81e-d2625d86a1b1_1689x1052.png 424w, https://substackcdn.com/image/fetch/$s_!_sbg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e2d3e-f9d8-46b8-b81e-d2625d86a1b1_1689x1052.png 848w, https://substackcdn.com/image/fetch/$s_!_sbg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e2d3e-f9d8-46b8-b81e-d2625d86a1b1_1689x1052.png 1272w, https://substackcdn.com/image/fetch/$s_!_sbg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e2d3e-f9d8-46b8-b81e-d2625d86a1b1_1689x1052.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong><span>Current gaps, and how states might address them</span></strong></h2><p><span>A few common problems we&#8217;ve identified across many states with this current process:</span></p><h3><strong><span>1. Evaluating technical performance but not impact</span></strong></h3><p><span>Many states are missing a critical step in the above process: AI impact evaluation. Any AI tool deployed for any reason is typically evaluated by the deployer for a certain period of time to ensure quality, safety, reliability, and other performance metrics.</span></p><p><span>But human service agencies don&#8217;t care solely about the performance of the tool &#8212; they care whether it&#8217;s making a difference in the program performance metrics they&#8217;re expected to meet: Did it reduce the </span><a href="https://aphsa.org/wp-content/uploads/2026/06/2026-06_APHSA-What-to-know-about-the-SNAP-PER.pdf"><span>SNAP Payment Error Rate</span></a><span>? Did it decrease churn among participants subject to work requirements? Did it reduce denials for failure to return verifications? These are the questions state agency leaders are responsible for answering to their legislatures when it comes time to fund their programs.</span></p><p><span>Despite this need, we&#8217;ve found that states are often lacking in AI impact evaluations, which are the types of evaluations that actually answer those questions. This may be due to lack of data infrastructure, lack of appropriate staff and resources, or lack of understanding around how to conduct impact evaluations. Whatever the reason, this is an area we&#8217;ve seen for further growth in many states.</span></p><p><span>We believe </span><strong><span>evaluations &#8212; including impact evaluations &#8212; are a key component of AI adoption in the public sector</span></strong><span> that should be prioritized. These evaluations help ensure the tool not only works but it actually meets the outcomes set by the agency&#8217;s original goals. We believe at a minimum, all AI tools deployed in public assistance programs should be able to answer these three questions:</span></p><ol><li><p><span>Does it reduce </span><strong><span>caseworker burden</span></strong><span>?</span></p></li><li><p><span>Does it improve </span><strong><span>client access</span></strong><span>?</span></p></li><li><p><span>Does it cause any </span><strong><span>unintended harm</span></strong><span>?</span></p></li></ol><p><span>For states who are struggling to get started with impact evaluations, Nava has put together some great </span><a href="https://navapbc.com/ai-impact-eval-toolkit"><span>resources</span></a><span> you can start with.</span></p><h3><strong><span>2. Not sharing learnings across deployments</span></strong></h3><p><span>Another common problem we&#8217;ve seen is that the different AI tools are being piloted by different vendors, across different programs, and by different agencies. What one agency learns in their user research and evaluations rarely makes it to the next, causing duplicated work and inconsistent deployments that don&#8217;t build on each other.</span></p><p><span>We believe states that want to build AI tools effectively, quickly, and consistently in their benefit programs should </span><strong><span>have a system in place to share learnings across different deployments</span></strong><span>. This ensures that the same mistakes don&#8217;t get repeated from program to program.</span></p><p><span>There are now approximately 14 states that are publishing or are required to publish inventories for either &#8220;high risk&#8221; or all AI use cases within government agencies.</span><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a><span> We think an AI inventory &#8212; at a minimum for &#8220;high risk&#8221; use cases &#8212; is a good start, but we think this can go even further.</span></p><p><span>First, states need to ensure that the AI use case inventory process isn&#8217;t so burdensome and restrictive that their agencies are afraid to populate it. This is a pattern we&#8217;ve seen repeated a few times across states: inventories that require detailed submission, review, and approval. They ultimately scare agencies away from disclosing certain use cases they think will take too long to approve, or won&#8217;t be approved at all. We would caution that a burdensome inventory process can be equivalent to no inventory at all (and uses significantly more resources to set up).</span></p><p><span>Second, we believe that good AI inventories don&#8217;t just include a list of the use cases, but also share their evaluation results and any lessons learned. If other agencies are using the inventory as a way to understand what exists and how they can deploy it, these results will be critical for helping them make informed decisions and ask potential vendors the right questions.</span></p><p><span>A good AI inventory might also include space for the following information:</span></p><ul><li><p><span>Agency owner of this deployment, or who to contact for more information</span></p></li><li><p><span>User research and evaluation findings or how to access them</span></p></li><li><p><span>Best practices from the deployment. For example:</span></p><ul><li><p><span>&#8220;We found a good way to ask users about consent to using AI. Here&#8217;s the pattern and language we used&#8230;&#8221;</span></p></li><li><p><span>&#8220;We were able to safely engage users of this particular demographic by doing&#8230;&#8221;</span></p></li><li><p><span>&#8220;We developed a way of ensuring meaningful human review of the final output. Here&#8217;s what we did&#8230;&#8221;</span></p></li></ul></li><li><p><span>Negative outcomes or harms discovered that should be shared with others developing a similar tool</span></p></li></ul><h3><strong><span>3. Missing mechanisms for policy revision</span></strong></h3><p><span>We&#8217;ve found that in states that have written AI policies, almost none have a process in place to review and revise that policy. Once published, there&#8217;s often no clear owner reviewing the AI policy to make sure it did what it was intended to do. Did the guardrails protect who they were meant to? Are there any additional ones needed? AI technology is changing rapidly. What once made sense at the time of publishing may no longer be sufficient to protect against the capabilities of newer models or agentic AI.</span></p><p><span>We believe that </span><strong><span>AI governance should be revisited regularly</span></strong><span>, especially early in a state&#8217;s experimentation with AI. While legislation is a lot harder to change, there are more flexible policy vehicles like statewide executive orders and government-wide policies. This is the level at which states can maneuver more quickly and effectively. Good AI governance will only get better over time, and this can be enhanced and expedited if it operates as a loop &#8212; where governance feeds adoption, which feeds evaluation, which feeds back to governance and adoption.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GAzQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90310042-5a7f-4bdc-a46a-8720a8412d53_1239x1142.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GAzQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90310042-5a7f-4bdc-a46a-8720a8412d53_1239x1142.png 424w, https://substackcdn.com/image/fetch/$s_!GAzQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90310042-5a7f-4bdc-a46a-8720a8412d53_1239x1142.png 848w, https://substackcdn.com/image/fetch/$s_!GAzQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90310042-5a7f-4bdc-a46a-8720a8412d53_1239x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!GAzQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90310042-5a7f-4bdc-a46a-8720a8412d53_1239x1142.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!GAzQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90310042-5a7f-4bdc-a46a-8720a8412d53_1239x1142.png" width="1239" height="1142" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90310042-5a7f-4bdc-a46a-8720a8412d53_1239x1142.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1142,&quot;width&quot;:1239,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GAzQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90310042-5a7f-4bdc-a46a-8720a8412d53_1239x1142.png 424w, https://substackcdn.com/image/fetch/$s_!GAzQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90310042-5a7f-4bdc-a46a-8720a8412d53_1239x1142.png 848w, https://substackcdn.com/image/fetch/$s_!GAzQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90310042-5a7f-4bdc-a46a-8720a8412d53_1239x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!GAzQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90310042-5a7f-4bdc-a46a-8720a8412d53_1239x1142.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>We believe forming a strong loop from the start is what will separate states that simply adopt AI from states that get better at it.</span></p><h2><strong><span>Next steps</span></strong></h2><p><span>If your state is just starting out on your journey to AI adoption, or if you have a process and you&#8217;re looking to refine it, consider how you&#8217;ll build a loop. This could look like many things, including:</span></p><ol><li><p><span>Build up your agency&#8217;s data infrastructure to allow for better impact evaluations</span></p></li><li><p><span>Write evaluation criteria into your RFPs</span></p></li><li><p><span>Create a post-deployment review of every AI use case that helps identify best practices and negative outcomes that might warrant adjustments to policy</span></p></li><li><p><span>Develop an AI inventory that also includes evaluation and learning data that&#8217;s shareable at least across your agencies, if not publicly</span></p></li><li><p><span>Codify and share any best practices that have proven effective in your program</span></p></li><li><p><span>Set a regular review cadence of your AI policies</span></p></li><li><p><span>Designate one clear owner of an AI policy whose job is to revise based on learnings</span></p></li><li><p><span>Consider joining feedback channels and working groups with other states that are interested in cross-state sharing of learnings</span></p></li></ol><p><span>If you&#8217;re also thinking about this topic, we&#8217;d love to hear from you about your experience. Is there anything we&#8217;re missing? Let us know in the comments, or email us at </span><a href="mailto:labs@navapbc.com"><span>labs@navapbc.com</span></a><span>.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive new posts with the latest on our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://www.nysenate.gov/legislation/bills/2023/S7543/amendment/A"><span>New York</span></a><span>, </span><a href="https://leg.colorado.gov/bills/sb26-189"><span>Colorado</span></a><span>, and </span><a href="https://www.cga.ct.gov/asp/cgabillstatus/cgabillstatus.asp?selBillType=Public+Act&amp;which_year=2026&amp;bill_num=15"><span>Connecticut</span></a><span> are the three states we&#8217;ve identified with laws that explicitly regulate AI use in the delivery of a public assistance benefit. Colorado and Connecticut&#8217;s laws are signed but not yet in full effect.</span></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>AL, CA, CT, DE, IN, KY, MD, MI, NH, NY, TX, VT, WA, and WV are all required to publish AI use case inventories in some form. CA, CT, MD, NY, and VT make a version of their inventory publicly available.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Looking at local AI models: experiments with Ollama and n8n]]></title><description><![CDATA[Cost and data security are major concerns for government AI. Local language models can help address them.]]></description><link>https://fieldnotes.navapbc.com/p/local-ai-experiments-ollama-n8n</link><guid isPermaLink="false">https://fieldnotes.navapbc.com/p/local-ai-experiments-ollama-n8n</guid><dc:creator><![CDATA[Cory Trimm]]></dc:creator><pubDate>Mon, 03 Aug 2026 18:47:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UmUp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d044c1-3a1b-465e-a593-2690a847038b_1392x772.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UmUp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d044c1-3a1b-465e-a593-2690a847038b_1392x772.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UmUp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d044c1-3a1b-465e-a593-2690a847038b_1392x772.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UmUp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d044c1-3a1b-465e-a593-2690a847038b_1392x772.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UmUp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d044c1-3a1b-465e-a593-2690a847038b_1392x772.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UmUp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d044c1-3a1b-465e-a593-2690a847038b_1392x772.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UmUp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d044c1-3a1b-465e-a593-2690a847038b_1392x772.jpeg" width="1392" height="772" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/97d044c1-3a1b-465e-a593-2690a847038b_1392x772.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:772,&quot;width&quot;:1392,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!UmUp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d044c1-3a1b-465e-a593-2690a847038b_1392x772.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UmUp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d044c1-3a1b-465e-a593-2690a847038b_1392x772.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UmUp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d044c1-3a1b-465e-a593-2690a847038b_1392x772.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UmUp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97d044c1-3a1b-465e-a593-2690a847038b_1392x772.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="callout-block" data-callout="true"><p><em><span>Note: This post represents one of the initial steps and just one possible method for interfacing with local language models.</span></em></p></div><p><span>Government teams want to experiment with AI. But two factors can make that challenging:</span></p><ul><li><p><em><strong><span>Cost:</span></strong></em><span> Cloud AI inference APIs cost money, with pricing </span><a href="https://www.coreweave.com/blog/the-token-pricing-illusion-understanding-ai-inference-economics"><span>often very opaque</span></a></p></li><li><p><em><strong><span>Security:</span></strong></em><span> Extremely sensitive data can&#8217;t leave the building</span></p></li></ul><p><span>Local language models can help solve both problems. No per-token bills. Nothing leaves your machine.</span></p><p><span>Local language models follow a pattern </span>similar to the <a href="https://www.navapbc.com/insights/gw-open-source-conference">open source movement</a><span>: free to use, free to tinker with, free to run on your own terms.</span></p><h1><strong><span>Local language models&#8217; strategic advantages for public-sector AI</span></strong></h1><p><span>Beyond just data security, having sovereignty on your tech stack &#8212; including language models &#8212; allows you to not be beholden to a single frontier lab or cloud provider, with their accompanying price increases, deprecations, etc.</span></p><p><span>Especially if you&#8217;re not an expert in FedRAMP and other regulatory compliance, hosting language models locally simplifies compliance. Your data stays in your control.</span></p><p><span>Research shows that </span><a href="https://arxiv.org/abs/2406.08660"><span>fine-tuned smaller language models</span></a><span> </span><a href="https://arxiv.org/abs/2506.02153"><span>outperform larger models</span></a><span> </span><a href="https://www.together.ai/blog/fine-tune-small-open-source-llms-outperform-closed-models"><span>on a series of tasks</span></a><span> &#8212; even </span><a href="https://arxiv.org/pdf/2606.13111"><span>within government domains</span></a><span>. This affords you flexibility to load models into memory quicker, generate responses faster, and continue to close the gap with frontier models.</span></p><p><span>I&#8217;d be remiss not to mention that there is a maintenance and update tradeoff. Fine-tuning, model versioning, and other MLOps is operational overhead if you are looking to expand beyond yourself.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6bCo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe733bf-1db0-48f1-adb3-829156ece291_960x540.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6bCo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe733bf-1db0-48f1-adb3-829156ece291_960x540.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6bCo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe733bf-1db0-48f1-adb3-829156ece291_960x540.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6bCo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe733bf-1db0-48f1-adb3-829156ece291_960x540.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6bCo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe733bf-1db0-48f1-adb3-829156ece291_960x540.jpeg 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!6bCo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe733bf-1db0-48f1-adb3-829156ece291_960x540.jpeg" width="960" height="540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dfe733bf-1db0-48f1-adb3-829156ece291_960x540.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;n8n.io - Screenshot&quot;,&quot;title&quot;:&quot;n8n.io - Screenshot&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="n8n.io - Screenshot" title="n8n.io - Screenshot" srcset="https://substackcdn.com/image/fetch/$s_!6bCo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe733bf-1db0-48f1-adb3-829156ece291_960x540.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6bCo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe733bf-1db0-48f1-adb3-829156ece291_960x540.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6bCo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe733bf-1db0-48f1-adb3-829156ece291_960x540.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6bCo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe733bf-1db0-48f1-adb3-829156ece291_960x540.jpeg 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image courtesy of <a href="https://github.com/n8n-io/self-hosted-ai-starter-kit">n8n.io AI Starter Kit</a></figcaption></figure></div><p></p><h1><strong><span>What&#8217;s out there</span></strong></h1><p><span>Some tools that make this easy to experiment with local language models include </span><a href="https://ollama.com"><span>Ollama</span></a><span>, </span><a href="https://n8n.io"><span>n8n</span></a><span>, and </span><a href="https://lmstudio.ai/"><span>LM Studio</span></a><span>.</span></p><p><span>To keep it simple, we&#8217;ll use the following:</span></p><ul><li><p><a href="https://ollama.com"><span>Ollama</span></a><span> is a way to serve language models locally, right from your own machine. Think of it as a local API server for open models.</span></p></li><li><p><a href="https://n8n.io"><span>n8n</span></a><span> is a no-code workflow automation layer on top. You wire together nodes instead of writing scripts.</span></p></li></ul><p><span>Put these two together, and you get 100% private, self-hosted AI agents and automation workflows. No paid cloud APIs. Everything processed locally.</span></p><p><em><strong><span>Note</span></strong><span>: n8n has a self-hosted-starter-kit repository, but if you are on a Mac </span><a href="https://github.com/n8n-io/self-hosted-ai-starter-kit#for-mac--apple-silicon-users"><span>you cannot expose your GPU to Docker</span></a><span> (similar to vLLM). </span><a href="https://docs.ollama.com/integrations/n8n"><span>It just takes a little more setup</span></a><span>.</span></em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oOWV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53941a9a-2f84-45d8-8924-5b7e3d268991_1456x1035.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oOWV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53941a9a-2f84-45d8-8924-5b7e3d268991_1456x1035.png 424w, https://substackcdn.com/image/fetch/$s_!oOWV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53941a9a-2f84-45d8-8924-5b7e3d268991_1456x1035.png 848w, https://substackcdn.com/image/fetch/$s_!oOWV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53941a9a-2f84-45d8-8924-5b7e3d268991_1456x1035.png 1272w, https://substackcdn.com/image/fetch/$s_!oOWV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53941a9a-2f84-45d8-8924-5b7e3d268991_1456x1035.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!oOWV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53941a9a-2f84-45d8-8924-5b7e3d268991_1456x1035.png" width="1456" height="1035" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/53941a9a-2f84-45d8-8924-5b7e3d268991_1456x1035.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1035,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oOWV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53941a9a-2f84-45d8-8924-5b7e3d268991_1456x1035.png 424w, https://substackcdn.com/image/fetch/$s_!oOWV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53941a9a-2f84-45d8-8924-5b7e3d268991_1456x1035.png 848w, https://substackcdn.com/image/fetch/$s_!oOWV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53941a9a-2f84-45d8-8924-5b7e3d268991_1456x1035.png 1272w, https://substackcdn.com/image/fetch/$s_!oOWV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53941a9a-2f84-45d8-8924-5b7e3d268991_1456x1035.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1><strong><span>What I built</span></strong></h1><p><span>Back in June of 2025, I started prototyping with local language models on a new machine: a MacBook M4 Pro with 24 GB of RAM.</span></p><p><span>Both Ollama and n8n run in Docker, so I&#8217;m not too worried about a model going rogue and taking my machine offline (e.g.</span><a href="https://community.openai.com/t/critical-data-loss-issue-in-codex-app-for-windows-agent-executed-file-deletion-outside-project-directory/1375894"><span> 370+ GB of data</span></a><span>; </span><a href="https://medium.com/coding-nexus/the-day-claude-code-deleted-our-production-database-51606d71436e"><span>deleting production databases</span></a><span>; and </span><a href="https://venturebeat.com/data/57-of-enterprises-have-watched-ai-agents-be-confidently-wrong-the-fix-is-an-agentic-context-layer-but-who-has-one"><span>more</span></a><span>).</span></p><p><span>Some of the first automations I built are:</span></p><ol><li><p><span>An email drafter</span></p></li><li><p><span>A Slack channel summarizer</span></p></li><li><p><span>A local document search, using </span><a href="https://en.wikipedia.org/wiki/Retrieval-augmented_generation"><span>RAG</span></a></p></li><li><p><span>An offline plain-language checker</span></p></li></ol><p>See the <a href="https://github.com/cory-nava/sample-n8n-workflows">GitHub repo here</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MZyd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d3c23b-9f8e-4af9-88a3-f60bd25bc0ac_1456x946.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MZyd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d3c23b-9f8e-4af9-88a3-f60bd25bc0ac_1456x946.png 424w, https://substackcdn.com/image/fetch/$s_!MZyd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d3c23b-9f8e-4af9-88a3-f60bd25bc0ac_1456x946.png 848w, https://substackcdn.com/image/fetch/$s_!MZyd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d3c23b-9f8e-4af9-88a3-f60bd25bc0ac_1456x946.png 1272w, https://substackcdn.com/image/fetch/$s_!MZyd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d3c23b-9f8e-4af9-88a3-f60bd25bc0ac_1456x946.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!MZyd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d3c23b-9f8e-4af9-88a3-f60bd25bc0ac_1456x946.png" width="1456" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9d3c23b-9f8e-4af9-88a3-f60bd25bc0ac_1456x946.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MZyd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d3c23b-9f8e-4af9-88a3-f60bd25bc0ac_1456x946.png 424w, https://substackcdn.com/image/fetch/$s_!MZyd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d3c23b-9f8e-4af9-88a3-f60bd25bc0ac_1456x946.png 848w, https://substackcdn.com/image/fetch/$s_!MZyd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d3c23b-9f8e-4af9-88a3-f60bd25bc0ac_1456x946.png 1272w, https://substackcdn.com/image/fetch/$s_!MZyd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d3c23b-9f8e-4af9-88a3-f60bd25bc0ac_1456x946.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>Anecdotally, for small, narrow tasks &#8212; like summarization, extraction, and classification &#8212; a </span><a href="https://arxiv.org/html/2504.20355v1"><span>well-prompted local model</span></a><span> can perform quite well.</span></p><h1><strong><span>Where it is now and what&#8217;s next</span></strong></h1><p><span>This is extremely nascent. These are quick experiments, not production tools.</span></p><p><span>A few open questions I&#8217;m still working through:</span></p><ul><li><p><span>How far local models can really go on more complex reasoning tasks with vector stores, multistep reasoning and acting, etc.</span></p></li><li><p><span>How well a small local model performs when fine-tuned on domain-specific documents versus a frontier model</span></p></li><li><p><span>Whether the setup holds up outside a single laptop (e.g. running on a server on-premise)</span></p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>If you&#8217;re experimenting with local AI for public-sector work, I&#8217;d love to hear how it&#8217;s going. Comment below or reach us at labs@navapbc.com.</p><h2><strong><span>Resources:</span></strong></h2><ul><li><p><a href="https://github.com/n8n-io/self-hosted-ai-starter-kit"><span>Self-hosted AI starter kit</span></a></p></li><li><p><a href="http://n8n.io/"><span>n8n.io</span></a></p></li><li><p><a href="http://ollama.com/"><span>ollama.com</span></a></p></li><li><p><a href="https://github.com/cory-nava/sample-n8n-workflows"><span>Sample n8n Workflows</span></a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[How AI-generated test docs can improve safety net applications]]></title><description><![CDATA[Synthetic documents, real impact]]></description><link>https://fieldnotes.navapbc.com/p/synthetic-data-real-impact-how-chatgpt</link><guid isPermaLink="false">https://fieldnotes.navapbc.com/p/synthetic-data-real-impact-how-chatgpt</guid><dc:creator><![CDATA[Ryan Hansz]]></dc:creator><pubDate>Wed, 15 Jul 2026 19:56:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!e95D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rfk-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2ba2e5-8f20-4753-b97c-4595c316f918_2790x1672.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rfk-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2ba2e5-8f20-4753-b97c-4595c316f918_2790x1672.png 424w, https://substackcdn.com/image/fetch/$s_!rfk-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2ba2e5-8f20-4753-b97c-4595c316f918_2790x1672.png 848w, https://substackcdn.com/image/fetch/$s_!rfk-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2ba2e5-8f20-4753-b97c-4595c316f918_2790x1672.png 1272w, https://substackcdn.com/image/fetch/$s_!rfk-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2ba2e5-8f20-4753-b97c-4595c316f918_2790x1672.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rfk-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2ba2e5-8f20-4753-b97c-4595c316f918_2790x1672.png" width="1456" height="873" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f2ba2e5-8f20-4753-b97c-4595c316f918_2790x1672.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:873,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:260441,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/204516446?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2ba2e5-8f20-4753-b97c-4595c316f918_2790x1672.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!rfk-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2ba2e5-8f20-4753-b97c-4595c316f918_2790x1672.png 424w, https://substackcdn.com/image/fetch/$s_!rfk-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2ba2e5-8f20-4753-b97c-4595c316f918_2790x1672.png 848w, https://substackcdn.com/image/fetch/$s_!rfk-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2ba2e5-8f20-4753-b97c-4595c316f918_2790x1672.png 1272w, https://substackcdn.com/image/fetch/$s_!rfk-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2ba2e5-8f20-4753-b97c-4595c316f918_2790x1672.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">BenefitsCal&#8217;s upload page for Food, Cash Aid, and Health insurance </figcaption></figure></div><p>When someone needs support for food, health insurance, veterans benefits, and other public programs, the experience is driven by documents. Someone uploads a proof of income, or medical expenses, or proof of enrollment in an educational program. Staff  work with those documents to make sure they&#8217;re accurate, valid, and meet requirements.</p><p>Much of the work to improve the experience of these programs is about making that flow better: getting files uploaded correctly, making sure they&#8217;re readable, and letting people know as early as possible if they need to resubmit something, so they don&#8217;t wait weeks to hear back.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>As part of my role on the Nava Labs program, I work on our <a href="https://caseworker.navapbc.com/">Caseworker Empowerment Toolkit</a>,  which supports staff who connect people to benefits. In this toolkit, one of the questions we&#8217;re exploring is: how might document AI tools help staff classify documents, extract information, and figure out whether what someone&#8217;s shared will actually get them the benefits they&#8217;re looking for?</p><p>And as we develop this tool, I keep hitting a challenge of finding realistic documents to test with that don&#8217;t include people&#8217;s sensitive data. This is a challenge common to any project trying to improve benefit program experiences. </p><h2><strong>Why testing document workflows is hard</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3he_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f829b-a65a-433e-8eba-96915ee27ad3_2110x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3he_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f829b-a65a-433e-8eba-96915ee27ad3_2110x970.png 424w, https://substackcdn.com/image/fetch/$s_!3he_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f829b-a65a-433e-8eba-96915ee27ad3_2110x970.png 848w, https://substackcdn.com/image/fetch/$s_!3he_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f829b-a65a-433e-8eba-96915ee27ad3_2110x970.png 1272w, https://substackcdn.com/image/fetch/$s_!3he_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f829b-a65a-433e-8eba-96915ee27ad3_2110x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3he_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f829b-a65a-433e-8eba-96915ee27ad3_2110x970.png" width="1456" height="669" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/519f829b-a65a-433e-8eba-96915ee27ad3_2110x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:669,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1519078,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/204516446?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f829b-a65a-433e-8eba-96915ee27ad3_2110x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!3he_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f829b-a65a-433e-8eba-96915ee27ad3_2110x970.png 424w, https://substackcdn.com/image/fetch/$s_!3he_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f829b-a65a-433e-8eba-96915ee27ad3_2110x970.png 848w, https://substackcdn.com/image/fetch/$s_!3he_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f829b-a65a-433e-8eba-96915ee27ad3_2110x970.png 1272w, https://substackcdn.com/image/fetch/$s_!3he_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f829b-a65a-433e-8eba-96915ee27ad3_2110x970.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Testing text extraction with a ChatGPT-generated synthetic document</figcaption></figure></div><p>The main obstacle is creating or gathering documents that account for different scenarios applicants may be in. Many benefits require proof of income, which could come from salaried employment, self-employment, or the gig economy, to name a few. </p><p>To address this, teams either hand-create or find sample documents and hope they cover enough of the situations people are in. Another path is using real documents, but this requires securely handling people&#8217;s most sensitive data, so it&#8217;s not a good fit for early development and testing. </p><p>There are so many permutations of scenarios, document types, and input methods, and there&#8217;s a need to test as many as possible before anything is put in front of the public or staff. Synthetic documents add another testing method to the toolkit, one that doesn&#8217;t depend on real sensitive information.</p><h2><strong>Why now</strong></h2><p>Previously, ChatGPT and other image-generation models were unreliable. Many of us have seen examples of images <a href="https://www.buzzfeednews.com/article/pranavdixit/ai-generated-art-hands-fingers-messed-up">where a person has six fingers</a>, or text with typos and garbled characters. The quality was so low that the output was essentially useless for testing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mJRE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f13b24-8614-4be0-8a34-e36eeb64351c_700x481.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mJRE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f13b24-8614-4be0-8a34-e36eeb64351c_700x481.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mJRE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f13b24-8614-4be0-8a34-e36eeb64351c_700x481.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mJRE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f13b24-8614-4be0-8a34-e36eeb64351c_700x481.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mJRE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f13b24-8614-4be0-8a34-e36eeb64351c_700x481.jpeg 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!mJRE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f13b24-8614-4be0-8a34-e36eeb64351c_700x481.jpeg" width="700" height="481" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35f13b24-8614-4be0-8a34-e36eeb64351c_700x481.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:481,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mJRE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f13b24-8614-4be0-8a34-e36eeb64351c_700x481.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mJRE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f13b24-8614-4be0-8a34-e36eeb64351c_700x481.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mJRE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f13b24-8614-4be0-8a34-e36eeb64351c_700x481.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mJRE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f13b24-8614-4be0-8a34-e36eeb64351c_700x481.jpeg 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Maddie Abuyuan / BuzzFeed News; Getty Images</figcaption></figure></div><p><a href="https://openai.com/index/introducing-chatgpt-images-2-0/">Gpt-image-2</a> was released this spring and now an entire document can now be generated. Not perfectly, but fairly consistently: full-page layouts, different document structures, text that refers to the same person throughout, and dates and amounts that line up well enough to support testing. </p><h3>A quick comparison of models</h3><p>Here&#8217;s the same prompt for a synthetic pay stub, run through the old model and the new one.</p><h4>Test 1: Paystubs</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-Nm_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9beaf38-8548-409e-932f-ee46067c2660_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-Nm_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9beaf38-8548-409e-932f-ee46067c2660_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-Nm_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9beaf38-8548-409e-932f-ee46067c2660_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-Nm_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9beaf38-8548-409e-932f-ee46067c2660_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-Nm_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9beaf38-8548-409e-932f-ee46067c2660_1600x900.jpeg 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!-Nm_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9beaf38-8548-409e-932f-ee46067c2660_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9beaf38-8548-409e-932f-ee46067c2660_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image preview&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image preview" title="Image preview" srcset="https://substackcdn.com/image/fetch/$s_!-Nm_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9beaf38-8548-409e-932f-ee46067c2660_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-Nm_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9beaf38-8548-409e-932f-ee46067c2660_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-Nm_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9beaf38-8548-409e-932f-ee46067c2660_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-Nm_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9beaf38-8548-409e-932f-ee46067c2660_1600x900.jpeg 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>gpt-image-1: </strong><span>Synthetic pay stub generated by gpt-image-1, showing garbled words like &#8220;Duringar&#8221; and &#8220;Gotalc&#8221; and numbers that don&#8217;t add up.</span></p><div class="captioned-image-container"><figure><div class="image-link image2" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Up3i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d10ee-fb43-4e45-95b2-d84620ecb37f_306x84.png 424w, https://substackcdn.com/image/fetch/$s_!Up3i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d10ee-fb43-4e45-95b2-d84620ecb37f_306x84.png 848w, https://substackcdn.com/image/fetch/$s_!Up3i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d10ee-fb43-4e45-95b2-d84620ecb37f_306x84.png 1272w, https://substackcdn.com/image/fetch/$s_!Up3i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d10ee-fb43-4e45-95b2-d84620ecb37f_306x84.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!Up3i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d10ee-fb43-4e45-95b2-d84620ecb37f_306x84.png" width="284" height="77.96078431372548" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d9d10ee-fb43-4e45-95b2-d84620ecb37f_306x84.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:84,&quot;width&quot;:306,&quot;resizeWidth&quot;:284,&quot;bytes&quot;:14615,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/204516446?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d10ee-fb43-4e45-95b2-d84620ecb37f_306x84.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Up3i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d10ee-fb43-4e45-95b2-d84620ecb37f_306x84.png 424w, https://substackcdn.com/image/fetch/$s_!Up3i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d10ee-fb43-4e45-95b2-d84620ecb37f_306x84.png 848w, https://substackcdn.com/image/fetch/$s_!Up3i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d10ee-fb43-4e45-95b2-d84620ecb37f_306x84.png 1272w, https://substackcdn.com/image/fetch/$s_!Up3i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d9d10ee-fb43-4e45-95b2-d84620ecb37f_306x84.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div></div></div></div></figure></div><p><strong>gpt-image-2: </strong>Synthetic pay stub generated by gpt-image-2, with a clean layout, itemized earnings and deductions, and year-to-date totals that reconcile (at least at first glance).</p><div><hr></div><h4>Test 2: SNAP award letters</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9rVw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a6b5346-966d-4e87-89ef-80f7fbf27678_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9rVw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a6b5346-966d-4e87-89ef-80f7fbf27678_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9rVw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a6b5346-966d-4e87-89ef-80f7fbf27678_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9rVw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a6b5346-966d-4e87-89ef-80f7fbf27678_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9rVw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a6b5346-966d-4e87-89ef-80f7fbf27678_1600x900.jpeg 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!9rVw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a6b5346-966d-4e87-89ef-80f7fbf27678_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a6b5346-966d-4e87-89ef-80f7fbf27678_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image preview&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image preview" title="Image preview" srcset="https://substackcdn.com/image/fetch/$s_!9rVw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a6b5346-966d-4e87-89ef-80f7fbf27678_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9rVw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a6b5346-966d-4e87-89ef-80f7fbf27678_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9rVw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a6b5346-966d-4e87-89ef-80f7fbf27678_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9rVw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a6b5346-966d-4e87-89ef-80f7fbf27678_1600x900.jpeg 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The same jump shows up in a SNAP award letter. The gpt-image-1 version misspells &#8220;Effective&#8221; and &#8220;Caseworker&#8221; and signs off with &#8220;Sercrndy.&#8221; The gpt-image-2 version produces a full approval notice with a benefit summary, EBT card instructions, and fair hearing rights, all consistent with one made-up household.</p><p><span>The synthetic SNAP award letter from gpt-image-2 makes a much more internally consistent approval notice with a benefit summary and fair hearing rights.</span></p><p>Note: If anything, Image2 makes this document look <em>too polished</em>, since many real SNAP award letters are simple B&amp;W text in a letter with an organization logo in the header</p><h2><strong>What this makes possible</strong></h2><p>This lets us start to more systematically test document experiences, rather than relying purely on ad-hoc examples from the internet or handmade documents from a few people on an internal team. If someone has income from self-employment or the gig economy, we can generate documentation from the different apps and services they use and see how our systems would handle it at a first pass. And if we hear about a scenario where experiences are poor, we can generate documents for that scenario specifically. So we get speed, we get depth of experimentation, and we can do all of that without using people&#8217;s real information.</p><p>This process also has potential applications in detecting, or training staff to detect, fake documents created with AI. </p><h3>The flipside</h3><p>The images are better, but they can still contain errors, and as the quality goes up, the errors become harder to notice. Fewer sixth fingers, more income amounts off by a few dollars. No synthetic document is a replacement for human-generated documents and human testing. It&#8217;s all a supplement and a way to expand the tools we have available to make getting and receiving benefits less onerous for the public and staff. </p><p></p><h3>Further work</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OWBa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2d4842-dd98-46b3-a014-0622a171e9e2_2556x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OWBa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2d4842-dd98-46b3-a014-0622a171e9e2_2556x1120.png 424w, https://substackcdn.com/image/fetch/$s_!OWBa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2d4842-dd98-46b3-a014-0622a171e9e2_2556x1120.png 848w, https://substackcdn.com/image/fetch/$s_!OWBa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2d4842-dd98-46b3-a014-0622a171e9e2_2556x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!OWBa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2d4842-dd98-46b3-a014-0622a171e9e2_2556x1120.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!OWBa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2d4842-dd98-46b3-a014-0622a171e9e2_2556x1120.png" width="1456" height="638" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a2d4842-dd98-46b3-a014-0622a171e9e2_2556x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:638,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:274054,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/204516446?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2d4842-dd98-46b3-a014-0622a171e9e2_2556x1120.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OWBa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2d4842-dd98-46b3-a014-0622a171e9e2_2556x1120.png 424w, https://substackcdn.com/image/fetch/$s_!OWBa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2d4842-dd98-46b3-a014-0622a171e9e2_2556x1120.png 848w, https://substackcdn.com/image/fetch/$s_!OWBa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2d4842-dd98-46b3-a014-0622a171e9e2_2556x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!OWBa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2d4842-dd98-46b3-a014-0622a171e9e2_2556x1120.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A prototype tool to generate images in batches</figcaption></figure></div><ul><li><p><strong>Deeper evaluation:</strong> The images are great for coarse document classification and <em>generally</em> seem to follow instructions for household composition, dates, income amounts, and other details. But further human validation is needed before scaling up synthetic document creation as a testing method.</p></li><li><p><strong>Improving tools</strong> to support batch creation + sharing of documents</p></li><li><p><strong>Tailoring prompts:</strong> Continuing to improve layouts that don&#8217;t match real documents, increasing formats (phone photos vs. scans vs. handwritten notes) and quality (blurriness, stains, crumpling, etc.)</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive new posts</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e95D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e95D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!e95D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!e95D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!e95D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!e95D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg" width="452" height="678" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:452,&quot;bytes&quot;:265923,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/204516446?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!e95D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!e95D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!e95D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!e95D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f908fac-69d6-45db-916d-d216a24ea60f_1024x1536.jpeg 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[How might voice AI reduce administrative burden for caseworkers?]]></title><description><![CDATA[Exploring ways voice to text can support caseworkers who connect people to SNAP, Medicaid and other public benefits.]]></description><link>https://fieldnotes.navapbc.com/p/how-might-voice-ai-reduce-administrative</link><guid isPermaLink="false">https://fieldnotes.navapbc.com/p/how-might-voice-ai-reduce-administrative</guid><dc:creator><![CDATA[Ryan Hansz]]></dc:creator><pubDate>Thu, 18 Jun 2026 15:12:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!x6rl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x6rl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x6rl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg 424w, https://substackcdn.com/image/fetch/$s_!x6rl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg 848w, https://substackcdn.com/image/fetch/$s_!x6rl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!x6rl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x6rl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4075140,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://navalabs.substack.com/i/200484540?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!x6rl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg 424w, https://substackcdn.com/image/fetch/$s_!x6rl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg 848w, https://substackcdn.com/image/fetch/$s_!x6rl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!x6rl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065d131d-2289-4b47-91e2-219c2d8ea242_2560x1708.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When they meet with clients, caseworkers have to make a choice over and over: pay attention to the person in front of them, or look away to type notes into a computer. Do the first, and they&#8217;re left trying to remember the conversation at the end of a long day. What the client said about their income, their rent, who lives in the household, and which documents they need to find. The alternative is spending most of the interaction with their focus on a screen instead of a person.</p><p>One client interaction can turn into a note in a case management system, required forms and other outputs. Often times different providers and funders want the same information reported in slightly different ways. Additionally, if the caseworker spoke with a client in another language, they&#8217;ll have to write an English record in their case management system, then write back to the client in their preferred language. All of this documentation burden adds stress to staff who support people who are often already in a crisis, leading to high rates of burnout and turnover. </p><p>We&#8217;ve been prototyping a tool for those interactions. With consent, the tool transcribes the conversation, pulls out the case facts, and drafts a case note for the worker to review and correct before anything gets saved. The tool does the first pass and the caseworker can correct and edit any outputs. This prototype is a way for us to explore the implications of voice AI on case note accuracy, administrative burden, privacy and consent. </p><div class="callout-block" data-callout="true"><p><strong>A note on data privacy:</strong> This early prototype is meant to explore the potential of these tools, and isn&#8217;t yet being used for any real client interactions. Our team would do a complete audit of where (and if) data is being stored securely before implementing this tool. </p></div><h2>What&#8217;s out there</h2><p>&#8220;Ambient AI&#8221; has been maturing, with model providers like Assembly AI offering a <a href="https://www.assemblyai.com/products/streaming-speech-to-text">Realtime Speech-to-Text API</a> that can transcribe interactions and even assign speaker labels on the fly. There are many applications of models like these, especially in the healthcare space, where providers like <a href="http://www.abridge.com/">Abridge</a> offering documentation support for clinical providers. <br></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NTeC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bf549f8-8da9-4002-beb7-b56e4b235f40_2674x1474.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NTeC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bf549f8-8da9-4002-beb7-b56e4b235f40_2674x1474.png 424w, https://substackcdn.com/image/fetch/$s_!NTeC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bf549f8-8da9-4002-beb7-b56e4b235f40_2674x1474.png 848w, https://substackcdn.com/image/fetch/$s_!NTeC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bf549f8-8da9-4002-beb7-b56e4b235f40_2674x1474.png 1272w, https://substackcdn.com/image/fetch/$s_!NTeC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bf549f8-8da9-4002-beb7-b56e4b235f40_2674x1474.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NTeC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bf549f8-8da9-4002-beb7-b56e4b235f40_2674x1474.png" width="1456" height="803" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2bf549f8-8da9-4002-beb7-b56e4b235f40_2674x1474.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:803,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1014097,&quot;alt&quot;:&quot;An image describing the pre-visit, encounter and post-visit services from Abridge&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://fieldnotes.navapbc.com/i/200484540?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bf549f8-8da9-4002-beb7-b56e4b235f40_2674x1474.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="An image describing the pre-visit, encounter and post-visit services from Abridge" title="An image describing the pre-visit, encounter and post-visit services from Abridge" srcset="https://substackcdn.com/image/fetch/$s_!NTeC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bf549f8-8da9-4002-beb7-b56e4b235f40_2674x1474.png 424w, https://substackcdn.com/image/fetch/$s_!NTeC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bf549f8-8da9-4002-beb7-b56e4b235f40_2674x1474.png 848w, https://substackcdn.com/image/fetch/$s_!NTeC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bf549f8-8da9-4002-beb7-b56e4b235f40_2674x1474.png 1272w, https://substackcdn.com/image/fetch/$s_!NTeC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bf549f8-8da9-4002-beb7-b56e4b235f40_2674x1474.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Abridge&#8217;s medical AI transcription &#8594; note workflow</figcaption></figure></div><p><br>Case workers we&#8217;ve talked to have been curious about the idea, with reservations about client privacy and the accuracy of the outputs. But so far, the only real application we&#8217;ve heard from case workers is them adding notes (with sensitive info manually removed) to ChatGPT to format them into the appropriate template. </p><h2>Prototype walkthrough</h2><p>To explore this concept, the prototype walks through five steps: set up the session, capture the conversation, review the facts, review the drafts, and finalize.</p><p>It opens by asking who&#8217;s in the meeting. The worker adds themselves and the client by name before any recording starts, and consent is confirmed here too.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vXli!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79c38e-fd01-4a3b-95a2-67a0adfdf9eb_1425x1322.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vXli!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79c38e-fd01-4a3b-95a2-67a0adfdf9eb_1425x1322.png 424w, https://substackcdn.com/image/fetch/$s_!vXli!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79c38e-fd01-4a3b-95a2-67a0adfdf9eb_1425x1322.png 848w, https://substackcdn.com/image/fetch/$s_!vXli!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79c38e-fd01-4a3b-95a2-67a0adfdf9eb_1425x1322.png 1272w, https://substackcdn.com/image/fetch/$s_!vXli!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79c38e-fd01-4a3b-95a2-67a0adfdf9eb_1425x1322.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!vXli!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79c38e-fd01-4a3b-95a2-67a0adfdf9eb_1425x1322.png" width="1425" height="1322" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f79c38e-fd01-4a3b-95a2-67a0adfdf9eb_1425x1322.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1322,&quot;width&quot;:1425,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:162461,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://navalabs.substack.com/i/200484540?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79c38e-fd01-4a3b-95a2-67a0adfdf9eb_1425x1322.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vXli!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79c38e-fd01-4a3b-95a2-67a0adfdf9eb_1425x1322.png 424w, https://substackcdn.com/image/fetch/$s_!vXli!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79c38e-fd01-4a3b-95a2-67a0adfdf9eb_1425x1322.png 848w, https://substackcdn.com/image/fetch/$s_!vXli!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79c38e-fd01-4a3b-95a2-67a0adfdf9eb_1425x1322.png 1272w, https://substackcdn.com/image/fetch/$s_!vXli!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f79c38e-fd01-4a3b-95a2-67a0adfdf9eb_1425x1322.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Session setup. Add participants and confirm consent before the conversation begins.</em></p><p>During the conversation, the tool transcribes in real time. In the demo scenario, a SNAP renewal where the client speaks Spanish, the bilingual transcript shows each turn in both languages, color-coded by speaker. When the conversation ends, the transcript is ready to review before moving to fact extraction.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t94i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5823501-eebb-42a0-9659-4c1adecd1d1d_1440x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t94i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5823501-eebb-42a0-9659-4c1adecd1d1d_1440x1000.png 424w, https://substackcdn.com/image/fetch/$s_!t94i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5823501-eebb-42a0-9659-4c1adecd1d1d_1440x1000.png 848w, https://substackcdn.com/image/fetch/$s_!t94i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5823501-eebb-42a0-9659-4c1adecd1d1d_1440x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!t94i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5823501-eebb-42a0-9659-4c1adecd1d1d_1440x1000.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!t94i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5823501-eebb-42a0-9659-4c1adecd1d1d_1440x1000.png" width="1440" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5823501-eebb-42a0-9659-4c1adecd1d1d_1440x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:139790,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://navalabs.substack.com/i/200484540?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5823501-eebb-42a0-9659-4c1adecd1d1d_1440x1000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!t94i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5823501-eebb-42a0-9659-4c1adecd1d1d_1440x1000.png 424w, https://substackcdn.com/image/fetch/$s_!t94i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5823501-eebb-42a0-9659-4c1adecd1d1d_1440x1000.png 848w, https://substackcdn.com/image/fetch/$s_!t94i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5823501-eebb-42a0-9659-4c1adecd1d1d_1440x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!t94i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5823501-eebb-42a0-9659-4c1adecd1d1d_1440x1000.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Live record. The bilingual transcript shows both languages side by side, speaker-labeled and timestamped.</em></p><p>After the conversation, the worker reviews extracted facts grouped into &#8220;Needs review&#8221; and &#8220;Accepted.&#8221; High-confidence details (address, household members, income, expenses) are pre-accepted but editable. Lower-confidence items surface at the top for explicit review.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HS31!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45359d47-d485-4f6e-8b78-23d8bc93c86b_1425x1599.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HS31!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45359d47-d485-4f6e-8b78-23d8bc93c86b_1425x1599.png 424w, https://substackcdn.com/image/fetch/$s_!HS31!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45359d47-d485-4f6e-8b78-23d8bc93c86b_1425x1599.png 848w, https://substackcdn.com/image/fetch/$s_!HS31!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45359d47-d485-4f6e-8b78-23d8bc93c86b_1425x1599.png 1272w, https://substackcdn.com/image/fetch/$s_!HS31!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45359d47-d485-4f6e-8b78-23d8bc93c86b_1425x1599.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!HS31!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45359d47-d485-4f6e-8b78-23d8bc93c86b_1425x1599.png" width="1425" height="1599" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45359d47-d485-4f6e-8b78-23d8bc93c86b_1425x1599.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1599,&quot;width&quot;:1425,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:304244,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://navalabs.substack.com/i/200484540?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45359d47-d485-4f6e-8b78-23d8bc93c86b_1425x1599.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HS31!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45359d47-d485-4f6e-8b78-23d8bc93c86b_1425x1599.png 424w, https://substackcdn.com/image/fetch/$s_!HS31!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45359d47-d485-4f6e-8b78-23d8bc93c86b_1425x1599.png 848w, https://substackcdn.com/image/fetch/$s_!HS31!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45359d47-d485-4f6e-8b78-23d8bc93c86b_1425x1599.png 1272w, https://substackcdn.com/image/fetch/$s_!HS31!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45359d47-d485-4f6e-8b78-23d8bc93c86b_1425x1599.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Fact review. Lower-confidence items surface first. Every fact has Accept, Reject, and Source controls.</em></p><p>Every fact links back to the exact moment in the conversation it came from. The evidence dialog shows the bilingual transcript scroll alongside a usage panel: the source, confidence band, timestamp, transcript quote, and which note sections the fact was pulled into.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ubar!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c861729-d26f-48fb-ad0d-69c574996dd0_1437x993.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ubar!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c861729-d26f-48fb-ad0d-69c574996dd0_1437x993.png 424w, https://substackcdn.com/image/fetch/$s_!ubar!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c861729-d26f-48fb-ad0d-69c574996dd0_1437x993.png 848w, https://substackcdn.com/image/fetch/$s_!ubar!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c861729-d26f-48fb-ad0d-69c574996dd0_1437x993.png 1272w, https://substackcdn.com/image/fetch/$s_!ubar!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c861729-d26f-48fb-ad0d-69c574996dd0_1437x993.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!ubar!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c861729-d26f-48fb-ad0d-69c574996dd0_1437x993.png" width="1437" height="993" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c861729-d26f-48fb-ad0d-69c574996dd0_1437x993.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:993,&quot;width&quot;:1437,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:260038,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://navalabs.substack.com/i/200484540?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c861729-d26f-48fb-ad0d-69c574996dd0_1437x993.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ubar!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c861729-d26f-48fb-ad0d-69c574996dd0_1437x993.png 424w, https://substackcdn.com/image/fetch/$s_!ubar!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c861729-d26f-48fb-ad0d-69c574996dd0_1437x993.png 848w, https://substackcdn.com/image/fetch/$s_!ubar!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c861729-d26f-48fb-ad0d-69c574996dd0_1437x993.png 1272w, https://substackcdn.com/image/fetch/$s_!ubar!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c861729-d26f-48fb-ad0d-69c574996dd0_1437x993.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Evidence. The transcript quote, confidence, timestamp, and the note sections it feeds into, all in one place.</em></p><p>Only after the facts are reviewed does the tool draft the case note. It opens a rich text editor alongside the full transcript, so a worker can read both at once, edit freely, and then send a client-facing summary separately.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0ZiO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1369779f-25b3-4544-b198-c0754e918be4_1425x1906.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0ZiO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1369779f-25b3-4544-b198-c0754e918be4_1425x1906.png 424w, https://substackcdn.com/image/fetch/$s_!0ZiO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1369779f-25b3-4544-b198-c0754e918be4_1425x1906.png 848w, https://substackcdn.com/image/fetch/$s_!0ZiO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1369779f-25b3-4544-b198-c0754e918be4_1425x1906.png 1272w, https://substackcdn.com/image/fetch/$s_!0ZiO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1369779f-25b3-4544-b198-c0754e918be4_1425x1906.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!0ZiO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1369779f-25b3-4544-b198-c0754e918be4_1425x1906.png" width="1425" height="1906" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1369779f-25b3-4544-b198-c0754e918be4_1425x1906.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1906,&quot;width&quot;:1425,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:387612,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://navalabs.substack.com/i/200484540?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1369779f-25b3-4544-b198-c0754e918be4_1425x1906.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0ZiO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1369779f-25b3-4544-b198-c0754e918be4_1425x1906.png 424w, https://substackcdn.com/image/fetch/$s_!0ZiO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1369779f-25b3-4544-b198-c0754e918be4_1425x1906.png 848w, https://substackcdn.com/image/fetch/$s_!0ZiO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1369779f-25b3-4544-b198-c0754e918be4_1425x1906.png 1272w, https://substackcdn.com/image/fetch/$s_!0ZiO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1369779f-25b3-4544-b198-c0754e918be4_1425x1906.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Case note. Generated from the reviewed facts, editable in place, with the full transcript alongside for reference.</em></p><h2>Where it is now</h2><p>While the value of this tool seems clear, there are many challenges to overcome on the road to responsible implementation. Accuracy is key, especially considering the nuanced situations people actually show up with: </p><ul><li><p>several family members talking in the same room, </p></li><li><p>someone switching languages mid-conversation, </p></li><li><p>Accents, </p></li><li><p>Correctly recording a specific names or $ amounts, or</p></li><li><p>a client who says one thing early on and corrects it later. </p></li></ul><p>All of this has to land in the record correctly, and getting it wrong is the risk the tool is supposed to reduce. Live speaker labeling, for instance, can drift in the first few seconds of a conversation while the model figures out who&#8217;s talking.</p><p>Evaluating a voice tool is harder than evaluating a chatbot. When most of the interaction is audio rather than text, there&#8217;s no clean transcript to check the output against by default, so it&#8217;s tougher to measure whether the tool heard things right. </p><p>Look forward to our team sharing more about this focus area, including things like:</p><ul><li><p>How we approach evaluating a tool like this</p></li><li><p>Feedback and ideas from caseworkers</p></li><li><p>How to implement tools like this responsibility and securely</p></li><li><p>And more!</p></li></ul><p>If you do benefits casework, or build tools for people who do, we&#8217;d like to hear how this lands. Reach us at <a href="mailto:labs@navapbc.com">labs@navapbc.com</a>. See more about the caseworker tools we&#8217;re prototyping, piloting and scaling at <a href="https://caseworker.navapbc.com/">caseworker.navapbc.com</a>.</p>]]></content:encoded></item><item><title><![CDATA[Say hello to Nava Labs Field Notes!]]></title><description><![CDATA[Join us as we show you under the hood of our experimental work as it&#8217;s in progress.]]></description><link>https://fieldnotes.navapbc.com/p/say-hello-nava-labs-field-notes</link><guid isPermaLink="false">https://fieldnotes.navapbc.com/p/say-hello-nava-labs-field-notes</guid><dc:creator><![CDATA[Greg Jordan-Detamore]]></dc:creator><pubDate>Tue, 09 Jun 2026 18:56:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-G2m!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed123b24-b4da-4317-b0ce-d29952489779_708x708.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We&#8217;re excited to launch <strong>Nava Labs Field Notes</strong>, taking you under the hood of our work at Nava Labs.</p><p>Nava Labs is a philanthropically-funded R&amp;D team within Nava, focused on prototyping innovations to the social safety net that government agencies would benefit from but can&#8217;t fund directly. We build and test new approaches to delivering public services, evaluate what works, and advocate for scaling proven solutions.</p><p>While we already regularly share news, case studies, insights, and toolkits on our <a href="https://www.navapbc.com/labs">main website</a>, this Substack will offer something different: a look behind the scenes. Content will include:</p><ul><li><p>Posts from our <a href="https://www.navapbc.com/news/nava-labs-technologist-in-residence">new </a><strong><a href="https://www.navapbc.com/news/nava-labs-technologist-in-residence">Technologist-in-Residence</a></strong><a href="https://www.navapbc.com/news/nava-labs-technologist-in-residence"> team</a> on their experimental work as they prototype and test emerging approaches to public service delivery</p></li><li><p>Updates on our <strong>program evaluation</strong> work, including data deep dives, while analysis is still in progress</p></li><li><p>Our latest <strong>thought processes and frameworks</strong>, even as we&#8217;re still mulling them over</p></li><li><p>Other <strong>field observations</strong> from our work</p></li></ul><p>You can subscribe and get all of our posts straight to your email inbox (or notifications on the Substack mobile app), or you can simply check out posts like a normal blog.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fieldnotes.navapbc.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Nava Labs Field Notes! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>We&#8217;re excited to engage fellow practitioners in this space, building toward the goal of improving service delivery for the public. We&#8217;d love to exchange ideas with you in the comments on our posts.</p><p>Let&#8217;s learn together!</p>]]></content:encoded></item></channel></rss>