Model · PaperOpen weights · Apache-2.0

Pocketsflow Penny 1

A small open model for the decisions inside software: refunds, moderation, agent actions, tickets. Ask it to choose, say yes or no, or score. It answers with a confidence you can trust, on your own machine.

Copper rings drawn with the playgrnd.tools Whorl generator
73%Accuracy on task types it never saw
596MParameters
396.7 MBDownload (Q4_K_M GGUF)
387 msPer decision on a 4-core CPU

Abstract

A decision, not a paragraph

Most questions inside software have a short answer: approve or hold, allow or block, which queue, how risky. General chat models answer them with paragraphs and cannot say how sure they are. Penny 1 reads a situation (JSON, a message, a table row) and a typed question, and returns one answer with a calibrated probability in a single forward pass.

It is a 596M model fine-tuned from Qwen3-0.6B on synthetic, cross-checked decisions across 22 kinds of task, from refunds to content moderation and AI-agent guardrails. On six kinds it never saw it scores 73%, against 85% for Llama 3.3 70B, and its confidence is calibrated to within 5.2%. It runs locally in Ollama, LM Studio and llama.cpp; the weights are Apache-2.0.

Results

2128 judged questions · 7 models

Accuracy on decisions it never trained onHeld-out task types, by model size
30%40%50%60%70%80%90%100%300M1B3B10B30B100BParameters (log scale)gpt-oss 20B · 20.9B · 87.9% on unseen tasksgpt-oss 20B 88%Llama 3.3 70B · 70.6B · 84.7% on unseen tasksLlama 3.3 70B 85%Llama 3.1 8B · 8B · 76.6% on unseen tasksLlama 3.2 3B · 3.2B · 74.2% on unseen tasksQwen3 0.6B · 596M · 54.9% on unseen tasksQwen3 0.6B 55%Llama 3.2 1B · 1.2B · 43.3% on unseen tasksPenny 1 · 596M · 73.5% on unseen tasksPenny 1 73%
Confidence you can trustUnseen tasks: stated confidence vs. how often it was right
Penny 1 · error 5.2% Qwen3 0.6B untuned · error 25.0%
0%0%25%25%50%50%75%75%100%100%perfectQwen3 0.6B: said 38%, right 20% (5 answers)Qwen3 0.6B: said 47%, right 16% (25 answers)Qwen3 0.6B: said 55%, right 46% (155 answers)Qwen3 0.6B: said 65%, right 47% (174 answers)Qwen3 0.6B: said 75%, right 46% (170 answers)Qwen3 0.6B: said 85%, right 49% (219 answers)Qwen3 0.6B: said 94%, right 66% (194 answers)Penny 1: said 27%, right 24% (110 answers)Penny 1: said 34%, right 28% (126 answers)Penny 1: said 45%, right 35% (51 answers)Penny 1: said 54%, right 61% (98 answers)Penny 1: said 64%, right 56% (80 answers)Penny 1: said 75%, right 63% (76 answers)Penny 1: said 85%, right 82% (147 answers)Penny 1: said 96%, right 94% (254 answers)
73%on unseen task types, against 85% for Llama 3.3 70B, a model 118× larger
55% → 73%what fine-tuning added to its untuned base model
5.2%calibration error: when it says 90%, it is right about 90% of the time
Accuracy by taskThe last three were never in training
Penny 1 Llama 3.3 70B
40%50%60%70%80%90%100%Refunds: Penny 1 79.6%, Llama 3.3 70B 77.5%RefundsDisputes: Penny 1 81.9%, Llama 3.3 70B 72.2%DisputesPayment risk: Penny 1 70.4%, Llama 3.3 70B 87.0%Payment riskRetention: Penny 1 70.0%, Llama 3.3 70B 72.0%RetentionExpense policy: Penny 1 66.7%, Llama 3.3 70B 85.2%Expense policyPayout review: Penny 1 74.6%, Llama 3.3 70B 89.1%Payout reviewPlan fit: Penny 1 66.1%, Llama 3.3 70B 83.0%Plan fitBilling support: Penny 1 72.9%, Llama 3.3 70B 87.5%Billing supportBookkeeping: Penny 1 66.7%, Llama 3.3 70B 88.1%BookkeepingSpend anomalies: Penny 1 66.7%, Llama 3.3 70B 77.8%Spend anomaliesLead priority: Penny 1 67.5%, Llama 3.3 70B 87.5%Lead priorityModeration: Penny 1 59.3%, Llama 3.3 70B 90.7%ModerationTicket routing: Penny 1 87.8%, Llama 3.3 70B 80.5%Ticket routingGrading AI answers: Penny 1 89.5%, Llama 3.3 70B 87.7%Grading AI answersAgent guardrails: Penny 1 78.8%, Llama 3.3 70B 90.9%Agent guardrailsIntent: Penny 1 84.6%, Llama 3.3 70B 84.6%IntentSpam and phishing: Penny 1 73.1%, Llama 3.3 70B 92.3%Spam and phishingBug triage: Penny 1 80.3%, Llama 3.3 70B 89.4%Bug triageReviews: Penny 1 87.3%, Llama 3.3 70B 94.4%ReviewsData quality: Penny 1 74.1%, Llama 3.3 70B 81.0%Data qualitySearch relevance: Penny 1 83.3%, Llama 3.3 70B 90.5%Search relevanceTask priority: Penny 1 82.0%, Llama 3.3 70B 86.9%Task priorityInvoice approval: Penny 1 70.8%, Llama 3.3 70B 84.3%Invoice approvalDiscount approval: Penny 1 66.0%, Llama 3.3 70B 83.0%Discount approvalCollections: Penny 1 61.5%, Llama 3.3 70B 75.4%CollectionsAgent tool routing: Penny 1 78.2%, Llama 3.3 70B 87.8%Agent tool routingCode review: Penny 1 74.1%, Llama 3.3 70B 83.2%Code reviewDocument filing: Penny 1 85.3%, Llama 3.3 70B 91.4%Document filing

