1. AI 엔지니어의 여정과 실무: 벨러의 경험 [0]

thumbnail 벨러는 비AI 전공자로서 다양한 경험을 통해 AI 분야에 진입하여 제조업 대기업에서 AI 연구원으로 재직하며 실제 현장 문제를 해결하고 있다.

1.1. 벨러의 AI 연구원 여정 [0]

  1. 다양한 경험과 AI로의 전환 [0]
    1. 벨러는 AI가 아닌 도시 교통 전공자였으며, 대학생 때부터 다양한 분야를 탐험하며 관심사를 찾았다. [10]
    2. 이론과 실무의 괴리를 느끼고 실제 현장 문제 해결에 대한 열정으로 취업에 도전했다. [13]
    3. 현장에서는 이론과 달리 괴리감이 있었지만, 문제 해결 과정에서 큰 기쁨을 느꼈다. [15]
  2. 진로 고민과 AI 연구원으로서의 결론 [19]
    1. 벨러는 AI 및 데이터 분석에 관심 있는 이들에게 '스스로 무엇을 좋아하는지', '3년 뒤 어떤 모습으로 살고 싶은지'를 질문하며 강연을 시작했다. [21]
    2. 메타코드의 다른 강연들이 특정 프레임워크나 기술에 집중하는 반면, 벨러는 AI 직무에 도전하는 마음가짐을 설명하고자 했다. [23]
    3. 대학원 진학 후 비전 AI를 시작하며 데이터와 AI 분야에 흥미를 느꼈고, 다양한 학습을 통해 AI의 가능성에 경외심을 가졌다. [33]
    4. 자신의 전공 분야가 좋았지만, 호기심을 가두기에는 아쉽다는 생각과 현실 문제 해결의 필요성, 그리고 미래의 후회 없는 삶을 위해 AI 연구원으로서의 길을 선택했다. [38]
    5. '나는 무엇을 좋아하고 어떤 가치로서 일할 때 소중하다고 생각하는가?'라는 질문을 스스로에게 던지며 진로 결정의 중요성을 강조했다. [42]

1.2. 제조업 AI 연구원으로서의 실무 경험 [46]

  1. 제조업 AI 분야 입사 및 주요 업무 [46]
    1. 벨러는 도시 전공 지식과 AI 데이터 실무 역량을 결합하여 제조업 AI 분야에 입사했다. [46]
    2. 회사에서 요구하는 다양한 AI 개발을 수행하며, 초기에는 ML/DL 모델을 활용한 예측 및 자동화 업무를 담당했다. [48]
    3. 구체적으로는 사고 발생 예측 모델을 설계하여 의사 결정자들이 안전 관리를 강화하도록 지원하고, 반복적인 데이터 분류 업무를 자동화했다. [51]
  2. LLM 및 멀티모달 AI 프로젝트 확장 [58]
    1. 언어 모델(NLP, LLM) 분야의 확장에 따라 회사 내 프로젝트 요구가 증가했다. [58]
    2. RAG 시스템을 구축하여 매뉴얼 및 QA 데이터를 기반으로 자동 답변 서비스를 개발했다. [60]
    3. AI 에이전트를 개발하여 작업 계획 및 생산 계획 데이터를 조회하고 사용자에게 필요한 정보를 제공하는 작업을 수행했다. [65]
    4. 멀티모달 LLM(VLM)의 부상에 따라 비전 AI 경험을 활용하여 제품 결함 인식 및 공장 CCTV 영상 분석을 통한 위험 감지 과제를 진행 중이다. [71]
  3. 다양한 AI 분야 경험 [79]
    1. 음성 인식과 강화 학습을 제외한 거의 모든 AI 분야를 경험했으며, 회사에서 요구하는 다양한 AI를 개발하는 것이 자신의 역할이라고 설명했다. [79]

1.3. AI 엔지니어에게 필요한 역량 [83]

  1. 세 가지 핵심 역량 [83]
    1. 문제 정의(Problem Defining) [85]
      1. 현장 실무자의 문제, 업무 한계, 불편함을 직접 청취하여 스스로 기획하고 개선점(서비스 또는 시스템)을 도출하는 능력이 중요하다. [86]
    2. 모델링 및 프로토타입 제작(Modeling & Prototyping) [88]
      1. 잘 정의된 문제에 대해 적절한 모델을 선택하고, 쉽고 빠르게 사용할 수 있는 서비스 아키텍처를 구현하며, 데이터를 설계하여 산출물을 완성하고 고도화하는 역량이 필요하다. [89]
    3. 분석 및 프레젠테이션(Analyzing & Presentation) [91]
      1. 타 직군과 소통 가능한 기초 지식을 갖추고, 의사 결정자에게 기술 또는 서비스의 필요성을 설득할 수 있는 능력이 필요하다. [92]
  2. 소프트 스킬의 중요성 [96]
    1. AI 연구원에게 코딩 실력, 수학, 선형대수 등 기술적 지식도 중요하지만, 벨러는 위 세 가지 소프트 스킬을 강조했다. [96]
    2. 이는 전반적인 개괄적 내용을 소개하는 자리이므로 딥다이브하지 않았다고 설명했다. [100]
  3. 기술 변화에 대한 유연성: 서핑 비유 [102]
    1. AI 분야는 어떤 파도가 닥칠지 모르는 '서핑'과 같으므로, 어떤 파도가 와도 유연하게 능력을 발휘하여 극복하고 대처할 줄 아는 역량이 중요하다고 강조했다. [102]

