티스토리 뷰

728x90

[ 밑줄/연결 ]

 

(코파일럿이 코드를 생성할 때 보이지 않는 곳에서 동작하는 방식(30초 요약)

 

코파일럿의 두뇌는 대규모 언어 모델(LLM)이라는 멋진 컴퓨터 프로그램입니다. LLM은 특정 문맥에서 어떤 단어가 의미가 있는지 등 단어 간 관계에 대한 정보를 저장하고 이를 사용해 프롬프트에 응답하기 위한 최적의 단어 순서를 예측합니다.

 

 

코파일럿은 비결정론적이기 때문에 물어볼 때 마다 조금씩 다른 코드가 나올 수 있다는 점을 기억하세요!

 

 

모듈은 특정 목적에 필요한 코드의 모음입니다. 함수를 사용하기 위해 함수의 동작 방식을 알 필요는 없듯이 모듈도 마찬가지....모듈의 사용자는 모듈이 어떤 작업 수행에 도움이 되는지, 모듈의 기능을 올바르게 호출하기 위한 코드는 어떻게 작동하는지만 알고 있으면 됩니다. 

 

 

---> 이렇게 자연어로 대화를 하면서 프로그랭을 방법을 보여준다.

----> 개발자가 아니기에 모든 내용을 실행해 볼 필요는 없었지만, 몇 개를 돌려 보면서 정말 세상 많이 변하겠구나 싶었다.

 

 

 

(현재 코파일럿이 어려움을 겪는 부분)

인위적인 문제, 잘못 정의된 문제, 대규모 작업 등 세 가지 유형의 시나리오에서 어려움을 겪는 것으로 나타났습니다.

 

(인위적인 문제)

코파일럿 같은 도구에서 일부러 잘못된 코드들 생성하도록 유도하는 모호하고 복잡하게 만든 작업....

 

(잘못 정의된 문제)

정확하게 정의되지 않은 문제를 의미...즉, 무엇을 해야 하는지 정확히 알려주지 못해서 각 상황에 대해 어떤 결정을 내려야 하는지 모르는 경우를 의미합니다....

예) '강력한 비밀번호'를 설정하라 같은..

 

(대규모 작업)

현재 문제 분해에 어려움을 겪고 있으며, 설령 문제를 풀 수 있다고 해도 제대로 된 코드가 나올 확률이 낮습니다. 특히 코파일럿은 코드가 길수록 틀릴 확률이 높아집니다. 

 

 

LLM이 프로그래밍 언어를 대체할 수 없는 이유

첫째, LLM이 엄격한 프고그랭 언어가 아니라는 점우리가 컴파일러를 신뢰하는 이유는 컴파일러는 각 프로그래밍 언어에 대한 프로그래밍 언어 규칙 사양이 엄격하게 만들어져 있어 우리가 작성한 각 코드 줄에 대해 예상되는 동작이 정확히 정해져 있기 때문입니다. LLM에는 이런 강력한 규칙이 없습니다....LLM 모델에게는 자연어를 특정 방식으로 해석할 의무가 없습니다. 엄격한 사양에 따라 답을 출력할 필요도 없습니다. 그리고 무작위성과 비결정성으로 인해 답이 달라지거나 틀릴 수 도 있습니다. 컴파일러는 결정론적이기 때문에 이미 성숙하고 신뢰할 수 있는 기술입니다. 컴파일러는 비결정성과 무작위성 같은 문제에 직면하지 않습니다. 

 

 

LLM이 프로그래밍 언어를 대체할 수 있는 이유

컴파일러와 마찬가지로 LLM도 점점 더 발전하여 기본 인터페이스가 될 것이라고 생각할 만한 이유도 있습니다. 

데이터 과학자는 데이터를 탐색하고 시각화함하고 예측함으로써 데이터를 이해합니다....연구자들은 판다스로 데이터 과학 업무를 수행하는 과정에서 성공적으로 '코드 작업을 건너뛰는'데 성공했습니다.

 

하지만....문제 분해, 프로그램 동작 지정, 테스트 작성, 알고리즘 설계 등과 같은 중요한 작업은 인간이 계속 맡고, 코드를 짜거나 함수를 프로그래밍하는 작업은 전적으로 LLM을 사용하는 새로운 시대를 상상해 볼 수 있습니다. 

사람이 AI 도구에게 프로그램이 수행해야 할 작업을 알려주고 테스트 케이스를 제공하면 AI가 코드를 생성합니다. 그러면 사람은 코드를 보지 않고도 프로그램이 제대로 동작하는지 확인할 수 있습니다.

 

SW회사에서 일해 본 사람이라면 누구나 개발자가 하는 일이 코드 작성만이 아니며 심지어 주된 업무도 아니라고 말할 것입니다.....고객을 만나서 필요한 것이 무엇인지 논의하기도 하고, 어떤 기능을 하고 어떻게 결합해야 할지를 결정하고, 시스템의 성능 및 보안 문제를 점검하고...다른 팀과 협력하여 거대한 소프트웨어의 설계를 조율합니다...

 

아마도 5년 후에는 대부분의 소프트웨어가 LLM에 의해 작성되고 소수의 개발자만 처음부터 코드를 작성하게 될 것입니다. 

 

 

[ 자평 ]  프로그래밍 개발 분야가 이렇게 변하고 있고, 변하겠구나를 맛보기 위해 읽은 책... 그렇게 그것도 빨리 변할 것 같다. 

댓글