By question type

TypePenny 1Llama 70B
Choose73.4%82.5%
Yes or no75.8%87.4%
Score 1–575.7%85.3%

Scores count as right within one point of the judged answer.

Answer less, be right moreUnseen tasks: share answered automatically vs. accuracy on those
65%70%75%80%85%90%95%100%100%80%60%40%20%Questions answered automaticallyThreshold 0%: answers 100% of questions at 73.5% accuracyallThreshold 50%: answers 70% of questions at 78.5% accuracy≥50%Threshold 60%: answers 59% of questions at 81.3% accuracy≥60%Threshold 70%: answers 51% of questions at 85.3% accuracy≥70%Threshold 80%: answers 43% of questions at 89.5% accuracy≥80%Threshold 90%: answers 27% of questions at 94.1% accuracy≥90%Threshold 95%: answers 18% of questions at 97.1% accuracy≥95%

Thresholds

Automate the sure ones

Because the confidence is calibrated, a threshold is a dial between automation and accuracy. At 90%, Penny decides 27% of unseen-task questions on its own and is right on 94.1% of them; the rest go to a person.

Answer if ≥AutomatedAccuracy
always100%73.5%
50%70%78.5%
60%59%81.3%
70%51%85.3%
80%43%89.5%
90%27%94.1%
95%18%97.1%

Compared

Same questions, every model

ModelParamsRunsTrained tasksUnseen tasksCalibration error (unseen)
gpt-oss 20B20.9BAPI86.6%87.9%—
Llama 3.3 70B70.6BAPI85.1%84.7%—
Llama 3.1 8B8BAPI75.8%76.6%—
Llama 3.2 3B3.2BAPI70.7%74.2%—
Penny 1596MLocal75.9%73.5%5.2%
Qwen3 0.6B
Penny's base, untuned
596MLocal50.8%54.9%25.0%
Llama 3.2 1B1.2BAPI47.3%43.3%—

Local models answer from next-token probabilities, so their calibration is measurable; API models answer one token at temperature 0 and report no probabilities. Test questions were written by a model that wrote no training data and kept only when an independent judge (gpt-oss-120b, not in this table) agreed. Unseen tasks, absent from training: invoice approval, discount approval, collections, agent tool routing, code review, document filing. Calibration error is measured on those unseen tasks.

Cost

Per million decisions

