6 ms·
Because they want it to be executed quickly and cheaply without blocking the workflow? Doesn’t seem very weird to me at all.
by stingraycharles 7mo ago
Because they want it to be executed quickly and cheaply without blocking the workflow? Doesn’t seem very weird to me at all.
- deleted 7mo ago[deleted]
- _fizz_buzz_ 7mo agoThey probably have statistics on it and saw that certain phrases happen over and over so why waste compute on inference.
- mycall 7mo agoThe problem with regex is multi-language support and how big the regex will bloat if you to support even 10 languages.
- b112 7mo agoDid you just complain about bloat, in anything using npm?
- TeMPOraL 7mo agoWe're talking about Claude Code. If you're coding and not writing or thinking in English, the agents and people reading that code will have bigger problems than a regexp missing a swear word :).
- MetalSnake 7mo agoI talk to it in non-English. But have rules to have everything in code and documentation in english. Only speaking with me should use my native language. Why would that be a problem?
- ekropotin 7mo agoBecause 90% of training data was in English and therefore the model perform best in this language.
- foldr 7mo agoIn my experience these models work fine using another language, if it’s a widely spoken one. For example, sometimes I prompt in Spanish, just to practice. It doesn’t seem to affect the quality of code generation.
- adamsb6 7mo agoThey literally just have to subtract the vector for the source language and add the vector for the target. It’s the original use case for LLMs.
- curioussquirrel 7mo agoThank you. +1. There are obviously differences and things getting lost or slightly misaligned in the latent space, and these do cause degradation in reasoning quality, but the decline is very small in high resource languages.
- ekropotin 7mo agoIt’s just a subjective observation. It just can’t be a case simply because how ML works. In short, the more diverse and high quality texts with reasoning reach examples were in the training set, the better model performs on a given language. So unless Spanish subset had much more quality-dense examples, to make up for volume, there is no way the quality of reasoning in Spanish is on par with English. I apologise for the rambling explanation, I sure someone with ML expertise here can it explain it better.
- foldr 7mo agoThe agent may be translating to English behind the scenes. There are all kinds of hacks layered on top of the underlying models. But however exactly it works, it’s clearly not the case that these things only make use of Spanish training data when you prompt them in Spanish. Lets take a language with orders of magnitude less training data, like Nahuatl. The following is what happens if I ask Claude Code in Nahuatl to give me an example of a simple program that I can execute inside a web browser (avoiding any direct keyword prompts like 'Javascript' or 'Hello World'). Interestingly, it responds in Spanish. I doubt that it has any relevant training data in Nahuatl. (Apologies if the Nahuatl is wrong – I just used Google translate.) ¿Uelis techmakas se neskayotl tlen se programa tlen amo ouij tlen ueliskia nijchiuas ipan se navegador web? ----- Entiendo tu pregunta en náhuatl. Aquí un ejemplo sencillo — una calculadora en HTML puro que puedes abrir directo en el navegador, sin servidor: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Calculadora</title> <style> body { font-family: sans-serif; display: flex; justify-content: center; padding: 40px; } .calc { border: 1px solid #ccc; padding: 20px; border-radius: 8px; width: 200px; } input { width: 100%; margin-bottom: 10px; font-size: 1.2em; text-align: right; } button { width: 22%; margin: 2px; padding: 8px; font-size: 1em; cursor: pointer; } .wide { width: 47%; } </style> </head> <body> <div class="calc"> <input type="text" id="pantalla" readonly> <div> <button onclick="tecla('7')">7</button> <button onclick="tecla('8')">8</button> <button onclick="tecla('9')">9</button> <button onclick="tecla('/')">÷</button> <button onclick="tecla('4')">4</button> <button onclick="tecla('5')">5</button> <button onclick="tecla('6')">6</button> <button onclick="tecla('*')">×</button> <button onclick="tecla('1')">1</button> <button onclick="tecla('2')">2</button> <button onclick="tecla('3')">3</button> <button onclick="tecla('-')">−</button> <button onclick="tecla('0')">0</button> <button onclick="tecla('.')">.</button> <button onclick="tecla('+')">+</button> <button onclick="limpiar()">C</button> <button class="wide" onclick="calcular()">=</button> <button class="wide" onclick="borrar()">⌫</button> </div> </div> <script> const pantalla = document.getElementById('pantalla'); function tecla(val) { pantalla.value += val; } function calcular() { try { pantalla.value = eval(pantalla.value); } catch { pantalla.value = 'Error'; } } function limpiar() { pantalla.value = ''; } function borrar() { pantalla.value = pantalla.value.slice(0, -1); } </script> </body> </html> Guarda esto como calculadora.html y ábrelo en cualquier navegador — no necesita servidor ni dependencias. Es un buen punto de partida para aprender HTML, CSS y JavaScript.
- formerly_proven 7mo agoIn my experience agents tend to (counterintuitively) perform better when the business language is not English / does not match the code's language. I'm assuming the increased attention mitigates the higher "cognitive" load.
- cryptonector 7mo agoClaude handles human languages other than English just fine.
- doublesocket 7mo agoSupporting 10 different languages in regex is a drop in the ocean. The regex can be generated programmatically and you can compress regexes easily. We used to have a compressed regex that could match any placename or street name in the UK in a few MB of RAM. It was silly quick.
- cogman10 7mo agoI think it will depend on the language. There are a few non-latin languages where a simple word search likely won't be enough for a regex to properly apply.
- mycall 7mo agoExactly this. Unicode is a big beast to consider in regex concats.
- astrocat 7mo agowoah. This is a regex use I've never heard of. I'd absolutely love to see a writeup on this approach - how its done and when it's useful.
- benlivengood 7mo agoYou can literally | together every street address or other string you want to match in a giant disjunction, and then run a DFA/NFA minimization over that to get it down to a reasonable size. Maybe there are some fast regex simplification algorithms as well, but working directly with the finite automata has decades of research and probably can be more fully optimized.
- doublesocket 7mo agoThis was many moons ago, written in perl. From memory we used Regexp::Trie - https://metacpan.org/release/DANKOGAI/Regexp-Trie-0.02/view/lib/Regexp/Trie.pm https://metacpan.org/release/DANKOGAI/Regexp-Trie-0.02/view/... We used it to tokenize search input and combined it with a solr backend. Worked really remarkably well.
- crimsonnoodle58 7mo agoThey only need to look at one language to get a statistically meaningful picture into common flaws with their model(s) or application. If they want to drill down to flaws that only affect a particular language, then they could add a regex for that as well/instead.
- crem 7mo agoMore likely their LLM Agent just produced that regex and they didn't even notice.
- Foobar8568 7mo agoWhy do you need to do it at the client side? You are leaking so much information on the client side. And considering the speed of Claude code, if you really want to do on the client side, a few seconds won't be a big deal.
- matkoniecz 7mo ago> a few seconds won't be a big deal it is not that slow
- plorntus 7mo agoDepends what its used by, if I recall theres an `/insights` command/skill built in whatever you want to call it that generates a HTML file. I believe it gives you stats on when you're frustrated with it and (useless) suggestions on how to "use claude better". Additionally after looking at the source it looks like a lot of Anthropics own internal test tooling/debug (ie. stuff stripped out at build time) is in this source mapping. Theres one part that prompts their own users (or whatever) to use a report issue command whenever frustration is detected. It's possible its using it for this.
- orphea 7mo agoIt looks like it's just for logging, why does it need to block?
- jflynn2 7mo agoBetter question - why would you call an LLM (expensive in compute terms) for something that a regex can do (cheap in compute terms) Regex is going to be something like 10,000 times quicker than the quickest LLM call, multiply that by billions of prompts
- orphea 7mo agoThis is assuming the regex is doing a good job. It is not. Also you can embed a very tiny model if you really want to flag as many negatives as possible (I don't know anthropic's goal with this) - it would be quick and free.
- gf000 7mo agoI think it's a very reasonable tradeoff, getting 99% of true positives at the fraction of cost (both runtime and engineering). Besides, they probably do a separate analysis on server side either way, so they can check a true positive to false positive ratio.