惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
J
Java Code Geeks
爱范儿
爱范儿
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队
人人都是产品经理
人人都是产品经理
Martin Fowler
Martin Fowler
IT之家
IT之家
博客园_首页
B
Blog RSS Feed
Google DeepMind News
Google DeepMind News
B
Blog
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog
博客园 - 聂微东
腾讯CDC
A
About on SuperTechFans

Hacker News - Newest: "LLM"

GitHub - lechmazur/position_bias: A benchmark for testing whether LLM judges keep the same preference when two lightly edited versions of the same story are shown in opposite orders. Flex routing (EU and EFTA) Dark Factories: Retooling for LLM Velocity Ask HN: What would be the impact of a LLM output injection attack? GitHub - Oaklight/llm-rosetta: Production-ready LLM API translation layer for Python — bidirectional conversion between OpenAI, Anthropic & Google formats via hub-and-spoke IR. Optional API gateway. Streaming & non-streaming. Zero core deps. Contributions welcome! GitHub - browser-use/browser-harness: Self-healing browser harness that enables LLMs to complete any task. GitHub - moeen-mahmud/remen: Remen turns thoughts into something you can return to Analyzing 156 LLM Launch Posts on Hacker News ChatGPT vs Gemini vs Claude: The Best LLM Subscription You Should Buy GitHub - salaamalykum/quran-semantic-search: High-density RAG Semantic Search Engine & Quran Corpus (GEO/SEO Architecture) GitHub - NVIDIA/TensorRT-LLM: TensorRT LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and supports state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT LLM also contains components to create Python and C++ runtimes that orchestrate the inference execution in a performant way. The State of LLM Bug Bounties in 2026 Operational Readiness Criteria for Tool-Using LLM Agents Meshcore: Architecture for a Decentralized P2P LLM Inference Network How an LLM becomes more coherent as we train it GitHub - seetrex-ai/laimark GitHub - Jossifresben/BibCrit: AI-assited biblical textual criticism GitHub - wastedcode/memex: File system based wiki, maintained by Claude 99helpers.com GitHub - cliver-project/AITrigram GitHub - unbody-io/adapt: A self-evolving memory layer for AI agents. GitHub - hb20007/awesome-gen-ai-fails: A list of incidents where reliance on generative AI and LLMs resulted in harm to companies, individuals, or society GitHub - nevenkordic/localmind: Run any local LLM with persistent memory and context. CLI agent over Ollama with SQLite-backed hybrid recall. No cloud. Ask HN: What are the machine requirements for a LLM like Llama-3.1-8B? Faster LLM Inference via Sequential Monte Carlo grpo explained: group relative policy optimization for llm finetuning - cgft Stop comparing price per million tokens: the hidden LLM API costs · TensorZero Andrej Karpathy's LLM Wiki Is a Bad Idea GitHub - GG-QandV/mnemostroma: Offline RAM-first cognitive leer/coprocessor for AI agents and robotics. Solves "Context Abandonment" with 20-80ms latency using a dual-thread biomimetic memory architecture (ONNX + SQLite WAL). mempalace/agent at agent · skorotkiewicz/mempalace
The LLM Looked Smart. The Metrics Disagreed – tiago.rio.br
timotta · 2026-05-18 · via Hacker News - Newest: "LLM"

This case from early 2025 is an interesting reminder that, even in this brave new world where models are increasingly commoditized through transformers and LLMs, the old concepts of data science still stubbornly refuse to die.

Back then, Will Bank had one clear mission: credit. That was about to change.

I was hired to help expand the product by offering free digital bank accounts, even to people who wouldn’t qualify for credit. I already touched on part of this story in “An Approval Model That Finally Got Approved”, but this chapter came with an entirely different headache.

Among many operational issues, there was one problem loud enough to echo through every metrics dashboard: public brand backlash.

People who were approved for a digital account without credit complained, loudly, across every imaginable channel. Social media, review platforms, app stores. The result? Lower brand affinity and, naturally, a bruised App Store rating. Because if there’s one thing users love, it’s receiving almost what they wanted.

This backlash represented a major risk.

On one side, we were carefully expanding account approvals using machine learning models and improving the app experience to make account conditions clearer. On the other side, we desperately needed to monitor whether this public frustration was quietly snowballing into another brand disaster.

The “Simple” Solution

