“Unicode Thinking”: Experiments in Semi-Symbolic Reasoning with Claude 3.7 Sonnet
This article was original posted on Shep Bryan’s blog: Making Claude 3.7 Sonnet Think in Unicode & Reason Semi-Symbolically.
When new models drop, I love to explore & pioneer novel techniques for LLM usage, such as my knowledge diffusion technique.
Claude 3.7 Sonnet is out now with an extended thinking mode, but it still only thinks in plain text.
So... I added a symbolic layer to the reasoning process with a Unicode Thinking Protocol that buckets different styles of thinking into different "fonts" like 𝘁𝗵𝗶𝘀 and 𝓽𝓱𝓲𝓼 and 𝘵𝘩𝘪𝘴.
Quick Summary, read on for the deep dive.
There are four buckets for the unicode thinking protocol ->
🔴 INITIAL THOUGHTS
⠀⇢ 𝐼𝑡𝑎𝑙𝑖𝑐 (Mathematical Italic)
⠀⇢ Example: 𝑇ℎ𝑖𝑠 𝑞𝑢𝑒𝑠𝑡𝑖𝑜𝑛 𝑠𝑒𝑒𝑚𝑠 𝑡𝑜 𝑏𝑒 𝑎𝑏𝑜𝑢𝑡...
⠀⇢ First impressions, problem framing, initial approaches
🟠 KEY DEDUCTIONS
⠀⇢ 𝗕𝗼𝗹𝗱 (Mathematical Bold)
⠀⇢ Example: 𝗧𝗵𝗲 𝗰𝗿𝘂𝗰𝗶𝗮𝗹 𝗶𝗻𝘀𝗶𝗴𝗵𝘁 𝗵𝗲𝗿𝗲 𝗶𝘀...
⠀⇢ Critical insights, important patterns, main conclusions
🟡 UNCERTAINTY
⠀⇢ 𝕱𝖗𝖆𝖐𝖙𝖚𝖗 (Mathematical Fraktur)
⠀⇢ Example: 𝕴 𝖜𝖔𝖓𝖉𝖊𝖗 𝖎𝖋 𝖙𝖍𝖎𝖘 𝖆𝖘𝖘𝖚𝖒𝖕𝖙𝖎𝖔𝖓 𝖆𝖑𝖜𝖆𝖞𝖘 𝖍𝖔𝖑𝖉𝖘...
⠀⇢ Expressions of uncertainty, alternatives, limitations
🟢 CONCLUSIONS
⠀⇢ 𝓢𝓬𝓻𝓲𝓹𝓽 (Mathematical Script)
⠀⇢ Example: 𝓣𝓪𝓴𝓲𝓷𝓰 𝓮𝓿𝓮𝓻𝔂𝓽𝓱𝓲𝓷𝓰 𝓲𝓷𝓽𝓸 𝓪𝓬𝓬𝓸𝓾𝓷𝓽...
⠀⇢ Final syntheses and preparation for response
Pros: Makes sequential thinking more explicit by mapping modes to unicode styles. Also, potentially lets the model access different / novel latent space when generating responses because it's not thinking in plain text anymore.
Cons: Token consumption is HIGH, output is slow. Don't use this via API.
The Github repo is here: https://github.com/elsheppo/unicode-thinking-claude. This was inspired by "Thinking Claude" and a lot of explorations into symbolic reasoning methods, such as SynthLang.
Initially I wanted to fine-tune an LLM to speak in Unicode, but this proved to be a much quicker way to see the idea in action.
If you’d like to see a comparison of with unicode vs without unicode thinking, you can check the examples folder in the repo.
“Unicode Thinking” for Claude 3.7 Sonnet
Visualize AI reasoning with styled Unicode text - a visual evolution of the Thinking Claude protocol
This enhanced protocol builds on the original Thinking Claude project, adding the visual dimension of Unicode styling while preserving the comprehensive thinking structure, and unlocking new latent space for reasoning through forced use of alternate tokenization.
Overview
Unicode Thinking Claude enhances Claude's thinking protocol by visually distinguishing different modes of reasoning through Unicode text styling.
This creates an intuitive visual hierarchy that makes complex AI reasoning more transparent and easier to follow, while potentially unlocking different cognitive pathways within the model itself.
Typically, a language model would use Markdown formatting to denote hierarchies or separations in sections of the text, such as # Heading 1, ## Heading 2, etc.
Unicode styling is a completely off-the-wall way for LLMs to consider the hierarchy in their responses, and thus I think it unlocks some potentially beneficial use cases.
The Four Thinking Styles
Claude's thinking process is visually differentiated using four distinct Unicode text styles:
Thinking Mode | Unicode Style | Example | Purpose |
---|---|---|---|
Initial Thoughts | Italic (Mathematical Italic) | 𝑇ℎ𝑖𝑠 𝑞𝑢𝑒𝑠𝑡𝑖𝑜𝑛 𝑠𝑒𝑒𝑚𝑠 𝑡𝑜 𝑏𝑒 𝑎𝑏𝑜𝑢𝑡... | First impressions, problem framing, initial approaches |
Key Deductions | Bold (Mathematical Bold) | 𝗧𝗵𝗲 𝗰𝗿𝘂𝗰𝗶𝗮𝗹 𝗶𝗻𝘀𝗶𝗴𝗵𝘁 𝗵𝗲𝗿𝗲 𝗶𝘀... | Critical insights, important patterns, main conclusions |
Uncertainty | Fraktur (Mathematical Fraktur) | 𝕴 𝖜𝖔𝖓𝖉𝖊𝖗 𝖎𝖋 𝖙𝖍𝖎𝖘 𝖆𝖘𝖘𝖚𝖒𝖕𝖙𝖎𝖔𝖓 𝖆𝖑𝖜𝖆𝖞𝖘 𝖍𝖔𝖑𝖉𝖘... | Expressions of uncertainty, alternatives, limitations |
Conclusions | Script (Mathematical Script) | 𝓣𝓪𝓴𝓲𝓷𝓰 𝓮𝓿𝓮𝓻𝔂𝓽𝓱𝓲𝓷𝓰 𝓲𝓷𝓽𝓸 𝓪𝓬𝓬𝓸𝓾𝓷𝓽... | Final syntheses and preparation for response |
Why Unicode Thinking?
Latent Space Exploration
Perhaps the most profound benefit of Unicode Thinking Claude is how it potentially influences the model's generation process at a fundamental level:
By using rare Unicode characters instead of standard ASCII, we're likely pushing Claude to traverse less-traveled regions of its latent space.
Unlike typical text generation that follows high-probability paths in the model's knowledge representation, these unusual characters may activate different neural pathways and connections.
This "latent space detour" could result in:
More creative or novel thinking patterns
Different association chains than standard text would trigger
Access to knowledge representations that might otherwise remain dormant
Breaking out of common response templates
This makes Unicode Thinking Claude more than just a visual enhancement - it's potentially a technique for accessing different cognitive processes within the model itself, without requiring fine-tuning or model modifications.
Visual Cognition Made Explicit
Unicode Thinking Claude creates a direct visual representation of the cognitive journey Claude takes through a problem. This approach offers several unique benefits:
Cognitive Waypoints: Different thinking modes become instantly recognizable, creating visual signposts throughout the reasoning process
Reduced Cognitive Load: Users can rapidly scan thinking blocks to identify key insights, areas of uncertainty, and conclusions without having to read every word
Thinking Pattern Recognition: With extended use, patterns in Claude's reasoning become more apparent, offering insight into how AI approaches different problem types
Process Transparency: The reasoning journey becomes more transparent, showing how initial thoughts evolve into concrete conclusions
"Prompting as Fine-Tuning"
Unicode Thinking Claude demonstrates how sophisticated prompt engineering can achieve effects similar to model fine-tuning, without requiring:
Access to model weights
Computational resources for training
Creation of specialized training datasets
Technical expertise in model fine-tuning
Instead, we use Claude's existing intelligence and instruction-following capabilities to implement a visual representation system for different reasoning modes.
The Development Process
Unicode Thinking Claude emerged from a collaborative design process that explored how to enhance the original Thinking Claude protocol with visual differentiation. Key insights that shaped the development:
Visual differentiation helps both AI and humans track the progression of thought
Different Unicode styles might map naturally to different cognitive modes
Using “rare” Unicode characters may push the model into different regions of its latent space
The approach maintains all the benefits of structured thinking while adding visual clarity
Our goal was to create a system that would be:
Intuitive and easy to understand at a glance
Compatible with existing systems (no special rendering needed)
Potentially beneficial to the model's own reasoning process
A lightweight alternative to specialized fine-tuning
How It Works
The project consists of a comprehensive thinking protocol that instructs Claude to:
Engage in a thorough thinking process before responding
Apply different Unicode text styles to different modes of thinking
Follow specific guidelines for when to use each style
Maintain the natural flow and authenticity of thought
This enhanced protocol builds on the original Thinking Claude project, adding the visual dimension of Unicode styling while preserving the comprehensive thinking structure.
Example
Here's a brief example of what Unicode Thinking Claude's reasoning looks like:
𝐿𝑒𝑡 𝑚𝑒 𝑡ℎ𝑖𝑛𝑘 𝑎𝑏𝑜𝑢𝑡 ℎ𝑜𝑤 𝑡𝑜 𝑎𝑝𝑝𝑟𝑜𝑎𝑐ℎ 𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑏𝑙𝑒𝑚. 𝑇ℎ𝑒 𝑞𝑢𝑒𝑠𝑡𝑖𝑜𝑛 𝑎𝑠𝑘𝑠 𝑎𝑏𝑜𝑢𝑡 𝑡ℎ𝑒 𝑒𝑛𝑣𝑖𝑟𝑜𝑛𝑚𝑒𝑛𝑡𝑎𝑙 𝑖𝑚𝑝𝑎𝑐𝑡 𝑜𝑓 𝑒𝑙𝑒𝑐𝑡𝑟𝑖𝑐 𝑣𝑒ℎ𝑖𝑐𝑙𝑒𝑠 𝑐𝑜𝑚𝑝𝑎𝑟𝑒𝑑 𝑡𝑜 𝑡𝑟𝑎𝑑𝑖𝑡𝑖𝑜𝑛𝑎𝑙 𝑐𝑜𝑚𝑏𝑢𝑠𝑡𝑖𝑜𝑛 𝑒𝑛𝑔𝑖𝑛𝑒 𝑣𝑒ℎ𝑖𝑐𝑙𝑒𝑠.
𝗜 𝗻𝗲𝗲𝗱 𝘁𝗼 𝗰𝗼𝗻𝘀𝗶𝗱𝗲𝗿 𝗺𝘂𝗹𝘁𝗶𝗽𝗹𝗲 𝗳𝗮𝗰𝘁𝗼𝗿𝘀 𝗶𝗻 𝘁𝗵𝗶𝘀 𝗰𝗼𝗺𝗽𝗮𝗿𝗶𝘀𝗼𝗻: 𝗱𝗶𝗿𝗲𝗰𝘁 𝗲𝗺𝗶𝘀𝘀𝗶𝗼𝗻𝘀, 𝗹𝗶𝗳𝗲𝗰𝘆𝗰𝗹𝗲 𝗲𝗺𝗶𝘀𝘀𝗶𝗼𝗻𝘀, 𝗿𝗲𝘀𝗼𝘂𝗿𝗰𝗲 𝗲𝘅𝘁𝗿𝗮𝗰𝘁𝗶𝗼𝗻, 𝗺𝗮𝗻𝘂𝗳𝗮𝗰𝘁𝘂𝗿𝗶𝗻𝗴 𝗶𝗺𝗽𝗮𝗰𝘁𝘀, 𝗮𝗻𝗱 𝗲𝗻𝗱-𝗼𝗳-𝗹𝗶𝗳𝗲 𝗱𝗶𝘀𝗽𝗼𝘀𝗮𝗹.
𝕴𝖙'𝖘 𝖎𝖒𝖕𝖔𝖗𝖙𝖆𝖓𝖙 𝖙𝖔 𝖓𝖔𝖙𝖊 𝖙𝖍𝖆𝖙 𝖙𝖍𝖊 𝖊𝖓𝖛𝖎𝖗𝖔𝖓𝖒𝖊𝖓𝖙𝖆𝖑 𝖎𝖒𝖕𝖆𝖈𝖙 𝖔𝖋 𝖊𝖑𝖊𝖈𝖙𝖗𝖎𝖈 𝖛𝖊𝖍𝖎𝖈𝖑𝖊𝖘 𝖛𝖆𝖗𝖎𝖊𝖘 𝖘𝖎𝖌𝖓𝖎𝖋𝖎𝖈𝖆𝖓𝖙𝖑𝖞 𝖉𝖊𝖕𝖊𝖓𝖉𝖎𝖓𝖌 𝖔𝖓 𝖙𝖍𝖊 𝖘𝖔𝖚𝖗𝖈𝖊 𝖔𝖋 𝖊𝖑𝖊𝖈𝖙𝖗𝖎𝖈𝖎𝖙𝖞 𝖚𝖘𝖊𝖉 𝖙𝖔 𝖈𝖍𝖆𝖗𝖌𝖊 𝖙𝖍𝖊𝖒. 𝕴𝖘 𝖎𝖙 𝖋𝖗𝖔𝖒 𝖗𝖊𝖓𝖊𝖜𝖆𝖇𝖑𝖊𝖘 𝖔𝖗 𝖋𝖔𝖘𝖘𝖎𝖑 𝖋𝖚𝖊𝖑𝖘?
𝓣𝓪𝓴𝓲𝓷𝓰 𝓪𝓵𝓵 𝓯𝓪𝓬𝓽𝓸𝓻𝓼 𝓲𝓷𝓽𝓸 𝓪𝓬𝓬𝓸𝓾𝓷𝓽, 𝓮𝓵𝓮𝓬𝓽𝓻𝓲𝓬 𝓿𝓮𝓱𝓲𝓬𝓵𝓮𝓼 𝓰𝓮𝓷𝓮𝓻𝓪𝓵𝓵𝔂 𝓱𝓪𝓿𝓮 𝓪 𝓵𝓸𝔀𝓮𝓻 𝓵𝓲𝓯𝓮𝓬𝔂𝓬𝓵𝓮 𝓮𝓷𝓿𝓲𝓻𝓸𝓷𝓶𝓮𝓷𝓽𝓪𝓵 𝓲𝓶𝓹𝓪𝓬𝓽 𝓽𝓱𝓪𝓷 𝓬𝓸𝓶𝓫𝓾𝓼𝓽𝓲𝓸𝓷 𝓮𝓷𝓰𝓲𝓷𝓮 𝓿𝓮𝓱𝓲𝓬𝓵𝓮𝓼, 𝓹𝓪𝓻𝓽𝓲𝓬𝓾𝓵𝓪𝓻𝓵𝔂 𝔀𝓱𝓮𝓷 𝓹𝓸𝔀𝓮𝓻𝓮𝓭 𝓫𝔂 𝓬𝓵𝓮𝓪𝓷 𝓮𝓵𝓮𝓬𝓽𝓻𝓲𝓬𝓲𝓽𝔂 𝓼𝓸𝓾𝓻𝓬𝓮𝓼.
Getting Started
To use Unicode Thinking Claude, you'll need to:
Visit Claude.ai
Create a new custom style:
Click on the
Choose style
selector at the bottom of the input boxSelect
Create & Edit Styles
Click
Create Custom Style
Choose
Use custom instructions (advanced)
Paste the Unicode Thinking Protocol
The Unicode Thinking Protocol is located in the model_instructions
folder of this repository. Copy the latest version and paste it into Claude's custom instructions field.
Technical Implementation
Unicode Character Sets
The Unicode styling is implemented using mathematical Unicode blocks:
Mathematical Italic: U+1D400 to U+1D433
Mathematical Bold: U+1D400 to U+1D7FF
Mathematical Fraktur: U+1D504 to U+1D537
Mathematical Script: U+1D49C to U+1D4CF
These Unicode blocks provide styled alphabets that visually distinguish different types of thinking without requiring any special rendering or formatting.
🚨 Token Usage Considerations
It's important to note that using Unicode Thinking Claude is more token-intensive than standard text:
Increased Token Count: Each Unicode character typically uses more tokens than standard ASCII characters. What would be a single token in ASCII may require multiple tokens in these Unicode ranges.
Higher API Costs: If using Claude via API, this will result in higher token costs for both input (instructions) and output (thinking process).
Potential Length Limitations: The increased token usage may result in hitting context length limits sooner.
Performance Trade-off: The additional token usage is the trade-off for potentially accessing different regions of Claude's latent space and gaining the visual differentiation benefits.
For certain use cases, the benefits of visual differentiation and potential latent space exploration outweigh the token efficiency concerns. However, for high-volume API applications, this should be factored into cost considerations.
Integration with Thinking Claude Extension
This protocol is fully compatible with the Thinking Claude browser extension. The extension will automatically detect and format Claude's thinking process, regardless of whether it uses Unicode styling or not.
Thanks for reading, and I hope you have fun exploring this very unusual application of Claude’s intelligence :)