fix(workshop): starter prompts must be imperative, not interrogative
Measured on the board 2026-07-20. Same agent, same 708-token prompt, phrasing the only variable: "List the I2C devices on the bus." -> tool call, answered in 20s "What sensors can you find on the bus?" -> no tool call at all, >200s The first starter prompt shipped as the interrogative form. Teams typing a question would have watched their board hang for minutes and concluded the agent was broken. Now imperative, with the measurement recorded next to the list so nobody "improves" it back into a question. Also surfaces the asymmetry to students inline: it is a genuine failure mode of small on-device models, and belongs in their Layer 3 rather than being hidden. Separately confirmed the agent does not hallucinate hardware: asked to list I2C devices on a board with an empty bus, it ran the tool and reported the bus numbers rather than inventing a sensor. Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
32750b0d9d
commit
e27fad46e2
@@ -19,9 +19,16 @@ interface Entry {
|
|||||||
* during their own sensing week, so the agent discovers what is actually on the
|
* during their own sensing week, so the agent discovers what is actually on the
|
||||||
* bus rather than being told. The last one needs no sensor at all, as a fallback
|
* bus rather than being told. The last one needs no sensor at all, as a fallback
|
||||||
* for hardware that will not enumerate.
|
* for hardware that will not enumerate.
|
||||||
|
*
|
||||||
|
* KEEP THESE IMPERATIVE. Measured on the board 2026-07-20: the on-board 0.5B
|
||||||
|
* reliably calls its tools when told to do something ("List the I2C devices on
|
||||||
|
* the bus." -> tool call, 20s) but stalls without ever calling one when asked a
|
||||||
|
* question ("What sensors can you find on the I2C bus?" -> no tool call, >200s).
|
||||||
|
* Same agent, same 708-token prompt; phrasing was the only variable. Anything
|
||||||
|
* added here should be an instruction, not a question.
|
||||||
*/
|
*/
|
||||||
const EXAMPLE_PROMPTS = [
|
const EXAMPLE_PROMPTS = [
|
||||||
'What sensors can you find on the I2C bus?',
|
'List the I2C devices on the bus',
|
||||||
'Read my sensor and print a value once a second',
|
'Read my sensor and print a value once a second',
|
||||||
'Light the matrix red when the reading crosses a threshold I set',
|
'Light the matrix red when the reading crosses a threshold I set',
|
||||||
'Scroll GO CLAWS on the LED matrix',
|
'Scroll GO CLAWS on the LED matrix',
|
||||||
@@ -84,6 +91,12 @@ export function BuildFlash() {
|
|||||||
Point the agent at the sensor you already have wired. It finds the device, writes a sketch using
|
Point the agent at the sensor you already have wired. It finds the device, writes a sketch using
|
||||||
its skills, and flashes the MCU — sense, decide, act, on your own hardware. The conversation lives
|
its skills, and flashes the MCU — sense, decide, act, on your own hardware. The conversation lives
|
||||||
in the node; the activity feed streams here.
|
in the node; the activity feed streams here.
|
||||||
|
<br />
|
||||||
|
<span className="text-foreground">
|
||||||
|
Phrase it as an instruction, not a question.
|
||||||
|
</span>{' '}
|
||||||
|
“List the I2C devices” works; “what sensors can you find?” tends to stall without ever calling a
|
||||||
|
tool. That asymmetry is itself a failure mode of small on-device models — worth a line in Layer 3.
|
||||||
</p>
|
</p>
|
||||||
<OpenYourNode variant="inline" className="shrink-0 mt-0.5" />
|
<OpenYourNode variant="inline" className="shrink-0 mt-0.5" />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user