FireDrago
[AI] AI를 학습 파트너로 만드는 3단계 방법 본문
AI 시대에 프로그래밍 공부하기
지난 10년에서 15년 동안, 이런 무대에 앉는 거의 모든 사람들은 여러분의 자녀가 컴퓨터 과학을 배우는 것이
지극히 중요하다고 말했을 겁니다. 모두가 프로그래밍하는 법을 배워야 한다고요.
사실, 이제는 거의 정반대입니다. 아무도 프로그래밍을 할 필요가 없도록,
그리고 '인간의 언어'가 바로 프로그래밍 언어가 되도록 컴퓨팅 기술을 만드는 것이 바로 우리의 일입니다.
이제 세상의 모든 사람이 프로그래머입니다. 이것이 바로 인공지능의 기적입니다.
- 젠슨 황 (nvidia CEO)-
오늘날 어떤 사람들은 AI가 프로그래밍을 자동화할 것이라는 이유를 들며
다른 사람들에게 프로그래밍을 배우지 말라고 만류합니다.
이 조언은 역사상 최악의 커리어 조언 중 하나로 평가받게 될 것입니다.
미래의 가장 중요한 기술 중 하나는, 컴퓨터가 당신을 위해 일을 처리할 수 있도록,
당신이 원하는 바를 컴퓨터에게 정확히 말하는 능력이 될 것입니다.
코딩(또는 AI가 당신을 위해 코딩하게 만드는 것)은 바로 그것을 해내기 위한 아주 훌륭한 방법입니다.
- 앤드류 응 (스탠퍼드대 교수, Coursera 공동 창립자) -
AI 시대의 프로그래밍 학습을 두고 젠슨 황과 앤드류 응은 서로 다른 미래를 이야기한다.
젠슨 황의 발언을 처음 들었을 때, 이제 막 달리려는데 결승선이 사라진 기분이었다.
개발자가 되기 위해 열심히 공부하고 있는데 프로그래밍을 공부할 필요가 없다니.
반면 코세라의 창업자 앤드류 응의 생각은 다르다.
AI 시대에 오히려 프로그래밍 능력이 핵심이 될 것이라고 한다.
개발자는 여전히 필요할 것이라는 안도감을 느끼지만,
AI 시대에 프로그래밍이 큰 변화를 겪을 것이라는것은 두 전문가 모두 동의하고 있다.
그럼 어떻게 AI 시대를 준비해야 할까?
우테코에서도 인공지능은 핵심적인 주제였다.
수업 시간에 코치와 크루끼리 AI가 진짜 개발자를 대체할지 이야기하고,
AI 활용 특강에서 서로의 AI 학습법을 공유하기도 했다.
하지만 우테코에서 AI에게 바로 정답을 구하고 있는 내 모습을 발견했다.
스스로 문제를 정의하고, 해결책을 떠올리고 적용해서 검증하는 과정을 거치기보다,
콘솔창에 에러로그가 뜨는 즉시 Gemini 검색창에 붙여넣기했다.
페어 프로그래밍 도중 '얘 (ChatGPT)는 그 방식이 객체지향적이지 않다고 하네요' 같은 말을 습관적으로 사용했다.
이렇게 AI에게 계속 답을 구하다 보면, 앤드류 응보다 젠슨 황 세계관의 개발자가 될 것이라는 불안감이 생겼다.
그때부터 AI에게 답을 구하기보다 AI를 어떻게 학습에 활용해야 할지 고민했다.
탐색 - 적용 - 검증 3단계에 AI를 활용한 경험을 소개하려고 한다.
그리고 결국 AI 시대에도 학습의 핵심은 변하지 않는다는 것을 알게 되었다.
Perflexity로 빠르게 탐색하기
1. Stackoverflow에서 관련 논의 찾아줘

프로그래밍에서 탐색과정은 크게 두가지가 있다.
다른사람들의 사례를 탐색하여 해결책을 찾는 방법과 내가 모르는 지식을 탐색하는 방법이 있다.
처음으로 소개할 방법은 Perflexity를 통해 전세계의 누군가가 나와 비슷한 문제를 만나 해결한 사례를 찾는 방법이다.
먼저 해결하고 싶은 문제를 정의해야 한다. 위의 예시처럼 저는 테이블에 인덱스를 적용했음에도,
MySQL 옵티마이저가 이를 사용하지 않아서 쿼리 지연이 해결되지 않는 문제가 있었다.
Perplexity는 출처기반의 답변을 통해 실제 stackoverflow등 여러 출처에서 논의된 내용을 찾을 수 있게 해준다.

검색된 출처들과 논의를 통해 내가 만난 문제를 해결한 방법을 검색보다 빠르게 찾을 수 있다.
그런데 Perflexity가 찾아준 출처들에 내가 가진 문제를 해결할 수 있는 사례가 없었다.
이럴때는, 질문의 조건을 더 상세하게 제공해야한다.
단순히 문제상황만 설명하는 것이 아니라,
내가 해결하기 위해 시도한 방법, 예상 원인 등의 정보를 더욱 추가 해서 질문해보자


AI 사례탐색을 할 때에도 문제를 더 잘 정의할 수록 좋은 답변을 얻을 수 있다.
질문을 더욱 구체화 한 결과, 옵티마이저의 비용 평가 문제와 Join 순서를 최적화라는 키워드를 알 수 있었다.
그리고 그 키워드를 더 깊이 공부하여 문제를 해결 할 수 있었다.
결국 AI에게 좋은 답을 얻는 비결은 '컴퓨터에게 원하는 바를 정확히 말하는 능력'에 달려있다.
좋은 질문은 좋은 코딩만큼이나 중요하다.
2. 공식문서에서 읽어야할 부분 찾아줘


사례를 통해 문제를 해결하면 끝일까? 사례만 찾고 넘어간다면 AI에게 답을 구하는 것에서 끝난다.
가장 정확한 지식은 공식 문서를 통해 배울 수 있다. 하지만 예비 개발자에게 공식문서는 너무 넓고 방대하다.
방대한 Spring 공식문서에서 정확히 SSE 기술의 원리와 사용법을 알려주는 부분을 쉽게 찾을 수 있다.
공식 문서를 통해 얻은 정확한 지식과 AI가 제공하는 사례 탐색과 함께 사용하면, 직접 검색보다 효과적이고 빠르게 학습 할 수 있다.
Gemini 프로그래밍 문제로 적용해보기
1. 연습할 수 있는 예시문제 만들어줘
SSE에 대한 개념 학습이 끝났다면, 이제 AI를 통해 배울 개념을 적용할 시간이다.
이 방법은 AI를 사용한 학습에서 가장 효과가 좋은 학습법이라고 생각한다.
SSE 관련 예제를 연습하기 위한 연습문제를 만들고, 실제 코드에 적용하는 연습을 할 수 있다.
gemini에게 SSE를 연습할 수 있는 연습문제를 만들어 달라고 요청해보자.


프로젝트에서 SSE를 적용하기 위해 AI 연습문제를 통해 실시간 주문 알림 기능을 구현했다.
연습문제를 통해 이론으로만 배운 SSE 개념을 실제로 적용하고 원리에 대한 깊은 이해를 할 수 있었다.
우테코 기간동안 AI연습문제를 통해서 SSE 기술, 제네릭과 함수형 프로그래밍의 활용등
많은 연습문제를 만들어서 실제로 코드에 적용하면서 학습할 수 있었다.
하지만 이 과정은 내가 주도적으로 부족한 점을 찾고, 직접 AI에게 연습문제를 생성해줄것을 요청해야 한다.
즉 메타인지를 활용해야 한다. 어떤 부분이 부족한지 집중적으로 탐색하는 과정이 반드시 필요하다.
ChatGPT 소크라테스로 검증해보기
1. 정답을 알려주지 말고, 오직 질문을 통해서만 내가 스스로 답을 찾도록 이끌어줘

소크라테스 학습법은 AI에게 미리 조건을 주는 시스템 프롬프트를 이용해 학습하는 방식을 말한다.
제목에서는 ChatGpt를 명시했지만, 시스템 프롬프트 기능을 제공하는 어떤 AI에서도 사용할 수 있다.
우테코의 한 크루가 소크라테스 시스템 프롬프트를 만들어 공유해주었고, 이를 바탕으로 공부 할 수 있었다.
소크라테스는 '산파술'이라는 방식으로 제자들을 가르쳤다.
답을 알려주기 보다. 질문을 통해 제자들의 논리와 지식에 허점이 있음을 스스로 깨닫게 하는 방법인데,
효과적인 학습을 가능하게 해준다.
Chat GPT에 맞춤형 지침을 설정한 뒤 SSE에 대해 질문하면 끊임없이 AI가 질문을 던지고 이에 대해 대답해야 한다.
이 과정에서 진짜로 이해한 부분과 아직 비어있는 부분을 찾을 수 있다.
비어있는 부분이 어딘지 알았다면, 그 지식이 꼭 필요한지 판단하고 학습을 계속 이어나갈 수 있다.
하지만 이 방법을 사용할 때는 '할루시네이션'을 반드시 주의해야한다.
AI가 묻는 질문이 항상 올바른 방향이라고 확신 할 수 없기 때문이다.
AI가 잘못된 정보를 유도 할 수 있다는 점을 항상 염두에 두고 공식문서 같은 신뢰성 있는 정보를 통해 검증해야 한다.
AI도 틀릴 수 있다는 비판적 사고를 항상 유지해야 한다.
학습의 핵심이 변했을까?
우테코 기간동안 AI를 활용한 효과적인 학습법 3가지를 소개했다.
그 과정에서 AI는 각 단계를 더 빠르고 효과적으로 만들어주는 강력한 '파트너'가 될 수 있지만,
학습의 주체는 여전히 자신이라는 사실을 배웠다.
어떤 지식이 부족한지, 무엇을 연습하고 싶은지, 내가 가진 지식의 허점은 무엇인지
끊임없이 고민하는 '나' 자신이 없다면 AI는 정답을 뱉는 기계에 불과하다.
결국 AI 시대에도 학습의 핵심은 변하지 않았다.
중요한 것은 스스로 생각하는 힘을 기르는 것이다.
젠슨 황의 세계관이 오더라도,
컴퓨터에게 원하는 바를 정확히 말하고 그 결과물을 비판적으로 검증할 수 있는 능력은 더욱 중요해질 것이다.
아직도 AI를 사용할때마다, 바로 정답을 묻고 싶은 마음이 불쑥 생긴다.
하지만 그럴 때마다 AI를 잠시 멈추고 스스로 먼저 질문을 던지려고 노력한다.
지름길의 유혹을 이겨내는 의식적인 노력이,
AI 시대의 개발자에게 가장 중요한 '생각하는 근육'을 단련시키는 과정이라 믿기 때문이다.
'회고' 카테고리의 다른 글
| [TIL] 25/01/14 (0) | 2025.01.14 |
|---|---|
| [TIL] 25/01/09 (0) | 2025.01.09 |
| [TIL] 25/01/08 (0) | 2025.01.08 |
| [TIL] 25/01/07 (0) | 2025.01.07 |
| [TIL] 25/01/06 (0) | 2025.01.06 |
