<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jebra</title>
    <description>The latest articles on DEV Community by Jebra (@jebra).</description>
    <link>https://dev.to/jebra</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3951164%2F543c3f60-c729-46e2-96b2-3ecf6886847b.png</url>
      <title>DEV Community: Jebra</title>
      <link>https://dev.to/jebra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jebra"/>
    <language>en</language>
    <item>
      <title>Dicts and Docs: The Value of Grammar and Documentation for LLM-Based Automation</title>
      <dc:creator>Jebra</dc:creator>
      <pubDate>Thu, 16 Jul 2026 14:06:03 +0000</pubDate>
      <link>https://dev.to/jebra/dicts-and-docs-the-value-of-grammar-and-documentation-for-llm-based-automation-59p3</link>
      <guid>https://dev.to/jebra/dicts-and-docs-the-value-of-grammar-and-documentation-for-llm-based-automation-59p3</guid>
      <description>&lt;p&gt;What structure (grammar) and documentation (definitions) buys you – before any training &lt;/p&gt;




&lt;p&gt;Our instinct is to pay up for bigger and newer models when an LLM's output is underwhelming but there are two quick fixes: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Documentation&lt;/strong&gt; which operates on how the model understands the task by injecting (at inference time) semantics that pre-training excluded because they belong to a niche domain. Documentation, in this experiment, is API-style documentation that unifies docs from leading HR &amp;amp; Payroll companies. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grammar&lt;/strong&gt; which operates on the model’s output is a schema that the model cannot disobey. We compile our 20-field schema into a formal grammar to constrain decoding. At each step the sampler can only pick tokens the grammar allows, so the model doesn't emit malformed JSON or a value outside what the schema permits.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;We ran the experiment on 264 payroll agreements&lt;/strong&gt; spanning formal contracts through to informal email exchanges and meeting transcripts — offer letters, job postings, and staff handbooks in between. Each had an associated hand-verified gold answer. &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Setup:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Models:&lt;/strong&gt; Qwen2.5-Instruct, run on llama.cpp &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model sizes:&lt;/strong&gt; 3B and 14B &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quantization:&lt;/strong&gt; Q8_0, quantized locally using llama.cpp's convert_hf_to_gguf from the published fp16 weights. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We ran each model four times — once for each combination of the two things we were testing: field names alone versus full definitions, and free decoding versus grammar-constrained decoding. That comes to 2,112 extractions in total.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here’s what we found:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd6mt88v67u1ok3wcdt9e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd6mt88v67u1ok3wcdt9e.png" alt="Summary Image" width="800" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Documentation substitutes for grammar.&lt;/strong&gt;  With definitions in place, the 14B model is accurate across 92% of fields and 31% of records. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grammar does not substitute for documentation.&lt;/strong&gt; Grammar improves but can’t teach a convention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grammar without documentation can hurt – it forces answers on questions the document never addresses.&lt;/strong&gt; When a contract says nothing about a policy, the model must still pick a value — and it picks false 50 times where the right answer was null. Definitions removed the error entirely. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Field accuracy scores (at 92%) may make it seem like the models are near-perfect. But a record is only right when all twenty fields are — and less than a third of the records survive that test. The culprits have a name: bottlenecks. We’ll discuss these in the next post.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
    </item>
    <item>
      <title>When payroll gets complicated, the machine gets harder to please</title>
      <dc:creator>Jebra</dc:creator>
      <pubDate>Thu, 02 Jul 2026 15:30:55 +0000</pubDate>
      <link>https://dev.to/jebra/when-payroll-gets-complicated-the-machine-gets-harder-to-please-5a75</link>
      <guid>https://dev.to/jebra/when-payroll-gets-complicated-the-machine-gets-harder-to-please-5a75</guid>
      <description>&lt;p&gt;The &lt;a href="https://dev.to/jebra/write-for-the-machine-mf"&gt;first experiment&lt;/a&gt; gave clear results: Spell things out and the model performs well. Then we made payroll agreements more complicated – not to be annoying, but to reflect the nature of payroll agreements for shift work. &lt;/p&gt;

&lt;p&gt;The clean result did not survive. &lt;/p&gt;

