
English: 
Hello
This is JoCoding,
making a channel so that everyone can learn coding easily.
I came with a shocking news related to AI.
Recently I have introduced you
an amazing AI introduced by Microsoft.
Personally I thought the most magnificent stuff was that if you just draw a screen on a paper using your hand,
the AI recognizes it
and turns that into a HTML code.
I thought this was amazing
but this was just nothing.
Recently in Microsoft's biggest conference, 'Build 2020'
was held on-line in May.
The conference showed various new technologies
but out of those there was a session that showed
that AI has come this far, and this smart.
Let's watch it together on the screen.

Korean: 
안녕하세요.
누구나 배울 수 있는 쉬운 코딩 채널을 만들어가는
조코딩입니다.
이번 영상은 진짜 충격적인 최신 인공지능 소식을 들고 왔습니다.
얼마 전 제가 영상을 통해
마이크로소프트에서 소개한 신기한 인공지능에 대해서 소개해드렸었는데요.
저는 거기서 제일 신기했던 게 손으로 대충 화면을 그리면
그걸 인공지능이 인식해서
HTML 코드로 만들어주는 게 엄청 신기했습니다.
이것도 엄청 신기하다고 생각하고 봤는데
이건 아무것도 아니었습니다.
최근 마이크로소프트 최대 개발자 컨퍼런스 '빌드2020'이
5월 말에 온라인으로 개최 되었는데요.
정말 다양한 최신 기술을 보여주는 컨퍼런스였지만
그 중에서도 인공지능이 이렇게까지 발전할 수 있구나 라는 걸 보여주는
진짜 충격적인 세션이 있어서 지금 소개해드리겠습니다.
바로 화면을 통해 함께 보시죠.

Korean: 
엄청 놀라운 광경을 보시기 전에
잠깐 배경 설명을 해드리면
Open AI라고 일론 머스크가 공동 창업한 인공지능 연구소가 있습니다.
여기서 텍스트를 생성하는 인공지능을 만들었는데요.
이게 성능이 너무 좋아서
텍스트가 정말 사람이 쓴 것처럼
정말 자연스럽게 나오는 겁니다.
그래서 '이건 너무 위험한 도구다' 라고 해서 공개를 꺼릴 정도로
엄청 뛰어난 인공지능 모델이 있습니다.
이 모델을 마이크로소프트가 이번 행사에서 공개한
전 세계 TOP급의 슈퍼 컴퓨터를 이용해서
'깃허브'에 있는 엄청난 양의 오픈 소스들을
텍스트 인식 모델을 이용해서 학습시켰습니다.
그랬더니 엄청 놀라운 결과가 일어났는데요.
텍스트 생성 모델이 단순히 영어 문장을 생성하는 것이 아니라
프로그래밍 언어로 된 코드를 자동으로 생성하게 된 것이죠.
시연 장면을 직접 보겠습니다.
처음에는 파이썬을 이용해서
사람이 직접 함수를 입력해줍니다.

English: 
Before you see the amazing tech,
I'd like to briefly introduced the story behind it.
There's a AI lab that Elon Musk had cofounded called 'Open AI'.
Here it made an AI that creates text.
This functioned too well
that it wrote so naturally as if
an actual human being was writing it.
Being depicted as 'too dangerous to reveal',
it was an outstanding AI model.
Using this model the Microsoft has
trained text data, specifically
a huge amount of open sources
stored in 'GitHub'.
The result was fascinating.
The text-creating-model not only created English sentences
but it coded in programming language on its own.
Let me show you the demo.
First, human creates a function
using Python.