1.4. AI 직무의 변화와 경쟁 심화 [108]

  1. 데이터 사이언티스트와 프로그래머 경계의 붕괴 [108]
    1. 2017년에는 데이터 사이언티스트와 프로그래머의 역할이 명확히 구분되었으나, 오늘날에는 그 차이를 알기 어렵다. [109]
    2. 카카오의 '코딩이나 AI로 대체할 업무 신입은 더 이상 뽑지 않는다'는 뉴스 기사나 '바이브 코딩(대화를 통해 코드를 몰라도 서비스 구현)'과 같은 트렌드는 이러한 경계 붕괴를 보여준다. [118]
  2. AI 엔지니어에게 요구되는 역량의 확장 [126]
    1. 이제는 문제 정의, 모델링/프로토타입 제작, 분석/프레젠테이션 세 가지 역량이 모두 필요하다. [129]
    2. 벨러는 회사 입사 당시 프로젝트가 없어 직접 현장 실무자와 의사 결정자를 만나 문제를 발굴하고, 프로토타입을 만들고, 필요성을 설득하는 모든 과정을 수행했다. [131]
    3. 코딩이나 AI/데이터 사이언스 학습 정보는 많지만, 결국 '각자가 어떤 역할을 해야 하는지'와 '어떤 역량을 갖출 수 있는지'가 중요해졌다. [133]
    4. 단순히 기술적 역량뿐 아니라, 소통을 통해 실무에 필요한 AI를 만들어내는 능력, 즉 프로덕트로 승부하는 시대가 되었다. [136]
  3. 경쟁 심화와 개인의 역할 [143]
    1. '그걸 다 어떻게 합니까?'라는 질문이 나올 수 있지만, AI가 사람보다 코딩을 잘하는 시대가 오고 대기업, 중소기업, 국가 모두 AI 인재를 찾으면서 경쟁이 심화되고 있다. [144]
    2. 따라서 이 분야를 하고 싶다면 다른 사람들보다 잘하고 좋은 결과물을 내는 사람이 되어야 한다. [149]
    3. 문제 정의를 잘하는 사람은 현실의 문제를 찾아 멋진 기획으로 풀어내고, 모델링/프로토타입을 잘 만드는 사람은 논문 리서치를 통해 성능을 개선하며, 분석/프레젠테이션을 잘하는 사람은 AI 서비스의 필요성을 설득하고 타 분야와 소통하는 PM 직무와 결부된 AI 개발자가 될 수 있다. [150]
    4. AI/데이터 사이언티스트 희망자들에게 어려운 이야기일 수 있지만, 경쟁 심화 시대에는 더 많은 것을 요구하므로 역량을 쌓아야 한다. [157]
  4. 불공평한 기회 구조: 기회가 기회를 부른다 [160]
    1. AI 분야는 '기회가 기회를 불러온다'는 점에서 불공평하다고 생각한다. [161]
    2. AI는 데이터와 사용자 없이는 존재할 수 없으며, 회사에서 아이템을 성공시키면 다른 제안이 들어오고, 이는 다음 프로젝트의 밑거름이 된다. [165]
    3. 기회가 없으면 데이터와 기획의 기회를 얻지 못하게 되어, 결국 '어떤 사람은 동그란 자전거로 싱싱 달릴 때 나는 네모난 바퀴 위에서 계속 힘들어하는' 결과가 초래된다. [169]