&lt;p&gt;We ran &lt;a href="https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct-GGUF" rel="noopener noreferrer"&gt;Qwen2.5-1.5B-Instruct&lt;/a&gt; in GGUF format across a wide range of quantization levels, from highly compressed Q2 to near-full-precision FP16, on 2500 payroll clauses that varied in levels of complexity. Complexity here refers to the number of different class types worked at different rates. The agreements varied structurally from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;abbreviated text (S1) to &lt;/li&gt;
&lt;li&gt;semi-structured language (S2) to &lt;/li&gt;
&lt;li&gt;full, grammatically correct sentences (S3). &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy45ngbs45cqsflwb1ex6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy45ngbs45cqsflwb1ex6.png" alt="Chart" width="799" height="331"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;F1 scores are displayed in the heatmap and show:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pay agreement complexity is the primary driver of extraction accuracy&lt;/strong&gt; — the more class types and rate structures a worker has, the harder the model works.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;For simple agreements&lt;/strong&gt; — a salaried worker, a single flat rate — semi-structured text is sufficient. Full prose adds no value and marginally reduces accuracy.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;For complex agreements&lt;/strong&gt; — the shift-based arrangements that define hospitality, fitness, and care work — full grammatical sentences outperform structured shorthand by nearly 21 percentage points. This is where off-the-shelf models struggle most, and where a fine-tuned model delivers the clearest commercial advantage.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Does a bigger model solve the problem?
&lt;/h2&gt;

&lt;p&gt;We are building toward a fine-tuned model for payroll rule extraction. &lt;br&gt;
We need to know 2 things before we get there:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performance ceiling of an off-the-shelf model&lt;/li&gt;
&lt;li&gt;the &lt;em&gt;best accuracy-to-compute tradeoff&lt;/em&gt; for production environment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So we ran the same experiment across four quantization levels of the same base model: 2-bit, 4-bit, 8-bit, and 16-bit.&lt;/p&gt;

&lt;p&gt;The results were clear:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The 2-bit model is not viable. &lt;/li&gt;
&lt;li&gt;The 4-bit model underperforms on complex structures, which makes it inadequate for shift work. &lt;/li&gt;
&lt;li&gt;The 8-bit and 16-bit models are statistically indistinguishable at every complexity level. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmhjboo84kp5uuy0lfht4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmhjboo84kp5uuy0lfht4.png" alt="Complexity vs F1 Score" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;8-bit currently offers the best tradeoff we have measured. But this experiment tested one model family. The next step is running the same experiment across a selection of model architectures to understand if different base models yield different results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They likely do - and that comparison will inform which model we fine-tune.&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Write for the machine</title>
      <dc:creator>Jebra</dc:creator>
      <pubDate>Fri, 19 Jun 2026 14:49:30 +0000</pubDate>
      <link>https://dev.to/jebra/write-for-the-machine-mf</link>
      <guid>https://dev.to/jebra/write-for-the-machine-mf</guid>
      <description>&lt;h2&gt;
  
  
  Write for the machine, not the expert
&lt;/h2&gt;

&lt;p&gt;The effect of abbreviation, syntax, redundancy, and filler words on structured information extraction&lt;/p&gt;

&lt;p&gt;Does how we write matter when feeding unstructured text to an LLM? Experiment 1 isolates this question using a deliberately simple test case: a single flat payroll agreement containing 11 fields.&lt;/p&gt;




&lt;h2&gt;
  
  
  Experimental Setup
&lt;/h2&gt;

&lt;p&gt;•&amp;nbsp;&lt;strong&gt;Dataset:&lt;/strong&gt; 1,000 rows of text total (the same payroll agreement written in 5 distinct styles across 200 unique workers).&lt;br&gt;
•&amp;nbsp;&lt;strong&gt;Model:&lt;/strong&gt; Qwen2.5-1.5B-Instruct in GGUF format (tested across a wide range of quantizations from Q2 to FP16 in a CPU-only environment).&lt;br&gt;
•&amp;nbsp;&lt;strong&gt;Inference Pipeline:&lt;/strong&gt; To prevent malformed JSON, we utilized grammar-constrained decoding via &lt;code&gt;LlamaGrammar.from_json_schema()&lt;/code&gt;, restricting token generation to the target structure.&lt;br&gt;
•&amp;nbsp;&lt;strong&gt;Metric:&lt;/strong&gt; Accuracy was measured using field-level extraction quality:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Accuracy = True Positives / Total Unique Fields&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Here is the exact JSON used as the target baseline for a test case:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="nl"&gt;"first_name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Layla"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="nl"&gt;"last_name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Silva"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="nl"&gt;"worker_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"contractor"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="nl"&gt;"class_name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Boxing"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="nl"&gt;"pay_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"per_class"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="nl"&gt;"class_rate"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;40.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="nl"&gt;"bonus_amount"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;4.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="nl"&gt;"bonus_threshold"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="nl"&gt;"head_count_basis"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"check_ins_late_cancels"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="nl"&gt;"holiday_rate_multiplier"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;1.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="nl"&gt;"cap_per_session"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;100.0&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;S1&lt;br&gt;
&lt;strong&gt;Label&lt;/strong&gt;&lt;br&gt;
Shorthand&lt;br&gt;
&lt;strong&gt;Description&lt;/strong&gt;&lt;br&gt;
Abbreviations, symbols, no verbs&lt;br&gt;
&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
Layla Silva [C]: Boxing $40/class. $4/head &amp;gt;8 att (CI+LC). Holiday 1.5x. Cap $100/session.&lt;/p&gt;

