{"slug": "i-asked-an-llm-which-listings-to-skip-it-kept-getting-the-numbers-wrong", "title": "I asked an LLM which listings to skip. It kept getting the numbers wrong.", "summary": "A developer built Kriterio, a Chrome extension that checks web listings against user-defined rules and flags them green, amber or red with a stated reason. After finding that an LLM misread prices and invented return policies while sounding equally confident when wrong, the developer split the work so numeric checks like budget parsing run in plain code and the model only handles soft rules. The extension is free to try and the developer is asking how others decide whether to let a model handle numeric judgments.", "body_md": "I waste a stupid amount of time reading pages just to find the one line that rules them out.\n\nA job post where the budget is hidden at the very bottom. \"Brand new\" headphones where the seller note, three scrolls down, says refurbished. A\n\nSo I thought, easy, I'll paste the page into an LLM with my own rules and ask \"should I bother with this?\"\n\nSomething like:\n\n```\nMy rules: budget at least $500, max 3 revisions.\nHere's the job post: ...\nShould I apply? Answer yes or no and why.\n```\n\nIt worked most of the time. Then it said yes to a $300 job. It took \"List price: $79\" as the price when the real price was $129. It told me a product had a 30-day return window on a page that never mentioned returns.\n\nThe problem wasn't that it was wrong sometimes. It was that it sounded exactly as sure when it was wrong.\n\nWhat fixed it was splitting the work:\n\nRoughly:\n\n``` js\nconst budget = readMoney(page, ['budget']); // plain parsing, not the LLM\nif (budget !== null && budget < rules.minBudget) {\n  return no(`Budget is $${budget}, under your $${rules.minBudget} minimum.`);\n}\n// only now ask the model about the soft rules\n```\n\nI wrapped it in a Chrome extension called Kriterio. You set your limits once, open a page, and it shows green, amber or red with the reason. I mostly use it for [job posts / shopping / whatever you actually use it for].\n\nIt's free to try if you want to poke holes in it and give me feedback: [https://chromewebstore.google.com/detail/phmlfimaombpolnlcmgohocekndiinpf](https://chromewebstore.google.com/detail/phmlfimaombpolnlcmgohocekndiinpf)\n\nCurious how others handle this. Do you let the model decide anything numeric, or do you always check it in code?", "url": "https://wpnews.pro/news/i-asked-an-llm-which-listings-to-skip-it-kept-getting-the-numbers-wrong", "canonical_source": "https://dev.to/gk_019a1c50f0a200e67225e0/i-asked-an-llm-which-listings-to-skip-it-kept-getting-the-numbers-wrong-4p41", "published_at": "2026-10-07 17:40:09+00:00", "updated_at": "2026-10-07 17:47:10.436437+00:00", "lang": "en", "topics": ["ai-tools", "large-language-models", "ai-agents"], "entities": ["Kriterio", "Chrome Web Store", "Google Chrome"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/i-asked-an-llm-which-listings-to-skip-it-kept-getting-the-numbers-wrong", "markdown": "https://wpnews.pro/news/i-asked-an-llm-which-listings-to-skip-it-kept-getting-the-numbers-wrong.md", "text": "https://wpnews.pro/news/i-asked-an-llm-which-listings-to-skip-it-kept-getting-the-numbers-wrong.txt", "jsonld": "https://wpnews.pro/news/i-asked-an-llm-which-listings-to-skip-it-kept-getting-the-numbers-wrong.jsonld"}}