Eugene Yan
eugeneyan.com · Personal blog · on HN since 2020
Eugene Yan, an applied ML practitioner, writes about LLM evaluation, recommender systems, diffusion models, data teams and engineering practice.
What HN saysHN commenters recommend his posts on LLM patterns, text-to-image diffusion and simplicity, and call his blog fantastic.
69HN people shared it
18linked it in comments
160stories submitted
5.0Kstory points
3 months agolast shared
2020people per year2026
Most-shared posts
- 1Task-specific LLM evals that do and don't work7 people · 188 points · first shared 2024 · 46 comments on HN
- 2Text-to-Image: Diffusion, Text Conditioning, Guidance, Latent Space7 people · 10 points · first shared 2022 · discussion on HN
- 3System Design for Recommendations and Search6 people · 9 points · first shared 2021 · discussion on HN
- 4Uncommon Uses of Python in Commonly Used Libraries4 people · 283 points · first shared 2022 · 38 comments on HN
- 5Red Flags to Look Out for When Joining a Data Team4 people · 26 points · first shared 2022 · 1 comments on HN
- 6Evaluating the Effectiveness of LLM-Evaluators (a.k.a. LLM-as-Judge)4 people · 16 points · first shared 2024 · discussion on HN
- 7How to Generate and Use Synthetic Data for Finetuning4 people · 9 points · first shared 2024 · discussion on HN
- 8A Spark of the Anti-AI Butlerian Jihad (On Bluesky)4 people · 6 points · first shared 2024 · 1 comments on HN
- 9Experimenting with LLMs to Research, Reflect, and Plan4 people · 6 points · first shared 2023 · discussion on HN
- 10Patterns for Building LLM-Based Systems and Products4 people · 5 points · first shared 2023 · discussion on HN
- 11How to Work and Compound with AI4 people · 5 points · first shared 2026 · discussion on HN
- 12Stop Taking Regular Notes; Use a Zettelkasten Instead3 people · 790 points · first shared 2020 · 300 comments on HN
- 13Simplicity is an advantage but sadly complexity sells better (2022)3 people · 434 points · first shared 2022 · 256 comments on HN
- 14Improving recommendation systems and search in the age of LLMs3 people · 409 points · first shared 2025 · 93 comments on HN
- 15Push notifications – What to push, what not to push, and how often3 people · 112 points · first shared 2023 · 150 comments on HN
What HN people wrote when they linked it
stevofolife · 2021-07-12
I also find Eugene Yan's less technical blog to be similarly fantastic. https://eugeneyan.com/
hamelsmu · 2025-07-03
I think that will be very possible soon! We continue to write about it publicly :) Also thanks to my friends and colleagues who write a lot on this subject that I frequently collaborate with:
- Shreya Shankar https://www.sh-reya.com/ - Eugene Yan https://eugeneyan.com/ - Bryan Bischof https://bio.site/Docdonut
petesergeant · 2024-11-27
Read through this making flashcards as you to: https://eugeneyan.com/writing/llm-patterns/
Then spin up a RAG-enhanced chatbot using pgvector on your favourite subject, and keep improving it when you learn about cool techniques
csours · 2024-05-29
Reminds me of this:
https://news.ycombinator.com/item?id=40266464
https://eugeneyan.com/writing/simplicity/
“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.” — Edsger Dijkstra
Especially:
Complexity signals more features.
alexmolas · 2022-12-10
For diffusion models I recommend you this blog post https://eugeneyan.com/writing/text-to-image/
JHonaker · 2022-08-04
I second the request. I think communication is a drastically underappreciated skill even though we have all suffered due to poor communication professionally (undocumented libraries, poorly specified requirements, an inability to generate buy-in for our ideas).
I'll throw in a few recommendations I have from some recent research at work:
https://eugeneyan.com/writing/writing-docs-why-what-how/
https://eugeneyan.com/writing/ml-design-docs/
https://reqexperts.com/wp-content/uploads/2015/07/writing_good_require…
https://eugeneyan.com/writing/what-i-do-before-a-data-science-project-…
KaoruAoiShiho · 2021-07-17
Does this handle real time recommendations as described here: https://eugeneyan.com/writing/real-time-recommendations/
swyx · 2025-05-28
bluesky uniquely hates AI. very toxic around it. https://eugeneyan.com/writing/anti/
its sad that the informal social media bubbles we all have formally forked[0] into Red Twitter and Blue Twitter. just a direct consequence of filters, feeds, algorithms that we say we dont want but vote for with our actions.
with Latent Space I try very hard to stay practical and grounded. but this means i lose out to other podcasters who get huge hits by asking biglab people their AGI timelines (perpetually 2 years away every 2 years, upper bounds of every estimation conveniently landing within the lifetime of $current_middle_aged_generation)
with AIE i started my agents conference with a loud agents skeptic (https://www.youtube.com/@aiDotEngineer/search?query=sayash). that did better online but the audience/sponsors didn't like being told they were overhyping.
[0]: wont stop there - i have called it the Great Unzippening: https://swyx.io/the-great-unzippening
publicdaniel · 2025-06-08
anon373839 · 2025-03-16
There are actually some clever approaches to eval abstractive summarization.
Examples: https://eugeneyan.com/writing/evals/#summarization-consistency-relevan…
llm_nerd · 2025-01-24
Putting random links in your comments is of limited value, and it shouldn't add authority to your claims. It's actually too common on HN for people to make things up and then put some sort of citation that actually doesn't support what they are claiming whatsoever, knowing that 99.9% of users just don't care that much. The fact that it actually works on some people is hugely unfortunate.
However while I'm not the other guy, how about [1] and [2]. I desperately hope that this ups my links to post ratio!
The whole "block list" thing on bsky has been a massive torch mob/brigading tactic, and it's boorish.
[1] https://eugeneyan.com/writing/anti/
[2] https://bsky.app/profile/eugeneyan.com/post/3lcykteugys2w
iamwil · 2024-11-27
Lots of people can get impressive demos up and running, but if you want to run AI products in production, you're going to have to do system evals. System evals make sure your product is doing what it says on the box with unquantifiable qualities.
We wrote a zine on system evals without jargon: https://forestfriends.tech
Eugene Yan has written extensively on it https://eugeneyan.com/writing/evals/
Hamel has as well. https://hamel.dev/blog/posts/evals/
7d7n · 2024-05-29
100% agree with Ted's take. One of the authors wrote about splitting up prompts here too: https://eugeneyan.com/writing/prompting/#split-catch-all-prompts-into-…
vietthan · 2023-08-07
This was posted a few days ago actually
https://eugeneyan.com/writing/llm-patterns/
sheepscreek · 2023-08-02
I completely agree with you. I failed to articulate it well.
Like the current top HN post suggests (https://eugeneyan.com/writing/llm-patterns/), we’re still discovering patterns that work well with LLMs.
That said, anecdotally - they already excel at being logic engines. Capable of filling in the gaps between instructions. Using their worldly knowledge or “common sense” to do so.
But ever so often, they’ll miss an important bit. And I have to be quite involved to catch that. Kinda defeats the purpose. Here, I think we can benefit from supervisor LLMs. A second layer, whose sole job is to ensure the output quality. A QA bot - essentially.
mloncode · 2024-06-02
Hi, Hamel here. I'm one of the co-authors. I'm an independent consultant and not all clients allow me to talk about their work.
However, I have two that do, which I've discussed in the article. These are two production use cases that I have supported (which again, are explicitly mentioned in the article):
1. https://www.honeycomb.io/blog/introducing-query-assistant
2. https://www.youtube.com/watch?v=B_DMMlDuJB0
Other co-authors have worked on significant bodies of work:
Bryan Bischoff lead the creation of Magic in Hex: https://www.latent.space/p/bryan-bischof
Jason Liu created the most popular OSS libraries for structured data called instructor https://github.com/jxnl/instructor, and works with some of the leading companies in the space like Limitless and Raycast (https://jxnl.co/services/#current-and-past-clients)
Eugene Yan works with LLMs extensively at Amazon and uses that to inform his writing: https://eugeneyan.com/writing/ (However he isn't allowed to share specifics about Amazon)
I believe you might find these worth looking at.
in9 · 2023-12-19
Lately, I've been enjoying a lot of posts in this blog right here:
https://eugeneyan.com/writing
My company just hired some new VPs from Amazon, and the writings in that blog convey a bit of the Amazon WOW. It's pretty insightful stuff.
Also, many posts from Julia Evans :D
More concretely, here are a few blog posts I go back to occasionally:
https://doordash.engineering/2019/02/20/experiment-rigor-for-switchbac…
https://www.unofficialgoogledatascience.com/2019/12/humans-in-loop-for…
https://www.unofficialgoogledatascience.com/2016/10/practical-advice-f…
https://eugeneyan.com/writing/ml-design-docs/
https://eugeneyan.com/writing/what-i-do-before-a-data-science-project-…
https://www.fharrell.com/post/addvalue/
https://www.fharrell.com/post/stat-ml2/
wokwokwok · 2023-06-13
Um... can someone explain what this actually does?
In the video the user chooses the 'Copilot: Draft' action, and wow, it generates code...
...but, the 'draft' action [1] calls `/get_chunks` and then runs 'queryLLM' [2] which then just invokes 'https://api.openai.com/v1/chat/completions' directly.
So, generating text this way is 100% not interesting or relevant.
What's interesting here is how it's building the prompt to send to the openai-api.
So... can anyone shed some light on what the actual code [3] in get_chunks() does, and why you would... hm... I guess, do a lookup and pass the results to the openai api, instead of just the raw text?
The repo says: "You write a section header and the copilot retrieves relevant notes & docs to draft that section for you.", and you can see in the linked post [4], this is basically what the OP is trying to implement here; you write 'I want X', and the plugin (a bit like copilot) does a lookup of related documents, crafts a meta-prompt and passes the prompt to the openai api.
...but, it doesn't seem to do that. It seems to ignore your actual prompt, lookup related documents by embedding similarity... and then... pass those documents in as the prompt?
I'm pretty confused as to why you would want that.
It basically requires that you write your prompt separately before hand, so you can invoke it magically with a one-line prompt later. Did I misunderstand how this works?
[1] -…