Live data from Hacker News

How AI based programming could work

bjenik.com

21–30 of 61 posts

Re: How AI based programming could work

#22
post #21

It's kind of vague. It would be better if he used a concrete example to illustrate how AI help programming.

Actually the examples in the text are quite concrete - the few lines would be everything you'd have to write to get such a site working (modulo a bit of http plumbing). Obviously we are nowhere near such a thing. The rest of the text acts as a bit of a pointer what could help to get there.

From my other comment (in this case the example was an amazon like shopping site):

> The thing I would like to get working is telling the net "here is a ton of different buttons, grids, lists and a lot of other UI stuff, and there are all our products - I want to maximize revenue - do whatever you like to get there".

The way of telling a neural network these things would be these few lines of code which would hook up different parts to get it working.

Re: How AI based programming could work

#23

Suppose you have an AI that generated some code for you, but it doesn't do exactly what you want. Now try to debug it... what if programming wouldn't involve defining exact steps, but instead just roughly defining what we have and what we want and maybe giving a few hints, and having the computer generally do the right thing - wouldn't that be awesome? I experience enough frustration with things like debugging genera…

> and getting Google's search engine to find exactly what I want with its pseudo-AI machine-learning algorithms doing completely inexplicable things with my queries, that I think "generally do the right thing" is not a good idea. Actually Google works kind of OK now after they overshot seriously some years ago. Today if you use doublequotes around the search terms it actually seems to search for that exact term. Whic…

Aw man, I was hoping we'd be rid of compiler flags by then

Re: How AI based programming could work

#24
post #18

The author proposes a lot of vague ideas in this article (for example "I believe one of the biggest problems is the use of Error Propagation and Gradient Descent") without references or any solid proofs why they are necessary to solve the proposed program (Automate programming using ML?). In fact there is already a lot of solid work just on this subject: * Learning algorithms from examples http://arxiv.org/abs/1511.0…

The forth black box paper seems to be quite close actually. The big difference is that I would like to go for higher level tasks. The low level variant - having code missing a few lines/functions and filling those is indeed quite well researched. More interesting would be the opposite: Having blocks of code (called components in my text) and letting the net find a good way to use them. Normally the way a programmer w…

> The thing I would like to get working is telling the net "here is a ton of different buttons, grids, lists and a lot of other UI stuff, and there are all our products - I want to maximize revenue - do whatever you like to get there".

As you referenced in your footnote, this goal is a little like the goal of putting a man on the moon, if the year is 1900. One could the make the case that something resembling an AGI agent would be needed to design/manage a merchant website with any degree of introspection and customizability. Your machine would need to understand business objectives, UI patterns, aesthetics, etc before taking the helm, and these things take years to learn even for even humans. This is not to say that AGI isn't an admirable goal, but that it's an obvious one, just as I imagine reaching the moon was in the centuries leading up to 1969.

Scientific research is certainly a massively parallel effort, pushing the boundary of our knowledge in many different direction at once, but rest assured that there are many good men and women working in this specific direction.

(also know that I have a lot of respect for this kind of vision-oriented thinking, especially because it generally leaves the writer vulnerable to criticism like this)

Re: How AI based programming could work

#25
Interesting idea, but to be honest I think it will never take off in a large scale.

If you want to write a vague and generic piece of code that can figure out by itself what it is that its outputs ought to be with regards to its inputs, you are, with effect, creating artificial intelligence.

This, in turn, requires teaching.

What if suddenly you have new pages on your website? Your AI program thingy wouldn't be able to serve them until you taught it what these pages are and in what situations the end user might be interested in viewing them. Imagine having a 5 year old kid handling your shop's cashier. And now a new product arrived and you have to explain to him/her that there's this new product, what it's called, the price and which types of people are allowed to buy it (e.g., alcohol couldn't be sold to people younger than X years old). If you're really teaching your application with natural language, like you would with a five year old, then the effort it'd take to get that info into your system would defeat the purpose of actually using a computer to do it (computers are good at storing and looking up stuff in large data sets, better than humans for really large data sets).

This whole hype of machine learning is suitable for situations where you have large amounts of data and you want them crunched according to some basic pre-established and non-changing logic without relying on actual human labor. If the logic evolves, you'll always require humans to sit at the helm and steer the right and wrong.

My 2 cents.

Re: How AI based programming could work

#26
My project, improve.ai, is a first concrete step forward in this direction.

We start by replacing if/then statements with a decide() function and some goal events.

I've used this approach in my app, 7 Second Meditation, to achieve a solid 5 star rating across 248 reviews and 40% first month retention.

https://itunes.apple.com/us/app/7-second-meditation-daily/id...

I'll be writing some articles deep diving into 7 Second Meditation and breaking down how I'm achieving this results. For now, here is a taste:

https://blog.improve.ai/hi-world-how-to-write-code-that-lear...

Re: How AI based programming could work

#27

Interesting idea, but to be honest I think it will never take off in a large scale. If you want to write a vague and generic piece of code that can figure out by itself what it is that its outputs ought to be with regards to its inputs, you are, with effect, creating artificial intelligence. This, in turn, requires teaching. What if suddenly you have new pages on your website? Your AI program thingy wouldn't be able…

I disagree with your conclusion.

In my app, 7 Second Meditation, I am constantly authoring new content. It uses improve.ai to show that new content to some small number of users and learn how they react to that content.

The learning happens from the users themselves. In my particular case, within about 300-500 views the system can tell if a new piece of content is total crap and will basically stop showing it. If the content is amazing, within 100-200 views it has a strong idea and will immediately prioritize this content.

The results speak for themselves, before I started using machine learning I was getting 4 star ratings and usage was flat. Now I'm getting 5 star ratings and the app is growing.

Will it ever take off at large scale? I have no clue, but I've seen such strong benefits from the machine learning that I'm now working on developing improve.ai full time.

Re: How AI based programming could work

#28

The whole point of programming is to get exact results by solving all edge cases. Machine learning/Neural nets are only good at guessing results, and cannot solve all edge cases without specific direction.

Sure, A program that looks at a pattern, emulates it and then enumerates the various edge-cases, looking for further patterns from the programmer's answer. It would still require effort but it could be a lot easier than present approaches and it might even find edge-cases a human would miss.

    > A program that looks at a pattern [...]
This is what programming already is, the "pattern" being code. A compiler is a program that looks at a code pattern and, if it's a good compiler, it can tell you if you've missed edge-cases through compile time errors.

Re: How AI based programming could work

#29
post #9

I suspect we'll see supervised seq2seq generated code first. Like: --- Programmer inputs on left: compute std dev of x please AI on right proposes edit to code: + import numpy as np ... + stddev_x = np.std(x) --- Not super complicated to start with, but you can see where it will go from there.

How in the world do you train that? Where's the corpus of english code mappings come from?

Re: How AI based programming could work

#30

I feel dumber after reading this article. So much, that my own human net of neurons can't figure out or explain why. A partial explanation is that I dont like the assumption that once work is being performed at higher and higher abstracted layers, that machine hardware, OS kernels, compilers and linkers, package and dependency managers, and all other systems software supporting high level programming paradigms (inclu…

I think the quality on Hacker News would benefit from more people being able to downvote. At least take away people's right to upvote if they have no right to downvote. It seems to me there's missing a balance if we can't downvote a story that turns out to be lower quality than what it appeared to be.
Post reply on HN