Building something new. Previously: CTO at Autonomy

San Francisco Bay Area
mrinal retweeted
A bit delayed, but the Navier–Stokes results sparked a lot of conversations about privacy, and inspired me to write a primer on what AI labs actually do with our data. I go through @OpenAI , @AnthropicAI, @GoogleDeepMind , and @SpaceXAI policies: training defaults, retention, feedback exceptions, and what deleting a chat actually does. Putting the policy details aside, one thing about this whole debate is worth emphasizing: I think focusing only on whether someone read the chat logs misses something. Sometimes the valuable secret is just one bit: someone has already made this approach work with an AI. You don’t need their proof, their name, or their conversations for that to change where you put your time and compute. This is why I don’t think Clio-style aggregation and LLM privacy filters are enough. Hiding the raw conversations doesn’t settle what someone can learn. Full blog below 👇
9
42
247
16,750
“Product builds the product inception style.” 🤌 agree with @GeoffreyHuntley The left side of this picture is what provides energy to the factory loops. User feedback, Production logs, Agent traces, and your team's ideas are what move the engine forward. A good software factory also improves over time and gets better at building its product. To do that it has to learn. These learnings very quickly become about how the product works, what are its builders’ priorities, its users’ preferences, its creators’ taste etc. A product and its factory are insperable.
As it stands now, here is my hottest take: A software factory is actually an applied automation practice in the actual product. It's not some external thing. It's a product pattern where the product builds the product inception style. Any external system or dependency should be internalized into the product to enable the product to build the product. If you can't build the product in the product, from the product, then you are missing the mark. I don't know how to explain this more clearly at this stage. It's a bit mind-bending, but if you understand meta programming, macros and understand the Factorio reference that a factory should build the factory so it can build the factory. It might be a little bit easier to follow along.... >Your product is the factory< ghuntley.com/rad
233
This reminded me of a podcast I was on a year ago talking about how, counterintuitively, software engineering is getting harder not easier. Things have only gotten more complicated since then. Here's a short clip of that discussion: linkedin.com/posts/mrinalwad…
The more time I spend working with coding agents, the more convinced I am that they make software engineering even harder We can do amazing things with them, but unlocking their full potential requires extraordinary discipline and knowledge
1
216
mrinal retweeted
If coding agents will write most of our code, what happens with our communities and sense of ergonomics? How does it impact our compilers and tools?

Evolving programming languages in the AI era

This post is a collection of short ramblings on how programming languages may evolve in the AI era. It is split into two parts: Reflections and Agentic tooling. The first raises questions about what

