Live data from Hacker News

Making o1, o3, and Sonnet 3.7 hallucinate for everyone

bengarcia.dev

111–120 of 233 posts

Re: Making o1, o3, and Sonnet 3.7 hallucinate for everyone

#111
post #102

Earlier quoted context omitted.

I have made large projects using Claude, with success. I know what I want to do and how to do it, maybe my prompts were right.

How do you deal with large files? After about a thousand lines in a file, it starts to cough for me. Forgets that some functions exist and makes up inferior duplicate ones.

If possible you need to refactor before getting to that point.

Claude has done a good job refactoring, though I’ve had to tell it to give me a refactor plan upfront in case the conversation limit gets hit. Then in a new chat I tell it which parts of the plan it has already done.

But a larger context/conversation limit is definitely needed because it’s super easy to fill up.

Re: Making o1, o3, and Sonnet 3.7 hallucinate for everyone

#112
post #5

ChatGPT used to assure me that you can use JS dot notation to access elements in a Python dict. It also invented Redocly CLI flags that don't exist. Claude sometimes invents OpenAPI specification rules. Any time I ask anything remotely niche, LLMs are often bad.

Semi related: when I'm using a dict of known keys as some sort of simple object, I almost always reach for a dataclass (with slots=True, and kw_only=True) these days. Has the added benefit that you can do stuff like foo = MyDataclass(*some_dict) and get runtime errors when the format has changed

Re: Making o1, o3, and Sonnet 3.7 hallucinate for everyone

#113

Earlier quoted context omitted.

It tried to convince me that it is possible to break out of outer loop in C++ with `break 'label` statement placed in nested loop. No such syntax exists.

The funny thing is that I think that’s a feature in D.

C++ has that functionality, it's just called goto not break. That's pretty low hanging fruit for a SOTA model to fuck up though.

Re: Making o1, o3, and Sonnet 3.7 hallucinate for everyone

#114
post #40

Earlier quoted context omitted.

With Claude the context window is quite small. But with adding too much context it often seems to get worse. If the context is not carefully narrowly picked and too unrelated, the LLMs often start to do unrelated things to what you've asked. At some point it's not really worth anymore creating the perfect prompt, just code it yourself. Also saves the time to carefully review the AI generated code.

Claude's context window is not small, is it not larger than ChatGPT's?

I just looked it up, it seems to be the rate limit that's actually kicking in for me.

Re: Making o1, o3, and Sonnet 3.7 hallucinate for everyone

#115
post #30

I've got a lot of hallucinations like that from LLMs. I really don't get how so many people can get LLMs to code most of their tasks without those issues permanently popping up.

A language like Golang tries really hard to only have _one_ way to do something, one right way, one way. Just one way. See how it was before generics. You just have a for loop. Can't really mess up a for loop. I predict that the variance in success in using LLM for coding (even agentic coding with multi-step rather than a simple line autosuggest or block autosuggest that many are familar with via CoPilot) has much mo…

Note that "super-simple", "hard to footgun yourself" and "one way to do things that is consistent" are three very different things.

I don't think that we yet have one language that is good at all that. And yes, I (sometimes) program in Go for a living.

Re: Making o1, o3, and Sonnet 3.7 hallucinate for everyone

#117
post #36
post #35

Earlier quoted context omitted.

I use LLMs for writing generic, repetitive code, like scaffolding. It's OK with boring, generic stuff. Sure it makes mistakes occasionally but usually it's a no-brainer to fix them.

I try to keep "boring" code to a minimum, by finding meaningful and simple abstractions. LLMs are especially bad handling those, because they were not trained on non-standard abstractions. Edit: most LLMs are great for spitting out some code that fulfills 90% of what you asked for. That's sometimes all you need. But we all know that the last 10% usually take the same amount of effort as the first 90%.

>most LLMs are great for spitting out some code that fulfills 90% of what you asked for. That's sometimes all you need. But we all know that the last 10% usually take the same amount of effort as the first 90%.

The issue is if you have an LLm write for you 10k lines of code, where 100 lines are bugged. Now you need to debug the code you did not write and find the bugged code, you will waste similar amount of time. The issue is if you do not catch the bugs in time, you think you gain some hours but you will get upset customers because things went wrong because the code is weird.

From my experience you need to work withan LLM and have the code done function by function, with your input and you checking it and calling bullshit when it does stupid things.

Re: Making o1, o3, and Sonnet 3.7 hallucinate for everyone

#118
post #114

Earlier quoted context omitted.

Claude's context window is not small, is it not larger than ChatGPT's?

I just looked it up, it seems to be the rate limit that's actually kicking in for me.

Yes, that's it! It is frustrating to me, too. You have to start a new chat with all relevant data, and a detailed summary of the progress/status.

Re: Making o1, o3, and Sonnet 3.7 hallucinate for everyone

#119
post #43

> Conclusion > LLMs are really smart most of the time. No, the conclusion is they’re never “smart”. All they do is regurgitate text which resembles a continuation of what came before, and sometimes—but with zero guarantees—that text aligns with reality.

This, thank you. It pisses me off to no end when people pretend LLMs are smart. They are nothing but a well trained random text generator. Seriously, some these conversations feel like interacting someone who believes casting bones and astrology are accurate. Likely because in both cases they are a result of confirmation bias.

We don't know what smartness is. What if that's what smartness is?

Re: Making o1, o3, and Sonnet 3.7 hallucinate for everyone

#120
post #80

Earlier quoted context omitted.

Boilerplate and plumbing code isn't inherently bad, nor do you improve the codebase by factoring it down to zero with libraries and abstractions. As I've matured as a developer, I've appreciated certain types of boilerplate more and more because it's code that shows up in your git diffs. You don't need to chase down the code in some version of some library to see how something works. Of course, not all boilerplate is…

Boilerplate is better than bad abstractions. But good abstractions are far superior.

I agree with you but as I've matured as a programmer, I feel like it's very hard to get abstractions for boilerplate right. Every library I've seen attempt to do it has struggled.
Post reply on HN