<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>agents-from-first-principles examples on Programmer.ie: Modern AI programming</title>
		<link>http://programmer.ie/examples/agents-from-first-principles/</link>
		<description>Recent content in agents-from-first-principles examples on Programmer.ie: Modern AI programming</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<atom:link href="http://programmer.ie/examples/agents-from-first-principles/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Validate the whole proposal before any side effect</title>
				<link>http://programmer.ie/examples/agents-from-first-principles/02-chapter/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>http://programmer.ie/examples/agents-from-first-principles/02-chapter/</guid>
				<description>&lt;p&gt;A model can propose more than a runtime should do, and the chapter&amp;rsquo;s claim is&#xA;that the boundary has to answer three separate questions in order, and fail&#xA;loudly at each. Does the proposal have the right &lt;em&gt;shape&lt;/em&gt;? Are the values&#xA;usable? And may this run perform it? A proposal that passes the first two can&#xA;still be refused by the third.&lt;/p&gt;&#xA;&lt;h2 id=&#34;run-it&#34;&gt;Run it&lt;/h2&gt;&#xA;&lt;p&gt;The boundary is the chapter&amp;rsquo;s own code. Save the first block as&#xA;&lt;code&gt;action_boundary.py&lt;/code&gt;, save the second as &lt;code&gt;demo.py&lt;/code&gt; beside it, and run the&#xA;driver with Python 3.11 or later. The standard library only: no model, no&#xA;network, no service.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Measure the gap between what you generated and what you chose</title>
				<link>http://programmer.ie/examples/agents-from-first-principles/03-chapter/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>http://programmer.ie/examples/agents-from-first-principles/03-chapter/</guid>
				<description>&lt;p&gt;Generating more candidates is only half of the work, and the chapter&amp;rsquo;s claim is&#xA;that the two halves have to be measured &lt;em&gt;separately&lt;/em&gt;. &lt;code&gt;oracle@N&lt;/code&gt; asks whether a&#xA;successful candidate was ever generated. &lt;code&gt;selected@N&lt;/code&gt; asks whether the selector&#xA;picked it. The difference is the selection gap, and it is the diagnosis: a&#xA;large gap means the answers were already there and the selector is losing&#xA;them.&lt;/p&gt;&#xA;&lt;h2 id=&#34;run-it&#34;&gt;Run it&lt;/h2&gt;&#xA;&lt;p&gt;The instrument is the chapter&amp;rsquo;s own code. Save the first block as&#xA;&lt;code&gt;selection_gap.py&lt;/code&gt;, save the second as &lt;code&gt;demo.py&lt;/code&gt; beside it, and run the driver&#xA;with Python 3.11 or later. The standard library only: no model, no network.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
