Tell the LLM the business context
Employees do better when they have more business context.
The same is true of LLMs!
To do its best work,
the LLM needs to know why it’s being prompted,
where its input came from,
how its output will be used,
and how its output will be judged.
Many prompters try to tell the LLM how to achieve some task,
but it’s often better to just give it the business context.
An example.
Your cooking blog has a very plain homepage.
Wouldn’t it be nicer, you think, if each link to a blog post included an intro paragraph to draw readers in?
And isn’t this the kind of thing an LLM should be great at writing?
So you write your first prompt:
Summarize the following article.
You run it on your blog posts, but the responses you get are inconsistent and mediocre.
You pile more instructions into the prompt, until you end up with:
Summarize the following article.
No more than 2-3 sentences.
Make it engaging so the reader wants to know more.
Never refer to "the post"; instead summarize directly.
Never refer to "the author"; instead use "I".
Here are some examples: ...
But the LLM rarely remembers all the rules.
Why is it so stupid, you wonder?
Instead, try telling the LLM the business context.
Here’s an alternative prompt:
CalebCooks.com is Caleb Smith's blog about cooking.
Each post link on the homepage has the post title, plus a teaser paragraph.
You are given a post's title and content, and you write its teaser paragraph.
The goal is to convince readers to click.
Here's one example: ...
Imagine you’re describing this task to a contractor.
You wouldn’t tell them how many sentences to use;
you’d just tell them the business context.
They’ll figure out what’s appropriate.
The problem with “Summarize the following article” is that
the LLM starts out in a superposition
of all the business contexts in which it might have been asked for a summary,
such as:
- “Bob is reading this article.
He asked me for a “summary” to help understand the article.
I should guess what Bob’s difficulties were in understanding, and re-explain those.”
- “Jane is writing an essay that criticizes the arguments in this article.
She asked me for a “summary” that she’ll scan for the argument’s weak points.”
- “A search system wants to index this page.
It asked me for a “summary” that it will scan for keywords to index.”
- “Caleb is submitting this article to a journal.
He asked me for a “summary” that he will use as the abstract.”
As the LLM produces output, it collapses into one of these contexts.
So some “summaries” will look like critiques;
others will look like keyword lists.
I have seen lots of LLM prompts that avoid providing the business context.
One reason, I think, is that programmers treat the prompting as programming in English.
Programmers are used to describing the how, but not the why.
And programmers love modularity, where code is reusable and modules don’t know about each other.
But the “business context” principle is anti-modular,
because then the summarization module has knowledge about the whole app and business.
Similar posts
More by Jim
What does the dot do in JavaScript?
foo.bar
, foo.bar()
, or foo.bar = baz
- what do they mean? A deep dive into prototypical inheritance and getters/setters. 2020-11-01
Smear phishing: a new Android vulnerability
Trick Android to display an SMS as coming from any contact. Convincing phishing vuln, but still unpatched. 2020-08-06
A probabilistic pub quiz for nerds
A “true or false” quiz where you respond with your confidence level, and the optimal strategy is to report your true belief. 2020-04-26
Time is running out to catch COVID-19
Simulation shows it’s rational to deliberately infect yourself with COVID-19 early on to get treatment, but after healthcare capacity is exceeded, it’s better to avoid infection. Includes interactive parameters and visualizations. 2020-03-14
The inception bar: a new phishing method
A new phishing technique that displays a fake URL bar in Chrome for mobile. A key innovation is the “scroll jail” that traps the user in a fake browser. 2019-04-27
The hacker hype cycle
I got started with simple web development, but because enamored with increasingly esoteric programming concepts, leading to a “trough of hipster technologies” before returning to more productive work. 2019-03-23
Project C-43: the lost origins of asymmetric crypto
Bob invents asymmetric cryptography by playing loud white noise to obscure Alice’s message, which he can cancel out but an eavesdropper cannot. This idea, published in 1944 by Walter Koenig Jr., is the forgotten origin of asymmetric crypto. 2019-02-16
How Hacker News stays interesting
Hacker News buried my post on conspiracy theories in my family due to overheated discussion, not censorship. Moderation keeps the site focused on interesting technical content. 2019-01-26
My parents are Flat-Earthers
For decades, my parents have been working up to Flat-Earther beliefs. From Egyptology to Jehovah’s Witnesses to theories that human built the Moon billions of years in the future. Surprisingly, it doesn’t affect their successful lives very much. For me, it’s a fun family pastime. 2019-01-20
The dots do matter: how to scam a Gmail user
Gmail’s “dots don’t matter” feature lets scammers create an account on, say, Netflix, with your email address but different dots. Results in convincing phishing emails. 2018-04-07
The sorry state of OpenSSL usability
OpenSSL’s inadequate documentation, confusing key formats, and deprecated interfaces make it difficult to use, despite its importance. 2017-12-02
I hate telephones
I hate telephones. Some rational reasons: lack of authentication, no spam filtering, forced synchronous communication. But also just a visceral fear. 2017-11-08
The Three Ts of Time, Thought and Typing: measuring cost on the web
Businesses often tout “free” services, but the real costs come in terms of time, thought, and typing required from users. Reducing these “Three Ts” is key to improving sign-up flows and increasing conversions. 2017-10-26
Granddad died today
Granddad died. The unspoken practice of death-by-dehydration in the NHS. The Liverpool Care Pathway. Assisted dying in the UK. The importance of planning in end-of-life care. 2017-05-19
How do I call a program in C, setting up standard pipes?
A C function to create a new process, set up its standard input/output/error pipes, and return a struct containing the process ID and pipe file descriptors. 2017-02-17
Your syntax highlighter is wrong
Syntax highlighters make value judgments about code. Most highlighters judge that comments are cruft, and try to hide them. Most diff viewers judge that code deletions are bad. 2014-05-11
Want to build a fantastic product using LLMs? I work at
Granola where we're building the future IDE for knowledge work. Come and work with us!
Read more or
get in touch! This page copyright James Fisher 2024. Content is not associated with my employer. Found an error? Edit this page.