AI 엔지니어링 스킬 맵

TMT

https://x.com/AndrewYNg/status/2088302050706686198

AI 엔지니어링 스킬 맵(The AI Engineering Skills Map)을 선보이게 되어 기쁩니다. AI 덕분에 오늘날 우리는 2022년과는 매우 다른 방식으로 소프트웨어를 만들 수 있게 됐고, 이 변화를 활용할 스킬을 갖춘 사람에게는 흥미로운 프로젝트와 일자리 기회가 넘쳐납니다. 하지만 AI를 둘러싼 정보 환경이 시끄럽고 과장으로 가득한 상황에서, 어떤 스킬을 배우는 게 가장 가치 있을까요? 저는 (i) 개발자가 무엇을 배울지 우선순위를 정하고, (ii) 기업이 역량 있는 개발자를 채용하는 데 도움이 되도록, 팀과 함께 AI 엔지니어링 스킬 지도를 정리해 왔습니다.

1만 건이 넘는 채용 공고 분석, AI 전문가와 채용 담당자, 리크루터를 대상으로 진행한 수십 차례의 구조화 인터뷰, 설문을 통한 데이터 수집, 그 밖의 온라인 데이터 종합을 바탕으로 꼽은, 가장 중요한 AI 엔지니어링 스킬 네 가지는 다음과 같습니다:

  • AI 애플리케이션 구축과 배포
  • 소프트웨어 엔지니어링 기본기
  • 코딩 에이전트 활용
  • 무엇을 만들지 방향 잡기(shaping the build)

비유하자면, 방대한 채용 공고와 전문가 인터뷰 데이터셋에 클러스터링을 돌려서 지금뿐 아니라 가까운 미래에도 가장 중요할 스킬을 가려내는 과정이었다고 생각하시면 됩니다.

용어에 대해 한마디 하자면: 저는 "AI 엔지니어"라는 직무(AI 시스템을 만드는 일을 하는 사람)가 아니라 AI 엔지니어링 스킬을 이야기합니다. 스킬 쪽이 훨씬 넓은 개념이기 때문입니다. 오늘날 모든 개발자가 클라우드를 다룰 줄 알아야 하지만, "클라우드 엔지니어"라는 직함을 가진 사람은 그중 일부에 불과합니다. 마찬가지로 풀스택 엔지니어, 데이터 엔지니어, DevOps 엔지니어, 머신러닝 엔지니어, 그리고 물론 AI 엔지니어까지, 모든 개발자에게 AI 엔지니어링 스킬이 필요해질 것입니다.

AI 애플리케이션 구축과 배포

AI 애플리케이션과 그렇지 않은 애플리케이션의 결정적 차이는, AI 쪽은 출력을 예측할 수 없다는 점입니다. LLM에 프롬프트를 넣으면 무엇이 돌아올지 알 수 없습니다. 딥러닝 알고리즘을 학습시키면 새로운 예시에 대해 어떤 예측을 내놓을지 알 수 없습니다. 그에 비해 전통적인 소프트웨어는 더 예측 가능하게 동작합니다.

AI 애플리케이션을 잘 만들고 배포하는 사람은 AI의 구성 요소(LLM, 컨텍스트 엔지니어링, RAG, 에이전틱 워크플로, 머신러닝과 딥러닝 등)를 이해하고, 무엇보다 통계적 기법으로 AI 시스템을 측정하고 조종하고 통제해서 더 예측 가능하게 동작하도록 만드는 법을 압니다. 그러기 위한 핵심 스킬이, 평가(eval)와 오류 분석 루프를 규율 있게 돌리는 법을 아는 것입니다.

소프트웨어 엔지니어링 기본기

소프트웨어가 어떻게 동작하는지 깊이 이해하면 훨씬 효과적으로 만들 수 있습니다. 소프트웨어를 엔지니어링한다는 건 비용, 확장성, 신뢰성, 속도 등 여러 요소 사이에서 트레이드오프를 결정하는 일입니다. 보안과 프라이버시까지 더해지면 복잡성은 한층 커집니다.