1.5. 벨러의 실무 경험담과 목표 [171]

  1. 오픈소스와 클로즈소스 에코시스템 활용 [171]
    1. LLM 분야에서는 구글, 마이크로소프트, 네이버, 카카오 등에서 제공하는 오픈소스 모델과 Gemini, ChatGPT API와 같은 클로즈소스 모델이 있다. [175]
    2. 벨러는 둘 다 활용해야 한다고 강조하며, 기술 발전이 클로즈소스로 향할 경우 현업에서는 API 사용을 선호할 수 있으므로 빠르게 이해하고 적응하는 능력이 필요하다고 설명했다. [179]
  2. 성과를 수치로 표현하는 것의 중요성 [190]
    1. 본인의 성과와 결과물을 수치로 표현하는 것이 중요하며, 이는 면접 등 한정된 시간 안에 자신의 장점과 역량을 직관적이고 효과적으로 전달하는 방법이다. [191]
  3. 리서치 페이퍼 활용 및 학습 방법 [197]
    1. 매일 쏟아지는 리서치 페이퍼를 빨리 이해하려면 기초 학문에 대한 이해와 역량이 필수적이다. [199]
    2. LLM의 도움으로 논문 이해 속도가 빨라졌으며, 최신 연구나 프레임워크, 오픈소스 소식을 계속 청취하는 것이 중요하다. [203]
  4. 벨러의 교훈과 목표 [210]
    1. 소프트 스킬의 중요성: 대기업 환경에서는 사람 간의 의사소통과 관계 구축이 가장 중요하며, 이는 기회를 얻는 데 필수적이다. [212]
    2. 이론과 실제의 괴리: 회사에서는 데이터셋 구축이 생각보다 어렵고, 개인의 프로덕트는 스스로 처리해야 하는 등 이론과 실제의 괴리가 존재한다. [217]
    3. 개인 목표와 커리어 개발: 회사 업무에 휩쓸리지 않고 자신이 좋아하는 일과 미래에 하고 싶은 일에 대한 커리어 개발 전략을 세워야 한다. [221]
    4. 스스로 생각하고 정리하는 능력: 스스로 생각하고 말을 정리하며, 자신이 만든 것에 대한 이유와 좋은 결과를 설명할 수 있는 능력이 필요하다. [224]
    5. 자기 PR 시대의 연구자: '내가 얼마나 잘 알고 있습니다'를 표현하는 자기 PR이 중요하며, 연구자는 남이 시키는 일이 아닌 스스로 문제를 정의하고 해결하는 주도적인 사람을 의미한다. [228]
    6. 기술 발전 시대의 인간의 역할: 기술 발전은 AI가 더 잘하는 시대로 바뀌었으므로, 인간은 기술로 해결할 수 있는 문제를 찾아내고 잘 해결하는 역할에 집중해야 한다. [231]

2. AI 에이전트와 LLM 트렌드: 강현장의 관점 [237]

thumbnail 강현장은 랭체인을 기반으로 한 AI 에이전트의 개념, 구조, 유형 및 현업에서의 활용 사례를 설명하며, AI 에이전트가 스스로 판단하고 행동하는 자율적인 시스템으로 발전하고 있음을 강조한다.

2.1. 랭체인과 AI 에이전트의 개념 [247]

  1. 랭체인(LangChain) 소개 [247]
    1. 랭체인은 LLM을 활용한 애플리케이션 개발을 쉽게 해주는 오픈소스 프레임워크이다. [250]
    2. 기존 LLM이 텍스트 입력-텍스트 출력의 수동적인 모델이었던 반면, 랭체인은 여러 기능을 추상화하고 외부 API를 활용하여 더 복잡한 기능을 수행하도록 돕는다. [251]
    3. 프롬프트, 템플릿, 체인 구성, 메모리 관리 등을 구조화하고 다양한 LLM을 유연하게 사용할 수 있게 하며, RAG를 위한 도큐먼트 로더, 벡터 스토어 기능을 지원한다. [257]
    4. LLM 기반 애플리케이션을 빠르고 일관되게 프로덕션 레벨까지 올릴 수 있는 핵심 만능 도구이다. [259]
  2. AI 에이전트의 필요성 및 정의 [260]
    1. LLM 서비스는 보다 복잡한 목표 달성을 위해 외부 API를 활용하는 기능을 필요로 한다. [265]
    2. 초기 LLM 모델의 한계를 극복하기 위해 LLM이 스스로 판단하고 행동하는 구조, 즉 AI 에이전트가 필요해졌다. [268]
    3. 에이전트는 스스로 목표를 설정하고 가설을 세우며 실행까지 수행할 수 있는 자율적인 인공지능 시스템이다. [270]
    4. 단순히 질문에 답하는 것을 넘어 다양한 도구 상태를 기억하며 작업을 완수하며, LLM을 중심으로 자연어 목표를 이해하고 추론, 계획하여 문제 해결을 수행한다. [271]
    5. 에이전트 이전에는 단순 번역과 같은 수동적 응답이었으나, 에이전트 이후에는 특정 기능을 사용하며 더 다채로운 결과가 가능하다. [273]

