Hacker Newsnew | past | comments | ask | show | jobs | submit | pmmucsd's commentslogin

Related (maybe the same thing): Whenever an agent is planning there are often architecture and product choices that it asks humans to make. None of this intent is captured in the code or comments. We started a decisions.md file and updated CLAUDE.md and AGENTS.md to create an entry in the decisions.md file everytime it has to ask a human about what to do. It captures the intent so at least we have doc that describes why certain choices were made.


Human coders have the same problem too - oftentimes the most important question that future maintainers have of the code is "Why was this decision made?", but that's not captured anywhere in the code itself.

The right place for this is usually in the design doc or commit message, and robust engineering organizations will ensure that commits are cross-referenced back to design and requirements docs so you can trace decisions from git blame back to the actual rationale.

The same process also works pretty well with LLMs. Google, for example, is internally championing a process where the engineer has a dialog with the LLM to generate a design doc, oftentimes with an adversarial LLM to poke holes in the design. Once the design is fully specified, the last step is to ask the LLM to turn the design doc into code. This creates a human-readable artifact that traces the decisions that the human and AI collaboratively made, which then can be traced back from the code.


> Google, for example, is internally championing a process where the engineer has a dialog with the LLM to generate a design doc ...

Smart. They'll be able to regenerate code in the future, with better LLMs. It also lets them redo the architecture combined with other parts of the system as context grows.


> Whenever an agent is planning there are often architecture and product choices that it asks humans to make. None of this intent is captured in the code or comments.

It must be in order to have an effective AI-assisted software engineering workflow, but it's not something that's magically done for you (usually). Knowledge management of project context is everything. Even the little music app I'm building has >100 ADRs (https://en.wikipedia.org/wiki/Architectural_decision), and that's just one form of project memory.


In my experience, those decisions generally (without additional prompting) end up in the PR descriptions, and then in commit history. Which is how it was with human written code as well...

Or if it's more product level decisions than technical, those conversations tend to be documented in tickets. Which, again, that's how this already worked.


To me, design files living in the repo are what captures these high and low level decisions. They should express intent which is paramount for automation.

Where are you keeping your design? If it's a WYSIWYG doc like word, what would it take for you to switch to a more text driven world?


The structure https://acai.sh/ uses feels to me like a decent starting point for this kind of thing that avoids the "single giant file" issue.


I have a tool for this https://deciduous.dev


(The comment made me start hashing out some early stage thoughts here)

Intent is something that is already sorely missing in most software projects.

At best you might get good commit messages, or messages that link back to good issue/PR discussion.

But something I realize is that /implementation/ intent is also important, not just higher level "why are we here in the first place" intent.

We tend to cargo cult the idea that you shouldn't have to explain what you're changing because it can be derived from the change. e.g. Commit messages should only explain the why since the what is redundant.

But the what is not redundant. Most bugs are a desync from the what, since you obviously didn't mean to implement the bug. And you didn't mean to use UUID v1 instead of UUID v4 for that session token.

Now that my workflow is centered around generating plan files instead of doing the implementation myself, the goal is specifying the plan with enough granularity that anyone could implement the intended change when given the plan.

It's data I wish we always had in a software project, but it would involve way too much work and energy to do this level of planning before every change until the LLM age.

Now that implementation is automated, we live at this specification step. And it's really the specification/plan that I want to see first rather than the code.

I think a great way to approach this to change the PR / code review step to center around revising a markdown plan file until you can get the intent and specification right. That makes a lot more sense than only reviewing the code and the deriving the why and the intended what.

e.g. For my own projects, I'd rather someone submit a plan file as a PR that we can revise together, not code. The code is a derivation of the plan. And when code is derived from a plan, then the plan must contain all of the knowledge that is applied to (or missing from) the code since it's the source of truth.

Compare that to the status quo where you start with a PR code change and then kinda work backwards to synthesize the why and intended what, then see if the real what synchronizes with intention.


Slack is a good example. When the cost of Slack is an unreasonable amount of your operating costs then it makes sense to clone and maintain. The product is simple, you can basically recreate the main functionality in a sitting. Why would you pay hundreds of thousands of dollars for it?


That’s a fine example, but my question then is why does Slack exist? Surely Fortune 500 companies are smart enough to realize that building a slack clone is cheaper, yet they don’t do that.

So now consider AI, perhaps the cost of building has decreased from 100k to 10k. What stops a Slack competitor from also building the product for 10k and reselling it at 10% of the cost of Slack? My point is that I don’t see how AI has changed the value prop.


> my question then is why does Slack exist?

I do not actually believe that you can trivially vibe code a viable slack replacement. But even if one day we could it wouldn’t mean that Slack as a company would just disappear overnight.

They would hang around serving companies who haven’t got the memo yet, or who are locked in a contract, or where the internal political situation is against such a move. The innertia of a bunch of humans behaving like a bunch of humans would provide a sort of “coyote time” effect where the fundamentals could fall out from under Slack yet the company would keep “floating” for a while.

It is funny how much of your question sounds like the old joke where an economist can’t believe their eyes that a $20 bill is laying on the pavement, because surely if it were so someone would have already picked it up. In a steady state the logic might hold up, but we are not in a steady state.

And that is separate from why do I think it is not realistic to just replace slack with vibe coded alternative: just in my company some people use the web interface, some the ios app and some the android app. To be a viable replacement you would need all 3 platforms supported with all features. That sounds in itself a nightmare. Then figuring out what features my company members really use is an other nightmare. There are some who craft custom emojis all the time, some who integrate all kind of weird apps. We various CI and data pipeline processes integrated with slack reporting. And then comes huddle. Video and voice chat and screen sharing. You can even draw on someone else’s screen with it! IT has their needs to archive things (maybe?) or snoop on certain things. Then comes of course interfacing with single-sign-on. I wouldn’t even volunteer to enumerate all the different features people just at my company depend on, let alone offer to replace it.


