Making Claude 3.7 Sonnet Think in Unicode & Reason Semi-Symbolically

I'm a bit of a madman for this. 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 ๐˜ต๐˜ฉ๐˜ช๐˜ด.

If youโ€™ve been here before, youโ€™ll know Iโ€™m a pioneering explorer in novel techniques for LLM usage, such as my knowledge diffusion technique.

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:

  1. Cognitive Waypoints: Different thinking modes become instantly recognizable, creating visual signposts throughout the reasoning process

  2. Reduced Cognitive Load: Users can rapidly scan thinking blocks to identify key insights, areas of uncertainty, and conclusions without having to read every word

  3. Thinking Pattern Recognition: With extended use, patterns in Claude's reasoning become more apparent, offering insight into how AI approaches different problem types

  4. 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:

  1. Visual differentiation helps both AI and humans track the progression of thought

  2. Different Unicode styles might map naturally to different cognitive modes

  3. Using โ€œrareโ€ Unicode characters may push the model into different regions of its latent space

  4. 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:

  1. Engage in a thorough thinking process before responding

  2. Apply different Unicode text styles to different modes of thinking

  3. Follow specific guidelines for when to use each style

  4. 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:

  1. Visit Claude.ai

  2. Create a new custom style:

    • Click on the Choose style selector at the bottom of the input box

    • Select 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 :)

Shep Bryan

Shep Bryan is an AI pioneer and award-winning innovation consultant. His trailblazing work blends the frontiers of tech, business, and creativity to reimagine the future for iconic brands and artists alike.

https://shepbryan.com
Next
Next

What 200+ Hours of AI Development Taught Me About Building with Lovable.dev