2.2. AI 에이전트의 유형과 구조 [278]

  1. 에이전트 유형의 계보 [278]
    1. 에이전트 유형은 크게 다섯 가지로 나뉜다. [280]
      1. 룰 베이스드 에이전트: AI를 적용하지 않고 if-then 룰만 사용하는 방식이다. [283]
      2. 플래닝 에이전트: 태스크 플래닝을 수행한다. [283]
      3. LLM 베이스드 리액티브 에이전트: 도구를 사용해 자연어 추론과 여러 툴을 활용한다. [283]
      4. 오토노머스 에이전트: 자율형 구조로 목표 계획, 반복 실행을 수행한다. [283]
      5. 멀티 에이전트: 역할 분리까지 하는 개념이다. [283]
    2. 대표 기술로는 익스퍼트 시스템, STRIPS, ReAct, AutoGPT, AutoGen, LangGraph 등이 있다. [284]
  2. 에이전트의 세 가지 핵심 구조 [288]
    1. 에이전트 구조는 '머리', '손', '기억'을 담당하는 세 개 유닛으로 나눌 수 있다. [288]
    2. 머리: LLM이 담당하며 사고력을 기반으로 행동과 협업을 쌓아 올린다. [289]
    3. 손: 툴(Tool)이 담당한다. [289]
    4. 기억: 메모리(Memory)가 담당한다. [289]
    5. LLM이 없으면 에이전트는 아무런 사고를 할 수 없으며, 함수 실행에 불과하다. [291]
    6. 폐쇄 환경에서는 퍼블릭 LLM 대신 자체 서빙하는 SLM(Small Language Model)을 사용해야 하며, 이 경우 성능 향상을 위한 방법론이 필요하다. [295]
  3. LLM의 머리 역할 상세 [299]
    1. 에이전트 내부에서 LLM은 '문제 이해', '추론 및 판단', '행동 계획', '결과 요약 및 학습'의 과정을 거쳐 작동한다. [301]
    2. LLM은 사용자의 지시나 환경 상태를 자연어로 해석하고, 무엇을 해야 할지, 어떤 도구를 써야 할지 루틴을 수행하며, 행동을 결정하고, 도구 사용 결과를 다음 단계로 연결한다. [302]
    3. 생각, 행동, 관찰, 다음 생각에 대한 모든 과정을 LLM이 주도하므로 LLM이 머리 역할을 한다고 할 수 있다. [309]
    4. 모든 에이전트가 특정 프롬프트를 바탕으로 움직이는 것은 아니며, ReAct와 같은 AI 에이전트가 이와 같이 작동한다. [311]

2.3. 에이전트의 행동 수행: 툴(Tool) [313]

  1. 툴의 정의와 구성 [313]
    1. 툴은 에이전트가 행동을 수행할 수 있도록 하는 여러 가지 도구들을 의미한다. [314]
    2. LLM 에이전트에서 툴은 LLM이 외부 작업을 수행하기 위해 호출할 수 있는 함수나 API이다. [315]
    3. 툴은 일반적으로 이름(Name), 설명(Description), 기능(Function)으로 구성되며, LLM은 설명을 바탕으로 어떤 툴을 사용할지 선택한다. [316]
    4. 에이전트가 툴을 인식하고 다루려면 툴로 등록해야 하며, 랭체인이 이를 지원한다. [317]
  2. 툴 생성 및 활용 과정 [319]
    1. 툴을 만드는 순서는 다음과 같다. [319]
      1. 랭체인 툴을 임포트하여 도구를 정의한다. [320]
      2. 함수를 만들어 도구의 기능과 역할을 구성한다. [321]
      3. 데코레이터로 도구임을 표시한다. [322]
      4. LLM이 도구 기능을 파악하도록 독 스트링(Doc String)으로 설명한다. [323]
      5. 만들어진 툴을 리스트에 기입하여 툴 콜링(Tool Calling) 등을 통해 LLM이 인식하도록 한다. [324]
    2. 툴 콜링은 랭체인이 지원하며, 에이전트에게 툴 정보를 제공하는 것을 의미한다. [325]
    3. 툴은 남들이 만든 것을 사용할 수도 있지만, 서비스마다 다르게 구현되며, 회사나 개인의 강점을 보여줄 수 있는 포인트가 될 수 있다. [326]
  3. 툴의 예시 및 Tabily Search API 툴 [328]
    1. 툴의 예시로는 웹 검색기, 계산기, SQL DB 툴, 문서 요약 툴, RAG 검색 툴, API 호출 툴, 파일 변환 툴 등이 있다. [329]
    2. 대표적인 퍼블릭 툴 중 하나인 'Tabily Search API 툴'은 실시간 정보 처리에 강점이 있으며, LLM의 과거 데이터 훈련 제한을 극복한다. [332]
    3. Tabily의 주요 특징은 최신 정보 가져오기, 다양한 검색, 콘텐츠 필터링, 무료 사용 등이다. [334]
    4. 이러한 서치 툴을 사용함으로써 LLM은 최신 뉴스 기사, 일반 검색, 이미지 검색 등 부가 기능을 활용하여 계산, 크롤링, 정보 수집과 같은 외부 API에 접근하며 더 똑똑한 에이전트로 진화할 수 있다. [335]

