10 ms·
As an experienced LLM user, I don't use generative LLMs often
- rfonseca 1y agoThis was an interesting quote from the blog post: "There is one silly technique I discovered to allow a LLM to improve my writing without having it do my writing: feed it the text of my mostly-complete blog post, and ask the LLM to pretend to be a cynical Hacker News commenter and write five distinct comments based on the blog post."
- meowzero 1y agoI do something similar. But I make sure the LLM doesn't know I wrote the post. That way the LLM is not sycophantic.
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- vunderba 1y agoI do a good deal of my blog posts while walking my husky and just dictating using speech-to-text on my phone. The problem is that its an unformed blob of clay and really needs to be shaped on the wheel. I then feed this into an LLM with the following prompt: You are a professional editor. You will be provided paragraphs of text that may contain spelling errors, grammatical issues, continuity errors, structural problems, word repetition, etc. You will correct any of these issues while still preserving the original writing style. Do not sanitize the user. If they use profanities in their text, they are used for emphasis and you should not omit them. Do NOT try to introduce your own style to their text. Preserve their writing style to the absolute best of your ability. You are absolutely forbidden from adding new sentences. It's basically Grammarly on steroids and works very well.
- kixiQu 1y agoWhat roleplayed feedback providers have people had best and worst luck with? I can imagine asking for the personality could help the LLM come up with different kinds of criticisms...
- jdnier 1y agoMake sure the check out the LLM chat log he shared for the current article! The tone is cynical HN commenter indeed. https://github.com/minimaxir/llm-use/blob/main/criticism_hn.md https://github.com/minimaxir/llm-use/blob/main/criticism_hn....
- Jerry2 1y ago> I typically access the backend UIs provided by each LLM service, which serve as a light wrapper over the API functionality Hey Max, do you use a custom wrapper to interface with the API or is there some already established client you like to use? If anyone else has a suggestion please let me know too.
- minimaxir 1y agoI was developing an open-source library for interfacing with LLMs agnostically (https://github.com/minimaxir/simpleaichat https://github.com/minimaxir/simpleaichat) and although it still works, I haven't had the time to maintain it unfortunately. Nowadays for writing code to interface with LLMs, I don't use client SDKs unless required, instead just hitting HTTP endpoints with libraries such as requests and httpx. It's also easier to upgrade to async if needed.
- asabla 1y agomost services has a "studio mode" for their models served. As an alternative you could always use OpenWebUI
- simonw 1y agoI'm going to plug my own LLM CLI project here: I use it on a daily basis now for coding tasks like this one: llm -m o4-mini -f github:simonw/llm-hacker-news -s 'write a new plugin called llm_video_frames.py which takes video:path-to-video.mp4 and creates a temporary directory which it then populates with one frame per second of that video using ffmpeg - then it returns a list of [llm.Attachment(path="path-to-frame1.jpg"), ...] - it should also support passing video:video.mp4?fps=2 to increase to two frames per second, and if you pass ?timestamps=1 or ×tamps=1 then it should add a text timestamp to the bottom right conner of each image with the mm:ss timestamp of that frame (or hh:mm:ss if more than one hour in) and the filename of the video without the path as well.' -o reasoning_effort high Any time I use it like that the prompt and response are logged to a local SQLite database. More on that example here: https://simonwillison.net/2025/May/5/llm-video-frames/#how-i-built-the-plugin-with-o4-mini https://simonwillison.net/2025/May/5/llm-video-frames/#how-i...
- 1y ago
- andy99 1y agoRe vibe coding, I agree with your comments but where I've used it is when I needed to mock up a UI or a website. I have no front end experience so making a 80% (probably 20%) but live demo is still a valuable thing, to show to others to get the point across, obviously not to deploy. It's a replacement for drawing a picture of what I think the UI should look like. I feel like this is an under-appreciated use. LLM coding is not remotely ready for real products but it's great for mock-ups that further internal discussions.
- vunderba 1y agoSame. As somebody who doesn't really enjoy frontend work at all, they are surprisingly good at being able to spit out something that is relatively visually appealing - even if I'll end up rewriting the vast majority of react spaghetti code in Svelte.
- NetOpWibby 1y agoIn the settings for Claude, I tell it to use Svelte and TypeScript whenever possible because I got tired of telling it I don't use React.
- leptons 1y agoI love front-end work, and I'm really good at it, but I now let the AI do CSS coding for me. It seems to make nice looking buttons and other design choices that are good enough for development. My designer has their own opinions, so they always will change the CSS when they get their hands on it, but at least I'm not wasting my time creating really ugly styles that always get replaced anymore. The rest of the coding is better if I do it, but sometimes the AI surprises me - though most often it gets it completely wrong, and then I'm wasting time letting it try and that just feels counterproductive. It's like a really stupid intern that almost never pays attention to what the goal is.
- mattmanser 1y agoThey're pretty good at following direction. For example you can say: 'Usw React, typescript, materialUi, prefer functions over const, don't use unnecessary semi colons, 4 spaces for tabs, build me a UI that looks like this sketch' And it'll do all that.
- deleted 1y ago[deleted]
- Oras 1y agoJSON response doesn’t always work as expected unless you have few items to return. In Max’s example it’s classification. For anyone trying to return consistent json, checkout structured data where you define a json schema with required field and that would return the same structure all the time. I have tested it with high success using GPT-4o-mini.
- behnamoh 1y ago> I never use ChatGPT.com or other normal-person frontends for accessing LLMs because they are harder to control. Instead, I typically access the backend UIs provided by each LLM service, which serve as a light wrapper over the API functionality which also makes it easy to port to code if necessary. Yes, I also often use the "studio" of each LLM for better results because in my experience OpenAI "nerfs" models on the ChatGPT UI (models keep forgetting things—probably a limited context length set by OpenAI to reduce costs, generally the model is less chatty (again, probably to reduce their costs), etc. But I've noticed Gemini 2.5 Pro is the same on the studio and the Gemini app. > Any modern LLM interface that does not let you explicitly set a system prompt is most likely using their own system prompt which you can’t control: for example, when ChatGPT.com had an issue where... ChatGPT does have system prompts but Claude doesn't (one of its many, many UI shortcomings which Anthropic never addressed). That said, I've found system prompts less and less useful with newer models. I can simply preface my own prompt with the instructions and the model follows them very well. > Specifying specific constraints for the generated text such as “keep it to no more than 30 words” or “never use the word ‘delve’” tends to be more effective in the system prompt than putting them in the user prompt as you would with ChatGPT.com. I get that LLMs have a vague idea of how many words are 30 words, but they never do a good job in these tasks for me.
- ttoinou 1y agoSide topic : I didn’t see a serious article about prompt engineering for senior software development pop up on HN. Yet a lot of users here have their own techniques unshared with others
- deleted 1y ago[deleted]
- mtlynch 1y agoI was just listening to Simon Willison on Software Misadventures,[0, 1] and he said the best resource he knows of is Anthropic's guide to prompt engineering.[2] [0] https://softwaremisadventures.com/p/simon-willison-llm-weird-intern https://softwaremisadventures.com/p/simon-willison-llm-weird... [1] https://youtu.be/6U_Zk_PZ6Kg?feature=shared&t=56m29 https://youtu.be/6U_Zk_PZ6Kg?feature=shared&t=56m29 (the exact moment) [2] https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview https://docs.anthropic.com/en/docs/build-with-claude/prompt-...
- walterbell 1y agoAnthropic prompt engineering video (Sep 2024), https://www.youtube.com/watch?v=T9aRN5JkmL8 https://www.youtube.com/watch?v=T9aRN5JkmL8
- minimaxir 1y agoAn unfortunate casualty of the importantance of prompt engineering is that there is less of an incentive to share good prompts publicly.
- danenania 1y agoYou can read all of the prompts in Plandex (open source CLI coding agent focusing on larger projects): https://github.com/plandex-ai/plandex/tree/main/app/server/model/prompts https://github.com/plandex-ai/plandex/tree/main/app/server/m... They're pretty long and extensive, and honestly could use some cleaning up and refactoring at this point, but they are being used heavily in production and work quite well, which took a fairly extreme amount of trial-and-error to achieve.
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- thefourthchime 1y ago[flagged]
- deleted 1y ago[deleted]
- Legend2440 1y ago>Discourse about LLMs and their role in society has become bifuricated enough such that making the extremely neutral statement that LLMs have some uses is enough to justify a barrage of harrassment. Honestly true and I’m sick of it. A very vocal group of people are convinced AI is a scheme by the evil capitalists to make you train your own replacement. The discussion gets very emotional very quickly because they feel personally threatened by the possibility that AI is actually useful.
- bluefirebrand 1y ago> A very vocal group of people are convinced AI is a scheme by the evil capitalists to make you train your own replacement. The discussion gets very emotional very quickly because they feel personally threatened by the possibility that AI is actually useful I read this like you are framing this as though it is irrational. However, history is littered with examples of capitalists replacing labour with automation and using any productivity gains of new technology to push salaries lower Of course people who see this playing out again are personally threatened. If you aren't feeling personally threatened, you are either part of the wealthy class or for some reason you think this time will be different somehow You may be thinking "Even if I lose my job to automation, there will be other work to do like piloting the LLMs", but you should know that the goal is to eventually pay LLM operators peanuts in comparison to what you currently make in whatever role you do
- olddustytrail 1y agoWhat happens when you use an LLM to generate prompts for an LLM?
- Legend2440 1y ago>history is littered with examples of capitalists replacing labour with automation and using any productivity gains of new technology to push salaries lower Nonsense. We make far, far more than people did in the past entirely because of the productivity gains from automation. The industrial revolution led to the biggest increase in quality of life in history, not in spite of but because it automated 90% of jobs. Without it we'd all still be subsistence farmers.
- tptacek 1y agoThere's a thru-line to commentary from experienced programmers on working with LLMs, and it's confusing to me: Although pandas is the standard for manipulating tabular data in Python and has been around since 2008, I’ve been using the relatively new polars library exclusively, and I’ve noticed that LLMs tend to hallucinate polars functions as if they were pandas functions which requires documentation deep dives to confirm which became annoying. The post does later touch on coding agents (Max doesn't use them because "they're distracting", which, as a person who can't even stand autocomplete, is a position I'm sympathetic to), but still: coding agents solve the core problem he just described. "Raw" LLMs set loose on coding tasks throwing code onto a blank page hallucinate stuff. But agenty LLM configurations aren't just the LLM; they're also code that structures the LLM interactions. When the LLM behind a coding agent hallucinates a function, the program doesn't compile, the agent notices it, and the LLM iterates. You don't even notice it's happening unless you're watching very carefully.
- vunderba 1y agoThat sort of "REPL" system is why I really liked when they integrated a Python VM into ChatGPT - it wasn't perfect, but it could at least catch itself when the code didn't execute properly.
- tptacek 1y agoSure. But it's 2025 and however you want to get this feature, be it as something integrated into VSCode (Cursor, Windsurf, Copilot), or a command line Python thing (aider), or a command line Node thing (OpenAI codex and Claude Code), with a specific frontier coding model or with an abstracted multi-model thingy, even as an Emacs library, it's available now. I see people getting LLMs to generate code in isolation and like pasting it into a text editor and trying it, and then getting frustrated, and it's like, that's not how you're supposed to be doing it anymore. That's 2024 praxis.
- arthurcolle 1y agoI like using Jupyter Console as a primary interpreter, and then dropping into SQLite/duckdb to save data Easy to to script/autogenerate code and build out pipelines this way
- lxe 1y agoThis article reads like "I'm not like other LLM users" tech writing. There are good points about when LLMs are actually useful vs. overhyped, but the contrarian framing undermines what could have been straightforward practical advice. The whole "I'm more discerning than everyone else" positioning gets tiresome in tech discussions, especially when the actual content is useful.
- minimaxir 1y agoI was not explicitly intending to be contrarian, but unfortunately the contrarian framing is inevitable when the practical advice is counterintuitive and against modern norms. I was second-guessing publishing this article at all because "I don't use ChatGPT.com" and "I don't see a use for Agents/MCP/Vibe coding" are both statements that are potentially damaging to my career as an engineer, but there's no point in writing if I can't be honest. Part of the reason I've been blogging about LLMs for so long is that a lot of it is counterintuitive (which I find interesting!) and there's a lot of misinformation and suboptimal workflows that results from it.
- kayodelycaon 1y agoTone and word choice is actually the problem here. :) One example: “normal-person frontends” immediately makes the statement a judgement about people. You could have said regular, typical, or normal instead of “normal-person”. Saying your coworkers often come to you to fix problems and your solutions almost always work can come off as saying you’re more intelligent than your coworkers. The only context your readers have are the words you write. This makes communication a damned nuisance because nobody knows who you are and they only know about you from what they read.
- minimaxir 1y agoThat descriptor was more intended to be a self-deprecation joke at my expense but your interpretation is fair.
- lxe 1y agoYour defense of the contrarian framing feels like it's missing the point. What you're describing as "counterintuitive" is actually pretty standard for anyone who's been working deeply with LLMs for a while. Most experienced LLM users already know about temperature controls and API access - that's not some secret knowledge. Many use both the public vanilla frontends and specialized interfaces (various HF workflows, custom setups, sillytavern, oobabooga (̵r̵i̵p̵)̵, ollama, lmstudio, etc) depending on the task. Your dismissal of LLMs for writing comes across as someone who scratched the surface and gave up. There's an entire ecosystem of techniques for effectively using LLMs to assist writing without replacing it - from ideation to restructuring to getting unstuck on specific sections. Throughout the article, you seem to dismiss tools and approaches after only minimal exploration. The depth and nuance that would be evident to anyone who's been integrating these tools into their workflow for the past couple years is missing. Being honest about your experiences is valuable, but framing basic observations as contrarian insights isn't counterintuitive - it's just incomplete.
- qoez 1y agoI've tried it out a ton but the only thing I end up using it for these days is teaching me new things (which I largely implement myself; it can rarely one-shot it anyway). Or occasionally to make short throwaway scripts to do like file handling or ffmpeg.
- danbrooks 1y agoAs a data scientist, this mirrors my experience. Prompt engineering is surprisingly important for getting expected output - and use LLM POCs have quick turnaround times.
- Snuggly73 1y agoEmmm... why has Claude 'improved' the code by setting SQLite to be threadsafe and then adding locks on every db operation? (You can argue that maybe the callbacks are invoked from multiple threads, but they are not thread safe themselves).
- dboreham 1y agoInterns don't understand concurrency either.
- daxfohl 1y agoBut if you teach them the right way to do it today and have them fix it, they won't go and do it the wrong way again tomorrow and the next day amd every day for the rest of the summer.
- chowells 1y agoWith concurrency, they still might get it wrong the rest of the summer. It's a hard topic. But at least they might learn they need to ask for feedback when they're doing that looks similar to stuff that's previously caused problems.
- jayd16 1y agoListen, I can fail to understand your questions for half the price you're paying the LLM.
- iambateman 1y ago> "feed it the text of my mostly-complete blog post, and ask the LLM to pretend to be a cynical Hacker News commenter and write five distinct comments based on the blog post." It feels weird to write something positive here...given the context...but this is a great idea. ;)
- jaggederest 1y agoThis is the kind of task where, before LLMs, I wouldn't have done it. Maybe if it was something really important I'd circulate it to a couple friends to get rough feedback, but mostly it was just let it fly. I think it's pretty revolutionary to be able to get some useful feedback in seconds, with a similar knock-on effect in the pull request review space. The other thing I find LLMs most useful for is work that is simply unbearably tedious. Literature reviews are the perfect example of this - Sure, I could go read 30-50 journal articles, some of which are relevant, and form an opinion. But my confidence level in letting the AI do it in 90 seconds is reasonable-ish (~60%+) and 60% confidence in 90 seconds is infinitely better than 0% confidence because I just didn't bother. A lot of the other highly hyped uses for LLMs I personally don't find that compelling - my favorite uses are mostly like a notebook that actually talks back, like the Young Lady's Illustrated Primer from Diamond Age.
- barbazoo 1y ago> But my confidence level in letting the AI do it in 90 seconds is reasonable-ish (~60%+) and 60% confidence in 90 seconds is infinitely better than 0% confidence because I just didn't bother. So you got the 30 to 50 articles summarized by the LLM, now how do you know what 60% you can trust and what’s hallucinated without reading it? It’s hard to be usable at all unless you already do know what is real and what is not.
- jaggederest 1y agoSo, generally how I use it is to get background for further research. So you're right, you do have to do further reading, but it's at the second tier - "now that I know roughly what I'm looking for, I have targets for further reading", rather than "How does any of this work and what are relevant articles"
- justlikereddit 1y ago[flagged]
- Philpax 1y agoWell, you certainly live up to your username.
- justlikereddit 1y agoAs does all the replies and votewankers here
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- simonw 1y ago> However, for more complex code questions particularly around less popular libraries which have fewer code examples scraped from Stack Overflow and GitHub, I am more cautious of the LLM’s outputs. That's changed for me in the past couple of months. I've been using the ChatGPT interface to o3 and o4-mini for a bunch of code questions against more recent libraries and finding that they're surprisingly good at using their search tool to look up new details. Best version of that so far: "This code needs to be upgraded to the new recommended JavaScript library from Google. Figure out what that is and then look up enough documentation to port this code to it." This actually worked! https://simonwillison.net/2025/Apr/21/ai-assisted-search/#lazily-porting-code-to-a-new-library-version-via-search https://simonwillison.net/2025/Apr/21/ai-assisted-search/#la... The other trick I've been using a lot is pasting the documentation or even the entire codebase of a new library directly into a long context model as part of my prompt. This works great for any library under about 50,000 tokens total - more than that and you usually have to manually select the most relevant pieces, though Gemini 2.5 Pro can crunch through hundreds of thousands of tokens pretty well with getting distracted. Here's an example of that from yesterday: https://simonwillison.net/2025/May/5/llm-video-frames/#how-i-built-the-plugin-with-o4-mini https://simonwillison.net/2025/May/5/llm-video-frames/#how-i...
- deleted 1y ago[deleted]
- zoogeny 1y agoI think they might have made a change to Cursor recently as well. A few times I've caught it using an old API of popular libraries that have updates. Shout out to all the library developers that are logging deprecations and known incorrect usages, that has been a huge win with LLMs. In most cases I can paste the deprecation warning back into the agent and it will say "Oh, looks like that API changed in vX.Y.Z, we should be doing <other thing>, let me fix that ..." So it is capable of integrating new API usage, it just isn't a part of the default "memory" of the LLM. Given how quickly JS libraries tend to change (even on the API side) that isn't ideal. And given that the typical JS server project has dozens of libs, including the most recent documentation for each is not really feasible. So for now, I am just looking out for runtime deprecation errors. But I give the LLM some slack here, because even if I was programming myself using an library I've used in the past, I'm likely to make the same mistake.
- Beijinger 1y ago"To that end, I never use ChatGPT.com or other normal-person frontends for accessing LLMs because they are harder to control. Instead, I typically access the backend UIs provided by each LLM service, which serve as a light wrapper over the API functionality which also makes it easy to port to code if necessary." How do you do this? Do you have to be on a paid plan for this?
- minimaxir 1y agoIf you log into the API backend, there is usually a link to the UI. For OpenAI/ChatGPT, it's https://platform.openai.com/playground https://platform.openai.com/playground This is independent of ChatGPT+. You do need to have a credit card attached but you only pay for your usage.
- diggan 1y agoI think they're talking about the Sandbox/Playground/Editor thingy that almost all companies who expose APIs also offer to quickly try out API features. For OpenAI it's https://platform.openai.com/playground/prompts?models=gpt-4.1 https://platform.openai.com/playground/prompts?models=gpt-4...., Anthropic has https://console.anthropic.com/workbench https://console.anthropic.com/workbench and so on.
- morgengold 1y ago... but when I do, I let it write regex, SQL commands, simple/complex if else stuff, apply tailwind classes, feed it my console log errors, propose frontend designs ... and other little stuff. Saves brain power for the complex problems.
- jrflowers 1y ago[flagged]
- gcp123 1y agoWhile I think the title is misleading/clickbaity (no surprise given the buzzfeed connection), I'll say that the substance of the article might be one of the most honest take on LLMs I've seen from someone who actually works in the field. The author describes exactly how I use LLMs - strategically, for specific tasks where they add value, not as a replacement for actual thinking. What resonated most was the distinction between knowing when to force the square peg through the round hole vs. when precision matters. I've found LLMs incredibly useful for generating regex (who hasn't?) and solving specific coding problems with unusual constraints, but nearly useless for my data visualization work. The part about using Claude to generate simulated HN criticism of drafts is brilliant - getting perspective without the usual "this is amazing!" LLM nonsense. That's the kind of creative tool use that actually leverages what these models are good at. I'm skeptical about the author's optimism regarding open-source models though. While Qwen3 and DeepSeek are impressive, the infrastructure costs for running these at scale remain prohibitive for most use cases. The economics still don't work. What's refreshing is how the author avoids both the "AGI will replace us all" hysteria and the "LLMs are useless toys" dismissiveness. They're just tools - sometimes useful, sometimes not, always imperfect.
- xandrius 1y agoJust about the point about the prohibitive infrastructure at scale, why does it need to be at scale? Over few years, we went from literally impossible to being able to run a 72B model locally on a laptop. Give it 5-10 years and we might not need to have any infrastructure at all, all served locally with switchable (and different sized) open source models.
- imhoguy 1y agoExactly open-source doesn't need scale in terms of user base. You can easily infer with hundreds B parameter models on pay as you go infa for a few dolars, or just build commodity rig for a few thousand. That is affordable for SMEs or even devoted hobbysts. The most important part about opensource is democratization of LLM access.
- deleted 1y ago[deleted]
- geor9e 1y ago>Ridiculous headline implying the existance of non-generative LLMs >Baited into clicking >Article about generative LLMs >It's a buzzfeed employee
- minimaxir 1y agoThe reason I added "generative" to the headline is because of the mention about the important use of text embedding models that are indeed non-generative LLMs and I did not want to start a semantics war if I did not explicitly specify "generative LLMs." (the headline would flow better without it)
- geor9e 1y agoOooh, that makes more sense. To be honest, I only started reading the article with the sole mission of answering the question: what the heck is a non-generative LLM? I had never heard of that. I thought it would be answered explicitly in the first few sentences. As sentence after sentence passed and it didn't even seem to acknowledge the tension of that elephant in the room, my frustration grew beyond what I could concentrate on, and I found it difficult to continue reading, assuming I'd been clickbaited by slop or something. But now that I have that context it makes it a lot more readable.
- ziml77 1y agoI like that the author included the chat logs. I know there's a lot of times where people can't share them because they'd expose too much info, but I really think it's important when people make big claims about what they've gotten an LLM to do that they back it up.
- minimaxir 1y agoThat is a relatively new workflow for me since getting the logs out of the Claude UI is a more copy/paste manual process. I'm likely going to work on something to automate it a bit.
- simonw 1y agoI use this: llm -m claude-3.7-sonnet "prompt" llm logs -c | pbcopy Then paste into a Gist. Gets me things like this: https://gist.github.com/simonw/0a5337d1de7f77b36d488fdd7651b6cb https://gist.github.com/simonw/0a5337d1de7f77b36d488fdd7651b...
- fudged71 1y agoIsn't your Observable notebook more applicable to what he's talking about (scraping the Claude UI)? https://x.com/simonw/status/1821649481001267651 https://x.com/simonw/status/1821649481001267651
- minimaxir 1y agoI'm interested in any approach to better organize LLM outputs offline, but it would probably be more pragmatic to use some sort of scripting tool.
- deleted 1y ago[deleted]
- resource_waste 1y ago[flagged]
- deleted 1y ago[deleted]
- fumeux_fume 1y ago> Over the years I’ve utilized all the tricks to get the best results out of LLMs. The poster tips their hand early in the article and I can see there won't be much substance here. I work on writing prompts for production solutions that use LLMs to QA various text inputs that would be very hard to do using traditional NLP techniques. Good prompt engineering had very little to do with thinking up ridiculous scenarios to "trick" the LLM into being better. Those are actually counterproductive because their efficacy can vary widely across model versions.
- eclecticfrank 1y agoCan you give a concise example of good prompt engineering in your case?
- nicman23 1y agoyou are using llms for anything more than generating boilerplate, you are usually wasting your time
- exhaze 1y agoFood for thought, a snippet from a highly specialized project I created two months ago: https://gist.github.com/eugene-yaroslavtsev/c9ce9ba66a7141c5c95b4d0416d643cd https://gist.github.com/eugene-yaroslavtsev/c9ce9ba66a7141c5... I spent several hours searching online for existing solutions - couldn't find anything (even when exploring the idea of stitching together multiple different tools, each in a different programming language). This took me ~3-4 hours end-to-end. I haven't seen any other OSS code that is able to handle converting unstructured JSON into normalized, structured JSON with a schema, while also using a statistical sampling sliding window method for handling for all these: - speculative SIMD prediction of end of current JSON entry - distinguishing whether two "similar" looking objects represent the same model or not - normalizing entities based on how often they're referenced - ~5-6 GB/s throughput on a Macbook M4 Max 24GB - arbitrary horizontal scaling (though shared entity/normalization resource contention may eventually become an issue) I didn't write this code. I didn't even come up with all of these ideas in this implementation. I initially just thought "2NF"/"BNF" probably good, right? Not for multi-TB files. This was spec'd out by chatting with Sonnet for ~1.5 hours. It was the one that suggested statistical normalization. It suggested using several approaches for determining whether two objects are the same schema (that + normalization were where most of the complexity decided to live). I did this all on my phone. With my voice. I hope more folks realize this is possible. I strongly encourage you and others reconsider this assumption!
- victorNicollet 1y agoThe snippet you shared is consistent with the kind of output I have also been seeing out of LLMs: it looks correct overall, but contains mistakes and code quality problems, both of which would need human intervention to fix. For example, why is the root object's entityType being passed to the recursive mergeEntities call, instead of extracting the field type from the propSchema? Several uses of `as` (as well as repeated `result[key] === null`) tests could be eliminated by assigning `result[key]` to a named variable. Yes, it's amazing that LLMs have reached the level where they can produce almost-correct, almost-clean code. The question remains of whether making it correct and clean takes longer than writing it by hand.
- PeterStuer 1y ago"ask the LLM to pretend to be a cynical Hacker News commenter and write five distinct comments based on the blog post" Now tell me again AI isn't coming for our jobs.
- cbeach 1y agoIt's a shame about the title of this HN post, as the article itself is a really interesting exploration of the use of machine learning in news media. I nearly skipped it as it sounded like the "I'm too good for LLMs" engagement-bait that plagues LinkedIn at the moment.
- tomrod 1y agoYour experience mirrors my use cases. There are certainly a ton of great uses for LLMs. VibeCoding has way less vibe and way more structure to be successful.
- osigurdson 1y ago>> I’ve asked LLMs to help me write regular expressions Maybe if we had a more sane regex syntax, LLMs wouldn't be needed to construct them.