Korean: 
함수의 이름과 그 함수가 어떤 역할을 하는지를 나타내는 주석을 써줍니다.
그리고 인공지능을 동작 시키면
이렇게 자동으로 나머지 코드가 완성됩니다.
엄청 신기하지 않나요?
파이썬을 잘 모르시는 분들을 위해 간단하게 설명드리면
여기 is_palindrome이라는 함수를 만든 건데요.
palindrome이 회문이라고 해서 거꾸로 읽었을 때도 같은 글자를 의미합니다.
토마토는 거꾸로 읽어도 토마토고 기러기도 거꾸로 읽어도 기러기죠.
함수를 설명하는 주석에서
Check whether a string is a palindrome.
어떤 문장이 거꾸로 읽었을 때도 같냐.
이걸 체크해보라고 영어로 작성하였습니다.
그런데 인공지능이 이걸 이해하고
이렇게 진짜 함수 식으로 만들어버렸습니다.
이게 끝이 아닙니다.
'이 정도는 간단하니까 인공지능이 이걸 할 수도 있지'라고 생각하실 수 있는데
이 다음 건 더 엄청납니다.
이번에는 아까보다 훨씬 복잡한 함수를 작성합니다.
Return list, 리스트를 리턴하는데

English: 
Write the name of the function and comments that describe the role of the function.
Then run the AI.
Then you can see the rest of the code is written.
Isn't this marvellous?
To briefly explain to those who don't know Pythohn,
it has made an 'is_palindrome' function.
Palindrome is words that mean the same thing when read backwards.
'Madam 'is still madam when read from the start of the end, and so is 'nurses run'.
In the comment it's written
'Check whether a string is a palindrome'.
Does a sentence looks the same when read backwards.
It's written in English to check such thing,.
The AI understood this sentence
and made it into a function.
This is not the end.
You may think 'it's simple enough for AI to write'.
Next one is even more amazing.
It writes a more complex function than the previous one.
Return list

English: 
indices for elements that are
palindromes and at least 7 characters.
It's a sentence difficult for human to understand
but let's see what the AI can do.
It just creates this long sentence into the code so simply.
Isn't it marvellous?
What's more, this AI
has used our function created above, is_palindrome,
to code this out.
I think it's amazing that it knows how to use
the function that exists.
This is not the end.
This time, human makes a class,
and makes a function named 'compute_total_price'
with parameters inside.
There's no comments this time, and run the AI.
This time it creates the comment

Korean: 
그 리스트는 어떤 요소들의 인덱스들이다.
7글자 이상의 회문인 요소들의 인덱스를 가진 리스트를 리턴해라.
사람이 읽어도 어려운 문장인데
인공지능이 어떻게 하는지 보시죠.
이렇게 긴 문장도 코드로 한 번에 나타냅니다.
엄청나지 않나요?
심지어 더 놀라운 점은 인공지능이
is_palindrome, 즉 우리가 위에서 만든 이 함수를 활용해서
이 문장을 구성했다는 걸 알 수 있습니다.
이미 있는 기능을 가져다 쓰는 것까지 할 줄 안다는 게
정말 놀라운 것 같습니다.
그런데 이게 끝이 아닙니다.
이번에는 인간이 클래스를 만들고
compute_total_price라는 함수를 만들고
안에 파라미터 정도만 입력해준 다음에
심지어 이건 주석도 입력하지 않고 인공지능을 돌렸습니다.
그랬더니 이번에는 주석까지 자동으로 완성이 되고

Korean: 
아래쪽에 나머지 코드들도 우리가 작성한 함수 이름과 이 파라미터들을 통해서
유추하여 작성한 것을 확인할 수 있습니다.
엄청나지 않나요?
그런데 여기서는 의도와 조금 달랐던 게
palindrome discount라는 게
palindrome인 이름을 가진 아이템들만 20%씩 할인하고 싶어서 이걸 만들었을 텐데
인공지능이 그것까지는 캐치하지 못하고
일단 palindrome discount라는 이름의 할인을 모든 아이템에 대해서 다 붙였습니다.
그래서 이건 사람이 수정해줍니다.
자동으로 생성된 주석을 지우고
직접 좀 더 명확하게 문장을 작성해줍니다.
이 코드를 작성한 사람의 의도를
좀 더 명확하게 주석에 작성해주었습니다.
그랬더니
인공지능이 이 주석을 이해하고
if else 구문까지 만들어가면서
또 아까 위에서 사용했던 is_palindrome이라는 함수를 이용해서
모든 아이템을 다 바꿔주는 게 아니라
if문이 true일 때, 그때만 palindrome discount라는 걸 적용하고