2.4. ReAct 기술과 에이전트 툴의 현업 활용 [340]

  1. ReAct(Reasoning and Acting) 기술 [340]
    1. ReAct는 '외부 행동(Action)을 요청하고 그 결과를 관찰(Observation)로 받아 다음 추론에 반영하는 순환형 구조'를 가진다. [343]
    2. 핵심 구조는 프롬프트, LLM, 툴, 에이전트 루프 네 가지로 나뉜다. [342]
    3. 프롬프트: '생각(Thought), 행동(Action), 행동 입력(Action Input), 관찰(Observation), 최종 답변(Final Answer)' 패턴으로 LLM이 스스로 다음 행동을 설명하고 명령을 수행하도록 한다. [344]
    4. LLM: 중심적인 추론 엔진으로서 프롬프트와 이전 상태를 보고 다음 단계 출력을 계속 생성한다. [349]
    5. 툴: 액션으로 호출할 수 있는 API 및 함수이다. [351]
    6. 에이전트 루프: LLM의 생각, 액션, 관찰을 반복하여 최종 답을 얻을 때까지 수행한다. [353]
    7. 펑션 콜링(Function Calling): ReAct의 핵심으로, 액션 단계에서 외부 도구나 함수를 호출하는 방식이다. [355]
      1. LLM이 자연어 추론 결과를 기반으로 특정 함수를 호출하도록 명시적으로 지시한다. [357]
      2. LLM이 인간처럼 생각한 후 도구를 사용하는 능력을 부여하는 것을 의미한다. [359]
      3. JSON 또는 구조화된 아웃풋 형태로 표현되며, LLM 서비스에서 다양하게 활용된다. [358]
  2. 현업에서의 에이전트 툴 활용 사례 [366]
    1. 삼성 SDS: 이커머스 자동화 및 고객 맞춤형 서비스를 제공하며, 이커머스 개인화 추천 및 자동 관리에 활용한다. [370]
    2. 스캐터랩스: 벨라 플랫폼에서 기업용 대화형 AI 및 비즈니스 자동화 분야에 자체 개발 플랫폼을 사용한다. [372]
    3. SK C&C: 에이다 비즈 마켓캐스터 서비스에서 HR, 금융, 기업 자동화 등 여러 분야에 자체 프레임워크와 외부 툴을 연동하여 서비스를 제공한다. [373]
    4. 이들 서비스는 ERP 재고 시스템 관리, 업무별 자연어 명령 처리, 외부 API 및 DB 연동, LLM의 판단 기반 기능 호출 등을 특징으로 한다. [374]

2.5. AI 에이전트 구현 시 고려 사항 및 강현장의 사례 [376]

  1. 에이전트 툴 구현 시 고려 사항 [376]
    1. 목표 정의: 에이전트를 왜 만드는지 문제 분석이 중요하다. [380]
    2. 아키텍처 설계: LLM, 툴, 메모리 등 구조 설계를 만든다. [381]
    3. 툴 통합 및 개발: 에이전트가 툴을 잘 사용할 수 있을지에 대한 고민이 필요하다. [382]
    4. 데이터 준비: 도메인 지식을 넣어줄 수 있도록 데이터 준비가 필요하다. [383]
    5. UX 설계: 대화형 인터페이스가 필요하다. [384]
    6. 보안: 권한 관리 등 보안이 필요하다. [384]
    7. 테스트 및 운영: 에이전트가 잘 작동하는지 실시간 모니터링이 중요하다. [384]
    8. 확장성: 퍼블릭 API 활용 또는 직접 API 개발 등 확장성을 고려해야 한다. [384]
    9. 비용 관리: 과금 이슈를 고려한 비용 관리가 중요하다. [385]
  2. 강현장의 AI 에이전트 구현 사례 (사내 보안 환경) [386]
    1. 사내 보안이 철저한 환경에서는 외부 공개 AI 에이전트 사용이 제한적이므로 처음부터 끝까지 직접 구현해야 했다. [387]
    2. 도메인 지식 주입: 회사 내부 데이터를 활용한 RAG 과정을 진행하여 도메인 어댑테이션을 통해 에이전트 성능을 고도화했다. [389]
      1. 기존 ChatGPT가 일반적인 정보에 강한 반면, 특정 도메인(예: 반도체, 웨이퍼) 지식은 부족하므로 RAG를 통해 전문 지식을 주입했다. [392]
      2. 도메인 지식 주입은 사용자의 질문에 어떤 툴을 사용할지 에이전트가 판단하는 데 도움을 준다. [394]
    3. 프롬프트 엔지니어링: 현업 도메인 전문가와 협업하여 자세한 프롬프트를 고도화하고 에이전트 성능을 개선했다. [400]
      1. 에이전트에게 '어떤 분야의 전문가'라는 룰을 부여하고, 현업 전문가가 도메인 지식을 판단하는 프로세스를 디테일하게 프롬프트에 반영했다. [402]
    4. 툴 구현: 서비스 관련 기능과 함수들을 만들어 에이전트가 사용할 수 있도록 구현했다. [404]
      1. 서치 툴: 최신 뉴스 및 레퍼런스 수집에 활용하여 RAG를 통한 도메인 지식과 최신 정보를 통합했다. [407]
      2. Tabily Search Tool Retriever: 도메인 정보를 에이전트에게 알려주는 데 활용했다. [411]
      3. 파일 매니지먼트 툴킷: 랭체인 기반의 툴킷을 사용하여 파일 읽기/쓰기를 통해 작업을 풍성하게 했다. [412]
      4. 그 외 제조 공정 단계별 역할/기술 나열, 기술/공정 비교, 검색 결과 없을 시 제안, 지식 데이터베이스 접근 등 비즈니스 로직에 맞는 다양한 툴을 설계했다. [414]
    5. 피드백 요청 및 UI 개선: 현업 전문가에게 자문을 구하고 퀄리티 평가를 지속적으로 받아 프롬프트와 답변 성능을 개선했다. [419]
  3. 에이전트 및 툴 작동을 위한 핵심 고려 사항 [421]
    1. 에이전트 작동 고려 사항: 실제 업무 파악 및 실행 가능하도록 구현, 목적에 맞는 역할 부여, 현업 시스템(DB, 데이터, API) 연동, 출처와 판단 근거 제공, 반복적인 피드백, 데이터와 설계 반영, 실무 이해가 중요하다. [422]
      1. 한 줄 요약: "에이전트는 실무자가 현업에 대한 데이터와 맥락을 충분히 잘 이해하고 구현을 할 때 가장 잘 작동을 한다." [429]
    2. 툴 구성 고려 사항: 기능 및 사용 조건 명확히 정의, 업무 문맥에 맞는 작업 단위 구성, 예외 처리 정의, 툴 호출 조건 및 분기 로직 명확히 설계, 업무 상황 및 데이터 이해가 중요하다. [431]
      1. 한 줄 요약: "에이전트가 툴을 잘 쓰려면 실무자가 현업 데이터를 깊이 깊게 이해하고 있어야지 툴을 잘 만들 수 있고 그 툴을 에이전트가 잘 사용할 수 있게 된다." [434]

