News for hackers. Stuff that matters.
Re:ANTML: Anthropic’s Markup Language by nl on Friday October 31, 2025 @02:00AM (#45768846)
Despite the comments here, this isn't a special language. It's namespaced XML which is exactly what XML namespaces were designed for.
Re:ANTML: Anthropic’s Markup Language by dainiusse on Friday October 31, 2025 @02:01AM (#45768853)
And thank god. I saw the title and thought - yes, the world needs just another markup standard...
Re:ANTML: Anthropic’s Markup Language by BoorishBears on Friday October 31, 2025 @02:36AM (#45769010)
I think there's actually a wrong assumption here: that the tags aren't part of training

The model can't introspect itself to know this, but the latest hybrid thinking models do think noticeably differently when prompted the right way between these tags, suddenly shifting to an extremely verbose mode of output that looks more like raw reasoning traces the earliest versions of reasoning models were showing

I have a prompt that used the original <antThinking> tag (it wasn't namespaced with 3.5). Every release eroded how steerable that output was and now 4 and up start spewing massive amounts of tokens in an extremely freeform manner that's also more effective

nano-banana/Gemini Flash 2.5 Image similarly does something like this: when prompted to think carefully will generally write a paragraph or two, but once coaxed a bit harder will suddenly output massive sprawling markdown formatted planning like the original un-masked thinking traces from Gemini Thinking.

It's like there's a sort of "mode collapse" for reasoning in these models that's going to continue getting more noticeable as providers lean harder into RL, which is ironic given how much ceremony there is around hiding reasoning traces in these APIs to avoid distillation

Re:ANTML: Anthropic’s Markup Language by est on Friday October 31, 2025 @03:21AM (#45769210)
looks like slowly re-invent XML
Re:ANTML: Anthropic’s Markup Language by zvr on Friday October 31, 2025 @07:28AM (#45770841)
No, they're just using XML.
Re:ANTML: Anthropic’s Markup Language by mudkipdev on Friday October 31, 2025 @01:50AM (#45768804)
have model providers not found a better way to provide tool calling other than adding "respond with special json" to the system prompt?
Re:ANTML: Anthropic’s Markup Language by avandekleut on Friday October 31, 2025 @01:53AM (#45768815)
Using context-free grammars and sampling techniques.
Re:ANTML: Anthropic’s Markup Language by otabdeveloper4 on Friday October 31, 2025 @02:04AM (#45768865)
The grammar still describes JSON though, right?
[dead]
Re:ANTML: Anthropic’s Markup Language by jpnc on Friday October 31, 2025 @01:46AM (#45768782)
I had an idea for a new markup language. I'm thinking of being cheeky and calling 'Yet Another Markup Language'. Hope it catches on!
Re:ANTML: Anthropic’s Markup Language by 01HNNWZ0MV43FF on Friday October 31, 2025 @01:50AM (#45768801)
It's simply too good
Re:ANTML: Anthropic’s Markup Language by EdwardDiego on Friday October 31, 2025 @05:25AM (#45769981)
But will v1.0 parse the country code for Norway as a boolean? If not, get out of here, you amateur.
Re:ANTML: Anthropic’s Markup Language by didgeoridoo on Friday October 31, 2025 @07:39AM (#45770910)
No.
Re:ANTML: Anthropic’s Markup Language by resonious on Friday October 31, 2025 @02:05AM (#45768871)
It's XML with namespaces.
Re:ANTML: Anthropic’s Markup Language by EdwardDiego on Friday October 31, 2025 @05:23AM (#45769974)
That sounds familiar. Almost like... XML, with namespaces!

Glad it has a new acronym to prevent any confusion.

Re:ANTML: Anthropic’s Markup Language by smahs on Friday October 31, 2025 @05:55AM (#45770175)
The author doesn't explain (or is ignorant about) why this happens. These are special tokens that the model is trained on, and are part of its vocab. For example, here are the <think> and </think> tokens defined in the [Qwen3 tokenizer config](https://huggingface.co/Qwen/Qwen3-235B-A22B-Thinking-2507/bl...).

The model runtime recognizes these as special tokens. It can be configured using a chat template to replace these token with something else. This is how one provider is modifying the xml namespace, while llama.cpp and vllm would move the content between <think> and </think> tags to a separate field in the response JSON called `reasoning_content`.