소프트웨어 기본기를 이해하면 애초에 어떤 트레이드오프가 존재하는지부터 알아볼 수 있습니다. 그러면 소프트웨어 스택 선택, 시스템 아키텍처 설계, 데이터 저장소 설계, 테스트 등에서 더 나은 결정을 내리게 됩니다. 자기 코딩 에이전트가 어떤 트레이드오프를 하고 있는지도 모른 채 바이브 코딩으로 해법을 뽑아내는 미숙한 개발자보다 훨씬 좋은 결과를 얻게 되기도 합니다. 그런 에이전트의 트레이드오프는 나쁜 쪽일 때가 많은데, 개발자가 에이전트에게 어떤 컨텍스트를 줘야 하는지 모르기 때문입니다. 소프트웨어 엔지니어링 기본기를 이해하면 소프트웨어 엔지니어링의 정확한 언어로 코딩 에이전트를 조종해서 좋은 트레이드오프를 끌어낼 수 있습니다.

코딩 에이전트 활용

에이전틱 코딩을 효과적으로 쓰는 것은 이제 모든 개발자의 핵심 스킬입니다. 이 스킬을 갖추면 에이전트가 어떻게 동작하는지에 대한 좋은 멘털 모델이 생깁니다. 에이전트의 한계와 그것을 우회하는 법을 이해하고, 얼마나 개입하고 얼마나 내버려 둘지 알아서 재빠르게 방향을 잡아 주며, 시간이나 토큰을 지나치게 낭비하지 않고 견고한 소프트웨어를 만들 수 있습니다.

그러려면 코딩 에이전트의 컨텍스트를 관리하는 법, 계획과 실행 사이에서 균형을 잡는 법, 검증기나 평가를 제공해서 에이전트가 스스로 루프를 닫도록 돕는 법을 알아야 합니다. 또한 명확한 스펙을 가지고 일하는 법(그리고 굳이 그럴 필요가 없는 때), 여러 에이전트가 함께 일하도록 지휘하는 법, 에이전트가 프로덕션 데이터베이스를 망가뜨릴 위험 같은 함정을 피하는 법도 알아야 합니다. 에이전틱 코딩은 빠르게 진화하고 있기 때문에, 코딩 에이전트를 능숙하게 쓴다는 건 최신 관행을 아는 데서 그치지 않고, 새 도구를 계속 시도해 보고 모범 사례가 바뀔 때마다 워크플로를 발전시키는 루틴을 갖추는 것까지 뜻합니다.

무엇을 만들지 방향 잡기

명확한 스펙만 주어지면 코딩 에이전트가 그대로 구현해 내는 능력은 빠르게 좋아지고 있습니다. 그래서 엔지니어의 일은 스펙에 무엇을 담을지 정하는 쪽으로 옮겨가고 있습니다. 이제 엔지니어는 픽셀 단위로 완성된 디자인을 받아서 구현만 하면 되는 상황을 기대해서는 안 됩니다. 대신 효과적인 AI 엔지니어링에는 제품 감각, 그리고 비즈니스 맥락과 고객 목표에 대한 이해가 필요합니다. 그래야 무엇을 만들지 정하고 끌고 가는 일에 참여할 수 있습니다.

AI는 또한 이전보다 더 큰 오너십과 주도권을 가질 기회를 줍니다. 흥미로운 문제와 기회를 발굴하고, 책임 있는 방식으로 실행해서 그 기회를 살릴 수 있습니다. 이 기회를 살리려면 프로젝트를 앞으로 밀고 나가는 법을 알아야 합니다. 예를 들어 언제 MVP를 빨리 만들어 사용자 테스트에 내놓을지, 언제 속도를 늦추고 시간을 더 들여 신중하게 만들지 아는 것입니다.

이 모든 스킬의 밑바탕에는 꾸준히 배우는 태도가 있습니다. AI는 계속 빠르게 변하고 있으므로, 우리 모두 새로 떠오르는 모범 사례를 받아들이며 계속 배우고 스킬을 발전시켜야 합니다.

DeepLearning.AI의 최우선 목표는 개발자들이 이런 AI 엔지니어링 스킬을 갖추도록 돕는 것입니다. 이 네 가지 스킬 각각에 대해 할 이야기가 더 있고, 앞으로의 글에서 하나씩 살을 붙여 더 상세한 AI 엔지니어링 스킬 맵을 공유하겠습니다. AI 엔지니어링이 가고 있는 방향을 보면, 우리 모두가 만들어 낼 수 있을 것들에 무척 설렙니다. 여러분도 이 미래에서 신나는 역할을 맡게 되길 바랍니다.

Edit this page