English: 
and using the function name and parameters,
it infers the meaning.
Isn't this great?
But it was quite not what we intended.
palindrome_discount meant
cut 20% of the price for items that have palindromic name.
The AI didn't understand that.
First it gave all the items the discount.
So humans should fix this part.
Erase the automatically created cooment
and start writing a more definite sentence.
Now the intention of the programmer
has been clarified.
Then
the AI understood the comment.
Making an if-else statement,
and using 'is_palindrome' function above
it didn't cut the price off all items
but only when if statement is true.

English: 
If not, it sums the total price.
The code is this specific.
Of course this is a 'discount', but I guess it didn't understand what 'discount' was
because it just multiplied it.
So you can see human scan fix these syntax errors.
But still, don't you think it's great?
Understanding sentences and automatically completing codes.
All humans have to do is to find out the AI had missed and fix.
Then it turns out to be a perfect code.
AI has come this far.
What's more
I thought it would be a story in the future
but there are plenty of tools
that do almost exact thing as
what we have seen
like Visual Studio Intellicode.
While watching this
I thought 'we need more time to use this'
but I guess it won't be that long.
In the near future, the skills that programmers need is not writing specific code
but to see the big picture. Even with basic skills,

Korean: 
그게 아닐 시에는 total price를 더해준다.
이렇게까지 상세하게 나왔습니다.
물론 여기는 discount인데 이걸 이해하지 못했는지
그냥 곱해버렸네요.
그래서 직접 사람이 이렇게 간단한 구문 오류는 수정해주는 걸 볼 수 있습니다.
그래도 엄청나지 않나요?
사람의 문장을 이해하고 자동으로 코드를 완성해주고
인간은 '이거 잘못됐네?' 하고 작은 부분만 수정하면
거의 완벽한 코드가 완성됩니다.
AI가 이렇게까지 발전했습니다.
심지어 더 놀라운 건
이게 되게 먼 미래의 이야기일 줄 알았는데
이미 Visual Studio Intellicode라고 해서
완벽히 아까 시연한 그 기능은 아니지만
그것과 유사하게 AI가 코드 작성을 도와주는 도구가
이미 벌써 엄청 많습니다.
저는 이걸 보면서도
'아직 우리가 사용하려면 조금 남았겠다' 라는 생각이 들었는데
가까운 미래에 우리가 이런 기능을 직접 사용할 수 있을 것 같습니다.
앞으로 프로그래머는 코드를 세부적으로 잘 짜는 스킬이 중요하다기보다는
전체적인 그림을 보고 정말 기본적인 실력만 있어도

English: 
I guess the world where people can create programs they want using this AI.
From now on, in JoCoding channel,
I'll help you to study less and make more products
by teaching you AI or provide external resources
resulting in you all understanding the basics of coding.
Those in favor of these knowledge,
please subscribe, drop me a like, and turn on the alarm.
It helps a lot in making my videos.
I'll return with more helpful videos.
Thank you.

Korean: 
이런 AI를 이용해서 원하는 프로그램을 얼마든지 만들 수 있는 세상이 올 것 같습니다.
앞으로 초코딩 채널에서도 이러한 방향성에 맞춰서
여러분들이 코딩의 기초와 큰 그림을 이해하고
AI나 다른 외부 자원을 활용하는 방법을 중심으로 강의를 해서
여러분들이 최대한 적게 공부하고 많은 것을 구현하실 수 있도록 도와드리겠습니다.
이런 지식들을 누구나 쉽게 배우고 싶으시다면
구독, 좋아요, 알림 설정 꼭 부탁드립니다.
영상을 만들어가는 큰 힘이 됩니다.
앞으로 더 유익한 영상으로 찾아뵙겠습니다.
감사합니다.
