Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yes, but when you talk to regular people and their needs for web pages, apps, they are often either very trivial or unbearably complex. You can potentially automate away those very trivial with the current state of ML already, and there is a bulk of money there that goes to a lot of independent developers and smaller companies. And once you have such a system built, you can extend it as new advances in ML/GPU come, automating away more and more in the process. Even if you just prepare some vague templates for often performed tasks in business with limiting variations, those can be super helpful.

The point is that only really good SW engineers have any chance to survive, those low-skilled ones will be gradually replaced by automated reasoning.



>Yes, but when you talk to regular people and their needs for web pages, apps, they are often either very trivial or unbearably complex

Mostly they are unbearably vague and based on tons of false assumptions about how things work. Separating the trivial parts of a user request from the unbearably complex parts is itself often unbearably complex. It requires a conversation with the user to make it clear what is simple or what could be done instead to make it simpler.

The examples for trivial user needs that you have given are all within the realm of what we now use WISIWIG editors for. Not even that is working well. The problem is that you can't layout a page without understanding how the layout interacts with the meaning of the content on the page.

The logic capabilities of current ML systems are terrible. It's like, great, we have learned to sort numbers almost always correctly unless the numbers are greater than 100000!

Even in areas where AI has advanced a lot recently, like image recognition, the results are often very poor. I recently uploaded an image I took of a squirrel sitting on tree branch eating an apple to one of the best AIs (it was Microsoft's winning entry to some ImageNet competition).

It labelled my image "tree, grass", because the squirrel is rather small compared to the rest of the picture. Any child would have known right away why that picture was taken. The tree and the grass were visually dominant but completely unremarkable.


Just imagine that you can interactively by voice or by touch tell AI what/how to adjust stuff and it will use it to improve itself for your future similar tasks. Now project there will be 1,000,000 users like that, telling app what exactly did they mean and pointing to proper places in the app. So exactly this will be the conversation you desire, you'd directly tell your app builder what you want, and if it is not doing what you like, you either show it to builder by simple gestures or rely on some other user going through the same problem before you and app builder taping onto that knowledge. Obviously, first for simpler web or mobile apps. This sounded like sci-fi just a decade ago, but we now have means to do simple app builders like that.

ML by itself is incapable of inference, hence you need some guiding meta-programming framework that could integrate partial ML results from submodules you prepare.

As for squirrel example, it was probably one of "under threshold" classifications of ResNet, i.e. tree was 95%, grass was 90%, but squirrel was 79%, so it got cut out of what was presented back to you. Mind you, this area went from "retarded" in 2011 to "better than human in many cases" in 2016. I know there are many low-hanging fruits and plenty of problems will still be out of reach, but some are getting approachable soon, especially if you have 1M ML capable machines at your disposal.


>Now project there will be 1,000,000 users like that, telling app what exactly did they mean and pointing to proper places in the app. So exactly this will be the conversation you desire

That's not a conversation, that's a statistic. A conversation might start with a user showing me visually how they want something done. Then I may point out why that's not such a good idea and I will be asking why the user wanted it done that way so I can come up with an alternative approach to achieve the same goal.

In the course of that conversation we may find that the entire screen is redundant if we redesign the workflow a little bit, which would require some changes to the database schema and other layers of the application. The result could be a simpler, better application instead of a pile of technical debt.

This isn't rocket science. It doesn't take exceptionally talented developers, but it does require understanding the context and purpose of an application.


Sure, but AI listening to you can be exactly that conversation partner, maybe by utilizing "General's effect" - i.e. just talking about some topic gets you to solution, even if the person next to you have no clue and just listens to you. Here AI can be that person and you can immediately see the result of your talk in a form of changing app you are building, and easily decide something has to be changed. Initially granularity of your changes will be large, i.e. the pre-baked operations will be simple. Later you can get more and more precise, as AI will be developing, and more and more people will be contributing more specialized operations.


Yes, some are very easy to implement, just look at squarespace's customers. One could build an NLP interface (bot?) to configure squarespace sites and this would take you quite far. Not sure I'd call that AI though.


It's a good start ;-) To get better you'd then have to enhance your meta-programming abilities as you see new possible cases opening in front of you. Will see how far would this go soon.

It's not general AI but even less-than-general AI can erode our ability to earn money from developing software.




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

Search: