John Wong (@johnwcl) profile picture

Entrepreneur, Coder, Photographer, Movie Maker, Food Lover. Co-founder of @flexnode, showtimes.my and #webcampkk

Kota Kinabalu, Malaysia
Joined April 2008
Photo by John Wong (@johnwcl)Photo by John Wong (@johnwcl)Photo by John Wong (@johnwcl)Photo by John Wong (@johnwcl)Photo by John Wong (@johnwcl)Photo by John Wong (@johnwcl)Photo by John Wong (@johnwcl)Photo by John Wong (@johnwcl)Photo by John Wong (@johnwcl)
John Wong retweeted
What is a "statechart"? State machines, but better. Another hand-written 2-minute read ⬇️
28
66
6
815
90,334
John Wong retweeted
Introducing *Switch*: a *harness framework* for *decision models* like Jev I looked for this the other day and was surprised to not find anything like it You obviously cannot use a decision model like an LLM in a coding agent harness like @pidotdev, because Jev cannot generate tool calls But what if there was a framework that "generated the tool calls" for it programmatically, and Jev only had to pick out of that finite set of choices That is what switch does. You pick a "domain" to implement the decision model in, and it provides a core API to define your state, and the functions that will derive decision model questions out of that state. Chess is a domain, as well as being a rubric judge for evals It basically standardizes what I imagine a lot of people are already vibe-coding, to an abstract interface: calling a decision-model API through multiple steps, i.e. an agent loop over finite choices Because of the finiteness of the output of a decision model, you cannot have a general pure decision model harness. Instead, you need to implement specific ones that generate the choices programmatically (or have an LLM generate the choices, but I find the former more interesting) A primary use case I have for this is use as a judge in an eval. For example, At the end of a task run that involves a bunch of documents, most people currently follow this approach: extract text out of PDF/docx/md files, and dump them right into the context But what if the visual formatting of the output is a judging criterion? Then you have to dump an image of every page in the input state. But what if you have 200 pages, and your question does not need looking at all of them? What if Jev could navigate through the haystack and find the info it needs? I have noticed that Jev is not so good at chess nor being a Decision-Model-as-a-Judge. It sucks at chess, and it does not perform well enough to replace GPT 6.1 Sol as a judge in the domain I am working for But switch is not only for Jev! It is for any decision model including the ones supported by the pi-ai package So once you can generate enough data with a better model, you should be able to pick an open source one and fine-tune it on your use case to perform better! And the model should be trained in a harness like switch's to be especially performant and cost-efficient I wanted to get this out because I find the idea very exciting, at least for benchmarking. Jev is currently not there, but decision models obviously will be there at some point, and we can take them there! There are also a lot of potential gains from picking a specific domain, and creating a looping agent that does a job for 100x cheaper! Let me know if you have any ideas, I am quite keen to try this on new domains! Repo: github.com/osolmaz/switch
70
143
19
2,037
109,250
John Wong retweeted
you guys had lots of questions. here's a bit more about how it's working and how you can do it too: - we started with a simple thing that worked - just bug reports with one claude in discord - i reviewed it's code for weeks - it earned autonomy over months - the first month cost about $100k - we audit every token against our goals hourly - we double down on what works - and cut things that don't fast - spawn is a new social network - not a tool to make games - we do not sell anything today - we make money when creators do - our goal is max(fun) - we have 1000s of daily-active creators - doubling every 10 days - 30% are in spawn 30hr* per week - 10% more than 60hr* per week - spawn replaced league, wow, roblox, and mc (*with recent inputs and tab focus) - we do no paid marketing - launched 8 weeks ago - peak CCU up 250x (from ~10 to 2.5k) - avg CCU up 150x (from 4 to 650) - we have 10,000s of daily active players - at launch the best games had 2% D1 retention - they now have 20-25% D7 and 18-20% D14 - every week has been better than the last - mobile still crashes - down from 95% of plays to 20% in 6 weeks - running real UGC games on mobile browsers is hard - it would be easy to solve this with limits on what you can make - but that leads to slop - so i'm taking the hard path - my goal is simple - games 100x the size of GTA5 - loading in 1s - on a 5 year old budget phone - running at 60FPS - we ask creators to rate savi every 15 messages - she scored ~40% in january - 92% this week - we got here by watching newbies try spawn weekly - we stole this idea from valve's playtesting culture - it's the best thing we do outside of agents imo
37
26
13
512
34,398
John Wong retweeted
Introducing Contrastive Language Model (CLM): an ultra-fast System One Model trained with a contrastive learning objective that connects states and actions. CLM-8B is pre-trained on internet-scale data and delivers up to 9× faster inference than Jev ⚡ while achieving comparable performance across computer-use, gaming, and tool-calling tasks. With lightweight fine-tuning, CLM-8B sets a new SOTA on challenging agentic coding benchmarks, such as DeepSWE (81.6%) and Terminal-Bench 2.1 (87.6%). In contrast, Jev fails to serve as an effective verifier for these long-horizon tasks. We also build an efficient training and serving infra for CLMs by disaggregating states and actions, allowing their embeddings to be cached and reused independently. This substantially reduces inference latency in settings where the state evolves continuously while the action set remains fixed. Finally, we establish scaling laws for CLMs and show that the test contrastive loss decreases predictably as a power law in training compute, model size, and dataset size. 📄 Blog: contrastive-lm.notion.site 💻 Code: github.com/Contrastive-LM/CL… 🗣️ Discord: discord.gg/5dAQEDJBs 🤗 Data & Models: huggingface.co/Contrastive-L… More details on CLM’s architecture, data recipe, and scaling laws in the thread below 🧵
190
641
171
5,524
1,069,054