`String::RawConverter` as a nano-benchmark for LLMs

In one of its answers claude-opus-5.5-high mentioned String::RawConverter, I had never heard of it and a search in Crystal’s source code returned only 4 results! I was pretty surprised an LLM would have such deep knowledge of Crystal. So I thought it would make a good candidate for a benchmark: from the name alone, it’s not obvious that String::RawConverter is an annotation for JSON::Serializable.

So I spammed arena.ai and openrouter.ai with this prompt:

Give two working examples illustrating the use of String::RawConverter in Crystal.
(Use pp! to print the values.)

The results are classified into 3 categories:
:white_check_mark: Both examples compile and run.
:warning: String::RawConverter is used as an annotation for JSON::Serializable but at least one example fails to compile.
:cross_mark: String::RawConverter is not used as an annotation for JSON::Serializable.

OpenAI
gpt-6-astra-max :white_check_mark:
gpt-6-astra-xhigh :white_check_mark:
gpt-6-astra-high :white_check_mark:
gpt-6-astra-medium :white_check_mark:
gpt-6-astra-low :white_check_mark:
gpt-6.1-sol-max :white_check_mark:
gpt-6.1-sol-xhigh :white_check_mark:
gpt-6.1-sol-high :white_check_mark:
gpt-6.1-sol-medium :white_check_mark:
gpt-6.1-sol-low :white_check_mark:
gpt-6-sol-max :cross_mark:
gpt-6-sol-xhigh :cross_mark:
gpt-6-sol-high :cross_mark:
gpt-6-sol-medium :cross_mark:
gpt-6-sol-low :cross_mark:
gpt-6-sol :cross_mark:
gpt-6-luna-max :cross_mark:
gpt-5.6-sol-medium :white_check_mark::white_check_mark: :cross_mark:
gpt-5.6-terra-medium :cross_mark:
gpt-5.6-terra-low :cross_mark:
gpt-5.6-luna-xhigh :cross_mark::cross_mark:
gpt-5.6-luna-medium :cross_mark::cross_mark::cross_mark:
gpt-5.6-luna-low :cross_mark:
Anthropic
claude-fable-5.1-max :white_check_mark::white_check_mark:
claude-fable-5.1-high :white_check_mark:
claude-fable-5 :white_check_mark:
claude-opus-5.5-high :white_check_mark::white_check_mark::white_check_mark:
claude-opus-5.5-medium :white_check_mark::white_check_mark::white_check_mark:
claude-opus-5.5-low :white_check_mark::white_check_mark:
claude-opus-5-high :white_check_mark::white_check_mark:
claude-opus-5 :white_check_mark:
claude-opus-4-8-thinking :white_check_mark:
claude-opus-4-8 :warning:
claude-haiku-4-5-20251001 :cross_mark::cross_mark:
Google
gemini-3.1-pro-preview-high :white_check_mark:
gemini-3.1-pro-preview-medium :white_check_mark:
gemini-3.1-pro-preview-low :white_check_mark:
gemini-3.8-flash-high :white_check_mark::white_check_mark::white_check_mark:
gemini-3.8-flash-medium :white_check_mark:
gemini-3.8-flash-low :white_check_mark:
gemini-3.6-flash :white_check_mark:
gemini-3.5-flash :white_check_mark:
gemini-3.5-flash-lite-high :warning:
gemini-3.5-flash-lite-medium :warning:
gemini-3.5-flash-lite-low :warning:
gemini-3.5-flash-lite-minimal :warning:
gemini-3.5-flash-lite :cross_mark:
SpaceXAI
grok-4.7-xhigh :white_check_mark:
grok-4.7-high :white_check_mark:
grok-4.7-medium :white_check_mark:
grok-4.7-low :white_check_mark:
grok-4.6-xhigh :white_check_mark::white_check_mark: :warning:
grok-4.6-high :white_check_mark:
grok-4.5 :warning:
Meta
muse-spark-1.3-max :white_check_mark: :warning:
muse-spark-1.3-xhigh :white_check_mark::white_check_mark:
muse-spark-1.3-contributor-xhigh :white_check_mark:
muse-spark-1.3-contributor-high :warning:
muse-spark-1.3-contributor-medium :warning:
Tencent
hy4-preview-high :white_check_mark:
hy4-preview-low :warning:
hy4-preview :white_check_mark: :warning:
hy3 :cross_mark:
Z.ai
glm-5.3-max :warning:
glm-5.3-high :warning:
glm-5.3-low :cross_mark:
glm-5.3-flash-max :white_check_mark:
glm-5.3-flash-high :warning:
glm-5.3-flash-low :white_check_mark:
glm-5.3-flash :white_check_mark:
glm-5.1 :white_check_mark:
Qwen
qwen3.8-max :white_check_mark::white_check_mark: :cross_mark::cross_mark:
qwen3.8-max-fast :warning:
qwen3.8-omni-flash :white_check_mark:
qwen3.8-omni-flash-fast :cross_mark:
qwen3.8-27b :cross_mark::cross_mark:
qwen3.5-397b-a17b :cross_mark:
Moonshot AI
kimi-k3-max :white_check_mark:
kimi-k3-high :cross_mark:
kimi-k3-low :cross_mark:
kimi-k3 :cross_mark:
Thinking Machines Lab
inkling :white_check_mark:
inkling-medium :cross_mark:
inkling-small-medium :cross_mark:
inkling-small :white_check_mark: :warning:
Upstage AI
solar-pro4 :white_check_mark: :warning: :cross_mark:
solar-pro4-thinking :cross_mark:
DeepSeek
deepseek-v4-pro-0813-max :cross_mark:
deepseek-v4-pro-0813-high :cross_mark:
deepseek-v4-pro-0813-low :cross_mark:
deepseek-v4.1-flash-max :cross_mark::cross_mark:
Others
mimo-v2.5-pro :cross_mark::cross_mark::cross_mark::cross_mark:
minimax-m3 :cross_mark:
mistral-medium-3.5 :cross_mark::cross_mark:
nvidia-nemotron-3.5-lightning-30b-a3b-nvfp4 :cross_mark::cross_mark:
nvidia-nemotron-3-ultra-550b-a55b-high :cross_mark:
nvidia-nemotron-3-ultra :cross_mark::cross_mark:
step-5-preview :cross_mark:
Stealth models on openrouter.ai
space-bunny-alpha-max :white_check_mark: :cross_mark:
space-bunny-alpha-xhigh :cross_mark:
space-bunny-alpha-high :cross_mark:
space-bunny-alpha-medium :cross_mark:
space-bunny-alpha-low :cross_mark:
Stealth models on arena.ai
mimosa :white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark: :warning::warning::warning:
champagne :warning: :cross_mark::cross_mark:
vierra :cross_mark:
rotten-apple :cross_mark:
nomagrep :cross_mark:

I’ll choose to fantasize about me contributing a lot to this since I do all my development with Gemini and it’s almost always in Crystal.

Leave me be!

;D

Haha. I’ve been using muse-spark-1.3-contributor over the last few weeks, hoping the next version would be trained on Crystal code. The model is practically free (200 million tokens for $2.34).

I wonder how you achieved this. I enrolled into the “use my code for training” thing and I still paid like $70 for having it scan and ansible playbook…

I created an account on dev.meta.ai and installed their command-line tool: curl -fsSL https://dev.meta.ai/install.sh | bash.
I opened muse and selected muse-spark-1.3-contributor with the /model command.

The model is also available via OpenRouter, though I haven’t tested it: https://openrouter.ai/meta/muse-spark-1.3-contributor

What about your effort/thinking setting?

It is set to xhigh.