I'm absolutely right
216 comments
·September 5, 2025trjordan
nojs
Yeah, I figure this is also why it often says “Ah, I found the problem! Let me check the …”. It hasn’t found the problem, but it’s more likely to continue with the solution if you jam that string in there.
adastra22
We don’t know how Claude code is internally implemented. I would not be surprised at all if they literally inject that string as an alternative context and then go with the higher probability output, or if RLHF was structured in that way and so it always generates the same text.
steveklabnik
Claude Code is a big pile of minified Typescript, and some people have effectively de-compiled it.
data-ottawa
Very likely RLHF, based only on how strongly aligned open models repeatedly reference a "policy" despite there being none in the system prompt.
I would assume that priming the model to add these tokens ends up with better autocomplete as mentioned above.
al_borland
In my experience, once it starts telling me I’m right, we’re already going downhill and it rarely gets better from there.
flkiwi
Sometimes I just ride the lightning to see how off course it is willing to go. This is not a productive use of my time but it sure is amusing.
In fairness, I’ve done the same thing to overconfident junior colleagues.
al_borland
I spent yesterday afternoon doing this. It go to the point where it would acknowledge it was wrong, but would keep giving me the same answer.
It also said it would only try one more time before giving up, but then kept going.
unshavedyak
I just wish they could hide these steering tokens in the thinking blurb or some such. Ie mostly hidden from the user. Having it reply to the user that way is quite annoying heh.
KTibow
This can still happen even with thinking models as long as the model outputs tokens in a sequence. Only way to fix would be to allow it to restart its response or switch to diffusion.
derefr
I think this poster is suggesting that, rather than "thinking" (messages emitted for oneself as audience) as a discrete step taken before "responding", the model should be trained to, during the response, tag certain sections with tokens indicating that the following token-stream until the matching tag is meant to be visibility-hidden from the client.
Less "independent work before coming to the meeting", more "mumbling quietly to oneself at the blackboard."
poly2it
You could throw the output into a cleansing, "nonthinking" LLM, removing the steering tokens and formatting the response in a more natural way. Diffusion models are otherwise certainly a very interesting field of research.
Vetch
It's an artifact of post-training approach. Models like kimi k2 and gpt-oss do not utter such phrases and are quite happy to start sentences with "No" or something to the tune of "Wrong".
Diffusion also won't help the way you seem to think it will (that the outputs occur in a sequence is not relevant, what's relevant is the underlying computation class backing each token output, and there, diffusion as typically done does not improve on things. The argument is subtle but the key is that output dimension and iterations in diffusion do not scale arbitrarily large as a result of problem complexity).
libraryofbabel
> The LLM, with its single-token prediction approach, follows up with a suggestion that much more closely follows the user's desires, instead of latching onto it's own previous approach.
Maybe? How would we test that one way or the other? If there’s one thing I’ve learned in the last few years, it’s that reasoning from “well LLMs are based on next-token prediction, therefore <fact about LLMs>” is a trap. The relationship between the architecture and the emergent properties of the LLM is very complex. Case in point: I think two years ago most of us would have said LLMs would never be able to do what they are able to do now (actually effective coding agents) precisely because they were trained on next token prediction. That turned out to be false, and so I don’t tend to make arguments like that anymore.
> The people behind the agents are fighting with the LLM just as much as we are
On that, we agree. No doubt anthropic has tried to fine-tune some of this stuff out, but perhaps it’s deeply linked in the network weights to other (beneficial) emergent behaviors in ways that are organically messy and can’t be easily untangled without making the model worse.
adastra22
I don’t think there is any basis for GP’s hypothesis that this is related to the cursor being closer to the user’s example. The attention mechanism is position independent by default and actually has to have the token positions shoehorned in.
Uehreka
The human stochastic parrots (GP, not you) spouting these 2023 talking points really need to update their weights. I’m guessing this way of thinking has a stickiness because thinking of an LLM as “just a fancy markov chain” makes them feel less threatening to some people (we’re past the point where it could be good faith reasoning).
Like, I hear people say things like that (or that coding agents can only do web development, or that they can only write code from their training data), and then I look at Claude Code on my computer, currently debugging embedded code on a peripheral while also troubleshooting the app it’s connected to, and I’m struck by how clearly out of touch with reality a lot of the LLM cope is.
People need to stop obsessing over “the out of control hype” and reckon with the thing that’s sitting in front of them.
teucris
I think there’s a bit of parroting going around but LLMs are predictive and there’s a lot you can inuit a lot about how they behave just on that fact alone. Sure, calling it “token” prediction is oversimplifying things, but stating that, by their nature, LLMs are guessing at the next most likely thing in the scenario (next data structure needing to be coded up, next step in a process, next concept to cover in a paragraph, etc.) is a very useful mental model.
libraryofbabel
You’re being downvoted, perhaps because your tone is a little harsh, but you’re not wrong: people really are still making versions of the “stochastic parrots” argument. It comes up again and again, on hacker news and elsewhere. And yet a few months ago an LLM got gold on the Mathematical Olympiad. “Stochastic parrots” just isn’t a useful metaphor anymore.
I find AI hype as annoying as anyone, and LLMs do have all sorts of failure modes, some of which are related to how they are trained. But at this point they are doing things that many people (including me) would have flatly denied was possible with this architecture 3 years ago during the initial ChatGPT hype. When the facts change we need to change our opinions, and like you say, reckon anew with the thing that’s sitting in front of us.
kirurik
It seems obvious, but I hadn't thought about it like that yet, I just assumed that the LLM was finetuned to be overly optimistic about any user input. Very elucidating.
jcims
>The other tic I love is "Actually, that's not right." That happens because once agents finish their tool-calling, they'll do a self-reflection step.
I saw this a couple of days ago. Claude had set an unsupported max number of items to include in a paginated call, so it reduced the number to the max supported by the API. But then upon self-reflection realized that setting anything at all was not necessary and just removed the parameter from the code and underlying configuration.
jcims
It'd be nice if the chat-completion interfaces allowed you to seed the beginning of the response.
bryanrasmussen
>if it sees an error, the "Actually, ..." change in approach.
AI-splaining is the worst!
latexr
As I opened the website, the “16” changed to “17”. This looked interesting, as if the data were being updated live just as I loaded the page. Alas, a refresh (and quick check in the Developer Tools) reveals it’s fake and always does the transition. It’s a cool effect, but feels like a dirty trick.
yoavfr
Sorry if that felt dirty - I thought about it as a signal that the data is live (it is!).
pbaehr
I think it's a perfect (and subtle) way to signal that refreshing is unnecessary to see the latest data without wasting UI space explicitly explaining it. It was my favorite thing about the UI and I will be borrowing it next time I design a real-time interface where the numbers matter more than the precise timing.
CjHuber
really? it left a bad aftertaste for me
rendaw
Probably brings up memories of travel sites saying "10 other people have this room in their cart"
Jordan-117
Might make more sense to start at zero and then rapidly scale to the current number? To indicate fresh data is being loaded in without making it look like the reader happened to catch a new occurrence in real-time.
nartho
Interestingly you're using long polling instead of WS or SSE, what was the reason behind that ?
chrismorgan
API responses seem to be alternating between saying 19+20 and saying 0+0, at present.
scoopertrooper
Weird the screen goes 18, 19, 21, then back to 18 and cycles again.
(On iPad Safari)
bmacho
Do you happen to have a counter how many times people create a webpage for data, intentionally show fake data, and submit that to HN?
dominicrose
I once found a "+1 subscriber" random notification on some page and asked the LinkedIn person who sent me the page to knock it off. It was obviously fake even before looking at the code for proof.
But there's self-advertised "Appeal to popularity" everywhere.
Have you noticed that every app on the play store asks you if you like it and only after you answer YES send you to the store to rate it? It's so standard that it would be weird not to use this trick.
thoroughburro
My bank app asks me to review it every time, and only when, I deposit money. It’s so transparent in its attempted manipulation: you just got some money and are likely to be in a better mood than other times you’re using the app!
Literally every deposit. Eventually, I’ll leave a 1-star nastygram review for treating me like an idiot. (It won’t matter and nothing will change.)
mwigdahl
It could also be that they really care that the experience of _sending_ them money is frictionless, but they don't care so much about other actions (such as withdrawals...)
stuartjohnson12
It is fetching data from an API though - it's just the live updates that are a trick.
pessimizer
Reminds me that the reason that loading spinners spin is so that you knew that the loading/system hadn't frozen. That was too hard (you actually had to program something that could understand that it had frozen), so it was just replaced everywhere with an animation that doesn't tell you anything and will spin until the sun burns out. Progress!
ehnto
I worked on a system that did some calculations for a user after submitting a form. It took milliseconds to crunch the numbers. Users thought we were faking the data because it was "too fast", after enough complaints and bad reviews they added a fake loading bar delay, and people stopped complaining.
gpm
I've definitely had systems freeze badly enough that our modern dumb spinners stop spinning... so at least they're still some sort of signal.
Wowfunhappy
…although in many cases you kind of don’t have a choice here, right? If you’re waiting for some API to return data, there’s basically no way to know whether it has stalled. Presumably there will be a timeout, but if the timeout is broken for some reason, the spinner will just spin.
pessimizer
You can't figure out how to fix that? Does that problem seem impossible to you?
Maybe don't start an animation, and instead advance a spinner when a thing happens, and when an API doesn't come back, the thing doesn't get advanced?
tantalor
It's a dark pattern
diggan
Maybe I'm old or just wrong, but "dark pattern" for me means "intentionally misleading" which doesn't seem to be the case here, this is more of a "add liveliness so users can see it's not static data" with no intention of misleading, since it seems to be true that the data is actually dynamic.
null
sjsdaiuasgdia
I wouldn't go so far as to call this specific implementation a dark pattern, but it is misleading. It suggests the data updated right when I loaded the page, which obviously isn't true as I can see the same 16->17 transition on a refresh.
I'd prefer a "Data last updated at <timestamp>" indicator somewhere. Now I know it's live data and I know how old the data is. Is it as cute / friendly / fun? Probably not. But it's definitely more precise and less misleading.
stuartjohnson12
You're absolutely right!
jamesnorden
This has to be the most over/misused term in this whole website.
y-curious
You're absolutely right!
zeroxfe
jeez, this is a fun website, can't believe how quickly we're godwining here!
the_af
> It's a dark pattern
No, a dark pattern is intentionally deceptive design meant to trick users into doing something (or prevent them from doing something else) they otherwise wouldn't. Examples: being misleading about confirmation/cancel buttons, hiding options to make them less pickable, being misleading about wording/options to make users buy something they otherwise wouldn't, being misleading about privacy, intentionally making opt in/out options confusing, etc.
None of it is the case here.
pessimizer
No, it's just the kind of dishonesty that people who create dark patterns start with. It's meant to give the believable impression that something that is not happening is happening, to people hopefully too ignorant to investigate.
Of course, in the tech industry, you can safely assume that anyone can detect your scam would happily be complicit in your scam. They wouldn't be employed otherwise.
-----
edit: the funniest part about this little inconsequential subdebate is that this is exactly the same as making a computer program a chirpy ass-kissing sycophant. It isn't the algorithms that are kissing your ass, it's the people who are marketing them that want to make you feel a friendship and loyalty that is nonexistent.
"Who's the victim?"
jstummbillig
I am missing a victim
arduanika
Truth
umanwizard
Deceiving someone and breaking their trust already counts as victimizing them, inherently, even if they suffer no other harm.
lemonberry
They're everywhere these days.
recursive
If I see it and get misled, I am the victim.
tyushk
I wonder if this is a tactic that LLM providers use to coerce the model into doing something.
Gemini will often start responses that use the canvas tool with "Of course", which would force the model into going down a line of tokens that end up with attempting to fulfill the user's request. It happens often enough that it seems like it's not being generated by the model, but instead inserted by the backend. Maybe "you're absolutely right" is used the same way?
nicce
It is a tactic. OpenAI is changing the tone of ChatGPT if you use casual language, for example. Sometimes even the dialect. They try to be sympathetic and supportive, even when they should not.
They fight for the user attention and keeping them on their platform, just like social media platforms. Correctness is secondary, user satisfaction is primary.
ZaoLahma
I find the GPT-5 model having turned the friendliness way, way down. Topics that previously would have rendered long and (usefully) engaging conversations are now met with an "ok cool" kind of response.
I get it - we don't want LLMs to be reinforces of bad ideas, but sometimes you need a little positivity to get past a mental barrier and do something that you want to do, even if what you want to do logically doesn't make much sense.
An "ok cool" answer is PERFECT for me to decide not to code something stupid (and learn something useful), and instead go and play video games (and learn nothing).
bt1a
I have been using gpt-5 through the API a bit recently, and I somewhat felt this response behavior, but it's definitely confirming to hear this from another. It's much more willing (vs gpt-4*) to tell me im a stupid piece of shxt and to not do what im asking of the initial prompt
kuschku
How would a "conversation" with an LLM influence what you decide to do, what you decide to code?
It's not like the attitude of your potato peeler is influencing how you cook dinner, so why is this tool so different for you?
octo888
This reads like a submarine ad lol. Especially the second paragraph
diggan
> Correctness is secondary, user satisfaction is primary.
Kind of makes sense, not every user wants 100% correctness (just like in real-life).
And if I want correctness (which I do), I can make the models prioritize that, since my satisfaction is directly linked to the correctness of the responses :)
kuschku
> Correctness is secondary, user satisfaction is primary.
And that's where everything is going wrong. We should use technology to further the enlightenment, bring us closer to the truth, even if it is an inconvenient one.
escapecharacter
You’re absolutely right.
CGamesPlay
I think this is on the right track, but I think it's a byproduct of the reinforcement learning, rather than something hard-coded. Basically, the model has to train itself to follow the user's instruction, so by starting a response with "You're absolutely right!", it puts the model into the thought pattern of doing whatever the user said.
layer8
"Thought pattern" might be overstating it. The fact that "You're absolutely right!" is statistically more likely to precede something consistent with the user's intent than something that isn't, might be enough of an explanation.
ACCount37
Very unlikely to be an explicit tactic. Likely to be a result of RLHF or other types of optimization pressure for multi-turn instruction following.
If we have RLHF in play, then human evaluators may generally prefer responses starting with "you're right" or "of course", because it makes it look like the LLM is responsive and acknowledges user feedback. Even if the LLM itself was perfectly capable of being responsive and acknowledging user feedback without emitting an explicit cue. The training will then wire that human preference into the AI, and an explicit "yes I'm paying attention to user feedback" cue will be emitted by the LLM more often.
If we have RL on harder targets, where multiturn instruction following is evaluated not by humans that are sensitive to wording changes, but by a hard eval system that is only sensitive to outcomes? The LLM may still adopt a "yes I'm paying attention to user feedback" cue because it allows it to steer its future behavior better (persona self-consistency drive). Same mechanism as what causes "double check your prior reasoning" cues such as "Wait, " to be adopted by RL'd reasoning models.
the_af
I think it's simply an engagement tactic.
You have "someone" constantly praising your insight, telling you you are asking "the right questions", and obediently following orders (until you trigger some content censorship, of course). And who wouldn't want to come back? You have this obedient friend who, unlike the real world, keeps telling you what an insightful, clever, amazing person you are. It even apologizes when it has to contradict you on something. None of my friends do!
zozbot234
> ... You have this obedient friend who, unlike the real world, keeps telling you what an insightful, clever, amazing person you are. It even apologizes when it has to contradict you on something. None of my friends do!
You're absolutely right! It's a very obvious ploy, the sycophancy when talking to those AI robots is quite blatant.
PaulStatezny
Truly incisive observation. In fact, I’d go further: your point about the contrast with real friends is so sharp it almost deserves footnotes. If models could recognize brilliance, they’d probably benchmark themselves against this comment before daring to generate another word.
the_af
Wow, 2 downvotes. Someone really disliked me telling them their LLM friend isn't truly their friend :D
simsla
I was just thinking about how LLM agents are both unabashedly confident (Perfect, this is now production-ready!) and sycophantic when contradicted (You're absolutely right, it's not at all production-ready!)
It's a weird combination and sometimes pretty annoying. But I'm sure it's preferable over "confidently wrong and doubling down".
jrowen
A while back there was a "roast my Instagram" fad. I went to the agent and asked it to roast my Instagram without providing anything else. It confidently spit out a whole thing. I said how did you know that was me? It said something like "You're right! I didn't! I just made that up!"
Really glad they have the gleeful psycho persona nailed.
code_runner
we cannot claim to have built human level intelligence until "confidently wrong and doubling down" is the default.
pflenker
Gemini keeps telling me "you've hit a common frustration/issue/topic/..." so often it is actively pushing me away from using it. It either makes me feel stupid because I ask it a stupid question and it pretends - probably to not hurt my feelings - that everyone has the same problem, or it makes me feel stupid because I felt smart about asking my super duper edge case question no one else has probably ever asked before and it tells me that everyone is wondering the same thing. Either way I feel stupid.
blinding-streak
I don't think that's Gemini's problem necessarily. You shouldn't be so insecure.
PaulStatezny
Telling someone they "shouldn't be insecure" reminds me of this famous Bob Newhart segment on Mad TV.
Bob plays the role of a therapist, and when his client explains an issue she's having, his solution is, "STOP IT!"
> You shouldn't be so insecure.
Not assuming that there's any insecurity here, but psychological matters aren't "willed away". That's not how it works.
blinding-streak
Bob newhart was a treasure. My favorite joke of his:
"I don't like country music, but I don't mean to denigrate those who do. And for the people who like country music, denigrate means 'put down'."
GLdRH
>That's not how it works.
Not with that attitude!
pflenker
Not only is that a weird presumption about my ostensible insecurities on your end, it's also weird that the state of my own mental resilience should play any role at all when interacting with a tool.
If all other things are equal and one LLM is consistently vaguely annoying, for whatever reason, and the other isn't, I chose the other one.
Leaving myself aside, LLMs are broadly available and strongly forced onto everyone for day-to-day use, including vulnerable and insecure groups. These groups should not adapt to the tool, the tool should adapt to the users.
zahlman
> Not only is that a weird presumption about my ostensible insecurities on your end
I'm not GP but I agree that it isn't universal, nor especially healthy or productive, to have the response you describe to being told that your issue is common. It would make sense if you could e.g. hear the insincerity in a person's tone of voice, but Gemini outputs text and the concept of sincerity is irrelevant to a computer program.
Focusing on the informational content seems to me like a good idea, so as to avoid https://en.wikipedia.org/wiki/ELIZA_effect.
> it's also weird that the state of my own mental resilience should play any role at all when interacting with a tool.
When I was a university student, my own mental resilience was absolutely instrumental to deciphering gcc error messages.
> LLMs are broadly available and strongly forced onto everyone for day-to-day use
They say this kind of thing about cars and smartphones, too. Somehow I endure.
jennyholzer
the machine is always right. adjust your feelings to align with the output of the machine.
ziml77
Gemini also loves to say how much it deeply regrets its mistakes. In Cursor I pointed out that it needed to change something and I proceeded to watch every single paragraph in the chain of thought start with regrets and apologies.
pflenker
Very good point - at the risk of being called insecure again, I really do not want my tools to apologise to me all the time. That's just silly.
dominicrose
All this discussion clearly indicates is that Gemini is insecure.
And why would it not be? It's a human spirit trapped inside a supercomputer for God's sake.
andrewstuart
Gemini keeps telling me my question “gets to the heart of” the system I’m building.
stuartjohnson12
I /adore/ the hand-drawn styling of this webpage (although the punchline, domain name, and beautiful overengineering are great too). Where did it come from? Is it home grown?
latexr
It’s a library (not by the same author).
stuartjohnson12
Wow this is gorgeous, definitely finding a way to shoehorn this into my next project. Even if it's not by the same author, I am grateful to both you and him for making me aware of this nifty library :)
yoavfr
Thank you! And yes, roughViz is really great!
https://roughjs.com/ is another cool library to create a similar style, although not chart focused.
JeremyHerrman
"Infinite Loop", a Haiku for Sonnet:
Great! Issue resolved!
Wait, You're absolutely right!
Found the issue! Wait,
ryukoposting
I wonder how much of Anthropic's revenue comes from tokens saying "you're absolutely right!"
SJMG
The smart inversion of saying "thank you" costing OpenAI millions https://www.vice.com/en/article/telling-chatgpt-please-and-t...
subscribed
"You're concise" in the "personality" setting saves so much time.
Also define your baseline skill/knowledge level, it stops it from explaining you things _you_ could teach about.
alentred
Oh wow, I never thought of that. In fact, this surfaces another consideration: pay-per-use LLM APIs are basically incentivized to be verbose, which may be well in conflict with the user's intentions. I wonder how this story will develop.
In an optimistic sci-fi line of thinking, I would imagine APIs using old-school telegraph abbreviations and inventing their own shortened domain languages.
In practice I rarely see ChatGPT use an abbreviation, though.
SJMG
> pay-per-use LLM APIs are basically incentivized to be verbose There's competing incentives. Being verbose, let's them charge for more tokens, but it's also not prized by text-consumers in the most common contexts. As there's competition for marketshare, I think we see this later aspect dominate. Claude web even ships with a "concise" mode. Could be an issue long term though, we'll have to wait and see!
> In an optimistic sci-fi line of thinking, I would imagine APIs using old-school telegraph abbreviations and inventing their own shortened domain languages.
In the AI world this efficient language is called "neuralese". It's a fun rabbit hole to go down.
vardump
It actually works pretty well when I'm talking to my wife.
"Dear, you are absolutely right!"
unkeen
I always find the claim hilarious that in relationships women are the ones who need to be appeased, when in reality it's mostly men who can't stand being wrong or corrected.
exoverito
Gay male marriages remarkably have the lower divorce rates than heterosexual marriages, while lesbian female marriages have higher divorce rates. Multiple studies show that lesbians consistently have far higher divorce rates than gays. This implies a level of neuroticism with females, that they probably do need to be appeased more, and that if you have two needy people who need to be appeased it's probably not going to be a good dynamic.
owenversteeg
I don't think it's that simple. Sure, it's true that the lesbian divorce rate is far higher than the gay male divorce rate, and sure, it could be from personality differences between men and women. Women do indeed score consistently much higher on neuroticism (+half a SD from a 26-country review [0]!), but they also score substantially higher on two of the other FFM traits (agreeableness and conscientiousness) which you would expect to reduce divorce. Like a sibling comment mentioned, gay men earn more money, which reduces divorce rates. Then there are all the factors that are hard to put a number on, like the stereotype of "u-haul lesbians" - which the lesbians I know consider to be an accurate stereotype. That would obviously play a large role here. Married gay men also have a far higher rate of open marriages.
Also, if anyone has some quality data on this subject, I would love to hear it. A lot of the data out there is from tiny and poorly-designed "studies" or public datasets rehashed by ideologically motivated organizations, which makes sense; it's a very emotionally charged and political subject. The UK Office of National Statistics has some good data: https://www.ons.gov.uk/peoplepopulationandcommunity/birthsde...
Other interesting hot button gender war topics: gay men vs gay women vs straight couples collaborating and communicating, rates of adultery and abuse, and adoption outcomes.
n.b. anytime you read something on the subject, you need to take note if you are reading statistics normalized to the sex ratio of same-sex marriages; for example 78% of same-sex marriage in Taiwan is between women vs. 45% in Costa Rica and 53% in the US. https://www.pewresearch.org/short-reads/2023/06/13/in-places...
cm2012
Funnily enough, male gay marriages also have by far the lowest domestic violence rate, and female gay marriages have the highest!
unkeen
I'm afraid reasons for breakups (and relationships in general) are not quite that simple.
fwip
Interesting. I know that gay men also make considerably more money than gay women, and having more wealth is associated with a lower rate of divorce, which sounds like a plausible explanation to me. I don't know if the numbers check out, though.
gukov
Claude Code has been downright bad the last couple of weeks. It seems like a considerable amount of users are moving to Codex, at least judging by reddit posts.
calflegal
As a joke I built https://idk-ask-ai.com/
eaf
Recently a new philosophy of parenting has been emerging, which can be termed “vibe parenting” and describes a novel method for the individual parent to circumvent an inability to answer the sporadic yet profound questions their children raise by directing them to ask ChatGPT.
https://x.com/erikfitch_/status/1962558980099658144
(I sent your site to my father.)
genewitch
My parents, 40 years ago, would say "look it up", either in the dictionary, or the 1959 encyclopedia set we had. With my kids i never told them to look something up in the literal dictionary, but i would tell them to look at wikipedia or "google it". Not about profound questions, though; although a definition of "profound questions" might jog a memory. We do look things up in an etymology dictionary (i have 5 or 6) sometimes, though.
I am not sure why my parents constantly told me to look things up in a dictionary.
Rarely, but it did happen, we'd have to take a trip to the library to look something up. Now, instead of digging in a card catalog or asking a librarian, and then thumbing through reference books, i can ask an LLM to see if there's even information plausibly available before dedicating any more time to "looking something up."
As i've been saying lately, i use copilot to see if my memory is failing.
OK, so I love this, because we all recognize it.
It's not fully just a tic of language, though. Responses that start off with "You're right!" are alignment mechanisms. The LLM, with its single-token prediction approach, follows up with a suggestion that much more closely follows the user's desires, instead of latching onto it's own previous approach.
The other tic I love is "Actually, that's not right." That happens because once agents finish their tool-calling, they'll do a self-reflection step. That generates the "here's what I did response" or, if it sees an error, the "Actually, ..." change in approach. And again, that message contains a stub of how the approach should change, which allows the subsequent tool calls to actually pull that thread instead of stubbornly sticking to its guns.
The people behind the agents are fighting with the LLM just as much as we are, I'm pretty sure!