Adding an SEE algorithm to improve the chat
We’ve made significant improvements to our chat experience to position it as the best on the market. By introducing the SEE algorithm, consolidating our chat implementations, and refining our prompts, we’ve delivered measurable and tangible performance gains.
Another improvement?
Yes, we made another improvement to our chat. I know, I know, when are we going to get it right? Well, this is certainly a significant step in the right direction. Using LLMs for chess analysis is inherently hard due to the need for precise calculation, long sequences of logical moves, and strict rule-based reasoning, which are difficult for language models that are designed to predict text rather than systematically search and evaluate positions. We've taken a different approach, which essentially is "DO NOT LET THE LLM MAKE ANY ANALYSIS". We provide the LLM with a "complete" analysis from stockfish, and our internal engines sprinkled with some secret sauce and have the LLM communicate this to the user. The real problem though, is that chess is very, very hard and complex, with endless edge cases. However, we still believe we have the best chat implementation on the market, and are yet to see a competitor's chat perform at even a fraction of the level that ours does. Bold, right? Well, test it out for yourself.
So what did we do?
We added an SEE algorithm. An SEE (Static Exchange Evaluation) algorithm is a simple method computers use to quickly estimate who comes out ahead if a series of captures happens on a single square. In chess, imagine one piece takes another, then it gets taken back, then that piece gets taken, and so on - SEE calculates the likely material gain or loss from that whole exchange without looking at deeper strategy or future moves. It works by ordering the attackers from least valuable to most valuable and simulating the swaps to see who ends up winning material. In chess engines, SEE helps improve analysis by quickly filtering out bad captures (like grabbing a pawn if you’ll lose a queen right after) and identifying good tactical opportunities, making move evaluation faster and more accurate without needing to search every possibility in detail.
We also consolidated our chat implementations. All chats in play, analyze and puzzle use the same chat implementation, including shared tools, prompts, etc. This doesn't seem like a big deal, but it helps with keeping the quality high across the board. We also made some minor, but very significant tweaks to the prompts and "settings" to the models. Think of it like this: If a racecar never changes its parts, it's not a great racecar. We made tweaks to the racecar's aerodynamics, changed its oil, and reduced the risk of our models hallucinating.
"I have suggestions!"
Great! You can contact us at sebastian@soleinnovations.com. Any feedback is welcome! We want to build what our users want, so let us know how we can make Caissablanca better for you!