Intelligence per dollarAccuracy on unseen tasks vs. cost per million decisions
30%40%50%60%70%80%90%100%$1$3$10$30$100$300USD per million decisions (log scale)Penny 1: $7.59 per million decisions, 73.5% on unseen tasksPenny 1Llama 3.2 1B: $5.37 per million decisions, 43.3% on unseen tasksLlama 3.2 1BLlama 3.2 3B: $10.89 per million decisions, 74.2% on unseen tasksLlama 3.2 3BLlama 3.1 8B: $27.35 per million decisions, 76.6% on unseen tasksLlama 3.1 8BLlama 3.3 70B: $63.15 per million decisions, 84.7% on unseen tasksLlama 3.3 70Bgpt-oss 20B: $87.73 per million decisions, 87.9% on unseen tasksgpt-oss 20B
Cost per million decisionsPenny on a 4 vCPU / 8 GB cloud server at $48/month; APIs at list price
Llama 3.2 1Bhosted API$5.37
Penny 1self-hosted$7.59
Llama 3.2 3Bhosted API$10.89
Llama 3.1 8Bhosted API$27.35
Llama 3.3 70Bhosted API$63.15
gpt-oss 20Bhosted API$87.73
$7.59per million decisions, self-hosted on one 4 vCPU / 8 GB cloud server
8× cheaperthan Llama 3.3 70B on a hosted API, for 11 points less accuracy on unseen tasks
6.3Mdecisions a month from that one server (2.44 per second)

API cost = measured prompt and answer tokens × Workers AI list prices (Oct 2026). Self-hosted cost = server price ÷ measured throughput (llama-server, 4 parallel slots, Q4_K_M); your hardware, power and utilisation will differ. On a machine you already own, the marginal cost is electricity.

Time per decisionMedian, milliseconds
Penny 1 Q4_K_Mlocal · 4 CPU cores387
Penny 1 Q8_0local · 4 CPU cores603
gpt-oss 20Bhosted API, incl. network1,510
Llama 3.3 70Bhosted API, incl. network380
Llama 3.1 8Bhosted API, incl. network520
Llama 3.2 3Bhosted API, incl. network268
Llama 3.2 1Bhosted API, incl. network334

Quantization

BuildSizeUnseen money tasks
PyTorch fp322.4 GB66.6%
GGUF Q8_0639.4 MB66.6%
GGUF Q4_K_M396.7 MB65.7%

GGUF builds were scored through the public client against llama-server, the same path Ollama and LM Studio use.

Method

  1. 01

    Written to an answer

    Three open models wrote 23,158 decisions across 28 kinds of task, money and general. The answer was fixed before writing (which option, yes or no, which score), so labels are balanced and exact. No customer data.

  2. 02

    Judged blind

    A different model answered every question without seeing the intended answer; only agreements were kept (12,890). Test questions came from a fourth model that wrote no training data.

  3. 03

    Tuned on one token

    LoRA on the answer token only, then one temperature per question type fitted on validation data, then GGUF quantization and a re-test through the client.

Base modelQwen/Qwen3-0.6B
AdapterLoRA rank 16, top 14 of 28 layers, merged into the weights
Training10,101 questions · 3 passes, 1146 steps · batch 8 · lr 0.0002 · CPU only, 7 h
CalibrationT = 1.1985 (choose) · 1.0396 (yes/no) · 0.935 (score)
Evaluation1186 trained-task + 942 unseen-task questions · held-out generator · independent judge

Where it fits

Worked examples →
  • Agent guardrailsRun it, ask the user first, or block the action an AI agent proposes.
  • ModerationKeep, hide or remove a comment, a review or a listing.
  • Ticket routingSend each message to the right team and spot the urgent ones.
  • Grading AI answersScore another model's answer before it reaches a user.
  • RefundsRefund, store credit or decline, from the order and the message.
  • Fraud reviewScore a payment's risk before it ships; queue only the doubtful ones.
  • Bug triageSeverity and owner for an incoming bug report.
  • Spam and phishingIs this message safe to deliver?

Limits

It sorts. People decide.

  • Trained and tested on synthetic situations. Measure it on your own data before relying on it.
  • English only. One situation and one question per call; up to 8 options.
  • Not for credit, lending, insurance, hiring or any decision about a person's access to services.
  • Never move money or close accounts on its answer alone: route low confidence to a person.
  • Scores (1–5) cluster near the middle on unfamiliar inputs, and a score counts as right within one point. Prefer choose or yes / no for decisions that matter.
  • Not a security control. It can be confidently wrong about a dangerous agent command; keep a hard allow-list in front of anything destructive.
  • The test labels are model-judged; a human-labelled benchmark is the next step.

Cite

BibTeX

@misc{pocketsflow2026penny,
  title  = {Pocketsflow Penny 1: a small open decision model},
  author = {{Pocketsflow Research}},
  year   = {2026},
  url    = {https://www.pocketsflow.com/research/penny}
}