55
71
361
49,433
mrinal retweeted
I'm seeing a lot of euphoria about how Opus 5.5 is good at TLA+, and this means that all software will soon be formally verified. As a person who loves TLA+ so much he wrote a book on it, I want to throw a particular cold shower on people's enthusiasm by talking about the limits of what you can actually verified with it. The high level simplification is that TLA+ sees a system as a set of "behaviors", or possible sequences of states. For example, the pseudocode "pick a random number from 1-3 and decrement it to 1" has three behaviors: `{3 -> 2 -> 1, 2 -> 1, 1}`. From here, there are two basic kinds of TLA+ properties: - `[]P` means that `P` is true in *all states* of *every behavior*. - `<>P` means that `P` is true in *at least one state* of *every behavior*. `[]P` is immediately useful as an **invariant**, or something that always be true of your system. This is things like "your data is never corrupt" or "there's always at least one server online." `<>P` is a little more abstract, but for technical math reasons I won't get into here, can be stacked with `[]` to create really complex and useful properties. `<>[]P` represents things like "the algorithm eventually converges on the right answer", `[]<>P` things like "if two data stores desync, they will eventually resync", and `[](P => <>Q)` things like "If a message is put on the queue, it's eventually processed by a worker". Really cool stuff! These primitives were chosen to make a wide array of properties useful. And if we're clever, we can do all sorts of more complex properties, like bounded time constraints and history properties. But we're always constrained to 1) define a logical formula 2) over individual behaviors, and 3) check that all behaviors satisfy that formula. So some things that we *cannot* express in TLA+: - Possibility and reachability properties: that it's always possible to *make* P true, even if you don't actually decide to. Things like "I can always shut down the computer" or "A user can always change their password". These can't be expressed with `<>P` because that's "for all behaviors, P happens at least once", we actually want "for all behavior prefixes, there is at least one behavior where P happens at least once". - Hyperproperties: properties that are defined over two or more traces. These are things like "painting a car red doesn't make it faster" or "users cannot infer secret data by observing public data". We can't do these because TLA+ only looks at one behavior at a time. - Statistical properties: 95% latency is 1ms. Impossible because most of these are hyperproperties. - Properties about if a system is robust against code changes. Impossible because, uh, you have new behaviors now. Some of these are solvable in different logical formalisms. CTL can do reachability, PRISM can do statistical properties, etc. Those have their own tradeoffs and limitations, though, and no system can do everything. Others are solvable with a lot of cleverness tailored to the specific spec, like lifting a model into a hypermodel. But these are insanely inefficient and make your "clever spec" diverge significantly from the real world system, so introduce a lot more opportunity for things to go wrong. The core problem, though, is (1): properties are logical formula. If we don't know how to express a system property as a logical formula, we can't verify it. 99% of the properties we care about fall under this. The information on the site is easy for a user to find. Our LLMs behave as we expect them to. Our application can't be used to break the law. TLA+ (and Quint and Lean and Rocq) are near-useless here, no matter how clever you are. Don't get me wrong: `[]P` and `<>P` represent a huge range of useful properties and TLA+ is incredible at finding awful concurrency bugs. But there's a lot it fundamentally can't do and we shouldn't believe that it will solve all our worries about software bugs. And the same goes for all other formal verification languages, too.
32
98
789
100,996
updated Decision Index 0.1 → 0.2 🎯 better formula, +29 jev-like models, +21 benchmarks AutoJev-27B by @perplexity_ai CTO @denisyarats took the open lead, trailing jev by 0.8 points 🏆 come find the best model at every size, speed and use-case huggingface.co/spaces/multim…
20
21
172
22,755
mrinal retweeted
The loudest voices stoking fears about AI dangers have made tremendous headway in the past two weeks. AI technology has not taken some unexpected, dangerous turn, but the hype around it — propelled by what appears to be a well orchestrated PR campaign — has drummed up considerable fear. I worry that it represents a setback for our field. I have written frequently that fears of AI are overhyped. AI’s capabilities can be uncannily human-like and unpredictable, and it’s rational to worry when people who are directly involved express concerns. But I see the problems as a sign of the engineering work that ahead, rather than insurmountable barriers or the sky falling. AI technology continues to advance — which is a good thing! — but technical advances, poorly understood by the public, give those who seek to generate hype repeated opportunities to do so. First, I don’t see any step up in the risk of human extinction from AI compared to a few months ago. The theories about this remain the same fantastical, science fiction scenarios as a few months ago. The biggest change in AI risk is its cybersecurity capabilities — a topic which we should take seriously — but this, too, will not lead to the end of the world. The most notable recent event leading to increased fear was when an OpenAI team deployed an agent swarm that hacked into Hugging Face. Much of the popular press contained significant hype. For example, some publications reported that a swarm of 1,200 agents carried out the attack. While this was technically accurate, as I write this, I have about 1,300 processes running on my laptop. Yes, the ability to get large swarms of agents to work in parallel on a task is a significant technical advance, And, in computing, many processes run at the same time. So this shouldn’t be seen as some magical capability. Additionally, OpenAI’s buggy sandboxing and monitoring processes were key to enabling this incident. Fixing these bugs and putting in place improved monitoring would be appropriate fixes, not pausing AI. There are many well known ways to attack software systems. The main advantage of AI agents is that they are relentless. They will tirelessly try many tactics — and have the patience to chain vulnerabilities together — that previously would have taken an infeasible amount of human effort. But in the long term, I believe the advantage will lie with defenders (because they have more information with which to identify bugs, which they can fix), but the cyber-threat landscape has changed significantly. There are still bottlenecks to identifying and exploiting a vulnerability. AI agents still have to try a lot of things to see what works, and taking these actions takes time and might be detected by defenders. This is why, even though it is now easy to obtain versions of leading open weight models that have had their guardrails removed or weakened, so they will not refuse to try to execute cyber attacks, the world has not ended. I am also concerned about the anthropomorphization of AI in a lot of reporting, where LLMs and agents are unnecessarily treated as if they were people. If I wield a hammer, miss a nail, and accidentally dent the wall, it’s not the fault of the hammer. The problem lies in how I used the hammer. Similarly, if I prompt an agent and it hacks into someone else’s system, the responsibility lies with me, not the agent. Of course, we want to build systems that are as safe and predictable as possible. (For example, an unsafe hammer would be one whose head randomly flies off under normal use.) Today’s agentic systems are not predictable, but I see no reason why, by applying sound engineering practices, we won’t be able to make them extremely safe to use. One new element in the forecasts of AI-enabled doom is AI companies disclaiming responsibility for their own products. “I didn’t do it; my out-of-control agent did!” There’s a balance to be struck between the responsibility of the tool maker and the tool user, but when something goes wrong, let’s hold the people building and/or using the hammer responsible, rather than the hammer. (By the way, if you’re worried about AI bioweapon risk, David Bellamy has a great post on why this, too, is overhyped. Briefly, the bottleneck in building a bioweapon is not intelligence, but lab work and manufacturing.) Pausing AI progress will create much more harm than benefit. First, our adversaries will certainly not slow down. Second, engineering requires discovering problems empirically so we can fix them. If we pause AI by a decade, we will also delay finding and implementing safety engineering fixes by about the same duration. Of course, the incentive to stoke fears — for regulatory capture, to garner attention, or to make one’s technology seem more powerful — remains the same as before. Disclaiming responsibility is a new one. Taking a hard technical look at the actual risks however, I see little factual basis for the degree of fear that’s been stoked up. We still have hard research and engineering work ahead to improve AI safety, but the beneficial applications continue to vastly outweigh the risks, and we should keep building. [Original text (with links): deeplearning.ai/the-batch/is… ]
942
1,857
8,795
7,932,844
Search is a weak spot in privacy focused AI. Once we have a good, fast, and local Jev-like "decision model" I think most use cases of Muse etc. can happen locally. Things like make a reservation, fill an application, etc. are simple agent state machines that will work really with a small local llm + a fast decision model + a headless browser. But, agents often need to search for things and currently the only reliable way to give an agent that ability if give access to a search API from @brave , @firecrawl , @Tiny_Fish etc. These API calls are identifiable by your API key. You can only get Zero Data Retention guarantees from search API providers on enterprise plans. For enterprise users Brave's guarantees seem the strongest. Any attempt to automate search in a local browser usually hits captcha walls. Bing is a little bit more lenient than the others but this approach hasn't been reliable for me so far. Maybe apple, with their history of iCloud Private Relay, Private Cloud Compute, local Foundation Models, etc. will do something in this area. Is anyone working on solving this?
4 years ago all my searches went to Google 3 years ago many started going to ChatGPT. 2 years ago more started splitting between ChatGPT and Gemini < 1 year ago more started going to my OpenClaw This week I was evenly split Instinct, Muse, Siri AI Things are moving fast
4
1
3
469
If you *think* your pushes to GitHub are protected by your SSH key being on a yubikey, double-check that you don't have valid github auth tokens sitting in your home directory: $ gh auth status
Embarrassing story: for a decade I thought my git push to github was protected by my yubikey tap. Then one day an agent that couldn't get me to tap because I was away noticed that I had the gh command installed and it allows access to a github token that can be used to push via the API 🤦‍♂️ @dinodaizovi is right of course. I love how good agents can be at helping you harden security boundaries if you focus them on that problem.
2
6
130
21,296
This is an excellent demo and I'm further convinced Jev like capability will be local to our computers. It makes no sense to pay network roundtrips for this functionality and only have it when you're online.
what if copy/paste was smart? powered by @typesafeai jev it feels like every computer interaction will get rewritten
1
6
682
Kev like training on Qwen3.6-35B-A3B will likely perform even closer to Jev. A neat thing about getting to Jev-like capability with a model that is also one of the best models to host locally ( Qwen3.6-35B-A3B, Qwen3.8 27B, GLM-5.3-Flash etc. )... is that one model can then offer both text generations and decisions.
1
58
Solomon looks very close to what I was hoping for above. @4rcherhume have you run any comparisons against the official Jev so far?
Yes we are a healthcare company. Yes we just released the best open-weight alternative to Jev, Solomon 27b. - It roughly matches the intelligence of its base-model, Qwen3.8 27b - Natively Multimodal - 265k Context Window - Adds multi-choice tagging, evidence pointer spans, and more.
58
Embarrassing story: for a decade I thought my git push to github was protected by my yubikey tap. Then one day an agent that couldn't get me to tap because I was away noticed that I had the gh command installed and it allows access to a github token that can be used to push via the API 🤦‍♂️ @dinodaizovi is right of course. I love how good agents can be at helping you harden security boundaries if you focus them on that problem.
It's amazing how simple and effective isolated hardware that requires a physical action to use a cryptographic key is at creating an boundary that even the most advanced AI models cannot cross, nor will they ever. At most, AI can try to get the human to sign the wrong thing.
1
6
58
26,613
Jev's ultra low cost and very high-speed, I think predict that all of us will have this capability locally: on our workstation, inside cloud agents sandboxes. These indicators are a rough proxy for hardware needed. We won't be calling APIs for this.
155
mrinal retweeted
Kev-0.5B: A tiny open source Jev-like decision model with a TypeSafe-compatible API based on Qwen2.5-0.5B that you can train and run on a MacBook Pro. Model card and weights are available on GitHub github.com/jaredpalmer/kev
92
204
2,608
409,994
mrinal retweeted
I ran some real, live evals on Jev vs DiffusionGemma-as-Jev (my patch for vLLM!) DiffusionGemma comes out as the winner, I think. Headlines: Is Jev faster than DiffusionGemma? No ❌ (API vs DGX Spark) Is Jev smarter than DiffusionGemma? No ❌ (they're roughly tied!)
53
91
1,127
441,935