Live data from Hacker News

Learnings from 100K lines of Rust with AI (2025)

zfhuang99.github.io

161–170 of 225 posts

Re: Learnings from 100K lines of Rust with AI (2025)

#161

Earlier quoted context omitted.

> LLMs do reason No, they don't. They are token predictors that use statistical techniques to emit the randomly weighted next most likely token given the previous token list. The result is a strange mimic of human reasoning, because the tokens it predicts are trained on strings that were produced by humans that were reasoning, but that's not the same thing. Human cognition is complex and poorly understood, and the na…

> They are token predictors that use statistical techniques to emit the randomly weighted next most likely token given the previous token list. Sounds like an implementation detail. Now describe how human reasoning works and explain why that process of chemical and electrical signals results in "reasoning" whereas what LLMs do isn't. The problem with being this reductive is you can do it to anything, including humans…

[dead]

Re: Learnings from 100K lines of Rust with AI (2025)

#163
post #54

We're working on a large Rust codebase, heavily assisted development with Claude and Codex, and one critical workflow is after you have written a spec, have the other LLM critique it thoroughly. This back and forth will take quite a while, but the resulting implementation plan will be 10x better than the original. You can automate this by giving Codex a goal, and a skill to call Claude to review the implementation sp…

>We're working on a large Rust codebase, heavily assisted development with Claude and Codex, and one critical workflow is after you have written a spec, have the other LLM critique it thoroughly.

I do this with other languages, too, not just Rust. Thing is, you have to put a hard stop at some point because the models will always find something to nitpick.

Re: Learnings from 100K lines of Rust with AI (2025)

#164

Earlier quoted context omitted.

The problem with that is LLMs can output words or symbols that seen like it used "reason" to produce. But for everything the core algorithm does, it's simply nothing like the wetware reasoning to get to the same answer. So he didn't move goalposts. He always meant the reasoning that stems from human cognition. Technically if it has that, it'd be singularity no? So basically the premise is they are doing nothing of th…

> Technically if it has that, it'd be singularity no? reasoning is not black and white. It is possible to reason poorly. Most people cannot do basic math proofs, even math majors struggle with the hardest math proofs. Reasoning in humans is also context/token dependent. I just spent one HOUR trying to show my mom (who has mild dementia) how to use amazon fire (push DOWN until your channel shows up, push RIGHT until t…

Humans off load reasoning into language and syntax. Chinese encodes arithmetic into the grammar/syntax patterns better than French for example.

Your posts are generally insightful. Thanks for the contribution. Even if it’s a bit cranky and gruff :)

Re: Learnings from 100K lines of Rust with AI (2025)

#165

Earlier quoted context omitted.

You have moved goalposts from reasoning to "human cognition". I won't tolerate that sort of slippery wordplay. Reasoning is making analogies between logical patterns found in conceptual space, with a direction of time (statements precede conclusions). For example. A => B and B => C. You may now deduce A => C. For something fuzzier, A~D and B~E, you may now deduce that D~=>E. This is the sort of thing that higher laye…

Reasoning requires cognition, otherwise there's nothing to reason about, no context or value system to use as a basis for reason. Decision making can be done by trained machines following rules, but that's different that reasoning. A thermostat isn't reasoning when it decides to turn on the air conditioner, to argue otherwise expands the definition of "reason" to be so broad that it becomes useless. LLMs are trained…

Why does reasoning require cognition? Isn’t a if else block or switch statement reasoning? Or a formal logic proof? If an LLM produces an output using formal logic or a python script why is that not reasoning? A human would offload the reasoning using similar methods. I know when I took the LSAT, I learned ways to diagram arguments and didn’t have to think/reason about it because the formal logic diagram did the “reasoning for me”.

Aren’t humans just “action potential” extrusion machines? What is unique about our neural pattern recognition to make our cognition different in nature rather than merely degree?

It seems clear at this point that the greatest insight that unlocked our current AI acceleration was scaling alone would unlock emergent properties and abilities.

Re: Learnings from 100K lines of Rust with AI (2025)

#166

Cool post. I don’t fully understand what a code contract is but appreciate the advice. I have settled on a similarly light weight /agile folder when I keep my roadmap.md with epics and sprints.

It's a set of asserts that are a part of the type signature. Requires are asserts on the inputs, ensures are asserts on the outputs.

Depending on your backend you either ignore them, check them all of the time, some of the time, or have SMT-solvers prove that if you uphold the first one all else must follow.

If you're interested in the last one, have a look at Dafny[0]

[0] https://dafny.org/

Re: Learnings from 100K lines of Rust with AI (2025)

#168

>Testing is the first layer of defense. My system now includes 1,300+ tests — from unit tests to minimal integration tests (e.g., proposer + acceptor only), all the way to multi-replica full integration tests with injected failures. See the project status. I know LOC is a silly metric, but ~1300 tests for 130k lines averages out to a test per 100 lines - isn't this awfully low for a highly complex piece of code, even…

I may have missed it but are those tests written by person or generated? Otherwise how do you know they even test anything (like actually test, not appear to test)

It’s all written by AI and you can’t tell for sure if the tests are good. You can eyeball some but eyeballing 50k lines of code takes a lot of time. You just trust AI and YOLO, find errors later

Re: Learnings from 100K lines of Rust with AI (2025)

#169
post #54

We're working on a large Rust codebase, heavily assisted development with Claude and Codex, and one critical workflow is after you have written a spec, have the other LLM critique it thoroughly. This back and forth will take quite a while, but the resulting implementation plan will be 10x better than the original. You can automate this by giving Codex a goal, and a skill to call Claude to review the implementation sp…

It's incredible how much developers will do to avoid having to look at or think about code.

What is incredible is that these people have the gall to call themselves developers.

Re: Learnings from 100K lines of Rust with AI (2025)

#170
post #97

Earlier quoted context omitted.

Original RSL library is 36k LoC. And this is C++. Rust should be like 50% smaller, that is, 18k LoC. This library is so big that I bet the author has no idea if it works or not. 1300 test generated by AI say nothing about actual quality. In the end it is just a lot of unmaintainable code quickly generated by AI.

This is uncharitable, but makes a prediction. I imagine you'd bet the author won't be successfully using this, at MS/Uber or wherever they are, in a year time? Rust makes no promise of being terser than C++, and RSL does less than this considering the optimization. Also it's only 45/50k LOC so not so very from the 36k LOC.

Yes, I would bet it won't go anywhere.

The blog post mentioned the project is 130k LoC multiple times. Where 45/50k LoC comes from?

>Rust makes no promise of being terser than C++

True, but Rust has no header files, this alone is a great LoC saver.

Post reply on HN