&lt;p&gt;S2&lt;br&gt;
&lt;strong&gt;Label&lt;/strong&gt;&lt;br&gt;
Spelled-out&lt;br&gt;
&lt;strong&gt;Description&lt;/strong&gt;&lt;br&gt;
Abbreviations replaced with full words, colons as separators&lt;br&gt;
&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
Layla Silva [contractor]. Rate: $40/class — Boxing. $4/head when attendance exceeds 8 (check-ins and late cancels). Holiday rate: 1.5x standard. Session cap: $100.&lt;/p&gt;

&lt;p&gt;S3&lt;br&gt;
&lt;strong&gt;Label&lt;/strong&gt;&lt;br&gt;
Explicit prose&lt;br&gt;
&lt;strong&gt;Description&lt;/strong&gt;&lt;br&gt;
Full sentences, one clean statement per field&lt;br&gt;
&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
Layla Silva operates as an independent contractor. She is paid $40 for each Boxing class she teaches. For every attendee above 8, she receives $4 extra, counting check-ins and late cancels. Public holidays attract a 1.5x multiplier on her $40 base rate. Session earnings are capped at $100.&lt;/p&gt;

&lt;p&gt;S4&lt;br&gt;
&lt;strong&gt;Label&lt;/strong&gt;&lt;br&gt;
Explicit redundant prose&lt;br&gt;
&lt;strong&gt;Description&lt;/strong&gt;&lt;br&gt;
Same as S3 but key values repeated across sentences&lt;br&gt;
&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
Layla Silva is hired as a contractor. Her Boxing rate is $40 per class. Each Boxing class she teaches pays $40. For Boxing classes, a per-head bonus of $4 applies for each attendee above 8, counting check-ins and late cancels. The $4 per-head threshold is 8. The Boxing rate of $40 increases to $60.00 on holidays (1.5x the $40 base). Per-session Boxing earnings are limited to $100 in total.&lt;/p&gt;

&lt;p&gt;S5&lt;br&gt;
&lt;strong&gt;Label&lt;/strong&gt;&lt;br&gt;
Explicit prose with filler&lt;br&gt;
&lt;strong&gt;Description&lt;/strong&gt;&lt;br&gt;
Same as S3 but legal boilerplate text introduced.&lt;br&gt;
&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
Layla Silva is contracted as a self-employed instructor. Her contractual rate for Boxing is $40 per class. For the purposes of this arrangement, she is entitled to a per-head bonus of $4 for each attendee above 8, counting check-ins and late cancels. As per the agreed terms, work on designated public holidays is paid at 1.5 times the standard rate. Total per-session earnings are capped at $100.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fggeeuch0dtbgmamaxy4v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fggeeuch0dtbgmamaxy4v.png" alt="Average extration accuracy across pairs of sentence types" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Findings
&lt;/h2&gt;

&lt;p&gt;The results highlight a distinct hierarchy in how language style impacts extraction accuracy:&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Spelling out words is paramount:&lt;/strong&gt; Replacing cryptic abbreviations with full words (S1 to S2) yielded the largest performance jump, nearly 11 percentage points.&lt;br&gt;
•&amp;nbsp;&lt;strong&gt;Syntax matters less than semantics:&lt;/strong&gt; Moving from spelled-out shorthand to full grammatical sentences (S2 to S3) made no meaningful difference. If the vocabulary is explicit, the model extracts efficiently without prose.&lt;br&gt;
•&amp;nbsp;&lt;strong&gt;Redundancy degrades accuracy:&lt;/strong&gt; Repeating key values across sentences (S4) underperforms. Instead of providing helpful "anchors," duplication introduces token ambiguity that misleads the model.&lt;br&gt;
•&amp;nbsp;&lt;strong&gt;Filler text introduces noise:&lt;/strong&gt; Adding filler text like “subject to the terms of the agreement” also had a negative impact.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