Is it the sla and maintenance cost ? As silly as it seems it is important for slack to work reliably, especially in case of court orders and legal retention.

Also Is there not a self hosted open source solution that companies can host ? That’s easier than ai?


There is value in taking a product to market and hardening it, and no one wants to invest in something that requires headcount for cost-savings. They want upside. But if it doesn't require headcount and/or unlocks functions they have to negotiate for, and the AI can keep it online and troubleshoot, that is a different story.

Slack exists in part because ten years ago it was a lot harder for big orgs to make good/modern software.


Mattermost is FOSS. Why aren't companies running their own servers to avoid Slack? Prior to OneDrive and web integration, LibreOffice was 95% as good as MS Office, better than VibeOffice will likely be, and it still failed to gain much traction.


This is the key point. We've already run the experiment where the code is free and all you need to do is host it yourself and people still didn't opt to do that work. I don't see how AI changes the situation.


I have to imagine that companies pay so much money for Slack because it's actually not that simple.

At the very least, the return is not worth the time and effort.


If Slack is so simple why haven’t companies created their own internal versions 10 years ago?


Every company I worked at in the past 10 years has created an internal version of Slack. Four companies.


I don’t doubt it but that doesn’t negate the fact that Slack as a company exists and makes money by selling software. My question is this: AI makes it cheaper to build software, but ADP, SAP, and Salesforce also have access to AI and could make cheaper versions of their products. How does AI change the build vs buy trade off in a way that eliminates economies of scale? My opinion and that of the article is that it doesn’t.


> How does AI change the build vs buy trade off in a way that eliminates economies of scale?

I think a more likely scenario here is that something good and free escapes containment at some point and Slack’s core product just kind of deflates. Not something better than Slack, but something good enough that people don’t care about Slack any more.

I don’t see it as a question of whether you build it or buy it, but a question of the time horizon for selling messaging software as a business strategy. Most business strategies have a finite time horizon. How long can you continue to sell messaging software before there are too many competing solutions available and you stop making money from it?


We've already ran this experiment with Zulip and Mattermost. Slack still won.


N=2, no thank you.

Web browsers used to be exclusively paid software, if you were serious. So did operating systems, SQL databases, C++ compilers, and video codecs.


Local software is categorically different that hosted software.

You're too heavily discounting the effort to maintain, deploy, and scale a service like Slack.


Kind of like databases and web servers, then?

I don’t think “categorically different” has legs. I work on the operations & hosting side of applications like this. There’s an operations burden to maintain, deploy, and scale web servers. There’s a burden to rolling out new Linux kernel versions to servers. But we still do it! There would be a burden to running your own Slack, just like there is a burden to running your own email, and people will choose to pay for hosted versions or host it themselves.

And then there are companies and organizations who have strong incentives to self-host to make compliance easier.


I guess to provide a counterpoint to my own comment, even I worked for a company that created their own internal social network similar to Facebook (this was 15 years ago).

Of course it sucked and no one used it except executives and VPs. Everyone else did just enough to meet the minimum quarterly engagement metrics right before performance reviews.


Why don't they sell them?


A list of outcomes:

1. They did, and still sell it. You can buy it.

2. They did, and then exited the market. Employees gradually migrated off the internal platform.

3. They weren’t in the business of selling software, and didn’t sell their internal messaging platform (which is idiosyncratic and closely integrated with other internal system).


Slack is an hilarious example.

I can't wait for orgs to try to vibe roll their own dozen clients, security models, and then try to talk to handle external integrations of some kind.


I mean once campfire is full featured free and easy to self host. Completely open source slack replacement.

I imagine it's also infinitely better than anything an in house team could vibe code.

You don't need AI for a cheap slack alternative.

That's why I don't buy any of this.

Companies are not bothering with the free/open alternatives.

Unless the real power of LLMs is making it easy for greg in HR to self host these existing alternatives. But, that a trillion dollar market does not make.


New tool that uses a set of LLMs to judge the output of your favorite models and give you feedback about what ones to use.



There are plugins for various IDEs that operate like copilot but let you select model you want to use, just supply your key. CodeGPT for JetBrains/Android Studio is pretty good. I think you can even use a model running locally.


I built this because I wanted a clean launcher that just showed me the apps I used the most. I also want to access ChatGPT from my home screen and have it do some simple things requiring deeper integration with your phone.

I would love any feedback.

- Automatically organizes apps on the home screen by usage - ChatGPT assistant on the home screen that uses tools to do simple things for you (create tasks, notes, remember information about people, search, directions timers, etc...) - Built with Flutter


When everyone has the same ingredients, can developers keep their recipe secret and build sustainable mote on top of GPT-3?



https://thisrentaldoesnotexist.com/ was hilarious. The bedroom of one looked like a squalid Soviet dorm-room, while the kitchen of the same rental looked like it was from a $100m megamansion.


I'm disappointed that it doesn't generate equations with no solution, such as x = x + 1



That's exactly what they do. They buy products from suppliers and mark them up, sell the the products and take the margin.


Except the markup and margins are extremely low because the grocery business is competitive.

Unlike the app store space (within a given device)


https://smallbusiness.chron.com/profit-margin-supermarket-22...

That is profit margins in a competitive market.


The pricing on that page is for a different market research product that gets a representative sample of users across the internet. For the website satisfaction product, there is a free 4 question monthly recurring survey that is set up automatically. Custom surveys are $0.01/response.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: