안녕하세요 주간SaaS 입니다.
개인적으로 생성형 AI 덕분에 제가 할 수 있는 커버 할 수 있는 task들이 많아진 걸 느낍니다. 하지만 보다 좋은 결과물로 더 나은 생산성을 만들기 위해서 어떻게 좋은 질문을 만들 수 있을지 고민하는 시간도 길어집니다.
오늘은 SaaS와 직접 맞닿은 주제는 아니지만 급변하는 AI시대에 엔지니어로써 한번쯤 생각해볼 만 한 주제를 다루는 글을 소개 합니다.
그럼 좋은 하루 되세요!
최근 대학생 딸에게 이런 말을 했습니다: 엔지니어링 분야에서 경력을 쌓고 싶다면 전통적인 엔지니어링 교과 과정 외에도 철학을 배워야 한다고요. 왜냐구요? 코드를 개선할 수 있기 때문입니다.
엔지니어의 입장에서 보면 반직관적으로 보일 수도 있지만, 해결하고자 하는 문제에 대한 명확한 사고 모델을 개발하고 방법을 연구하기 전에 그 Why를 이해하는 능력은 특히 AI 시대에 점점 더 중요한 기술입니다.
코딩은 AI가 가장 잘하는 일 중 하나 입니다. 종종 AI는 인간보다 더 좋은 품질의 코드를 만들수 있고, 그 능력은 빠르게 향상되고 있습니다. 컴퓨터 언어는 인간의 언어보다 훨씬 더 제한된 어휘를 사용합니다. 그리고 AI 모델의 복잡성은 AI가 이해할 수 있는 언어를 나타내는데 쓰이는 기호와 함께 4제곱으로 증가하기 때문에 어휘가 작을수록 더 빠르고 더 나은 결과를 얻을 수 있습니다.
하지만 여기에는 문제가 있습니다: AI가 만든 코드는 구문과 의미론적으로는 정확할 수 있지만 기능적으로는 정확하지 않을 수 있습니다. 즉, 잘 작동할 수는 있지만 사용자가 원하는 작업을 수행하지 못할 수도 있습니다. 모델의 출력 결과는 프롬프트가 작성되는 방식에 매우 민감합니다. AI가 프롬프트의 주요 표시를 놓치면 기껏해야 그럴듯하지만 최악의 경우 부정확하고 위험한 코드를 생성합니다.
과학 이라기 보다는 예술에 가까운 '프롬프트 엔지니어링'이라는 새로운 분야에서 사용자는 간결하고 표현력이 뛰어나며 AI가 원하는 작업을 효과적으로 수행할 수 있는 프롬프트를 직접 작성하는 방법을 배워야 합니다. 프롬프트에 여러 가지 예시를 추가하여 AI를 올바른 길로 안내하는 'Few-shot 프롬프트'와 같은 다양한 기법과, 때로는 예시 질문과 답변을 프롬프트에 포함하는 기법도 사용 됩니다. 예를 들어, Few-shot 프롬프트를 사용한 감성 분석의 경우, 사용자가 "실적 발표 문장의 감성 분석"과 같은 프롬프트와 함께 "전망 개선: 긍정적" 또는 "수요 둔화: 부정적"과 같은 구체적인 예시를 입력하면 AI가 패턴과 맥락을 이해하여 예시를 기반으로 정확한 감정 분석을 생성할 수 있습니다.
제가 수십 년간 엔지니어링 팀을 관리하면서 배운 가장 중요한 기술 중 하나는 올바른 질문을 하는 것입니다. 이는 AI에서도 마찬가지입니다. 대규모 언어 모델(LLM)의 출력 품질은 프롬프트의 품질에 매우 민감합니다. 모호하거나 제대로 형성되지 않은 질문은 AI가 사용자가 실제로 묻는 질문을 추측하게 만들고, 그 결과 부정확하거나 심지어 완전히 만들어진 답변(흔히 '환각'이라고 부르는 현상)을 얻을 확률이 높아집니다. 따라서 AI를 최대한 활용하려면 무엇보다도 추론, 논리, 제1원칙적 사고 등 철학적 훈련을 통해 개발된 기본 기술을 습득해야 합니다. "코딩할 수 있는가?"라는 질문은 "올바른 질문을 통해 AI로부터 최고의 코드를 얻을 수 있는가?"라는 질문이 될 것입니다.
조금 더 범위를 넓혀서 보면, AI 성능이 사용자가 AI에게 질문하는 사고 모델의 품질에 의존한다는 것은 저자와 독자 사이의 관계, 그리고 일반적으로 지식에 대한 우리의 관계에 근본적인 변화가 있음을 시사합니다. 이는 어찌 보면 책의 대량 생산을 통해 정보의 민주화를 이룬 인쇄기의 발명과 도서관과 대학의 탄생과 유사합니다. 예를 들어 인쇄기 이전에는 수학을 배우려면 수학자를 직접 만나거나 큰 비용을 지불하고 복사한 텍스트를 접해야 했습니다. 인쇄된 책은 이러한 장벽을 훨씬 낮췄고, 인터넷은 그 장벽을 사실상 제로로 만들었습니다. 하지만 여전히 저자와 독자 사이의 지식 격차라는 장벽은 남아있었습니다. 전 세계의 어떤 논문이나 책도 접근할 수 있지만, 이해하지 못하면 아무 소용이 없습니다.
AI와 함께 일하면 저자의 개념과 마찬가지로 그 관계도 달라집니다. LLM은 독자가 만들어 입력하는 프롬프트에서 힌트를 얻어 독자의 지식과 이해 수준에 맞게 콘텐츠를 조정합니다. 독자의 프롬프트는 AI가 콘텐츠를 생성하도록 트리거하는 씨앗으로, 학습 데이터의 작품을 바탕으로 해당 사용자만을 위한 특별하고 새로운 텍스트를 생성하므로 독자는 어떤 의미에서 소비자인 동시에 저자가 되기도 합니다. 수학의 예를 들면, 미적분학의 극한 개념을 이해하고 싶다면 고등학생이나 대학생을 대상으로 하는 교과서를 찾거나 인터넷에서 현재 자신의 이해 수준에 맞는 자료를 찾아볼 수 있습니다. 반면에 AI 모델은 사용자의 이해 수준과 학습 스타일에 맞는 개인화된 적응형 교육을 제공할 수 있습니다. 학습의 최고 표준인 개인 맞춤형 과외가 모든 사람에게 제공될 수 있는 미래가 올 수도 있습니다. 그 결과는 상상할 수 없을 정도로 엄청날 것입니다.
생성형 AI는 지식과 우리의 관계를 변화시켜 지식에 대한 접근성을 제공할 뿐만 아니라 맞춤형 접근 방식으로 지식을 설명함으로써 장벽을 낮춥니다. 이는 사용자의 지식 수준과 특정 주제를 소화하는 데 필요한 지식 수준 사이에 완만한 경사를 만듭니다. 그러나 적절하게 맞춤화 되면서, 동시에 정확한 지식에 도달 하는 과정은 사용자로 부터 시작해 사용자로 부터 끝이 납니다. 따라서 지식의 획득이 쉬워짐에 따라서, 동시에 문제에 대한 답을 추론(Reasoning)히는것 은 점점 더 중요해지고 있습니다. 하지만 이러한 철학적 사고 능력의 사용은 원하는 결과를 얻는다고 해서 끝나는 것이 아닙니다. 아시다시피 인공지능은 실수를 할 수 있으며, 특히 잘못된 결과를 그럴듯하게 보이게 만드는 데 능숙하기 때문에 진실을 분별하는 능력은 매우 중요한 기술 중 하나 입니다. 따라서 우리가 이 기술을 활용하여 우리가 원하는 적절하고 정확한 정보를 얻으려면 답을 구하는 전체 여정을 철학적 사고방식과 건강한 회의론과 상식을 가지고 이끌어가야 합니다.
컴퓨터 프로그램을 만들려면 물리적으로 스위치를 뒤집거나 종이 카드에 구멍을 뚫어야 했던 때가 있었습니다. 이러한 제작 과정은 컴퓨터가 얼마나 많은 비트의 메모리 또는 레지스터를 보유하고 있는지에 따라 복잡하게 얽혀 있었습니다. 소프트웨어를 만드는 과정은 수십억 개의 트랜지스터와 수조 개의 메모리 셀과 같은 기본 하드웨어의 복잡성을 추상하는 컴퓨터 언어 덕분에 개발자가 거의 전적으로 알고리즘의 품질에만 집중할 수 있게 되면서 점점 더 높은 수준으로 올라가고 있습니다.
오늘날 우리는 컴퓨터(즉, AI)가 우리가 말하는 언어와 컴퓨터가 이해하는 언어 사이의 중간 단계의 번역이 필요하지 않은 시점에 와 있습니다. 우리는 컴퓨터에게 직접 영어로 말할 수 있게 되었습니다. 컴퓨터는 우리가 파이썬을 통해 말할 때와 마찬가지로 우리의 자연어를 잘 이해할 것입니다. 이 시점에, 이제 우리에게는 두 가지 선택지가 있습니다: 게을러지거나 생각을 더욱 더 갈고 닦거나.
언어가 더 이상 장벽이 되지 않기 때문에, 우리는 인간 언어의 완전한 표현력을 활용해서 AI에게 더 높은 개념과 논리를 전달할 수 있습니다. 즉 선언적-Declarative(얻고자 하는 결과에 집중)이거나 명령적-Imperative(도달하는 방법에 집중)인 방식을 활용해 우리의 요청을 가장 간결하고 효과적인 방식으로 표현하고 전달할 수 있습니다. (*명령형: 좌회전, 직진, 다시 좌회전, 그리고 (1,000번). 선언적: 집에 데려다주세요.) 실제로 저는 소셜 미디어에서, 최근까지만 해도 몇 달이 걸렸을 게임을 능숙하게 작성한 몇 개의 프롬프트만으로 전체 게임을 만드는 사람들을 보기도 했습니다.
다시 원래의 요점으로 돌아가서, 문제에 대한 명확한 사고 모델을 가지고, 문제를 실행 가능한 단계로 세분화하고, 완벽히 근복적인 사고를 하고, 때로는 완고한 인공지능과 토론할 준비가 되어 있고, 실제로 토론할 수 있는 능력은 미래에 훌륭한 엔지니어가 될 수 있는 바탕이 될것입니다. 그리고 이 능력은 많은 직종에서 요구 될겁니다.
우리는 필요할 때 AI가 놓칠 수 있는 것들을 고치거나 AI가 만든 것을 감사할 수 있는 위치에 있어야 합니다. 이것은 인간에게 심각한 문제가 될 것이고, 우리는 그런 상황이 발생하지 않도록 해야 합니다 — 우리는 최소한 AI를 만들어야 하니까요. 하지만, 그것만으로는 충분하지 않습니다. 코드 생성과 같은 부분을 자동화하고 우리는 비판적 사고 능력에 집중하는 것이 우리가 더 많이, 더 빠르게 창조하고 세상에 큰 영향을 미칠 수 있게 하는 길 입니다. AI가 우리를 더 인간답게, 덜 컴퓨터 스럽게 될 수 있도록 돕도록 만드는 것이 중요합니다.
댓글 2개
의견을 남겨주세요
novathinker
아무래도 서양 사람들의 philosophy와 우리(혹은 내가)가 알고 있는 철학의 개념이 다른 것 같다는 생각이 듭니다. 서양사람들의 philosophy는 생각의 과정, 생각하는 방법 등을 일컫는 다소 포괄적인 개념으로 이해가 되네요. 우리의 철학은 어떤 일관된 주관이나 신념과 같은 생각의 방향으로 생각하고 있었는데요. 그런 관념적인 차이에도 불구하고 이해가 되는 좋은 글입니다. 특히 두 가지 선택지는 주변 사람들이 갖는 반응이기도 하구요.
주간 SaaS (1.56K)
가끔 외국 포스팅을 보면서 philogophy라는 단어의 쓰임이 다른것 같은데 구체적으로 설명하기 어려웠는데, 이렇게 깔끔 하게 정리해주시니 감사합니다 :)
의견을 남겨주세요