• nl 7 hours ago

    Despite the comments here, this isn't a special language. It's namespaced XML which is exactly what XML namespaces were designed for.

    • dainiusse 7 hours ago

      And thank god. I saw the title and thought - yes, the world needs just another markup standard...

    • smahs 3 hours ago

      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`.

      • BoorishBears 6 hours ago

        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

        • mudkipdev 7 hours ago

          have model providers not found a better way to provide tool calling other than adding "respond with special json" to the system prompt?

          • avandekleut 7 hours ago

            Using context-free grammars and sampling techniques.

            • otabdeveloper4 7 hours ago

              The grammar still describes JSON though, right?

          • est 5 hours ago

            looks like slowly re-invent XML

            • zvr an hour ago

              No, they're just using XML.

            • EdwardDiego 7 hours ago

              [flagged]

              • jpnc 7 hours ago

                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!

                • EdwardDiego 3 hours ago

                  But will v1.0 parse the country code for Norway as a boolean? If not, get out of here, you amateur.

                  • didgeoridoo an hour ago

                    No.

                  • 01HNNWZ0MV43FF 7 hours ago

                    It's simply too good

                  • resonious 7 hours ago

                    It's XML with namespaces.

                    • EdwardDiego 3 hours ago

                      That sounds familiar. Almost like... XML, with namespaces!

                      Glad it has a new acronym to prevent any confusion.