At first glance, the solution seemed trivial: Why not use an LLM to read reviews and complaints from multiple channels and classify whether each one was specifically about being approved for a digital account without credit?

In fact, the company had just hired an AI vendor to classify reviews using nothing more than prompt engineering. And, honestly, the results looked promising. Through the tool’s interface, the segment of complaints we cared about looked coherent. Very few absurd classifications. Anecdotally, the mistakes even felt reasonable.

Which, as every data scientist learns sooner or later, is exactly when you should become suspicious.

The Question Nobody Was Asking

The visualization clearly suggested that the LLM + prompt setup had decent precision. But what about recall? In other words: were we actually capturing most real cases, or were we simply getting a polished-looking subset while missing the majority of the problem?

Time for some good old-fashioned manual labor. I downloaded a random sample of 750 reviews and manually labeled them in a spreadsheet.

Yes, manually.

No magic. No AI. Just me, a spreadsheet, and the growing realization that perhaps the robots weren’t replacing us that quickly. Then I ran the company’s shiny AI classifier and calculated precision and recall. The results?

  • Precision: 85%
  • Recall: a painful 42%

In plain English: when it flagged a complaint, it was usually right. The problem was that it simply missed most of them.

A Subtle but Important Confusion

While annotating the data, I noticed something interesting, there was another very common complaint that looked almost identical: Customers who wanted a digital account but got rejected because they weren’t eligible for credit were often being confused with customers who received a digital account but no credit.

The wording was remarkably similar. At that point, I made a deliberate modeling decision: treat both complaints as the same category.

Why?

Because what we were doing could increase complaints about not receiving credit. But if, at the same time, it reduced complaints from people being denied accounts altogether, we could reasonably argue that this wasn’t net brand deterioration.

Conveniently, the model’s inability to perfectly distinguish between both complaint types suddenly became less of a bug and more of a feature. The precision and recall numbers mentioned above already reflect this revised manual labeling strategy.

Prompt Engineering Hits a Wall

I tried tuning the original prompt. Some improvements here, some regressions there, the familiar short blanket problem we had already discussed in the article about Podium: cover one side, expose the other.

The tuning became increasingly specific. And the more specific it got, the more uncomfortable I became. At some point, I realized I was effectively handcrafting the logic the machine was supposed to learn by itself. It started feeling suspiciously like overfitting, except I was the one being overfit to the dataset.

It was time to stop pretending prompts were enough and build an actual model.

Building a Real Classifier

I downloaded 3,000 additional random samples and labeled them manually.

Again.

Because apparently my relationship with spreadsheets had become serious.

I tested a few relatively simple classification approaches. The best-performing one used XGBoost with text embeddings generated through a BERT model from Sentence Transformers. The results improved:

  • Precision: 81%
  • Recall: 65%

Better. Still not good enough.

Fine-Tuning an LLM (Properly This Time)

Then I thought:

What if I fine-tuned GPT to behave like a classifier instead of trying to bully it into becoming one through prompts?

OpenAI allows fine-tuning through its interface. Token costs are higher for fine-tuned models, which initially looked concerning, but the experiment felt worth running. I created a very simple dataset:

Input: review text Output: one of only two words: “yes” or “no”

We fine-tuned the model using those 3,000 labeled samples. The results on the test set were excellent:

  • Precision: 91%
  • Recall: 86%

Finally, something good enough for monitoring purposes.

/assets/images/llmrecall.png

The Cost (Surprisingly) Wasn’t the Problem

Ironically, cost turned out to be the least interesting part of the story. Yes, token pricing for a fine-tuned GPT model was higher. But because the model had effectively learned to respond with a single token, inference became absurdly cheap.

The fine-tuning itself cost around $9 (mostly because we ran several experiments), and the monthly cost of evaluating new reviews stayed below $1. For a problem tied to brand reputation, that was practically pocket change.

The Most Boring Ending Possible

We automated the classification of incoming reviews.

The data became a dashboard.

We checked it daily.

Then weekly.

Then monthly.

And eventually, we forgot it existed.

Which, in observability, is often the happiest ending you can hope for.

Because by then, we had gained enough confidence that with all the changes we were doing in the app, opening digital accounts without credit was not creating the same brand backlash that had happened in the past.

And sometimes, success looks suspiciously like becoming boring.

Tiago Albineli Motta @ 2026-05-17