開源日報 每天推薦一個 GitHub 優質開源項目和一篇精選英文科技或編程文章原文,堅持閱讀《開源日報》,保持每日學習的好習慣。
今日推薦開源項目:《乾淨整潔 clean-code-js》
今日推薦英文原文:《Why AI is here to stay》
開源日報第466期:《乾淨整潔 clean-code-js》
今日推薦開源項目:《乾淨整潔 clean-code-js》傳送門:GitHub鏈接
推薦理由:寫出乾淨整潔的代碼會讓別人和以後的自己節省不少麻煩,因為他們不需要在重新讀懂代碼上花掉太多時間。這個項目是寫出乾淨 JS 代碼的一些規則和示例,儘管這些示例可能隨著發展不斷改變,但是保持一個不錯的代碼可讀性總是沒有壞處的,而遵守它們所多花費的時間比起整個項目來說實在是不太多。

今日推薦英文原文:《Why AI is here to stay》作者:Cassie Kozyrkov
原文鏈接:https://medium.com/@kozyrkov/why-ai-is-here-to-stay-9c75b1868b9b
推薦理由:人類拿出了一堆例子,並通過它們教 AI 做事情

Why AI is here to stay

A revolution in communication between people and computers

If you』ve ever attended an AI conference, I bet you passed under the placid gaze of a chrome-plated humanoid, lovingly selected from an ocean of creepy robot stock images that marketing teams can』t resist pasting on every billboard these days.
開源日報第466期:《乾淨整潔 clean-code-js》
Clearly, I』m personally guilty of using octarine-blue sci-fi art to lure weary travelers to my blog. It certainly works, which is why it』s a pity that those images have next to nothing to do with AI.
Robots are very exciting but mostly useless. Today』s AI is mostly boring but very useful.
You』d think we』d all be more ashamed of ourselves, but don』t worry, AI is too useful to go away, no matter how much we all cry wolf. Here』s why.
AI gives programmers an alternative way to tell computers what to do.
Marketing folk run around trying to get your attention with sci-fi gimmicks, but the reason you』ll stick around long enough to buy into AI is entirely different. The real story is about communication with machines.

AI gives programmers an alternative way to tell computers what to do. To understand why this new way to talk to machines is so useful and why it』s a technological revolution, let』s forget machines for a moment and talk about people. I』ll lay the cards flat on the table so there』s no more purple mystery about what AI is for.

How people talk to one another

We express our wishes to other people in two ways. One is with explicit instructions, the other is with examples.

If you wanted to learn how to predict my Starbucks order, you could follow me around on my travels and you』d probably notice that the quad espresso I order in US airports becomes a latte in Taipei, Mumbai, and Nairobi. What』s up with that? Given a few more examples, you』d probably figure out the rule yourself. That』s what AI does — turns examples into instructions. There』s no way you』d figure it out if you only saw me order Starbucks only once or twice (not enough data) or if you only observed 50 counts of me ordering my usual cappuccino at the place on my street (irrelevant data, since that place is not Starbucks). Same goes for AI.
開源日報第466期:《乾淨整潔 clean-code-js》
Of course, I could also have just told you my Starbucks rule explicitly since I can express it easily: 「If they have half-and-half, order 4 shots of espresso in a tall cup, then fill 『er up with half-and-half. (Don』t judge me!) If they don』t, order a tall latte with an extra shot.」

The point here is that if I』m teaching a human travel companion, it』s awfully nice to have access to both modes of communication. When explicit instructions are easy to come up with and express, I can program a friend the way people have been talking to computers for decades: if this, do that.

But what if I don』t even know why I order a cappuccino on some New York days and flat white on others? I can』t give you the formula because even I don』t know it. But I can ask you to watch me and see if you can figure out the pattern. Maybe there is one, maybe there isn』t, but it』s awesome that you could at least try work it out. Without ML/AI, a computer can』t try to find a pattern. It』s explicit instructions or bust.
AI is about human self-expression.
Maybe you』d realize that some places have a smell that does it. You might not know why that works (perhaps the smell triggers a feeling related to drinking cappuccinos with my father after the theatre, but you don』t have access to those information) but you』ll realize that you』re able to predict what I』ll do accurately. Eventually, you』ll feel confident enough to say, 「Flat white this time? Yeah, I got this.」 I』d be standing there with my jaw dropped because I don』t know how you know that. After a while I won』t worry about it, I』ll just trust you. And as long as my preferences don』t change, you』ll keep getting it right, even if neither of us knows why.
My ability to give you my explicit instructions is traditional programming. My ability to ask you to learn from relevant examples is the essence of machine learning and AI.
So here』s why AI is not a fad: in real life, there』s no way I』m giving up my ability to fall back on teaching with examples if I』m not clever enough to come up with the instructions. Absolutely not! I』m pretty sure I use examples more than instructions to communicate with other humans when I stumble around the real world.

AI means I can communicate with computers that second way — via examples — not only by instructions, are you seriously asking me to suddenly gag my own mouth? Remember, in the old days we had to rely primarily on instructions only because we couldn』t do it the other way, in part because processing all those examples would strain the meager CPUs of last century』s poor desktops.

But now that humanity has unlocked its ability to express itself to machines via examples, why would we suddenly give that option up entirely? A second way of talking to computers is too important to drop like yesterday』s shoulderpads.
開源日報第466期:《乾淨整潔 clean-code-js》
What we should drop is our expectation that there』s a one-size-fits-all way of communicating with computers about every problem. Say what you mean and say it the way that works best. Sometimes you want to give instructions and sometimes you want to feed in a bunch of examples instead.
Some tasks are so complicated that you can』t hold their instructions in your memory.
Because AI allows you to automate the ineffable, it』s our only option for those situations where you can』t fathom the instructions. Where you』re not smart enough to work out what those patterns mean yourself or where the instructions are so complicated that you forgot the first line by the time you got to the seven thousandth one.
開源日報第466期:《乾淨整潔 clean-code-js》
Want to memorize all this? Me neither. Computers don』t mind, though.

Computers don』t mind memorizing long boring example sets or instruction manuals. They can churn through those examples even though that』s a task you wouldn』t want to touch with a bargepole. Some tasks are so complicated that you can』t hold their instructions in your memory. When all the low hanging fruit tasks are automated with straightforward explicit instructions, progress will demand working on the complicated ones. In that zone, it』ll be AI or nothing.

If those tasks are very complicated, you』ll probably not be able to automate them flawlessly, but with AI you still might do better than nothing. (Don』t forget to build safety nets.) If you do get flawless performance, my first instinct is to wonder whether your task might be so simple that you really should have solved it the traditional way instead. Don』t convert between dollars and cents with AI… seriously, what are you doing?! It』s where the task is too hard the old way that you might turn to AI. That』s also why the first step in AI is to start with the task and double-check that you can』t solve it without AI first.
下載開源日報APP:https://openingsource.org/2579/
加入我們:https://openingsource.org/about/join/
關注我們:https://openingsource.org/about/love/