2.6. 에이전트 구성 방법론: LangGraph 및 기타 [435]

  1. LangGraph 방식과 에이전트 툴의 차이점 [435]
    1. 에이전트 툴: LLM이 생각, 액션, 관찰을 수행한 후 자율적으로 여러 툴을 사용할지 결정한다. [437]
    2. LangGraph 워크플로우: 스테이트 기반으로 노드들을 타면서 트리 구조 또는 워크플로우 구조대로 최종 아웃풋을 도출한다. [438]
    3. 공통점: LLM을 중심으로 순차적으로 실행된다. [439]
    4. 차이점: 에이전트 툴은 매우 유연하지만 예측 불가능성이 있는 반면, LangGraph 워크플로우는 흐름이 고정되어 예측 가능하고 안정적이다. [440]
  2. 다양한 에이전트 구성 방법론 [443]
    1. ReAct, LangGraph 외에도 Multi-Agent, AutoGen, TaskWeaver, CrewAI 등 무궁무진하게 연구 개발되고 있다. [444]
    2. 이들은 순차적 추론, 워크플로우 생성, 역할별 에이전트 구성, 비동기 협업, 데이터 분석 중심, 가중 에이전트 오케스트레이션 등 다양한 특징을 가진다. [445]
    3. 에이전트 툴 방법론은 이러한 AI 에이전트 방법론 중 핵심적인 역할을 차지한다. [447]

3. AI 엔지니어 커리어 준비: 송지원의 조언 [450]

3.1. AI 산업 모델 분류 및 LLM 타임라인 [450]

  1. AI 산업 모델 분류 [463]
    1. AI 산업 모델은 비즈니스 도메인(제조, 유통, 홍보 등) 외에 엔지니어 관점에서 '데이터 타입'에 따라 분류할 수 있다. [463]
    2. 크게 정형 데이터(tabular data)와 비정형 데이터(비전, 음성/스피치, 텍스트)로 나뉜다. [465]
    3. 최근에는 한 가지 데이터 타입보다는 여러 가지를 다룰 수 있는 멀티모달이 선호되는 추세이다. [466]
    4. 특정 도메인을 선택하더라도 정형/비정형 데이터를 모두 다룰 수 있으며, 데이터 타입에 관심이 있다면 주로 다루는 타입을 고려해야 한다. [467]
  2. LLM 모델의 주요 타임라인 [469]
    1. GPT 출시(2022년 11월) 이후 LLM 분야는 급속도로 발전했다. [469]
    2. ChatGPT는 LLM 기반 챗봇 서비스로 대중에게 오픈되면서 LLM 기술의 대단함을 알리고 확산의 계기가 되었다. [473]
    3. 2023년에는 Llama, GPT-4, Mistral 등 다양한 LLM 모델과 멀티모달 모델이 등장했다. [476]
    4. 작년(2024년)에는 수많은 모델과 크기, 회사별 모델이 쏟아져 나왔으며, SLM(Small Language Model)과 가드레일(보안) 이슈가 핫해지기 시작했다. [478]
    5. 2025년에는 DeepSeek, Deep Research, MCT 모델, Agent Protocol 등 고도화된 추론 모델과 기능들이 등장하며, LLM이 어느 정도 성능 보장을 넘어 '어떻게 쓸 것인지'에 대한 확장 단계에 있다. [483]

