Remix.run Logo
▲ frangonf 3 hours ago

Excuse me for throwing up this stupid idea, but if code changes per unit of time keep growing at this rate and are not slowing down with infinite merging demand, it seems that this repo will be in a constant state of continuous change and we constantly roll forward with automated code and obviously no direct human supervision, then why even have source control? Why not just let software be fluid and, like Heraclitus river, never step twice in the same repo.

▲devy 32 minutes ago | parent | next [-]

Many parts of the Git distributed version control are the results of good decision made. Anthropic source control team just think that their trade-offs needs are vastly different from other businesses. They said these too:

1. they have no-cap token spend allowance internally

2. their agent swarms are amongst the largest if not the largest, again because #1 above.

3. their git repo is enormously large (100GB uncompressed git history on main, 25GB compressed).

4. their merges per day count grew an order of magnitude from May to September to 30000 times per day, they are not seeing it slowing down anytime and probably only going to accelerate.

5. all of their code agents are networked and has network access, full local pull down is not needed at all and too slow (see #3)

6. their design of the Scion is based off prior art Google’s Piper and Meta’s Sapling.

Given their own constraints and characteristics of their own. It only makes sense to build their own homegrown solution based on prior arts. But this was NOT a complete redesign from scratch - so it's an full online download only what you need type of source control system. The problem is the version control software itself but its prior tradeoffs are misaligned with their scaling needs.

PS, if anyone noticed, Anthropic starts to concealing their employee full names and replaced with only first name + last name initiate, not sure why.

PPS, the project Scion is so bad, scn is worst, it reminds people of prior SVN, which is bad by itself.

▲jasobake 2 minutes ago | parent | next [-]

Anthropic is protective of employee names because of the sheer amount of hacking/phishing attempts that happen. A friend of mine got a job at Anthropic and within a week he was getting linkedin and email spam from people impersonating Dario.

▲mike_hearn 6 minutes ago | parent | prev | next [-]

But Piper is a reimplementation of perforce which makes me wonder why they couldn't just license it. Why does it make sense to do this. Perforce should scale to the level they're talking about. Google were using it even when they had many tens of thousands of developers and multiple changesets per second and presumably it got better since then

▲james_marks a minute ago | parent | prev | next [-]

re: PPS: Employees are an attack vector. Making their identities harder to discover is a protection.

Gives me a vaguely creepy feeling, but it's reasonable.

▲demaga 21 minutes ago | parent | prev [-]

> 100GB uncompressed git history on main, 25GB

I might be completely out of context, but why is it only 4x compression? Do they commit a lot of binaries? I just don't understand why would code compress so badly.

▲nater5000 3 hours ago | parent | prev | next [-]

Agents use source control, too. It's a pretty important part of the development process to understand how code has changed.

For example, you can imagine, at the extreme, that agents could get caught in code change loops: a code change seems appropriate, it is implemented, it turns out there's some external factor which makes it not appropriate, the change is reverted, then that same code change seems appropriate again, etc.

Obviously you can prevent that from occurring with some extra infrastructure in-place, but at that point you're basically creating source control.

▲thwarted 18 minutes ago | parent | next [-]

> Agents use source control, too. It's a pretty important part of the development process to understand how code has changed.

This is a great idea, now they just have to use/do it. Maybe they can use it effectively by cloning the repo and having all the history at hand, rather than continuously scraping web pages with git content formatted for human brwosing.

▲rbehrends 19 minutes ago | parent | prev | next [-]

> Agents use source control, too.

This is true, but at 30,000 merges a day we're talking about nearly 1 million merges a month, and purely autonomous agentic merges tend to be noisy. Is this still a tractable problem, even for an agent? Do revisions older than a few days, other than perhaps release snapshots, have any relevance for such a process?

▲myhf 2 hours ago | parent | prev | next [-]

In theory, an agent could use git-bisect to identify when a bug was introduced. But the operator would have to be more interested in understanding the root cause than in fixing the current form of the bug...

▲wongarsu an hour ago | parent | next [-]

For me, Claude regularly looks at git blame after identifying a bug, then reads the commit message and other changes in the commit to understand the context of why that behavior was introduced like that. I wouldn't be surprised if it pulled out a git bisect

Then again, my standard instruction is something like "{bug description}. Find the root cause and propose possible solutions" so I guess I fit your profile

▲genxy 44 minutes ago | parent [-]

Same, I basically take the derivative of a bug wrt every major dimension before I fix it.

▲caaqil an hour ago | parent | prev [-]

> the operator would have to be more interested in understanding the root cause than in fixing the current form of the bug...

Can you even do the latter without the former?

▲j45 2 hours ago | parent | prev | next [-]

In this sentence who would be understanding the code changes, humans?

▲simianwords 2 hours ago | parent | next [-]

The agents obviously.. I thought that was obvious.

▲j45 an hour ago | parent [-]

That's not super reassuring, until I know they can read, remember, and reference reliably at suitable complexity.

▲j45 2 hours ago | parent | prev [-]

And which is understanding the code changes meant for?

▲LadyCailin 2 hours ago | parent | prev | next [-]

Just have the agent rederive the revert, based on the facts of whatever made the change inappropriate.

▲jack324 22 minutes ago | parent | prev [-]

[flagged]

▲gorgoiler 4 minutes ago | parent | prev | next [-]

[delayed]

▲klustregrif 34 minutes ago | parent | prev | next [-]

> then why even have source control?

I know you are joking, but the answer is the same. Because the agents need it, not because any human need it. The Agents quite actively use the history. It's more effective than any comments or separate documentation might be for the agents working on the code.

▲sscaryterry 32 minutes ago | parent [-]

There would be so much noise in it, the history is going to be pretty much useless.

▲baq 9 minutes ago | parent [-]

Quite the claim to present without evidence

▲Betelbuddy 2 hours ago | parent | prev | next [-]

Lets take the idea further, and since nobody seems to be reading it, just throw away the source code. Just let the agents go directly to assembly.

▲fooblaster 2 hours ago | parent | next [-]

Assembly is source code...

▲a4isms an hour ago | parent [-]

Can confirm: In the 1970s our high school had a minicomputer for teaching programming, and it was turned off when not in use. After turning it on, we would enter the magic three binary instructions into memory using sixteen twitches on the front panel.

Give it six months and there'll be have Optimus robots toggling switches to load terrabytes of binary programs directly into memory. Nobody wrote it, nobody will read it, but it will run everything.

▲0x20cowboy 2 hours ago | parent | prev | next [-]

I’ve been building and playing with this idea for a while. Mostly with simple chips and simple programs. It seems like a good idea on the surface, but unless they build the whole OS the ordeal gets much more difficult. There is also a lot of work building / finding training data without decompiling and labelling current exes.

▲biztos 2 hours ago | parent | prev [-]

Does your agent not know how to just build a binary?

▲j45 an hour ago | parent [-]

If not, agents can reverse engineer binaries.

▲singingtoday 2 hours ago | parent | prev | next [-]

I've been doing that for one project/experiment. No source control. Tests and an agent swarm let loose.

It works, but there is a significant amount of churn. I find when the swarms use git it's less churn and less token usage.

▲fasterik 3 hours ago | parent | prev | next [-]

Even with humans out of the loop you will still want features like branches, pull requests, tags/versioning, build reproducibility, etc.

▲genxy 19 minutes ago | parent [-]

A pull request could be a special case of some other construct?

All the others seem necessary. Maybe you don't need branches at all, of course we do! Things have to have names.

▲fasterik 8 minutes ago | parent [-]

Technically, I guess you could say that a pull request is not a part of a version control system. GitHub has pull requests, but they're not a primitive in git, they're built on top of branches, commits, and merge/rebase. That said, I would expect a version control system built around agentic workflows to have something like it as a core feature.

▲kevmo314 an hour ago | parent | prev | next [-]

I don't think this is stupid, and I think the logical extension to this is agents will start writing directly to prod with fully automated code changes.

Pulling that off successfully at scale would be pretty incredible to watch.

▲mburns 2 minutes ago | parent | next [-]

[delayed]

▲baq 8 minutes ago | parent | prev | next [-]

Lisp machines finally vindicated. Took only 40 years and a historic paradigm shift

▲wongarsu an hour ago | parent | prev | next [-]

I let my Claude write to prod in some projects. But after comitting, pushing, waiting for CI to run unit tests and build the docker image. Then it can deploy the image on k8s. Sure, it can also just run commands on the pod. But the agent benefits from the ability to rollback, identify at a glance which version is running, what has changed since then and why

We built all this tooling because it's useful. If you replace the human with an agent the tooling doesn't stop being useful. If anything it becomes more useful, since AI Agents excell at reading tool output but struggle with maintaining long-term state

▲kevmo314 an hour ago | parent [-]

That's because we're in a world where the human and agent make mistakes. But think about the world where the agent doesn't make any mistakes anymore and doesn't need to rollback or figure out what has changed.

▲pianopatrick 8 minutes ago | parent | next [-]

I don't think we will reach a world where agents make no mistakes. Because there are always tradeoffs. So an agent could choose the "wrong" tradeoff and we call that a "mistake", but is that really a "mistake"? Arguably not

▲dlt713705 35 minutes ago | parent | prev [-]

So agent would have reached perfection. I'm not sure humans can create a machine capable of perfection. This is a philosophical question waiting for a definitive answer.

▲yunnpp an hour ago | parent | prev [-]

Your last statement holds even after removing the word "successfully".

▲this_user an hour ago | parent | prev | next [-]

They are probably like 3-6 months away from just letting their agents work directly on prod after realising that repos don't scale enough.

▲madrox 2 hours ago | parent | prev | next [-]

Reading this post put me in a similar head space.

I believe you're mostly thinking of version history though. There’s plenty of other reasons to have source control we still need, like guarding against racing writes or continuous integration to ensure correctness. Even some industries require version history for compliance reasons.

I do love how AI is challenging us to rethink our tools though rather than blindly reaching to git for every project.

▲ghoul2 2 hours ago | parent | prev | next [-]

I expect mainly because the coding models are trained to roleplay that process and don't work as well if they can't pretend to use git

▲deadbabe 28 minutes ago | parent | prev | next [-]

This has always been the dream, code flowing constantly like a river, like green rain. Imagine a world where you never use the same piece of software twice, because every day it changes.

This is how we solve cybersecurity, by making code into constant shifting sand, so a vulnerability never truly lives long enough to be exploited at scale. Sure, a hacker may occasionally pick out a vulnerability like a bear picks salmon out of a river, but it makes larger scale cyberattacks impractical. The code is a firehose, constantly in flux.

▲orf 2 hours ago | parent | prev | next [-]

Source code exists, that’s not in doubt. If it exists it needs to be managed.

From the post (especially the end) it seems that they are essentially letting software be fluid.

▲mrdependable an hour ago | parent | prev | next [-]

Good way to keep metrics and prove work is happening would be my guess.

▲Quarrelsome an hour ago | parent | prev [-]

didnt the article say thay engineers still review change requests? They just switched from reviewing code to reviewing intent.

So "no direct human supervision" seems like a misunderstanding. Article even bigs up the purpose of engineers with a hilarious (to me at least) line about auto adversial reviews resulting in over engineered designs.