DE version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⚡ Community Insights
Discussion Sentiment
69% Positive
Analyzed from 1045 words in the discussion.
Trending Topics
#project#models#why#tests#own#agents#working#more#using#model

Discussion (13 Comments)Read Original on HackerNews
but as usual with ai written content, the word bloat is roughly x5 of the words necessary to convey the message - with basically no effort on the meat proxy's part to clean it up in any way, shape of form
I just work on one thing at a time, always with Plan mode upfront, and I'd say most of the time I have some feedback to refine the plan. Working good so far.
i've been working on my own toy "software factory" concept. I've been building it to ultimately run it on my homeserver - its strongly focused on maintenance tasks like automatic library updates and rebuilding base images for deployment.
My explicit goal of the project was to replace my currently manually managed TrueNAS Scale installation, on which i'm currently (more or less) manually managing the lifecycle of various self hosted applications.
So i'm expecting the factory to eg versionbump dependencies, read changelogs, copy the data of the selfhosted applications to prerun the migrations and verify the migration does not encounter issues. Or similarly for my own written software, eg if the framework i'm using in a project has released a new major version... same route, read changelogs, trial migration etc.
While I would be able to build such a system on my own, realistically speaking I would never because the needed time to actually do it far exceeds the amount of time I have available next to my full-time dev job.
So I've basically decided to go with the llm-driven development flow, where I still have a mental model of the system to the bone, and explicitly state how it should be developed. It usually takes roughly 15-30 minutes to properly scope a development, which then takes agents 4+ hours to implement and fully e2e test on the dev platform.
My mindset building it is basically the same as i tread a Factorio, DSP or Satisfactory game: there is some jank to it for sure, but if the process keeps going, its fine. And its kinda fun to see things getting more and more streamlined over the months.
I dont think i'd be comfortable treating my dayjobs codebase like that, however. To a large part because i'm missing essential QA that I automated in my own project, eg you cannot have any unattended mutations unless theyre easily revertable. At my dayjob, if I merge and deploy a faulty commit, i _will_ impact others. When the same happens on my personal project ... some agents may be inconvenienced, which is not particularly high on my priority list.
Today, a hefty amount of standard coding tasks can be completed with similar results to gpt astra using terra and a tailored harness around it.
Also the scale matters. One big, expensive session, with a frontier model paired with a dev-babysitter is ok. But make it a factory (kindergarden: few devs, many parallel streams) and you'll want to follow a strict protocol.
> Great that everyone’s posting their “my secret sauce” cookbooks just to jump on the hype train but it looks like the models have already figured it out for themselves
Unfortunate lesson to be learned here: there's not much leverage here other than just using AI. Previously, us devs could get a head start and build some institutional knowledge but not this time. I'm bearish on all the custom harnesses stuff that people talk about.
What helps me is to understand the failure modes of LLMs - it can't be articulated in easy words but something you can learn slightly by just using it. For example I have an intuition of when to start compacting but Codex already does it for you now haha.
My take: the highest leverage move for us is to write AGENTS.md and provide everything that the model can't learn on its own or might take time to learn.
Yes it’ll eventually get built into the harness/model/interface; just like how “work it out step by step” became thinking, but if you have work to do today, it can be worth trying to improve it.
They will write tests. Lots of tests. Instead of removing any code, there will be 3 layers of backward compatibility, and tests that test presence of tests that test that backward compatibility.
The reviews will find all possible edge cases, including those that can never happen, and make the UI gracefully handle them. With tests.
The diff from any integration PR from team work will be over 10K lines, half of them bureaucracy. Zero chance to review even one – they will churn half-a-dozen per day.
For anything outside of known shape, the original hard topics become quickly displaced with shortcuts and familiar patterns.
Next, the app will break under load, and you will find that it’s caused by a quadratic sweep over the whole DB on any insert to prevent something irrelevant that you specifically told not to do.
You will ask, “wtf? why is it there?”. “It’s load-bearing, you ruled it”.
(That's not a joke. That's how I spent the summer.)
It begins as “let’s give the agents a kanban board to track stuff”. Then, why not have one agent do the tracking while another does the development? Then why not have a fleet of them - specialists doing their thing? Then why not have them communicate in a standard way? Then, oh now we have so much docs/messages that we are getting lost. Why not add memory and semantic search for the project?
The rabbit hole keeps going until you run the project and find silly stupid logical issues and wonder “is this what I burnt all those tokens for?! Why is it so over-engineered?!”
I have one agent now that I use to fill in at specific places in functions/modules that I have created and working on.
Slow down and use AI to just do the tightly scoped mundane work. It is nice and effective. We all don’t need to save the world.
I tried this approach and the agents just built tons of tests. The Agent in Charge ordered more and more tests. After two weeks it reported finished” and the end product was completely unusable.
I really hope future models will do a better job at this. As it works be useful (if it worked).