3.2. AI 직군 분류 및 실무 차이 [487]

  1. 일반적인 AI 직군 분류 [487]
    1. 중앙 직군: AI 엔지니어, AI 리서처, AI 리서처 엔지니어가 가장 일반적이다. [489]
    2. 과거 직군: NLP/비전 엔지니어, ML 엔지니어, MLOps 엔지니어 등으로 세분화되어 있었다. [492]
    3. 최근 직군: AILLM 엔지니어, AIDL 엔지니어, MLDL 엔지니어, Applied Scientist, AI Developer 등 이름이 매우 다양해졌다. [493]
    4. LLM 이후 신규 직군: LLM 엔지니어, 프롬프트 엔지니어, LLM Ops, Gen AI 엔지니어, AI Alignment, 윤리적 부분을 전문으로 하는 연구자(S Researcher) 등이 생겨나고 있다. [497]
  2. R&D와 사업 개발팀의 실무 차이 [500]
    1. R&D (리서처 성향) [502]
      1. 목적: 왜 이 기술을 하는가? [505]
      2. 업무: 새로운 알고리즘 개발, 성능 개선, 연구(R&D)에 집중한다. [507]
      3. 진행 방식: 논문 구현, 최신 모델(SOTA) 구현 및 아이디어 도출, 간단한 환경 기반 확인 케이스로 진행한다. [509]
      4. 협업 대상: 주로 연구자들과 일하며, 신기술 논의에 압도적으로 집중한다. [511]
    2. 사업 개발 (엔지니어 성향) [502]
      1. 목적: 만들어진 AI로 어떻게 문제를 해결할 것인가? [506]
      2. 업무: 제품화, 프로덕션화, 모델 최적화, 매출 창출에 집중한다. [508]
      3. 진행 방식: 기존 모델 활용 및 응용, 안정성 고려, API 구현, 인프라 구축, 모니터링, 운영 및 유지보수를 고민한다. [510]
      4. 협업 대상: 연구자 외에 PM, 백엔드, 프론트엔드, 홍보/마케팅 팀 등 전사적으로 다양한 팀과 협업한다. [513]

3.3. AI 엔지니어의 이상과 현실 및 실무 사례 [517]

  1. AI 엔지니어의 이상과 현실 [517]
    1. 이상: 똑똑한 연구자들과 협업하여 멋진 기술을 써보고, 고성능 모델을 개발하며, 미래를 선도하는 큰 영향력을 가질 것이라 생각한다. [518]
    2. 현실: 주니어의 경우 데이터 수집 및 전처리가 중요하고, 자원이 부족하며, 하고 싶은 것을 막는 규제가 많다. [521]
    3. 비기술자들과의 소통 및 설득 과정이 많고, 오픈소스 라이브러리 활용 능력도 중요하며, 고되고 지루한 작업이 될 수도 있다. [524]
  2. LLM 기반 챗봇 서비스 개발 실무 사례 [527]
    1. 송지원은 LLM 기반 챗봇 서비스를 개발했으며, 기존 룰베이스 챗봇과 LLM을 함께 사용하는 방식을 고민했다. [527]
    2. 설계 단계: 서비스 구조, 모델 개발, 베이스라인 정책, 인프라에 대한 설계가 필요했다. [538]
      1. 서비스 구조: 기능, 모듈 흐름, 대화 구분 및 분기, 기존 시나리오 챗봇과의 연결, 가드레일(보안) 정책 등을 설계했다. [539]
      2. 모델 개발: 프롬프트 구조, LLM 모델 선택, RAG 구조, 임베딩 모델, 응답 품질 테스트 등을 고민했다. [542]
      3. 기반 정책: LLM 활용 비용 책정, 이력 관리, 권한 및 관리, 보안 설계 등을 고려했다. [544]
      4. 인프라: 모델 배포 위치(온프레미스/클라우드), 스케일링, 로그 및 모니터링 등을 설계했다. [545]
    3. 개발 단계: 데이터 수집 및 처리부터 운영 및 관리까지 진행된다. [546]
      1. 데이터 수집 및 처리: LLM 학습을 위한 데이터 정리 및 통합, 사내 DB 및 벡터 DB 구축, 임베딩 모델 개발 등을 수행한다. [547]
      2. AI 및 ML 개발: 프롬프트 엔지니어링, 파인튜닝, RAG 모델 구축(어드레스 RAG, 펑션 RAG 등), 기존 분석/예측 모델 개발 또는 챗봇 자체 개발에 집중한다. [553]
      3. API 및 서비스 구현: 개발한 API 서버 및 비즈니스 로직 구현, 외부 API 연동, 동작 검증을 진행한다. [558]
      4. 운영 및 관리: 에러 로깅, 모니터링, 성능 테스트, 피드백 수집 및 반영 등을 개발한다. [560]

