노정석: AI는 기존의 직업들을 대체하고, 인간을 evaluator의 포지션으로 바꿔준다; 그런데 이 evaluator의 역할을 제대로 하기 위해서는, 이를테면 바이브 코딩을 잘하기 위해서는 코딩에 대한 사전지식이 있어야 한다

 https://www.youtube.com/watch?v=6g_1yh3_qKQ

 

https://www.youtube.com/watch?v=iOD1ru7MPh0

 결론만 말씀드리면 "배우는게 훨씬 낫다." 입니다. 9살짜리 여자아이가 Cursor 라는 AI 코딩도우미를 통해서 어떻게 해리포터 챗봇을 만드는지 한번 살펴보세요. 여러분도 쉽게 시작할 수 있습니다 :) -- 우리가 엑셀에서 데이터분석해서 그래프를 그리기 위해서 얼마나 많은 노가다를 했어야 했습니까. 마우스클릭질 수천번, 그리고 피봇테이블들 ㅎㅎㅎ 끔찍하시죠? 이미 앞서가는 사람들은 엑셀대신 DB에 데이터들을 밀어넣고, 간단한 python 으로 보고서작성하는 세상이죠. 그 간단한 python 데이터분석 프로그램을 만들기 위해서 소위 '코딩'이라는 것을 배워야했지요. LLM 덕분에 간단한 Python 프로그램 만드는 것이 너무나도 간단해졌습니다. 엑셀 마우스질 수천번과 맞바꿀수 있을 정도이지요. 그야말로 '입코딩'의 시대가 열리긴 했습니다만, 아직은 AI 가 Super Intelligence 레벨에 이르지 못해서 그런지 입코딩을 위해서는 준비가 좀 필요합니다. 

 

3.1 AI 시대의 코딩 교육과 도구의 진화

이 영상은 ai 시대 코딩 교육 패러다임 변화를 논하며, LLM 기반 코딩 도구의 역할과 인간 개발자의 핵심 역량을 탐색합니다.

  • AI 시대 코딩 교육의 변화 배경

    • 최근 ' 커서(Cursor)'와 같은 LLM(대규모 언어 모델) 기반 코딩 도구의 등장이 프로그래밍 방식을 변화시키고 있습니다.

    • 안드레 카파시(Andre Karpathy)는 "새로운 프로그래밍 언어는 영어( 자연어)다"라고 언급하며, 반코딩(anti-coding) 접근 방식으로의 전환을 시사했습니다.

      • 이는 자연어를 통해 코드를 생성하고 수정하는 방식으로, 초보자들이 겪는 문법(syntax) 오류의 어려움을 줄여줄 수 있습니다.

    • 하지만 여전히 사용자는 도메인 용어나 개념을 알아야 LLM과 더 효율적으로 소통할 수 있습니다.

      • 예시: ' 라디오 버튼'이라는 용어를 모르면 "동그란 것이 여러 개 있고, 하나를 선택하면 나머지는 꺼지는 UI를 만들어줘"라고 길게 설명해야 합니다.

  • LLM 기반 코딩 도구 '커서(Cursor)'의 작동 방식

    • 커서는 사용자가 자연어 요구사항을 말하면, 이를 해석하여 코드를 작성하고 적용하는 과정을 보여줍니다.

      • 데모 영상에서는 9살 어린이가 해리포터 챗봇을 만드는 과정을 통해 커서의 직관적인 사용법을 시연합니다.

    • 사용자는 코드가 마음에 들지 않으면 피드백을 제공하여 코드를 계속 수정하고 조정할 수 있습니다.

    • 그러나 LLM이 생성한 코드는 명확한 목적성 없이는 스파게티 코드가 되기 쉽습니다.

      • 따라서 사용자는 아키텍트의 역할을 수행하여 명확한 지시(프롬프트)를 제공하는 것이 중요합니다.

  • AI 에이전트 모델 'AI 사이언티스트' 사례

    • 사카나랩의 ' AI 사이언티스트' 논문은 에이전트 모델이 아이디어 도출, 평가, 반복 개선을 통해 연구 결과를 논문까지 만들어내는 과정을 보여줍니다.

    • 이 모델은 '에이더(Aider)'라는 코딩 어시스턴트를 사용하여 코드 생성, 기능 추가, 수정, 빌드 등 개발 전반을 돕습니다.

    • 하지만 LLM의 현재 능력으로는 인간 아키텍트의 계획 및 설계 능력이 여전히 필수적입니다.

      • 큰 계획을 세우고, 태스크를 쪼개고, 작동 가능한 단위로 오케스트레이션하는 능력이 중요합니다.

  • AI 시대 개발자에게 요구되는 핵심 역량

    • 명확한 목적성 (의지, 동기)과 문제 해결 능력이 가장 중요합니다.

      • "이것을 해야겠어"라는 강한 의지가 있을 때 LLM의 도움을 받아 높은 생산성을 달성할 수 있습니다.

    • 문제 정의 능력은 LLM과 무관하게 개발자가 갖춰야 할 근원적인 소양입니다.

    • 생성된 코드를 읽고 이해하는 능력도 필요하며, 이는 해당 언어의 기본적인 문서나 책을 한 권 정도 보는 노력을 통해 길러집니다.

    • '나누고 정복하기(Divide and Conquer)' 전략처럼 문제를 해결 가능한 작은 단위로 쪼개고, 각 단위가 독립적으로 작동하도록 만드는 구조화 능력이 중요합니다.

      • LLM에게 모든 것을 맡기기보다는, 작동하는 단위들을 구분하여 지시하는 것이 효과적입니다.

  • AI 모델의 한계와 미래

    • 현재 LLM은 "다음 토큰 예측기"로서, 학습된 데이터의 귀납적 한계를 가집니다.

    • 환각(Hallucination) 현상이 발생하며, 인간의 지시에 "아첨하는" 경향도 있습니다.

    • 이러한 한계를 극복하기 위해서는 여전히 인간의 지시 능력과 오케스트레이션 능력이 중요합니다.

    • 하지만 미래에는 아이폰이 등장했을 때처럼, 다음 세대가 AI와 상호작용하는 새로운 방식이 등장하여 현재의 한계를 뛰어넘을 수도 있습니다.

    • 궁극적으로 AI와 인간 모두 '학습'과 '진화'를 통해 질서를 창출하는 과정에 있으며, 이는 에너지 효율성증대와도 연결됩니다.

 

Comments