2020
Language Models are Few-Shot Learners
Where prompt engineering starts. The limitation matters as much as the result: few-shot performance is sensitive to the examples you pick and to their order.
The service marquee on our own homepage advertised lines the business had stopped selling, twice, because the marquee kept its own hand-written list of service names instead of reading the one the grid used. Two copies of one fact drift apart. That is the whole finding.
The homepage rendered services from one array and the scrolling marquee rendered its own separate array of labels. They disagreed twice. First, two retired lines kept scrolling after they had stopped being sold. Then, two more were still scrolling while absent from the live set.
Nobody was careless. The bug is the duplication itself: two hand-written copies of one fact will drift, and the drift is invisible because both copies look correct in isolation.
Service definitions moved to a single module. The marquee now derives its labels from the same function the grid uses, so they cannot disagree. Retiring a line is one edit in one place.
The same failure appears anywhere a fact is re-typed rather than referenced: pricing in a landing page and a checkout, a model name in a config and a documentation page, a count in a hero and a database query.
The test is simple. If changing a fact requires you to remember how many places mention it, it will be wrong within a month.
@article{desk2026two,
author = {Ejentic Research Desk},
title = {Two Lists, One Fact: what duplicated service data costs},
year = {2026}
}2020
Where prompt engineering starts. The limitation matters as much as the result: few-shot performance is sensitive to the examples you pick and to their order.
2018
Still the right answer for classification, extraction and embedding at small scale. Not every problem needs a generative model.
2017
The substrate. Everything on this page assumes it, and the parallelism is the reason the field could scale at all.