3.4. AI 엔지니어에게 필요한 역량과 커리어 조언 [566]

  1. AI 엔지니어의 세 가지 핵심 스킬 [566]
    1. 하드 스킬(기술적 역량): 클라우드, 컨테이너, DB, API, 로드 밸런서, 데이터 툴(Airflow, Jenkins), LLM 기반 지식(Transformer, PyTorch/TensorFlow), RAG, 프롬프트, 파인튜닝, 임베딩 등이 포함된다. [567]
    2. 소프트 스킬: 의사소통, 문서화 능력이 중요하며, 비기술자들과의 소통을 위해 필수적이다. [568]
    3. 비즈니스 스킬: 프로젝트 관리, 시장 및 고객 이해, 법률 이해, 윤리적 책임감이 중요하다. [568]
      1. 특히 AI 분야에서는 윤리적 책임감이 매우 중요하며, 잘못하면 크리티컬한 문제가 될 수 있다. [575]
  2. 커리어 준비를 위한 조언: 페르소나 설정 [589]
    1. 어떤 AI 엔지니어가 될 것인지 '페르소나'를 설정하는 것이 가장 중요하다. [589]
    2. 다양한 직군과 많은 요구 스킬을 모두 갖추기 어렵기 때문에, 자신을 보여줄 수 있는 프로젝트를 '하나라도 깊게' 해보는 것을 추천한다. [591]
    3. 협업 프로젝트: 혼자 하지 말고 누군가와 함께 협업하여 자신이 어떤 역할을 좋아하는지, 팀플레이를 어떻게 하는지 파악한다. [595]
    4. 기술적 성과: 하나의 문제에 골똘히 고민하고 다양한 시도를 통해 기술적 성과를 보여준다. [597]
    5. '왜(Why)'에 대한 논리: AI 직군에서는 '왜 그 방법을 선택했는지', '왜 그렇게 진행하기로 했는지'에 대한 논리적인 설명 능력이 매우 중요하다. [599]
      1. AI는 정해진 규칙이 없으므로, 항상 최적의 선택을 해야 하며, 이때 선택의 이유를 설명할 수 있어야 한다. [601]
    6. 프로젝트를 통해 자신의 관심사, 성향, 잘하는 것을 파악하고, 이를 바탕으로 어떤 엔지니어가 될지 지향점을 설정한다. [606]

3.5. AI 엔지니어로서의 최종 결론 [610]

  1. 기술 변화에 휩쓸리지 않기 [611]
    1. 기술 변화는 많지만, 그 안에 있는 핵심 원리를 이해하고 중심을 잡는 것이 중요하다. [611]
    2. 단순히 이것저것 다 해보는 것보다, '나는 이걸 하기 위해 어떤 고민을 해봤는가'에 대한 고민이 더 중요하다. [614]
  2. 협업 프로젝트의 중요성 [615]
    1. AI 개발은 할 일이 정말 많고 고려해야 할 것이 많으므로, 모든 일을 혼자 할 수 없다. [615]
    2. 시간과 자원은 한정되어 있으므로, 모두와 역할을 잘 나누어 협업하여 결과를 도출하는 것이 우선이다. [619]
  3. 역할과 업무 적합성에 집중 [623]
    1. AI 직군의 이름이 너무 다양하므로, 어떤 직군을 골라야 할지 고민하기보다 '이 회사에 이 직군으로 들어가면 이런 일을 하겠네', '이런 스킬이 재밌어 보여'와 같이 역할과 업무 적합성에 집중해야 한다. [623]
    2. 이는 원하는 회사에 들어갈 확률을 높이고 만족도를 높이는 데 도움이 된다. [631]
  4. AI 개발자의 윤리적 책임 [632]
    1. 데이터 크롤링 및 라이선스: 데이터를 무단으로 크롤링하거나 라이선스 표기 없이 사용하는 것은 법적 분쟁을 초래할 수 있으며, 상업적 사용과 연구/학습용 라이선스는 다르다. [635]
    2. 신뢰성 확보: 라이선스 위반 등 윤리적 문제를 간과하면 개발자로서의 신뢰를 잃게 된다. [647]
    3. 보안법 및 규제: AI 관련 보안법 논의가 활발하며, 규제는 계속 존재할 것이므로 윤리적 책임을 갖고 라이선스를 확인하며 로그를 남기는 것이 필수적이다. [650]