I feel that flow state[1] is possible as long as you don't feel distracted into doing other things and you're needed to guide the LLM along every few seconds/minutes (someone mentioned a pair-programming type tool in this thread). For me that works if you have a good spec + workflow tool (assuming you're doing interactive coding and not kicking off long running coding jobs). I feel that a good test of a workflow tool is that it should offload all bookkeeping from you, leaving you to just read the generated code and think about design/architecture.
I built one such tool for myself: https://www.shipsmooth.net. You can use it to spec/plan out a piece of work, and then easily keep updating the spec/plan as you churn through its implementation. The tool assumes that you will pretty much end up changing the spec/plan during implementation, based on how it's going. In general, I don't see how it's possible to one-shot high quality code for custom use cases.
[1] Going by the definition of flow state here: https://en.wikipedia.org/wiki/Flow_(psychology): "fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity. In essence, flow is characterized by the complete absorption in what one does, and a resulting transformation in one's sense of time."
It's possible they are running at a loss at present. But in a recent podcast their founder said he believes inference is profitable, based on their experience serving models: https://newsletter.pragmaticengineer.com/p/opencode (search for "profitable")
Fairly predictable given the times: a plugin for coding assistants that supports a development workflow that I like :) It's at https://www.shipsmooth.net/.
Perhaps the more interesting bit is that it's in Java (not Typescript or Rust)! Java 25 is pretty neat. Bonus: getting to know how to distribute a self-contained Java program using jlink and the likes: https://docs.oracle.com/en/java/javase/17/docs/specs/man/jli...
Yeah it was very disappointing that so few details were provided. One of the reasons I think it's going to be an open source project or effort that is going to show, sooner or later, how effective these things actually are.
In their podcast interview, they mention that it's an Electron app that users download, and so they periodically create a new build. See section "Autonomous Merging Flow" here: https://www.latent.space/p/harness-eng
I'm not convinced of this bit: "it revealed three things as the real bottlenecks (1) deciding and specifying what to build, (2) verifying and being accountable for what is delivered, and (3) the deep human understanding — of the codebase, the business, and the environment — required to carry out both of these."
It could be that because coding was seen as expensive and a bottleneck, much effort (both upstream and downstream) had been going into making sure its input is correct and the output need not be discarded. If coding is seen as a quick and cheap step, its output could stand to be thrown away and therefore the same amount of oversight may not be needed upstream?
They seem to address that: "This is sharply different from occupations such as agriculture in which labor demand was famously decimated due to mechanization and automation. The difference is that the amount of calories people consume is relatively fixed — even a 25% increase led to the obesity epidemic — whereas the amount of software produced has grown a millionfold."
I hadn’t heard of libgit2. I wish more applications would expose library-style access, preferably available across different languages!
May not work for apps that want to launch their own threads and processes. But for almost everything else, I prefer function calls to launching processes, managing their lifecycle, communicating via stdout etc. If I wanted to do that, I’d be writing Bash ;)
Have you been satisfied with the quality of code generated by the model? Or did you have to tweak some rule file or skill to improve it? Or is human-readable code not even a goal at this point?
I agree with many of the points made by nimonian above (esp the one starting with 'make a single skill called "code" which describes the lifecycle'), based on my limited experience with these things.
Twitter: http://twitter.com/pramodbiligiri
LinkedIn: http://www.linkedin.com/pub/pramod-biligiri/23/65a/b97
Email: pramodbiligiri AT (Google’s email service).com