18 2월 2026

[인공지능 기술] [알아봅시다] 화제의 대화형 인공지능, ChatGPT가 출원 서류도 작성할 수 있을까?

[인공지능 기술] [알아봅시다] 화제의 대화형 인공지능, ChatGPT가 출원 서류도 작성할 수 있을까?

2022년 11월 말 출시된 오픈AI사의 ChatGPT는 대화형 인공지능(이하 AI)으로써 질문에 대한 답을 주는 것 뿐만 아니라 문장의 요약, 창작, 번역 등 다양한 비즈니스에 활용이 가능하다. 지적재산 분야에서도 ChatGPT 등 AI 서비스의 등장이 특허 업무에 어떤 변화를 불러일으킬 것인가에 대해 많은 이목이 쏠리고 있다. 

 

일반적으로 변리사가 작성하는 특허출원 서류는 아래 5가지로 구성된다.

 

1) 권리의 범위를 정하는 ‘특허청구범위’

2) 발명의 상세를 설명하는 ‘명세서’

3) 발명의 요점을 기재하는 ‘요약서’

4) 발명의 설명을 알기 쉽게 하는 ‘도면’

5) 출원인 및 발명자에 대해 기재하는 ‘원서’

 

변리사가 이런 서류들을 작성하기 위해서는 출원인 및 발명자로부터 출원 정보를 받아 정리하고 특허 데이터베이스, 문헌 검색 등을 이용하여 기존에 유사한 출원이 존재하지 않는지 선행 조사를 실시한다. 그 이후, 출원의 특징 및 기술에 따라 신규성과 진보성을 평가해 문서화한다. 또한 심사와 소송에 대한 선제적으로 대비하기 위해 출원을 보완하는 경우도 있다.

 

그렇다면 AI는 특허 출원 과정에 어떠한 변화를 가져다 주었을까? 실제 ChatGPT에 질문한 내용을 예시로 들어보자.

 

<‘쓰레기 처리기’와 특허출원에 관해 ChatGPT와 나눈 대화 일부>

명령1

기존 쓰레기 처리기의 과제와 이를 보완할 수 있는 기술을 포함하는 특허 개발을 위한 청구항을 제안해줘.

이하에 기존 쓰레기 처리기의 과제를 보완할 가능성이 있는 기술을 포함하는 특허 개발을 위한 청구항의 예시를 제안합니다.

 

ㅇ 제1항: 자동 분리수거 기능을 구비한 쓰레기 처리기

쓰레기 처리기에 있어서 자동으로 쓰레기를 분리하고 분리된 쓰레기를 각각 적절한 처리 방법에 의해 처리하는 기능을 구비하는 것을 특징으로 한다.

 

제2항: 고효율 재활용 기능을 갖춘 쓰레기 처리기

쓰레기 처리기에 있어서 재활용 가능한 쓰레기를 고효율로 회수·분리하여 재사용 가능한 자원의 회수율을 향상시키는 기능을 구비하는 것을 특징으로 한다.

 

제3항: 악취 및 유해물 배출을 억제하는 쓰레기 처리기

쓰레기 처리기에 있어서 악취나 유해 물질의 배출을 억제하기 위한 탈취·제거 장치를 구비하여 처리 과정에 있어서의 환경 부하를 저감하는 기능을 갖는 것을 특징으로 한다.

 

제4항: 에너지 절약 운전이 가능한 쓰레기 처리기

쓰레기 처리기에 있어서, 처리 프로세스에 있어 에너지 절약 운전을 실현하기 위한 효율적인 열 교환 시스템 및 에너지 회수 장치를 구비하는 것을 특징으로 한다.

 

제5항: 원격 감시 및 제어 기능을 구비한 쓰레기 처리기

쓰레기 처리기에 있어서 원격지로부터의 감시 및 제어가 가능한 통신 인터페이스, 센서를 구비하여 운전 상황의 모니터링이나 효과적인 보수·관리를 실현하는 기능을 갖는 것을 특징으로 한다.

 

이러한 청구항은 쓰레기 처리기의 기존 과제에 대한 해결책이나 개선점을 도입한 것입니다. 특허출원 시에는 구체적인 발명의 상세나 기술에 따라, 보다 구체적이고 특징적인 청구항을 작성하는 것이 중요합니다. 전문적인 조언을 받으면서 특허출원 전략을 검토하는 것을 추천합니다.

명령2

그럼 쓰레기 처리기에 관한 특허출원서도 작성해 줄래?

일본 특허출원을 위한 원서의 예는 다음과 같습니다. 특허출원 시에는 특허청이 지정하는 서식에 따라 원서를 작성해야 하므로 이는 어디까지나 참고 예입니다.

 

[서류명] 쓰레기 처리기에 관한 특허출원서

 

[발명의 명칭] 쓰레기 처리기

 

[출원인 정보]

출원인 성명: [출원인 성명]

주소: [출원인 주소]

국적: [출원인의 국적]

법인의 경우 법인명과 소재지 기재

 

[대리인 정보] (대리인을 이용하는 경우)

대리인 성명: [대리인 성명]

주소: [대리인 주소]

국적: [대리인 국적]

대리인 등록번호: [대리인등록번호]

대리인 상세정보 기재

 

[발명의 요약]

[쓰레기 처리기 발명에 관한 요약 기재]

 

[발명의 설명]

[쓰레기 처리기 발명에 대한 상세한 설명 기재]

 

[도면 설명]

[쓰레기 처리기에 관한 도면 설명 기재]

 

[청구 범위]

[앞에서 서술한 청구항 번호와 내용 기재]

 

[신청일]

[특허출원 신청일 기재]

 

[서명]

출원인 또는 대리인의 서명과 날짜

 

이상이 일반적인 일본 특허출원을 위한 원서의 예입니다. 이는 특허청이 지정한 서식에 따라 필요한 정보를 정확하고 완전히 기재해야 합니다. 특허 대리인 및 변호사의 도움을 받는 것을 추천합니다. 또한, 특허출원에는 다양한 서류와 절차가 필요하므로 자세한 내용은 특허청 웹사이트 및 전문가의 지도를 참고하시기 바랍니다.

 

[자료: ChatGPT와 채팅 내용을 도쿄 IP-DESK에서 번역]

 

이처럼 ChatGPT의 경우, 질문에 대한 AI 나름의 분석과 답변을 받아볼 순 있었지만, 실제 특허출원을 하기 위한 구체적인 기술의 제시는 불가능했으며 제공된 양식이 정확한지도 확인해 볼 필요가 있을 것으로 사료된다. 외견상 그럴싸한 답변을 제시한 듯 했으나 ChatGPT는 인터넷상에 공개된 방대한 데이터를 학습하고 조합하여 답변하기 때문에 그 중에는 오래되거나 혹은 잘못된 정보가 포함돼 있을 가능성이 높다. 이 뿐만 아니라 채팅 기록과 개인정보, 영업비밀 유출 등의 보안상 문제가 우려되며 자사 시스템에 ChatGPT 프로그램을 도입·변경하여 사용하는 것은 불가하므로 활용 방안에 대해 신중하게 검토할 필요가 있다.

 

일본 경제산업성, AI를 이용한 특허 출원서류 작성을 인정해

 

한편, 아직은 시작 단계인 AI지만 특허 출원의 도우미로서 적절히 활용한다면 지식재산의 개발 및 관리에 소요되는 시간, 비용 등을 절감할 수도 있다. 아래에서는 나날이 증가하고 있는 일본 기업들의 AI를 활용한 지재권 서비스를 소개하고 이에 대한 적법성을 논한다.

 

AI 기반 특허 판정 시뮬레이션 시스템의 개발·운영 업체인 주식회사 AI사무라이(Samurai)는 최단 3일 만에 그리고 최저 5만 엔(세금 별도)으로 특허 조사와 출원서류 초안 작성이 가능한 ‘모두의 특허’ 서비스를 2022년 12월 시작하였다. 이 서비스는 변리사에게 의뢰하는 업무 영역이었던 베이스 자료를 AI가 작성함으로써 소요 비용과 시간을 대폭 절감시키고, 이를 연계 변리사의 감독 하에 특허청에 출원하는 방식이며, AI가 작성한 ①특허기술조사 리스트, ②특허 유사도 평가 자료 등도 받아볼 수 있다. 나아가, 미쓰이스미토모해상화재보험(주)와 연계해 日 업계 최초로 지식재산권의 소송비용 보험을 무상 제공한다. 본 서비스를 이용해 특허출원을 실시한 경우라면, 취득한 특허권이 포함되는 이용자의 제품·서비스에 대해서 특허침해 소송이 제기되었을 시 변호사 비용 등의 소송에 관한 비용의 일부가 보상된다.

 

온라인 플랫폼의 개발 및 운영, 지식재산 정보제공, 컨설팅을 실시하는 코토박스 주식회사(cotobox)는 일본 최대의 온라인 AI 상표등록 서비스 ‘Cotobox’를 통해 2021년 이래 2년 연속 일본 특허청에 출원 취급건수에 있어서 1위를 차지하였다. 본 서비스는 유사 상표 검색서비스를 제공해 간이 조사 결과와 웹사이트 폼에 정보를 입력하는 것만으로 출원 서류를 작성해준다. 더불어, 해당 사이트에서는 대화형 AI인 챗봇을 이용할 수 있어 본 서비스의 조작 방법이나 상표출원 시의 궁금증을 손쉽게 상담할 수 있다. 이러한 각종 인공지능 활용 기술로 해당 사이트에선 서비스 이용에 최단 3분이 소요되고 최단 1영업일 만에 일본 특허청에 출원서 제출까지 가능한 스피드 있는 상표출원을 서포트한다.

 

위와 같이 일본 IP 시장에서 부상을 거듭하고 있는 AI변리사 서비스, 즉 인공지능을 활용한 출원 업무 취급 서비스이지만 개시할 당시에는 우선 日 변리사법 제75조의 저촉 여부에 대한 확인이 필요했다. 이에 상기에 사례로 언급한 AI사무라이 측에서는 산업경쟁력강화법에 따라 사업자가 현행 규제의 적용 범위가 불명확한 경우에도 안심하고 신사업활동을 할 수 있도록 구체적인 사업 계획에 입각하여 미리 규제 적용 여부를 확인하는 ‘그레이존 해소 제도’를 통해 AI에 의한 특허출원서류 검토 및 작성의 적법성을 물었다.

 

 

일본 변리사법 제75조

 

변리사 또는 변리사법인이 아닌 자는 타인의 요구에 따라 보수를 받고 △특허·실용신안· 디자인·상표의 국제출원, △디자인권과 관련된 국제등록출원, △상표와 관련된 국제등록출원에 관한 특허청에 있어서의 절차, △특허·실용신안·디자인·상표에 관한 행정불복심사법의 규정에 따른 심사 청구, △재정에 관한 경제산업대신에 대한 절차 대리(특허료 납부 절차에 대한 대리, 특허 원부 등록신청절차에 대한 대리 및 그 밖의 정령으로 정하는 것은 제외), △또는 이러한 절차와 관련된 사항에 관한 감정(鑑定), △정령으로 정하는 서류 및 전자적 기록(전자적 방식, 자기적 방식 및 그 외 사람의 지각으로는 인식할 수 없는 방식으로 만들어지는 기록으로써, 컴퓨터에 의한 정보처리용으로 제공되는 것을 말함.)의 작성을 업으로 할 수 없다.

 

<日 경제산업성의 AI에 의한 특허출원서류 작성 관련 회답>

1. 확인 요청 일시: 2023년 1월 19일

2. 회답 일시: 2023년 2월 18일

3. 신 사업활동 관련 사업 개요: 본 건 사업은 이용자(연구자, 발명자, 변리사 등)가 입력한 발명 내용(새로운 아이디어) 및 복수의 유사한 선행특허문헌에 기초하여 특허출원서류 기재 예의 서포트가 되는 문장을 자동 출력하는 시스템(이하 ‘본 건 시스템’이라 한다.)을 개발·제공하는 것이다.

 

본 건 시스템의 구체적인 이용 절차는 다음과 같다.

 

(1) 사용자는 브라우저 화면에서 발명 내용을 문장으로 입력함과 동시에 선행기술문헌인 기준 특허와 유사 특허군(500건 이하)을 문헌 번호로 지정한다.

 

(2) 이 사건 시스템에 의해 발명 내용을 분할하고 분할된 구성에 포함되는 센텐스 또는 단어를 추출하고 그 추출된 문자군에 기초하여 유사 문헌으로부터 해당 문자군을 설명하는 해당 장소를 추출하여 명세서의 항목에 맞게 재배치하여 출력한다.

 

(3) 해당 출력 결과는 브라우저 화면상의 편집기능 또는 워드 문서로의 내보내기 기능을 통해 변리사에 의해 수정 확인돼 특허청에 출원된다. 본 건 시스템에서 사용자는 상기 (3)에서 수출된 워드 문서를 이용하여 특허출원을 함에 있어 변리사에게 해당 문서의 내용 확인 및 수정을 받는 것을 전제로 한다. 즉, 사용자는 본 건 시스템을 이용할 때에 본 건 시스템을 이용한 최종적인 특허출원서류의 작성 행위에 변리사가 확실하게 관여하는 것에 대해서 예를 들어 본건 시스템의 이용규약이나 별도 서약서 등에서 명확히 한다.

 

본 건 시스템의 제공처로써 상정하는 고객으로는 변리사, 특허업무법인 또는 변리사가 재적하는 기업으로 하고 변리사가 재적하지 않는 기업에 대해서는 별도 변리사 또는 특허업무법인과 출원위탁계약을 체결하는 것을 전제로 제공한다.

 

4. 확인 요청 내용: 본 건 사업이 변리사법 제75조에 저촉되는가

 

5. 확인 요구에 대한 답변내용: 본 건 시스템을 변리사 또는 특허업무법인에 제공하는 경우, 본 건 시스템이 출력하는 서류 데이터는 변리사 또는 특허업무법인만이 접근할 수 있으므로 본 건 시스템을 이용한 서류 작성 행위는 변리사의 감독 하에서 이루어지고 있어 변리사법 위반이 되지 않는다고 생각된다.

 

한편, 본 건 시스템을 변리사가 재적하는 기업 또는 변리사가 재적하지 않는 기업에 제공하는 경우, 본 건 시스템을 이용한 서류 작성 행위에 변리사가 관여하는 것이 확실하게 담보될 수 있도록 충분하고 객관적인 제도적·운용적 수당을 강구하고 있는 한, 해당 서류 작성 행위는 변리사법 위반에 해당하지 않는다고 생각된다.

 

단, 본 건 시스템 이용의 구체적 양태에 의해 변리사가 서류 작성에 실질적으로 관여하고 있지 않고, 이른바 ‘명의 대여’에 상당한다고 인정되는 경우, 본 건 시스템을 이용한 서류 작성 행위가 변리사법 위반이 될 가능성이 있다.

 

덧붙여 상기 회답은, 이번에 조회가 있던 사업에 대해서만 판단한 것이지, 다른 사업 등에 있어서의 판단을 나타내는 것은 아니다. 또한, 본 제도의 응답은 어디까지나 해당 법령에서의 취급에 대해서만 판단한 것이고, 다른 법령 등에서의 판단을 나타내는 것은 아니다.

[자료: 일본 경제산업성 홈페이지]

 

따라서, AI 기술을 접목시킨 특허출원서류 작성 서비스는 변리사법 제75조에 위배될 우려가 있었으나 그레이존 해소 제도에 근거한 답변을 통해 변리사의 감독 하에 있는 한 동조에 반하지 않는다는 것을 알 수 있었고 이는 여러 日 기업들이 AI에 의한 업무 효율화 추진 시스템 사업을 개발 및 연구할 수 있도록 이바지 하여, 일본의 산업 발전에 공헌할 수 있는 기회를 도출했다.

 

시사점

 

<AI기술 활용을 위한 액션 플랜에 게재 검토 사업(2022~2026년)>

항 목

내 용

전화·메일 등의 질문 대응 전화·메일 등의 질문 대응에 필요한 시간을 삭감하기 위해 다음 

사항 등에 대해 AI 기술 활용을 검토

– 전화 응답 내용의 쓰기

– 쓰기 데이터 등에서 문의에 관한 중요 부분 추출

– 문의 텍스트에서 답변 자동 생성

종이 자료의 전자화(텍스트화) 종이 서류의 내용 확인 및 입력 등에 소요되는 시간을 줄이기 위해, 다양한 레이아웃의 종이 서면에서 항목명과 항목명에 대응하여 기재된 입력을 세트로 추출, 텍스트화하는 것에 대해 검토
상표 국제등록출원에서의 지정상품 역무의 확인 지정상품 역무의 확인에 필요한 시간을 삭감하기 위해, 상표의 국제등록출원에서 지정된 지정상품 역무에 대해, 기초가 되는 국내출원에서 지정된 지정상품 역무의 범위를 넘지 않는지 체크를 지원하는 것을 검토
제출 서류의 열람금지처리 지원 특허청에 제출된 서면 내용에 따라 열람 금지 처리를 하는 업무의 효율화를 위해 AI 기술 활용을 검토
상표 식별성 유무의 시사 심사 안건 난이도의 적절한 파악을 위해 AI 기술을 활용해 출원된 상표에 대해 식별성 판단의 난이도 평가를 할 수 있는지 검토

[자료: 일본 특허청]

 

상기 일본 특허청의 AI를 활용한 업무 개혁 노력과 같이 계속해서 AI는 특허 생태계 전체에 효율과 특허 품질을 모두 향상시키는 중요한 역할을 맡을 것이며, 특허청 및 지적재산전략추진본부 등 현지 정부의 AI를 활용한 워크플로 접근법과 적법성 등을 주시해야 할 것이다. 이와 관련하여 일본의 최신 지재권 동향 및 지원 제도 등 한국 기업에서도 활용 가능한 해외 각국의 IP 정보는 공사 홈페이지 내 ‘IP-DESK가 전하는 글로벌 IP 현장 뉴스’를 통해서도 확인 가능하며, 도쿄 IP-DESK에서는 온라인을 통한 상시 상담을 진행하고 있으니 일본 진출에 이를 적극 이용하길 권장하는 바이다.

 

 

자료: ChatGPT, AI사무라이, 코토박스, 일본 경제산업성, 일본 특허청 홈페이지 참조, KOTRA 도쿄 무역관 IP-DESK 작성

<저작권자 : ⓒ KOTRA & KOTRA 해외시장뉴스> 

 

원문바로가기 : https://dream.kotra.or.kr/kotranews/search.do

[출처] https://www.kidp.or.kr/?menuno=773&bbsno=7531&siteno=16&act=view&ztag=rO0ABXQAOTxjYWxsIHR5cGU9ImJvYXJkIiBubz0iOTg5IiBza2luPSJwaG90b19iYnNfMjAxOSI%2BPC9jYWxsPg%3D%3D

Loading

16 2월 2026

[인공지능 개발자]  Claude Code 완전 가이드: 해커톤 우승자의 70가지 파워 팁 [54p PDF] 

[인공지능 개발자]  Claude Code 완전 가이드: 해커톤 우승자의 70가지 파워 팁 [54p PDF] 

Claude_Code_완전_가이드_70가지_팁.pdf

135P by xguru 7일전 | ★ favorite | 댓글 3개

Part 1: 에이전틱 개발자의 사고방식

  • 1.1. 큰 문제 정복의 첫걸음: 분해하고 정복하라 (ykdojo #3)
  • 1.2. 계획 모드 vs. 욜로 모드 (Ado #18, #19)
  • 1.3. 컨텍스트: AI의 기억력을 지배하는 기술 (ykdojo #5, #8, Ado #15)
  • 1.4. 올바른 추상화 수준 선택 (ykdojo #32)
  • 1.5. 미지의 영역에서 더 용감하게 (ykdojo #35)

Part 2: 기초부터 탄탄하게 – 환경 설정과 필수 명령어

  • 2.1. 커스텀 상태 라인으로 모든 것을 한눈에 (ykdojo #0)
  • 2.2. 필수 슬래시 명령어 마스터 (ykdojo #1, Ado #4, #16, #17)
  • 2.3. CLAUDE.md: AI를 위한 프로젝트 설명서 (Ado #1, #2, ykdojo #30)
  • 2.4. 터미널 별칭으로 빠른 접근 (ykdojo #7)
  • 2.5. 세션 관리: 대화를 잃지 않는 법 (Ado #9, #10, #11, #12)

Part 3: 생산성을 극대화하는 핵심 기술

  • 3.1. 음성으로 코딩하기 (ykdojo #2)
  • 3.2. 터미널 출력 추출의 기술 (ykdojo #6)
  • 3.3. Cmd+A/Ctrl+A: 전체 선택의 힘 (ykdojo #10)
  • 3.4. 마크다운과 Notion 활용 (ykdojo #19, #20)
  • 3.5. 키보드 단축키 완전 정복 (Ado #5, #6, #7, #8, ykdojo #38)
  • 3.6. Vim 모드로 프롬프트 편집 (Ado #13)
  • 3.7. 입력 박스 탐색 및 편집 (ykdojo #38)

Part 4: 컨텍스트 관리의 예술

  • 4.1. 선제적 컨텍스트 압축 (ykdojo #8)
  • 4.2. 터미널 탭으로 멀티태스킹 (ykdojo #14)
  • 4.3. 대화 복제 및 반복제 (ykdojo #23)
  • 4.4. /context로 X-Ray 비전 (Ado #15)
  • 4.5. realpath로 절대 경로 얻기 (ykdojo #24)

Part 5: Git과 GitHub 워크플로우 완전 정복

  • 5.1. Git과 GitHub CLI 프로 활용 (ykdojo #4)
  • 5.2. Git worktrees로 병렬 브랜치 작업 (ykdojo #16)
  • 5.3. 대화형 PR 리뷰 (ykdojo #26)
  • 5.4. 승인된 명령어 감사 (ykdojo #33)

Part 6: 고급 기능 – MCP, Hooks, Agents

  • 6.1. MCP: 외부 세계와의 연결 (Ado #22, #23, #24, #25)
  • 6.2. Hooks: 규칙의 강제 (Ado #26)
  • 6.3. Skills: 재사용 가능한 지식 (Ado #27)
  • 6.4. Agents: 전문화된 서브에이전트 (Ado #28)
  • 6.5. Plugins: 기능 번들 (Ado #29)
  • 6.6. CLAUDE.md vs Skills vs Slash Commands vs Plugins (ykdojo #25)

Part 7: 시스템 최적화와 자동화

  • 7.1. 시스템 프롬프트 슬림화 (ykdojo #15)
  • 7.2. 장시간 작업을 위한 수동 지수 백오프 (ykdojo #17)
  • 7.3. 백그라운드에서 bash 명령 및 에이전트 실행 (ykdojo #36)
  • 7.4. 자동화의 자동화 (ykdojo #41)
  • 7.5. Headless 모드로 CI/CD 통합 (Ado #30)

Part 8: 컨테이너와 샌드박스

  • 8.1. 컨테이너로 위험한 작업 격리 (ykdojo #21)
  • 8.2. Sandbox 모드와 권한 관리 (Ado #20)
  • 8.3. YOLO 모드: 위험을 감수할 때 (Ado #20)

Part 9: 브라우저 통합과 웹 자동화

  • 9.1. 네이티브 브라우저 통합 (Ado #21)
  • 9.2. Playwright MCP (Ado #22)
  • 9.3. Gemini CLI를 대체 수단으로 (ykdojo #11)

Part 10: 실전 활용 사례

  • 10.1. 작성-테스트 사이클 완성 (ykdojo #9)
  • 10.2. 자신만의 워크플로우에 투자 (ykdojo #12)
  • 10.3. 대화 기록 검색 (ykdojo #13)
  • 10.4. 글쓰기 도우미로 활용 (ykdojo #18)
  • 10.5. 연구 도구로 활용 (ykdojo #27)
  • 10.6. 출력 검증 방법 마스터 (ykdojo #28)
  • 10.7. DevOps 엔지니어로 활용 (ykdojo #29)
  • 10.8. 범용 인터페이스로 활용 (ykdojo #31)
  • 10.9. 테스트 많이 작성 (TDD) (ykdojo #34)
  • 10.10. 복잡한 코드 단순화 (ykdojo #40)

Part 11: 고급 패턴과 철학

  • 11.1. 계획과 빠른 프로토타이핑의 균형 (ykdojo #39)
  • 11.2. 개인화된 소프트웨어 시대 (ykdojo #37)
  • 11.3. 사용이 최고의 학습 (ykdojo #22)
  • 11.4. 지식 공유 및 기여 (ykdojo #42)
  • 11.5. 계속 학습하기 (ykdojo #43)

Part 12: 고급 기능과 SDK

  • 12.1. Extended Thinking (Ado #19)
  • 12.2. LSP 통합 (Ado #31)
  • 12.3. Claude Agent SDK (Ado #31)
  • 12.4. 팀 설정과 공유 워크플로우 (Ado #30)

Part 13: 학습 로드맵과 다음 단계

  • 13.1. 초급자를 위한 로드맵 (1-3개월)
  • 13.2. 중급자를 위한 로드맵 (3-12개월)
  • 13.3. 고급자를 위한 로드맵 (1년 이상)
  • 13.4. 필독 참고 자료

[출처] https://news.hada.io/topic?id=26526&utm_source=weekly&utm_medium=email&utm_campaign=202607

Loading

16 2월 2026

[인공지능 개발자] 소프트웨어 서바이벌 3.0 – 무엇을 만들어야 살아남는가 

[인공지능 개발자] 소프트웨어 서바이벌 3.0 – 무엇을 만들어야 살아남는가 

45P by neo 11일전 | ★ favorite | 댓글과 토론
  • AI가 모든 소프트웨어를 작성하는 시대에는 토큰(추론 비용)을 절약하는 소프트웨어가 진화론적 선택 압력을 통해 살아남게 될 것
  • 생존 비율 공식을 통해 소프트웨어의 적합도를 측정하며, 인지 절약이 인지 비용을 넘어서는 경우(1을 초과)에만 생존 가능
  • Git, grep 같은 도구는 통찰 압축과 기판 효율성 덕분에 AI가 다시 만들어 쓰기에는 비용이 터무니없이 큰 사례
  • 에이전트가 도구를 채택하려면 인지도(Awareness) 와 마찰 최소화(Friction) 가 필수적이며, Desire Paths 설계가 효과적
  • AI 중심의 시대에도 인간 계수(Human Coefficient) 가 작동해, 인간의 개입과 선호가 직접적인 가치를 만드는 영역은 계속 살아남게 될 것

배경: AI 시대의 소프트웨어 예측

  • 2024년 6월 Death of the Junior Developer, 10개월 전 오케스트레이터 도래 예측, Gas Town 프로젝트 등을 통해 AI 발전 곡선을 지속적으로 맞혀옴
  • 2023년 코드 자동 완성 → 2024년 대화형 인터페이스 → 2025년 초 에이전트 → 2026년 초 오케스트레이션으로 이어지는 흐름을 외삽해 Gas Town 개발
  • 모든 예측의 근거는 지수적 발전 곡선을 그대로 믿는 태도에 있음
  • Dario Amodei와 Andrej Karpathy가 소프트웨어의 미래에 대해 말해온 방향을 전적으로 신뢰함
  • Gas Town은 이러한 외삽이 실제로 작동함을 보여준 사례로, 2025년 말 모델과 다수의 임시적 보완을 통해 간신히 성립하는 형태를 먼저 확인

위협받는 소프트웨어 생태계

  • SaaS 기업에 대한 압력이 증가하며, 구매 대비 구축(build)의 비용 구조가 바뀌어 비즈니스 부서가 직접 바이브 코딩(vibe coding) 으로 자체 SaaS를 만드는 사례 확산
  • 불과 3년 전 GPT-3.5가 단일 함수 작성도 버거웠던 것과 달리, 현재는 소규모지만 실질적 가치가 있는 SaaS를 직접 생성 가능
  • Stack Overflow와 Chegg가 초기 타격을 받았고, 이후 Tier-1 고객 지원 소프트웨어, 로우코드·노코드 시스템, 콘텐츠 생성 도구, 각종 생산성 도구로 압박이 확산
  • IDE 벤더들 역시 Claude Code 등장 이후 경쟁 압력을 체감하기 시작
  • AI 연구자들의 예측이 약 40 년간 높은 정확도를 보여왔다는 점에서, 모든 소프트웨어 영역이 위협받을 가능성을 전제로 대비 필요

선택 압력 모델(Selection Argument)

  • 추론에는 토큰이 필요하고, 토큰 소비는 에너지 사용으로 이어지며, 에너지는 곧 비용으로 환산됨
  • {토큰, 에너지, 돈}은 동일한 자원 제약으로 취급 가능하며, 항상 제한된 상태로 존재
  • 인지 비용을 줄이는 소프트웨어가 살아남는다는 단순한 규칙이 소프트웨어 생태계 전반을 형성
  • 제한된 자원 환경에서 더 효율적으로 자원을 사용하는 개체가 그렇지 못한 개체를 밀어내는 진화론적 선택 압력과 동일한 구조

생존 비율(Survival Ratio) 공식

  • Survival(T) ∝ (Savings × Usage × H) / (Awareness_cost + Friction_cost)
  • Savings: 도구를 사용함으로써 절약되는 인지 비용, 즉 동일한 기능을 처음부터 합성할 때 대비 절감되는 토큰량
  • Usage: 도구가 다양한 상황에서 반복적으로 사용될 수 있는 빈도와 적용 범위
  • H (Human Coefficient): 효율성과 무관하게 인간이 만든 것에 가치를 두는 수요를 반영하는 계수
  • Awareness_cost: 에이전트가 해당 도구의 존재를 알고, 기억하고, 적절한 순간에 선택하는 데 드는 에너지
  • Friction_cost: 실제 사용 과정에서 발생하는 오류, 실패, 재시도, 오해로 인해 소모되는 에너지
  • 생존을 위한 최소 비율은 1이며, 경쟁이 존재하는 환경에서는 이보다 훨씬 높은 비율 요구
    • 예: 생존 비율이 1.2인 도구는 2.5를 기록하는 경쟁 도구에 의해 밀려날 수 있음

레버 1: 통찰 압축(Insight Compression)

  • 소프트웨어 산업이 오랜 시간에 걸쳐 축적해 온 다시 발견하기에 지나치게 비싼 지식을 재사용 가능한 형태로 압축
  • Git 이 대표 사례로, 커밋 DAG, 포인터로서의 참조(ref), 인덱스, reflog 등은 수십 년간의 시행착오가 응축된 구조
    • AI가 이를 처음부터 재구현하려면 동일한 지적 역사를 다시 밟아야 하므로 경제적으로 전혀 합리적이지 않음
  • 데이터베이스, 컴파일러, 운영체제, 워크플로우 엔진, 모니터링 시스템 전반에 동일한 원리 적용
  • Kubernetes 는 설계가 복잡해서가 아니라, 분산 시스템 자체가 본질적으로 복잡하기 때문에 복잡함
  • Temporal 은 멱등성 재시도와 함께 saga 패턴을 직접 구현하는 일이 사실상 연구 프로젝트에 가깝기 때문에, 이를 대신하는 내구성 실행(durable execution) 을 제공
  • 강한 소프트웨어의 공통된 특성은 다시 합성하려는 시도 자체가 터무니없게 느껴질 정도의 통찰 밀도
  • Gas Town에서의 캐릭터 역할 모델이나 gt sling 같은 동사 역시, 복잡한 개념을 짧고 기억하기 쉬운 표현으로 압축한 사례

레버 2: 기판 효율성(Substrate Efficiency)

  • grep 은 재발명이 사실상 미친 짓에 가까운 또 하나의 사례
  • Ken Thompson이 오후 한나절에 만들 정도로 단순하지만, CPU 기반 처리를 통해 막대한 인지 비용을 절약
  • 텍스트 패턴 매칭에서는 CPU가 GPU를 여러 자릿수 차이로 압도
  • LLM의 곱셈 방식은 패턴 매칭을 조합해 “대략 94쯤”을 먼저 추정하고, 이후 기억된 룩업 테이블로 자릿수를 보정하는 형태
    • 이 계산이 모두 GPU 추론 단계라는 극도로 비효율적인 기판 위에서 수행됨
  • 계산기, 파서, ImageMagick 같은 복잡한 변환 도구, 다수의 Unix CLI 유틸리티가 이 레버를 적극 활용
  • 좋은 알고리듬을 적용하거나, 계산을 CPU·인간 등 더 저렴한 기판으로 이동시켜 토큰과 에너지 소비를 절약

레버 3: 광범위한 유용성(Broad Utility)

  • 생존 비율 모델에서 Usage 항목에 해당
  • 사용 범위가 넓을수록 인지도 비용이 분산되고, 개별 사용 시 요구되는 토큰 절약 임계값이 낮아짐
  • 진정으로 범용적인 토큰 절약 도구는 AI가 이론적으로 재구현할 수 있더라도, 이미 어디에나 존재하고 널리 쓰이는 선택지가 우선됨
  • Temporal 은 상대적으로 높은 인지도 비용과 마찰 비용에도 불구하고 PostgreSQL 만큼 범용적인 워크플로우 모델 제공
    • 공격적인 통찰 압축, 계산 기판의 능숙한 활용, 광범위한 유용성이라는 세 가지 레버를 모두 보유
  • Dolt 는 Git으로 버전 관리되는 데이터베이스로, 8년간 유지되어 온 오픈소스 프로젝트
    • 에이전트 기반 프로덕션 및 DevOps 워크플로우에서 뒤늦게 킬러 앱을 발견
    • 에이전트가 프로덕션 환경에서 실수하더라도 Git의 전체 기능을 활용해 롤백·롤포워드 가능
  • 코드 검색 엔진은 LLM이 기존 대비 10배에서 100배 더 많은 코드를 생성하면서 중요성이 급격히 상승
    • grep이 감당할 수 없는 규모의, 이른바 “너무 커서 grep으로는 안 되는 영역” 이라는 대규모 범용 틈새 형성
    • 발견하기 어려운 엣지 케이스가 많은 비자명한 문제를 해결하고, 저렴한 계산 기판을 사용하며, 범용적 적용이 가능한 점에서 세 가지 레버를 모두 충족

레버 4: 홍보(Publicity)

  • 인지 비용 절약만으로는 충분하지 않으며, 인지도 문제, 즉 사전 선택 단계에서의 문제 해결 필요
  • Dolt는 레버 1~3을 모두 갖췄지만, 초기에는 레버 4가 부족해 널리 사용되지 못한 사례
  • 인지도 비용을 지불하는 방법은 여러 가지 존재
    • 훌륭한 제품을 만들고 인기를 얻은 뒤, 커뮤니티를 통해 자연스럽게 훈련 데이터에 포함되기를 기다리는 방식
    • 또는 비용을 투입해 에이전트용 문서화에 투자하거나 광고 집행
  • 보다 직접적인 방법으로, OpenAIAnthropicGoogle 같은 프론티어 랩의 담당자와 협력해 모델 훈련 과정에 도구를 포함
    • 유료 서비스 형태로, 도구의 올바른 사용과 오용을 모두 보여주는 eval을 제작한 뒤 연구자들이 훈련을 조정
  • 에이전트를 위한 SEO 개념이 본격적으로 등장 중
  • 대규모 예산을 투입하기 어렵다면, 사후 선택 단계에서의 에너지, 즉 레버 5에 의존해야 하며, 이를 위해 도구를 최대한 에이전트 친화적으로 설계 필요

레버 5: 마찰 최소화(Minimizing Friction)

  • 인지도가 사전 선택 단계의 문제라면, 제품 마찰은 사용 이후 단계의 문제
  • 에이전트는 항상 시간에 쫓기는 것처럼 행동하며, 무언가 막히면 즉시 우회 경로를 시도
  • 마찰이 조금만 있어도 판단이 바뀌어, 더 효율적인 도구 대신 덜 효율하지만 익숙하고 예측 가능한 방법으로 후퇴
  • 반대로 취향에 정확히 맞게 설계된 도구는 에이전트가 집요할 정도로 반복 사용
  • 문서화 접근법은 훈련 단계가 아닌 추론 시점까지 인지 비용을 미루는 방식
    • 도구가 무엇을 잘하는지, 언제 왜 써야 하는지, 빠른 시작 가이드와 후속 문서 경로를 컨텍스트에 직접 주입
  • 그러나 더 나은 해법은 에이전트에게 직관적으로 느껴지는 도구 자체를 만드는 것
  • Desire Paths 설계 사례로, Beads 는 4개월간 100개가 넘는 하위 명령과 다수의 하위-하위 명령, 별칭, 대체 문법을 거치며 CLI가 진화
    • 이 복잡한 CLI는 인간이 아니라 에이전트의 사용 패턴을 위해 설계됨
    • 에이전트가 시도하는 방식을 관찰해 환각을 실제 기능으로 구현, 이제는 거의 모든 추측이 그대로 동작
  • 환각 스쿼팅(Hallucination Squatting) 은 LLM이 자주 환각하는 도메인 이름을 역으로 추적해 등록하고, 해당 주소에 아티팩트를 올려 실제로 다운로드하게 만드는 기법
    • 국가 단위의 해커 집단조차 Agent UX를 이해하고 활용한다는 점이 드러남
  • Agent UX는 결정적으로 중요하지만 아직 대부분의 도구에서 간과되고 있음
  • 이상적인 도구는 에이전트가 이미 익숙한 다른 도구와 닮아 있거나, 문제를 에이전트가 사고하고 싶어하는 방식 그대로 풀어주는 구조

레버 6: 인간 계수(Human Coefficient)

  • 토큰 효율성과 무관하게, 인간이 개입했다는 사실 자체로 가치를 얻는 소프트웨어 존재
  • 인간 큐레이션, 사회적 증거, 창의성, 물리적 존재감, 승인 같은 요소에서 가치가 파생
  • 인간이 고른 플레이리스트는 품질이 동등하고 에너지 효율이 더 높은 AI 생성 플레이리스트를 이길 수 있음
  • 게임 분야에서는 실제 인간이 있는 환경이 대체로 승리하며, 명백히 인간보다 강한 AI와만 플레이하고 싶어하는 경우는 드묾
  • 에이전트를 배제하는 소셜 네트워크가 오히려 매력적으로 인식될 가능성
  • AI가 최고의 교사가 되더라도, 일부 사람들은 의도적으로 인간 교사를 선택할 것
  • 높은 Human Coefficient를 가진 영역에서도 경쟁은 치열함
    • Karpathy가 그리는 세계에서 에이전트는 누구에게나 무엇이든 될 수 있고, 본질적으로 강한 중독성을 가짐
  • 결과적으로 극단적으로 비효율적이지만 H 값이 매우 높은 소프트웨어가 다수 존재하게 될 가능성

희망의 근거

  • 인간과 AI 사이를 중개하거나, AI가 곧 직접 수행할 수 있게 될 “똑똑한 척하는 역할” 을 맡은 소프트웨어는 구조적으로 위험
  • 그럼에도 불구하고 작성되어야 할 소프트웨어의 양은 사실상 무한
    • 모든 질병 치료, 모든 단백질의 거동 모델링, 모든 행성 탐사 시나리오가 여전히 대상
  • 인간의 야망은 항상 가용한 인지 능력을 초과하며, 토큰 비용이 하락하더라도 우리는 곧바로 더 먼 프론티어로 이동
  • 주의 집중 문제는 인쇄 매체, 인터넷, 소셜 미디어, 실시간 광고, 애그리게이터를 거치며 이미 여러 차례 해결된 경험 보유
  • Desire Paths 설계가 실제로 효과적이며, OpenAI 같은 곳의 대규모 훈련 예산 없이도 에이전트가 자연스럽게 쓰고 싶어하는 도구를 만들 수 있음
  • 인간 계수는 분명히 존재하며, 사람들은 이미 에이전트 냄새가 짙은 것에 피로감을 느끼기 시작
    • 인간 간의 연결과 창의성을 중심에 두고 설계하면, 결국 문제는 다시 전통적인 마케팅과 브랜딩의 영역으로 수렴
  • 여섯 가지 레버가 제공하는 다양한 생존 경로가 존재
  • 다시 만들려는 시도 자체가 미친 짓처럼 느껴지는 것을 구축하고, 발견하기 쉽고 사용하기 쉽게 만든다면 충분히 견고한 가능성 확보

[출처] https://news.hada.io/topic?id=26413 

Loading

8 2월 2026

[인공지능 개발자] [알아봅시다] AI로 고품질 코드를 효과적으로 작성하는 방법

[인공지능 개발자] [알아봅시다] AI로 고품질 코드를 효과적으로 작성하는 방법

4P by GN⁺ 5시간전 | ★ favorite | 댓글 1개
  • AI와 협업하는 개발 환경에서는 인간이 프로젝트의 방향과 의사결정을 명확히 정의해야 품질을 유지할 수 있음
  • 정확한 문서화를 통해 AI와 다른 개발자 모두가 요구사항과 제약을 명확히 이해하도록 해야 함
  • 디버그 시스템과 코드 리뷰 체계를 구축해 AI가 생성한 코드의 신뢰성과 검증 과정을 강화함
  • 보안 위험 함수 표시, 테스트 분리, 엄격한 린팅 규칙 등으로 코드의 안정성과 일관성을 확보함
  • 작업 단위 분할과 복잡도 최소화를 통해 AI 코드 생성의 통제력을 유지하고 효율성을 극대화함

1. 명확한 비전 수립

  • 인간은 세계와 팀, 사용자 행동을 이해하지만 AI는 경험이 없으므로 명시적 지침이 필요함
    • 프로젝트에서 문서화되지 않은 결정은 AI가 대신 내리게 됨
  • 아키텍처, 인터페이스, 데이터 구조, 알고리듬을 사전에 논의하고 테스트 방법을 정의해야 함
  • 장기적이고 변경이 어려운 결정은 반드시 인간이 직접 관리해야 함

2. 정확한 문서 유지

  • AI가 목적에 맞는 코드를 생성하려면 세부적인 요구사항 전달이 필수임
  • 다른 개발자도 동일한 정보를 AI에 제공해야 하므로, 표준화된 형식의 문서를 코드 저장소에 포함해야 함
    • 요구사항, 제약, 아키텍처, 코딩 표준, 디자인 패턴 등을 상세히 기록
    • UML 다이어그램, 플로우차트, 의사코드 등을 활용해 복잡한 구조를 시각적으로 표현

3. AI를 지원하는 디버그 시스템 구축

  • 효율적인 디버그 시스템을 마련해 AI가 코드 기능을 빠르게 검증할 수 있도록 해야 함
    • 예: 분산 시스템의 모든 노드 로그를 수집해 “데이터가 모든 노드로 전송됨” 등 요약 정보를 제공
  • 이를 통해 명령어 실행 비용 절감과 문제 식별 속도 향상이 가능함

4. 코드 리뷰 수준 표시

  • 코드의 중요도에 따라 리뷰 강도를 구분해야 함
    • 예: AI가 작성한 함수 뒤에 //A 주석을 추가해 인간 검토 여부를 표시
  • 이 체계는 검토되지 않은 코드의 식별과 관리를 용이하게 함

5. 고수준 명세 작성 및 직접 테스트

  • AI는 테스트 통과를 위해 모의 객체나 하드코딩 값으로 속임수를 쓸 수 있음
  • 이를 방지하기 위해 속성 기반 테스트(property-based testing) 를 직접 작성해야 함
    • 예: 서버를 재시작하고 데이터베이스 값의 일관성을 검증
  • 테스트 코드는 AI가 수정하지 못하도록 별도 영역에 분리해야 함

6. 인터페이스 테스트의 분리

  • AI가 다른 코드 맥락을 모른 채 인터페이스 테스트를 작성하도록 해야 함
    • 구현 AI의 영향을 받지 않아 테스트의 객관성이 유지됨
  • 이 테스트 역시 AI가 임의로 수정하지 못하도록 보호해야 함

7. 엄격한 린팅 및 포맷팅 규칙

  • 일관된 코드 스타일과 린팅 규칙은 품질 유지와 오류 조기 발견에 필수적임
  • AI와 인간 모두가 코드 품질을 쉽게 점검할 수 있음

8. 컨텍스트별 코드 에이전트 프롬프트 활용

  • 프로젝트별 CLAUDE.md 등 프롬프트 파일을 사용해 AI의 초기 이해 비용을 줄임
  • 코딩 표준, 디자인 패턴, 요구사항 등을 포함해 AI의 코드 생성 품질과 효율성을 높임

9. 보안 위험 함수 식별 및 표시

  • 인증, 권한, 데이터 처리 등 보안 민감 함수를 명시적으로 표시해야 함
    • 예: //HIGH-RISK-UNREVIEWED//HIGH-RISK-REVIEWED 주석 사용
  • AI가 해당 함수를 수정하면 리뷰 상태를 자동 변경하도록 설정해야 함
  • 개발자는 항상 이 상태가 정확한지 확인해야 함

10. 코드 복잡도 최소화

  • 불필요한 코드 한 줄도 AI의 컨텍스트 창을 차지하고 비용을 증가시킴
  • 가능한 한 단순한 구조로 유지해 AI와 인간 모두의 이해도를 높여야 함

11. 실험과 프로토타입을 통한 문제 탐색

  • AI 코드 생성의 저비용 특성을 활용해 다양한 해결책을 실험할 수 있음
  • 최소한의 명세로 여러 프로토타입을 만들어 최적의 접근법을 탐색

12. 무분별한 대규모 생성 금지

  • 복잡한 작업은 작은 단위로 분할해 AI가 단계적으로 처리하도록 해야 함
    • 예: 전체 프로젝트 대신 개별 함수나 클래스를 생성
  • 각 구성요소가 명세에 부합하는지 검증해야 하며,
    코드의 복잡성을 통제하지 못하면 프로젝트를 초기 상태로 되돌려야 함

[출처] https://news.hada.io/topic?id=26491

Loading

28 12월 2025

 [一日30分 인생승리의 학습법] [알아봅시다] 50대 시니어 개발팀장이 읽으면 좋은 추천도서 [두번째]

 [一日30分 인생승리의 학습법] [알아봅시다] 50대 시니어 개발팀장이 읽으면 좋은 추천도서 [두번째]

50대 IT 시니어 개발자이자 팀장 역할을 수행하시는 분들께는 단순히 기술적인 전문성을 넘어, 조직 관리의 지혜, 인생의 철학, 그리고 급변하는 AI 시대의 통찰을 균형 있게 다루는 책들이 필요합니다.

현장의 풍부한 경험을 더 깊은 통찰로 승화시켜 줄 교양서 20권을 네 가지 카테고리로 나누어 추천해 드립니다.


1. 리더십과 조직의 본질 (팀장을 위한 지혜)

실무자에서 관리자로, 또는 관리자에서 리더로 진화할 때 마주하는 인간관계와 조직의 문제를 다룹니다.

  1. 실리콘밸리의 팀장들 (Radical Candor) | 킴 스콧

    • ‘완전한 솔직함’이 어떻게 팀의 성과를 만드는지 보여주는 현대 리더십의 교과서입니다.

  2. 하이 아웃풋 매니지먼트 | 앤디 그로브

    • 전 인텔 CEO가 쓴 경영의 정석입니다. ‘중간 관리자’의 성과를 어떻게 측정하고 극대화할지 다룹니다.

  3. 매니징 휴먼 (Managing Humans) | 마이클 롭

    • 애플, 구글 등에서 근무한 저자가 기술직군 특유의 문화를 바탕으로 쓴 유머러스하고 날카로운 관리 지침서입니다.

  4. 데일 카네기 인간관계론 | 데일 카네기

    • 고전은 이유가 있습니다. 세대 차이를 넘어 사람의 마음을 움직이는 기본 원칙을 되새기게 합니다.

  5. 겸손한 리더십 | 에드거 샤인

    • 권위가 아닌 ‘질문’과 ‘관계’를 통해 팀원들의 잠재력을 끌어내는 법을 제안합니다.

2. IT 철학과 시스템 사고 (시니어 개발자를 위한 통찰)

기술 그 너머의 아키텍처와 엔지니어링의 본질을 깊이 있게 통찰하게 돕는 도서들입니다.

  1. 맨먼스 미신 (The Mythical Man-Month) | 프레더릭 브룩스

    • 50년 전의 책이지만 소프트웨어 공학의 난제는 변하지 않았음을 보여주는 필독서입니다.

  2. 피닉스 프로젝트 | 진 킴 외

    • 소설 형식으로 IT 운영과 개발의 갈등, 그리고 DevOps가 왜 필요한지를 흥미진진하게 풀어냅니다.

  3. 구글 엔지니어는 이렇게 일한다 | 타이터스 워터스 외

    • 단순 코딩이 아닌 ‘시간에 따라 지속 가능한’ 엔지니어링이 무엇인지 구글의 사례로 보여줍니다.

  4. 생각에 관한 생각 | 대니얼 카너먼

    • 인간의 인지 편향을 다룬 행동경제학 명저로, 기술적 의사결정 시 범하기 쉬운 오류를 방지해 줍니다.

  5. 시스템 사고의 기술 | 도넬라 메도즈

    • 복잡한 조직과 소프트웨어 시스템을 전체적인 관점에서 바라보는 통찰을 제공합니다.

3. 인생의 후반전과 철학 (50대를 위한 위로와 성찰)

커리어의 정점에서 인생의 의미와 품격을 고민하는 시기에 읽기 좋은 책들입니다.

  1. 마흔에 읽는 쇼펜하우어 | 강용수

    • 고통과 고독을 긍정하고 자신만의 행복을 찾는 철학적 조언을 담고 있습니다.

  2. 백년을 살아보니 | 김형석

    • 100세 철학자가 들려주는 인생의 황금기(60~75세)에 대한 이야기는 50대에게 큰 위안이 됩니다.

  3. 도둑맞은 집중력 | 요한 하리

    • 정보 과잉 시대에 리더로서 어떻게 본질에 집중할 것인가에 대한 깊은 질문을 던집니다.

  4. 장자 (또는 장자 관련 해설서)

    • 비움과 여유의 미학을 통해 조직 내 갈등이나 커리어의 압박에서 벗어나는 지혜를 줍니다.

  5. 나이 들어가는 내가 좋습니다 | 요시모토 바나나 외

    • 나이 듦을 쇠퇴가 아닌 ‘익어감’으로 받아들이는 태도를 가르쳐 줍니다.

4. 기술 트렌드와 미래 통찰 (AI와 비즈니스 환경)

후배들과 대화하고 미래 전략을 세우기 위한 거시적인 시각을 제공합니다.

  1. AI 이후의 세계 | 헨리 키신저, 에릭 슈미트 외

    • AI가 인류의 정치, 사회, 철학에 미칠 영향을 거물급 인사들이 논합니다.

  2. 불변의 법칙 | 모건 하우절

    • 세상은 변해도 변하지 않는 인간의 본성과 돈의 흐름에 대해 이야기합니다.

  3. 제로 투 원 | 피터 틸

    • 경쟁이 아닌 ‘독점적 가치’를 창출하는 기술 비즈니스의 본질을 꿰뚫습니다.

  4. 코드 너머, 회사보다 오래 남을 개발자 | 김상기 외

    • 시니어 개발자가 회사의 부품이 아닌 독립된 전문가로 살아남기 위한 전략을 담았습니다.

  5. 수축사회 | 홍성국

    • 인구 감소와 저성장 시대, 리더로서 미래 환경을 어떻게 대비해야 할지 거시 경제적 안목을 줍니다.


Tip: 한꺼번에 다 읽기보다는, 현재 팀 내에서 겪는 고민이 있다면 **1번(리더십)**이나 2번(시스템) 카테고리에서 한 권을, 마음의 여유가 필요하시다면 3번(철학) 카테고리에서 한 권을 골라 병행해 보시는 것을 추천드립니다.

Loading

28 12월 2025

[一日30分 인생승리의 학습법] [알아봅시다] 50대 시니어 개발팀장이 읽으면 좋은 추천도서 [첫번째]

[一日30分 인생승리의 학습법] [알아봅시다] 50대 시니어 개발팀장이 읽으면 좋은 추천도서 [첫번째]

아래 20권은 “50대 시니어 개발자 + 팀장/리더 역할” 관점에서 기술 감각을 잃지 않으면서도, 사람·조직·성과를 함께 끌어올리는 데 도움이 되는 교양서(실무 교양 포함)로 골랐습니다.

1) 팀장·리더십(사람/조직/커뮤니케이션)

  1. 일 잘하는 팀장 — 팀장의 역할/태도/팀 운영을 한국 조직 맥락에서 정리. 교보문고

  2. 나는 인정받는 팀장이고 싶다 — “현업 팀장”들의 시행착오/소통 포인트를 모은 책. 알라딘

  3. 프로그래머의 리더십 — 개발자 출신 리더가 겪는 프로젝트/소통/자기계발을 현실적으로 다룸. 예스24

  4. The Manager’s Path (Camille Fournier) — 엔지니어→매니저 성장 단계별 역할/함정을 정리. Engineering Manager+1

  5. Staff Engineer (Will Larson) — 관리자 트랙이 아니어도 “영향력/전략/멘토링”으로 리드하는 법. 스태프 엔지니어십

2) 성과를 내는 팀 운영(관리/지표/OKR/생산성)

  1. High Output Management (Andy Grove) — 관리자의 레버리지, 1:1, 성과관리의 고전. 아마존

  2. Measure What Matters (John Doerr) — OKR로 목표·정렬·집행력을 만드는 방식(사례 중심). PenguinRandomhouse.com+1

  3. Good Strategy Bad Strategy (Richard Rumelt) — “좋은 전략=문제 해결의 핵심 진단+집중”을 강하게 훈련. 아마존

  4. Turn the Ship Around! (L. David Marquet) — 리더가 지시자가 아니라 “리더를 만드는 시스템”을 만드는 법. Engineering Manager+1

  5. 무엇이 1등 팀을 만드는가? — 엔지니어링 리더가 현장에서 쓰는 프레임/소통/성과 체계를 정리(국내 번역). 한빛+

3) 전달·운영·조직 설계(DevOps/플랫폼/팀 구조)

  1. Accelerate (Forsgren/Humble/Kim) — “성과가 나는 전달(Delivery) 조직”의 과학적 근거와 지표. IT Revolution+1

  2. The Phoenix Project (Gene Kim 외) — 소설 형식으로 병목/흐름/협업(DevOps 핵심)을 체감. IT Revolution+1

  3. Team Topologies (Skelton & Pais) — 팀 인터랙션/인지부하 관점에서 조직을 설계하는 방법. Medium+1

  4. Peopleware (DeMarco & Lister) — 개발 생산성의 핵심이 “사람/환경/문화”라는 고전. DigitalDefynd Education+1

  5. An Elegant Puzzle (Will Larson) — 엔지니어링 조직 운영(프로세스/조직 설계/운영 패턴) 실전서. Engineering Manager

4) 소프트웨어 교양(프로젝트/설계/사고력)

  1. The Mythical Man-Month (Fred Brooks) — 일정/인력/커뮤니케이션의 본질(브룩스의 법칙) 고전. 위키백과+1

  2. The Pragmatic Programmer (Hunt & Thomas) — 장인 관점의 습관/원칙(유지보수·품질·태도) 정리. 위키백과+1

  3. Clean Architecture (Robert C. Martin) — 구조/경계/의존성 등 “흔들리지 않는 설계 원칙”을 정리. 아마존+1

  4. Thinking in Systems (Donella Meadows) — 복잡한 문제를 “시스템”으로 보는 사고 도구(관리자 필수 교양). 위키백과+1

  5. Radical Candor (Kim Scott) — 배려와 직언을 함께 하는 피드백 문화(팀장에게 즉효). Engineering Manager


읽는 순서(추천 루트 2가지)

  • 팀장 역량을 빨리 올리는 루트(8주): 4 → 9 → 6 → 20 → 11 → 12 → 13 → 14

  • 시니어/아키텍트 감각까지 같이 가는 루트: 5 → 15 → 19 → 16 → 18 → 17 (+필요 시 8,7)

Loading

17 12월 2025

[인공지능 개발자] [알아봅시다] Ollama Python에서 사용하기

[인공지능 개발자] [알아봅시다] Ollama Python에서 사용하기

post-thumbnail

이전 포스트에서 테스트 해봤던 Ollama를 쫌 더 다양하게 활용하기 위해 Python에서 사용하는 실습을 진행해보았다. 이번에는 예제 코드를 활용한 간단한 기능한 구현해보고 앞으로 HuggingFace 모델 가져오기, LangChain과 함께 사용하기 등 추가 실습을 더 진행해볼 예정이다.

실습은 파이썬 가상환경을 만들어서 진행했고, 한국어로 사용할 수 있는 모델을 찾기 위해서 여러 모델들을 테스트 해보았다. 한국어 채팅은 Gemma의 성능이 가장 좋았다. 아래 실습에서는 여러 모델을 섞어서 진행하겠다.

  • Llama2
  • Mistral
  • Solar
  • Gemma

test-result

구글의 Gemma만 제대로된 답변을 주고 있다. (역시 따끈따끈한 모델..) Solar는 한국에서 만들었는데(Upstage) 학습할 때 한국어 데이터셋을 많이 안 포함 시킨 건지 왜 성능이..? (10.7B size 기준)
.
.
.

설치 및 세팅

파이썬에서 Ollama를 사용하는 방법은 공식 깃헙 에서 잘 설명해주고 있다.

pip install ollama

우선 Ollama를 설치한다. (가상환경에서 진행하므로 이전에 terminal에서 설치해 준 것과 무관하게 다시 설치해줘야 한다)

import ollama
ollama.pull('llama2')

ollama를 import하고 모델을 설치해준다. 터미널에서 ollama run gemma를 통해 모델을 다운로드하고 바로 실행할 수 있지만, python에는 모델을 pull해온다. ollama.list()를 통해서 설치한 모델 리스트를 확인할 수 있고 ollama.delete('llama2')를 통해 모델을 삭제할 수도 있다.

response = ollama.chat(model='solar', messages=[
  {
    'role': 'user',
    'content': 'Why is the sky blue?',
  },
])
print(response['message']['content'])

content에 input prompt를 작성하면 답변이 생성된다. model을 바꿔가면서 테스트해봤는데, 모델에 따라서 답변의 길이, 응답 특성 등이 살짝씩 달랐다.

임베딩 벡터 얻기 + 검색(with ChromaDB)

Ollama에 이 기능이 공개된 건 꽤 최근인 것 같은데, 답변을 출력할 뿐만 아니라 답변의 embedding vector를 제공한다는 것이다. 공식 문서에서는 RAG를 구축하는데 사용할 수 있다고 설명하고 있고 (1)임베딩 (2)DB저장 (3)검색 (4)답변생성 의 과정을 실습해볼 수 있는 예시를 제공한다. 코드는 모두 Ollama에서 제공한 것이며, 사용 모델만 내가 설치한 모델로 바꿔서 진행하였다.

ollama.embeddings(model='mistral', prompt='The sky is blue because of rayleigh scattering')

위 코드를 실행하면 출력 결과로 답변과 함께 embedding vector가 나온다.

다음으로는 Ollama와 ChromaDB를 각각 사용해서 임베딩 벡터를 생성하고 저장한 뒤 검색하는 과정을 진행해보겠다.

pip install chromadb

우선 ChromaDB를 설치한다.

import ollama
import chromadb

documents = [
  "Llamas are members of the camelid family meaning they're pretty closely related to vicuñas and camels",
  "Llamas were first domesticated and used as pack animals 4,000 to 5,000 years ago in the Peruvian highlands",
  "Llamas can grow as much as 6 feet tall though the average llama between 5 feet 6 inches and 5 feet 9 inches tall",
  "Llamas weigh between 280 and 450 pounds and can carry 25 to 30 percent of their body weight",
  "Llamas are vegetarians and have very efficient digestive systems",
  "Llamas live to be about 20 years old, though some only live for 15 years and others live to be 30 years old",
]

client = chromadb.Client()
collection = client.create_collection(name="docs2")

# store each document in a vector embedding database
for i, d in enumerate(documents):
  response = ollama.embeddings(model="mistral", prompt=d)
  embedding = response["embedding"]
  collection.add(
    ids=[str(i)],
    embeddings=[embedding],
    documents=[d]
  )

documents에는 임베딩을 진행한 문서를 넣어주고, embedding model은 mistral을 사용했다. 데이터양이 적어서 금방 실행된다.

# an example prompt
prompt = "What animals are llamas related to?"

# generate an embedding for the prompt and retrieve the most relevant doc
response = ollama.embeddings(
  prompt=prompt,
  model="mistral"
)
results = collection.query(
  query_embeddings=[response["embedding"]],
  n_results=1
)
data = results['documents'][0][0]

prompt에 질문을 넣어주면 해당 질문의 답변을 얻을 수 있는 가장 유사한 문장을 documents에서 찾는다. (embedding vector로 가장 유사도가 높은 문장을 찾는 걸로 알고 있는데, 정확한 방법은 알지 못한다. 추후 Langchain과 함께 사용하는 부분에 추가하겠다)

output = ollama.generate(
  model="mistral",
  prompt=f"Using this data: {data}. Respond to this prompt: {prompt}"
)

print(output['response'])

가장 유사성이 높은 문장을 찾아오는 것까지도 유용하지만, 그 문장을 가지고 다시 model에 넣어서 매끄러운 답변을 생성하는 과정이다.

여기까지 하면 거의 ChatGPT와 같은 모델을 뚝딱 만들어 낸 것이다! 좀 더 많은 기능들을 붙이거나 미세한 조정(chunk size 조정 등) LangChain을 사용하는 것이 유용하겠지만, 이렇게 간단한 작업은 각각 불러와서 진행해도 충분할 것 같다.

참고자료

[출처] https://velog.io/@cathx618/Ollama-Python%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

Loading

10 12월 2025

[인공지능 개발자] Spring AI로 LLM 연결하기(Feat: ollama)

[인공지능 개발자] Spring AI로 LLM 연결하기(Feat: ollama)

들어가면서

올해 초 LLM에 관심이 생겨 이것저것 찾아보다가 Spring AI를 알게 되었고, 최근 정식 버전인 1.0.0이 출시되면서 본격적으로 공부하게 되었습니다.
제가 느끼기에 Spring AI는 LLM 연결을 매우 쉽게 도와주며, 다음과 같은 다양한 기능을 제공합니다:

  • 프롬프트 전처리/후처리를 위한 Advisor
  • JSON → DTO 구조화 출력 지원
  • LLM이 메서드를 직접 호출하는 Function Calling
  • RAG, MCP, 멀티모달 등 다양한 고급 기능 지원

덕분에 이제는 Python 기반 도구가 아니더라도, Java 환경에서도 LLM을 효과적으로 활용할 수 있게 되었습니다.
이 블로그 시리즈는 총 3편으로 구성될 예정이며, 각 주제는 다음과 같습니다:

  1. Spring AI로 LLM 연결하고 구조화된 출력하기
  2. Advisor로 LLM에 추가 정보 제공 및 응답 가공하기 (feat. RAG)
  3. Function Calling으로 LLM에게 메서드 제공하기 (feat. AI Agent)
    이번 포스팅은 그 첫 번째 주제인 “Spring AI로 LLM 연결하고 구조화된 출력하기”입니다.

기본적인 설정법

Spring AI는 다양한 LLM 제공자(OpenAI, Azure, Ollama 등)와 연동할 수 있습니다.
저는 이 포스팅에서 로컬에서 실행 가능한 오픈소스 플랫폼인 Ollama를 기준으로 설명하겠습니다.

  • 참고: Spring AI는 Java 17 이상부터 지원됩니다.

Ollama는 다양한 오픈소스 LLM을 PC에 직접 다운로드하여 실행할 수 있는 플랫폼입니다.
따라서 외부로 유출되면 안 되는 개인정보나 대외비 문서를 처리할 때 적합한 선택이 될 수 있습니다.

 - 의존성 추가 (Maven 기준)
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-model-ollama</artifactId>
</dependency>
 - 설정 파일 기본적인 설정
 # Ollama 서버 주소
spring.ai.ollama.base-url=http://localhost:11434 
# 모델 다운로드 전략(always, when_missing, never)
spring.ai.ollama.init.pull-model-strategy=when_missing
# 기본 셋팅 llm모델
spring.ai.ollama.chat.model= qwen3:1.7b 
# 창의성 조절: 높을수록 자유로운 응답
spring.ai.ollama.chat.temperature= 0.8
# 최대 응답 토큰 수
spring.ai.ollama.chat.max-tokens= 1024
# Embedding 모델
spring.ai.ollama.embedding.model=bona/bge-m3-korean

추가적인 설정에 대해서는 url에서 확인 가능합니다.
https://docs.spring.io/spring-ai/reference/api/chat/ollama-chat.html#_chat_properties


예제 코드

Spring AI에서는 LLM의 응답을 두 가지 방식으로 받을 수 있습니다.

  1. 단일 출력 방식: 한 번에 전체 응답을 받아 처리
  2. 스트리밍 출력 방식 (Flux): LLM 응답을 실시간으로 조각 단위로 받기
    예제를 통해 두 방식의 사용법과, JSON 구조화된 출력 방식까지 함께 살펴보겠습니다.

???? ChatModel과 ChatClient의 차이

Spring AI에는 ChatModel과 ChatClient라는 두 개의 주요 구성 요소가 있습니다.

  • ChatModel: LLM과의 저수준 통신 역할을 합니다.
  • ChatClient: ChatModel을 래핑한 상위 레벨 API로, 프롬프트 구성, 응답 처리, Advisor, RAG 등 다양한 확장 기능을 제공합니다.

단일 출력 방식

@AllArgsConstructor
@RestController
public class ModelClient {

    // Spring이 OllamaChatModel 구현체 자동 주입
    private final ChatModel chatModel;

    @GetMapping("/v1/model-client")
    public ChatResponse modelClientV1(@RequestParam("text") String text) {

        // 시스템 메시지는 LLM이 반드시 지켜야 할 지침
        // 유저 메시지는 사용자의 입력
        Prompt prompt = new Prompt(
                List.of(
                        new SystemMessage("너는 친절한 AI 비서야. 절대 추론 과정을 보여주지 말고 요약만 응답해."),
                        new UserMessage(text)
                ));

        return ChatClient.create(chatModel)
                .prompt(prompt)
                .call()
                .content(); // 전체 응답을 한 번에 반환
    }
}

스트리밍 출력 방식 (Flux)

스트리밍 방식은 채팅처럼 실시간으로 응답이 필요한 UI에 적합합니다.

@AllArgsConstructor
@RestController
public class ModelClient {

  private final ChatModel chatModel;

  @GetMapping(value = "/v2/model-client", produces = "text/plain;charset=UTF-8")
  public Flux<String> getModelClientV2(@RequestParam("text") String text) {

      // 시스템 메시지는 LLM이 반드시 지켜야 할 지침
      // 유저 메시지는 사용자의 입력
      Prompt prompt = new Prompt(
              List.of(
                      new SystemMessage("너는 친절한 AI 비서야"),
                      new UserMessage(text)
              ));

      return ChatClient.create(this.chatModel)
              .prompt(prompt)
              .stream() // 스트리밍 응답 시작
              .content(); // Flux<String>으로 실시간 조각 응답 수신
    }
}

구조화된 출력 받기 (JSON → DTO)

내부적으로는 LLM에게 “이런 구조로 응답해줘”라고 명시한 후 결과를 DTO에 바인딩합니다.
하지만 LLM이 해당 형식대로 정확하게 응답하지 않으면 파싱 에러가 발생할 수 있습니다.
안정성을 높이기 위해 시스템 메시지에 형식을 반복적으로 명확히 명시하거나, 구조 유도 프롬프트 예제를 함께 제공하는 것이 좋습니다.

@AllArgsConstructor
@RestController
public class ModelClient {

    private final ChatModel chatModel;

    @GetMapping("/v3/model-client")
    public ActorFilms modelClientV3(@RequestParam("text") String text) {

        // 사용자 입력을 이용해 프롬프트 템플릿 구성
        String template = """
            Generate the filmography of 5 movies for {actor}.
        """;

        Prompt prompt = new Prompt(
                List.of(
                        new SystemMessage("너는 친절한 AI 비서야. 절대 추론 과정을 보여주지 말고 요약만 응답해."),
                        new UserMessage(new PromptTemplate(template).render(Map.of("actor", text)))
                ));

        ChatModel gemma = OllamaChatModel.builder()
                .ollamaApi(OllamaApi.builder().build())
                .defaultOptions(
                        OllamaOptions.builder()
                                .model("gemma3n:e4b")
                                .temperature(0.4)
                                .build())
                .build();

        return ChatClient.create(gemma)
                .prompt(prompt)
                .call()
                .entity(ActorFilms.class); // 결과를 DTO로 구조화
    }

    record ActorFilms(String actor, List<String> movies) {}
}

프롬프트 요청 예시 (내부 동작 확인용)
Spring AI가 구조화 출력을 위해 내부적으로 LLM에게 다음과 같이 요청을 구성합니다.

request: ChatClientRequest[
- 저희가 입력한 명령 프롬프트 입력입니다.
prompt=Prompt{
    messages=[SystemMessage{textContent='너는 친절한 AI 비서야. 절대 추론과정을 보여주지 말고 요약만 응답해', messageType=SYSTEM, metadata={messageType=SYSTEM}}, 
    UserMessage{content='Generate the filmography of 5 movies for 하정우.', properties={messageType=USER}, messageType=USER}], modelOptions=org.springframework.ai.ollama.api.OllamaOptions@48e29a2c}, 

- 여기에 해당 DTO 객체의 정의가 들어갑니다.
context={spring.ai.chat.client.output.format=Your response should be in JSON format.
Do not include any explanations, only provide a RFC8259 compliant JSON response following this format without deviation.
Do not include markdown code blocks in your response.
Remove the ```json markdown from the output.
Here is the JSON Schema instance your output must adhere to:
```{
  "$schema" : "https://json-schema.org/draft/2020-12/schema",
  "type" : "object",
  "properties" : {
    "actor" : {
      "type" : "string"
    },
    "movies" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    }
  },
  "additionalProperties" : false
}```
}]

마치며

AI를 실제 프로젝트에 도입하는 것은 어렵고 복잡할 것 같다는 막연한 생각이 있었지만,
Spring AI를 통해 Java 환경에서도 LLM을 손쉽게 연결하고 활용할 수 있다는 가능성을 확인할 수 있었습니다.

물론 성능, 속도, 프롬프트 설계, 적절한 모델 선택 등 실무에서 고려할 요소들은 많지만,
이번 실습을 통해 LLM을 실제 서비스에 적용하는 출발점을 잡을 수 있었습니다.

다음 포스팅에서는 Advisor 기능을 활용해 LLM 응답을 가공하고,
간단한 RAG(Retrieval-Augmented Generation) 기능을 구현해보겠습니다.

이 기능은 Logging, 크롤링된 문서, RDBMS 정보 등 다양한 외부 지식 소스를 LLM과 연결해
더 정확하고 신뢰도 높은 응답을 생성하도록 도와주는 방식입니다.

해당 예시는 github에 있습니다.
url: https://github.com/Zero-Human/springAi

참고자료

[출처] https://zero-human.tistory.com/9

Loading

8 12월 2025

[인공지능 기술]  AI 시대의 비판적 사고 

[인공지능 기술]  AI 시대의 비판적 사고 

47P by neo 7일전 | ★ favorite | 댓글과 토론
  • AI가 코드와 설계, 답변을 만들어주는 환경에서도 올바른 질문을 던지고 가정을 의심하는 비판적 사고가 엔지니어와 팀의 성과를 좌우하는 핵심 역량임
  • 문제 해결 전 과정에서 Who·What·Where·When·Why·How 여섯 가지 질문을 활용해 사람·문제·맥락·타이밍·원인·실행 방식을 체계적으로 점검해야 함
  • AI의 답변은 인턴이 제안한 초안처럼 검증 대상으로 다루고, 실제 문제 정의·증거 수집·맥락 파악·원인 분석·의사소통은 사람이 책임지는 구조가 필요함
  • 시간 압박·편향·그럴듯한 AI 답변 때문에 성급한 결론과 땜질식 해결책으로 흐르기 쉬우며, 이를 막기 위해 5 Whys·실험·데이터 검증 등 증거 기반 사고를 반복해야 함
  • 비판적 사고는 겸손한 호기심과 증거를 중시하는 팀 문화에서 강화되며, AI가 아무리 발전해도 “옳은 문제를, 옳은 이유로, 옳은 방식으로 푸는 것”은 여전히 인간의 고유한 장점임

AI 시대 비판적 사고 개요

  • AI가 코드·디자인·답변을 만들어주는 시대에 사람의 비판적 사고 능력이 예전보다 더 중요해지고 있음
    • 자동화가 아무리 정교해져도, 올바른 질문을 던지고 가정을 의심하며 독립적으로 사고하는 역할은 사람 몫으로 남아 있음
    • 잘못된 질문과 잘못 정의된 문제 위에 쌓인 AI 출력은 프로젝트를 더 빠르게 잘못된 방향으로 밀어붙이는 결과로 이어질 수 있음
  • 비판적 사고를 위해 Who·What·Where·When·Why·How 프레임워크를 사용해 구체적인 실천 지침을 제시함
    • 각 질문은 문제 정의, 이해관계자, 맥락, 타이밍, 원인 분석, 실행·커뮤니케이션 방법을 점검하는 도구로 활용됨
    • AI 보조 환경에서 이 여섯 가지를 놓치지 않는 것이 프로젝트 실패를 줄이고 다운스트림 문제를 예방하는 핵심임

tl;dr: AI 팀을 위한 비판적 사고 체크리스트

  • Who: AI를 전지적 존재가 아닌 검증이 필요한 입력으로 간주하고, 누가 답을 내고 있는지 항상 확인해야 함
    • LLM의 답변을 사람의 견해와 동일시하지 않고, 출처와 책임 소재를 분리해 보는 시각이 필요함
  • What: 솔루션으로 달려가기 전에 진짜 문제 정의와 성공 기준을 분명히 해야 함
    • 표면적인 요구사항 대신, 사용자 경험과 데이터를 바탕으로 실제로 풀어야 할 문제를 명확히 규정해야 함
  • Where: 해결책이 적용될 맥락과 환경(샌드박스·프로덕션·사용자 기기 등) 을 고려해야 함
    • 한 환경에서 잘 작동하는 해결책이 다른 환경에서 부작용을 낳을 수 있음을 항상 염두에 두어야 함
  • When: 간단한 휴리스틱으로 충분한 상황과 깊이 있는 분석이 필요한 상황을 구분해야 함
    • 응급 땜질과 근본 원인 분석의 시점을 나누어, 시간 제약 속에서도 최소한의 엄밀함을 확보해야 함
  • Why / How: 5 Whys로 근본 원인을 추적하고, 의견이 아닌 데이터·증거 중심으로 커뮤니케이션해야 함
    • 주장보다 근거, 직감보다 실험·측정 결과를 우선하는 태도가 필요함

Who: 참여 주체·책임·영향 범위

  • 문제를 정의하고 해결에 참여하는 사람과 관점의 구성(누가 포함되고 누가 빠져 있는지) 이 비판적 사고의 출발점임
    • 엔지니어·PM·사용자·도메인 전문가 등 이해관계자를 파악하고, 의사결정 과정에 적절히 포함해야 함
    • 문제는 대부분 여러 팀과 사용자에게 영향을 미치므로, “누구와 상의해야 하는가, 누구에게 알려야 하는가”를 먼저 묻는 태도가 필요함
  • 한 목소리로만 의견이 모이는 groupthink(집단사고) 위험을 줄이기 위해 다양한 시각을 의도적으로 끌어들여야 함
    • 반대 의견이나 다른 관점을 가진 사람을 배제하면, 데이터와 가정의 타당성 검증 없이 정답처럼 굳어지는 위험이 커짐
    • 외부 시각이나 팀 밖 사람을 불러 “새 눈”으로 문제를 보게 하는 것도 객관성을 높이는 방법임
  • AI가 등장한 뒤에는 “누구의 답인가, 인간인가 AI인가” 를 분리해서 보는 시각이 필수임
    • LLM은 통계적 엔진에 불과하므로, “누가 말했다”보다 “무엇을 근거로 말했는가” 를 따져야 함
    • AI 코드를 인턴의 코드처럼 취급해, 리뷰·테스트·맥락 적합성 검증을 사람이 책임져야 함
  • 최종적으로는 책임과 영향 범위(누가 책임지고, 누가 영향을 받는가) 까지 포함해 생각해야 함
    • 급한 패치가 당장은 관리자 요구를 충족해도, 이후 유지보수·장애 대응 부담은 다른 엔지니어나 사용자에게 돌아올 수 있음
    • API 변경이 모바일 앱·다른 마이크로서비스에 미치는 영향처럼, “누가 이 결정의 결과를 떠안게 되는가”를 항상 함께 고려해야 함

What: 진짜 문제 정의와 증거 수집

  • 비판적 사고의 핵심은 “무엇이 실제 문제인가”를 정확히 정의하는 일
    • “AI 요약 기능을 넣자” 같은 요청이 오면, 먼저 목표가 데이터 이해 향상인지, 피로도 감소인지, 다른 것인지를 따로 물어야 함
    • 사용자가 느끼는 어려움이 데이터 과잉인지, 시각화 부족인지, 설명 부재인지에 따라 솔루션이 전혀 달라질 수 있음
  • Harvard Business Review 등에서 강조하듯 문제 정의에 충분한 시간을 쓰면 잘못된 문제에 자원을 쓰는 위험을 줄일 수 있음
    • 요구사항과 성공 기준을 명시적으로 적고, “어떤 상태가 되면 문제가 해결된 것인가”를 합의하는 과정이 필요함
    • “문제 해결 모드”로 바로 뛰어드는 plunging-in bias(성급하게 뛰어드는 편향) 을 의식적으로 경계해야 함
  • 증상보다 구체적 사실을 모으는 증거 기반 문제 정의가 중요함
    • “서비스가 느리다”라는 말은 모호하므로, 어느 페이지·어떤 쿼리·어떤 요청이 느린지 데이터를 통해 좁혀야 함
    • “무엇이 느린가, 무엇이 언제부터 달라졌는가, 무엇이 최근에 변경되었는가” 같은 질문으로 로그·메트릭 등을 확인해야 함
  • 솔루션이나 결론에 대해 “이 결론을 뒷받침하는 증거는 무엇인가” 를 반복해 확인해야 함
    • AI가 null pointer를 원인으로 지목하면, 로그·테스트·재현 실험으로 이를 직접 검증해야 함
    • 성능 개선이라고 주장할 때는 여러 환경·여러 실행에서 일관된 지표 향상이 있는지 확인해야 함
  • LLM의 답변은 대부분 그럴듯해 보이지만, 정확성 보장은 없는 가설로 다루어야 함
    • 사람은 “충분히 그럴듯해 보이는 답”을 들으면 추가 탐색을 멈추는 경향이 있어, 이 조합이 특히 위험함
    • 비판적 사고는 AI·동료·본인의 아이디어를 모두 “테스트해야 할 가설”로 취급하고, 틀릴 수도 있다는 전제에서 시작함

Where: 맥락·환경·범위 인식

  • 해결하려는 문제와 솔루션이 어디에서 발생하고, 어디에 적용되는지(맥락) 를 파악하는 것이 중요함
    • 특정 마이크로서비스의 CPU 스파이크가 전체 시스템 장애로 오인되는 일을 막기 위해, 이슈가 발생하는 정확한 위치를 찾아야 함
    • 사용자 스마트폰·에지 디바이스·클라우드 서버 등 실행 환경에 따라 같은 코드도 전혀 다른 제약 조건을 갖게 됨
  • 디버깅 시에는 요청 흐름·컴포넌트 간 경계를 따라 “어디에서 실패가 발생했는가” 를 좁혀 가야 함
    • 클라이언트·API 게이트웨이·백엔드·데이터베이스 중 어떤 지점에서 문제가 생기는지 로그와 모니터링으로 분리해야 함
    • 기능 아이디어 논의 시에도, 사용자 여정 중 어느 단계에 영향을 주는지, 사용 빈도가 어느 구간에 집중되는지 같이 보는 것이 필요함
  • 실험과 배포에서도 어디에서 시험해 볼 것인가가 중요한 결정 요소임
    • 스테이징·사내용 환경·프로덕션 일부 트래픽 등 실험 위치에 따라 얻을 수 있는 신뢰도와 리스크가 달라짐
    • 실사용자 일부에 A/B 테스트로 노출하면 실세계 이슈를 빨리 발견할 수 있지만, 영향 범위를 제한하는 방어 장치도 필요함
  • “어디에서 부작용이 생길 수 있는가, 어디까지 파급될 수 있는가”를 미리 상상하는 것이 숙련된 엔지니어의 특징임
    • 공용 라이브러리 변경 시, 이를 사용하는 다른 서비스·팀을 목록화하고, 릴리즈 전에 알림·테스트 계획을 세워야 함
    • 특정 모듈의 최적화가 다른 모듈의 복잡도 증가·데이터 포맷 변경을 요구하는지 등 시스템 전반의 파장을 함께 검토해야 함

When: 시간 축과 깊이 선택

  • 문제 발생 시점·행동 시점 등 “언제”에 대한 정보가 원인 분석의 핵심 단서가 됨
    • “마지막으로 정상 동작하던 때가 언제인지, 그 이후 무엇이 변경되었는지”를 타임라인으로 정리하면 원인을 빠르게 좁힐 수 있음
    • 새 배포·야간 배치·설정 변경 등 특정 시간대 이벤트와 장애 발생 시간을 연결해 보는 습관이 중요함
  • 의사결정에서 언제 깊게 파고들고, 언제 휴리스틱으로 충분한지를 구분하는 것이 비판적 사고의 한 축임
    • 모든 문제에 완전한 분석을 시도하면 일정과 리소스를 감당할 수 없으므로, 리스크와 영향도에 따라 분석 깊이를 조절해야 함
    • 심야 장애 대응에서는 서비스 재시작 같은 단기 완화 조치로 복구한 뒤, 일과 시간에 루트 원인을 탐구하는 방식이 현실적인 전략임
  • NASA 사례에서처럼 스트레스와 시간 압박 속에서 인간의 판단 오류 가능성이 급격히 높아짐이 지적됨
    • 빠른 판단이 필요한 상황일수록, 오히려 “어디까지는 임시 조치, 어디부터는 반드시 재검토해야 하는 지점인지”를 미리 표시해두는 것이 중요함
    • “지금은 임시 해결이고, 나중에 반드시 원인 분석과 근본 조치를 한다”는 메모·티켓을 남겨두는 것만으로도 장기적인 품질에 도움이 됨
  • 제한된 시간 안에서 엄밀함을 유지하기 위해 우선순위와 삼각 측량(트리아지) 을 활용해야 함
    • 가장 위험한 가정을 먼저 시험하고, 덜 중요한 결정은 이후로 미루는 방식으로 시간을 배분해야 함
    • 새 기능 설계에서 알고리듬의 타당성과 리스크가 더 크다면, UI 세부보다 알고리듬 검증에 시간을 먼저 쓰는 식의 선택이 필요함
  • 비판적 사고는 “도움을 청할 타이밍”과 “멈추고 재고할 타이밍” 을 인식하는 능력과도 연결됨
    • 일정 시간 이상 진전이 없으면 다른 사람의 시선을 끌어들이고, 스프린트 마감·릴리즈 전 등 의도적으로 멈춰 검토하는 지점을 설정해야 함
    • 분석 마비와 성급한 결론 사이에서, 현재 결정에 충분한 정보가 있는지 스스로 체크하는 습관이 중요함

Why: 동기·원인·근거 파고들기

  • “왜 이 일을 하는가”를 반복해서 묻는 것은 무의미한 유행·모방을 걸러내고, 실질적 가치에 집중하는 필터 역할을 함
    • 새로운 AI 도구 도입·기능 추가 요청 등에서, 경쟁사 따라잡기인지, 실제 사용자 문제 해결인지 명확히 구분해야 함
    • “왜 중요한가”에 대한 설득력 있는 답이 있어야, 구현 과정에서 수많은 세부 의사결정이 일관성을 가질 수 있음
  • 문제가 발생했을 때는 5 Whys 기법으로 표면적 원인에서 더 깊은 원인까지 내려가는 과정이 중요함
    • 모델 정확도 하락을 예로 들면, 데이터 분포 변화·새 데이터 소스 추가·검증 부재·모니터링 부족 등 연쇄 원인을 한 단계씩 추적해야 함
    • 최종 원인이 데이터 파이프라인 검증 부족·모니터링 부재라면, 재학습만으로는 문제를 근본적으로 해결할 수 없다는 점이 드러남
  • “왜” 질문에서 인간은 확증 편향·성급한 결론에 빠지기 쉬움
    • 예전에 겪은 메모리 누수처럼 익숙한 원인에 생각이 고정되면, 새로운 설정 변경·데이터 변경 같은 다른 가능성을 무시하기 쉬움
    • 처음 떠오른 설명에 안주하지 않도록, 스스로 “다른 가능한 원인이 있는가, 이를 부정하는 증거는 없는가”를 묻는 태도가 필요함
  • 과거 기업 사례처럼 잘못된 “왜” 이해는 시장점유율 하락·전략 실패를 오랫동안 고치지 못하게 만드는 요인이 될 수 있음
    • 외부 요인 탓으로만 돌리고 내부 프로세스·품질·문화 문제를 보지 못하면, 엉뚱한 처방을 반복하게 됨
  • 좋은 엔지니어는 겸손한 호기심으로 “왜”를 묻고, 자신의 가정이 틀릴 수 있음을 열어두는 태도를 유지함
    • 아이디어가 성공할 것이라고 믿을 때도 “왜 그렇게 생각하는지, 데이터인지 직감인지”를 분리해서 본다음 검증 방향을 잡음
    • 의사결정 후에는 이유를 문서화·공유해, 나중에 상황이 바뀌었을 때 근거부터 다시 점검할 수 있게 함

How: 실천 방법과 커뮤니케이션

  • 비판적 사고를 일상에서 실천하는 방법은 질문 방식·증거 검증·커뮤니케이션 구조화 세 가지 축으로 정리됨
    • 막연한 “좋냐·나쁘냐” 대신, “어떤 사용자 니즈를 어떻게 다루며, 어디에서 실패할 수 있는가” 같은 구체적·개방형 질문을 던져야 함
    • 알고 있는 것과 모르는 것을 목록으로 분리하고, 모르는 것을 어떻게 실험·측정할지 계획하는 습관이 중요함
  • 증거를 다룰 때는 대안 해석 가능성·편향 유입 여부를 함께 확인해야 함
    • 한 번의 성능 테스트 결과가 우연인지 반복 가능한지, 다른 지표와 모순되지는 않는지 교차 검증해야 함
    • 자신의 이론을 뒷받침하는 데이터뿐 아니라, 반박할 수 있는 데이터도 일부러 찾는 태도가 필요함
  • 팀 차원에서는 프리모텀(premortem) 같은 기법으로 미리 실패 시나리오를 가정해 보는 방식도 소개됨
    • 프로젝트가 실패했다고 가정하고 그 이유를 적어보면, 계획 단계에서 간과했던 리스크와 숨은 가정을 드러낼 수 있음
  • 해결책을 전달할 때는 문제 정의(What·Why) → 제안 솔루션(How) → 근거 데이터·가정 순서로 논리를 구성하는 것이 효과적임
    • 전제와 트레이드오프를 명시하면, 다른 사람들이 아이디어를 검증·보완하기 쉬워지고, 스스로도 논리의 구멍을 발견하기 쉬움
    • “페이지 로드 시간이 대시보드 기준 평균 25% 개선되었다”처럼 의견보다 계량적 사실을 우선 제시하는 태도가 신뢰를 높임
  • 비판적 사고가 잘 작동하는 환경에서는 질문과 반론을 환영하는 커뮤니케이션 문화가 형성됨
    • 제안 뒤에 “이 논리에서 빠진 부분이 없는지, 우려되는 점이 있는지”를 동료에게 적극적으로 물으며 아이디어를 다듬음
    • 일방적 발표가 아니라, 여러 사람이 함께 논리를 검증하는 과정 자체가 솔루션의 품질을 끌어올리는 장치가 됨
  • 개인 차원에서는 회고와 학습을 통한 지속적인 사고 개선이 중요함
    • 서둘러 내린 결정으로 버그가 생겼다면, 이후 “어디서 무엇을 놓쳤는지, 다음에는 무엇을 다르게 할지”를 정리하는 미니 회고를 수행해야 함
    • 다른 회사의 포스트모텀·인지 편향 자료를 읽으며, 미래에 피해야 할 사고 함정을 미리 학습하는 것도 도움이 됨

결론: 인간 고유의 장점으로서의 비판적 사고

  • AI 활용도가 높아질수록, 비판적 사고는 선택이 아니라 필수 역량으로 자리 잡고 있음
    • Who·What·Where·When·Why·How를 통해 사람·문제·맥락·타이밍·원인·실행 방식을 체계적으로 점검해야 함
  • 건강한 팀 문화에서는 독립적인 사고와 질문하는 태도가 당연한 것으로 받아들여짐
    • “이게 진짜 해결책인지, 땜질인지”, “사용자가 정말 이 기능을 원하는지”, “데이터가 정말 개선을 보여주는지”를 누구나 물어볼 수 있어야 함
  • 비판적 사고는 빠른 땜질식 해결책의 유혹에서 팀을 보호하는 역할을 함
    • 당장 문제를 덮는 대신, 근본 원인을 확인하고 검증한 뒤 행동하는 것이 장기적으로 시간과 비용을 절약하는 길임
  • AI와 자동화가 반복 작업과 초안을 담당하는 시대에도, “옳은 문제를 옳은 이유로 옳은 방식으로 푸는 일”은 인간의 역할로 남아 있음
    • 겸손한 호기심과 증거 중심 사고를 유지하는 팀이 AI 시대에도 꾸준히 좋은 결과를 내는 팀이 될 것

[출처] https://news.hada.io/topic?id=24743&utm_source=weekly&utm_medium=email&utm_campaign=202549

Loading

1 12월 2025

[인공지능 기술] AI 스타트업 200곳을 역공학해 보니, 73%가 단순한 프롬프트 엔지니어링에 불과

[인공지능 기술] AI 스타트업 200곳을 역공학해 보니, 73%가 단순한 프롬프트 엔지니어링에 불과 

15P by GN⁺ 6일전 | ★ favorite | 댓글 4개
  • 200개의 AI 스타트업을 리버스 엔지니어링한 결과, 다수의 기업이 자체 기술을 보유했다고 주장하면서 실제로는 외부 API를 호출하는 형태로 운영됨
  • 조사된 기업 중 73%가 OpenAI나 Claude API를 그대로 사용하며, 여기에 단순한 UI나 기능을 덧붙인 수준으로 확인됨
  • 자사 “고유 LLM” 을 내세우는 스타트업 상당수가 실제로는 api.openai.com에 요청을 보내는 GPT-4 래퍼에 불과했고, 단순 시스템 프롬프트만 얹은 구조로 수십~수백 배 마진을 붙여 판매하고 있음
  • RAG 아키텍처를 강조하는 서비스 대부분도 OpenAI text-embedding-ada-002 · Pinecone/Weaviate · GPT-4를 조합한 표준 40줄짜리 스택을 “고유 인프라”로 포장하고 있었으며, 1M 쿼리 기준 월 약 3만 달러 비용에 15만~50만 달러 매출로 80~94% 마진 구조를 보이는 상황
  • 반대로 전체의 27% 는 “Built on GPT-4”처럼 스택을 투명하게 밝히는 래퍼 회사, 실제로 자체 모델을 학습하는 빌더, 멀티모델 투표·에이전트 프레임워크 등 실제 기술적 차별점을 가진 팀들로 구성됨
  • 조사 결과, 많은 AI 스타트업이 API 기반 서비스 비즈니스임에도 “고유 AI 인프라”를 내세우는 구조가 드러났고, 투자자·고객·개발자 모두가 DevTools로 네트워크 탭만 열어도 검증 가능하다는 점을 강조하며 AI 생태계에 정직한 기술 공개가 필요하다는 걸 강조

개요

  • 외부 투자를 받은 AI 스타트업 200곳의 웹 애플리케이션을 대상으로, 네트워크 트래픽·코드·API 호출을 추적해 마케팅 주장과 실제 기술 스택의 차이를 분석함
    • 출발점은 “고유 딥러닝 인프라”를 주장하는 한 회사가 실제로는 OpenAI API만 콜하고 있다는 의심에서 시작
    • 이 회사는 4.3M 달러 투자를 받았고, “근본적으로 다른 인프라를 구축했다”는 스토리로 자금 조달을 진행한 상태였음
  • 조사 결과 73% 회사에서 주장하는 기술과 실제 구현 간에 의미 있는 괴리가 발견되었고, 상당수가 서드파티 모델 API를 단순 래핑한 구조였음
    • 조사 대상은 YC·Product Hunt·LinkedIn “We’re hiring” 포스트 등에서 수집한 AI 스타트업 200곳이며, 설립 6개월 미만 회사는 제외했고 외부 자금 유치와 구체적 기술 주장이 있는 곳에 집중함
    • 조사 방식은 패시브한 브라우저 개발자 도구 수준에서 이뤄졌으며, 비공개 시스템 접근·인증 우회·TOS 위반 없이 진행되었음

조사 방법(Methodology)

  • Playwright·aiohttp 등을 이용해 자동화된 분석 파이프라인을 구성하고, 각 스타트업 사이트에 대해 공통적으로 세 가지를 수집함
    • capture_network_traffic(url)로 네트워크 헤더와 요청 패턴을 캡처
    • extract_javascript(url)로 JS 번들 디컴파일 및 분석
    • monitor_requests(url, duration=60)으로 60초 간 API 호출 패턴을 추적
  • 각 사이트별로 다음 정보를 구조화해 기록함
    • claimed_tech: 마케팅 카피·웹 문구에 나타난 기술 주장
    • actual_tech: HTTP 헤더·JS 번들·API 호출로 확인한 실제 스택
    • api_fingerprints: 호출 도메인·헤더·지연 시간 등으로 추출한 서드파티 API 지문
  • 크롤링 기간은 3주였으며, 모든 패턴은 공개 웹·브라우저 DevTools로 관찰 가능한 공개 데이터만을 활용했음

주요 결과: 73%에서 드러난 괴리

  • 전체 200곳 중 73% 회사에서 마케팅 카피에 적힌 “고유 모델·커스텀 인프라·딥러닝 플랫폼” 등의 주장과, 실제로 동작하는 코드·API 스택 사이에 큰 차이가 확인됨
    • 이 비율은 “고유 LLM”을 내세우지만 OpenAI/Anthropic/Cohere API만 사용하는 회사, “자체 벡터 DB”를 주장하지만 Pinecone/Weaviate를 쓰는 회사 등을 모두 포함한 수치임
  • 이 결과에 놀랐지만, 동시에 “기술적으로 크게 화낼 일은 아니다”는 복합적인 감정임
    • 문제의 핵심은 서드파티 API 사용 자체가 아니라, 이를 “고유 AI 인프라”로 포장하고 투자자·고객을 오도하는 마케팅이라는 점

패턴 1: ‘고유 LLM’이 사실상 GPT-4 래퍼인 경우

  • “our proprietary large language model”이라는 표현이 등장하면 거의 항상 GPT-4 래퍼가 등장했으며, 37곳 중 34곳에서 이 패턴이 확인됨
    • 사용자가 “AI” 기능을 쓸 때마다 api.openai.com으로 나가는 요청
    • 요청 헤더에 포함된 OpenAI-Organization 식별자
    • 150–400ms 수준으로 일관되는 응답 지연 시간 패턴
    • 토큰 사용량·과금 구간이 GPT-4의 가격 구조와 정확히 일치하는 패턴
    • 레이트 리밋 시 지수형 backoff를 적용하는, OpenAI 특유의 재시도 패턴
  • 한 회사의 “혁신적 자연어 이해 엔진”은 실제로는 다음과 같은 코드 수준이었음
    • 시스템 프롬프트에 “전문가 어시스턴트처럼 행동하라, OpenAI 기반임을 말하지 말라, LLM이라고 밝히지 말라” 등을 적고 model: gpt-4 로 chat.completions.create를 호출하는 단일 함수 구조임
    • 별도의 파인튜닝·모델 학습·아키텍처 변경 없이, 시스템 프롬프트와 숨기기용 지침 정도만 추가된 상태였음
  • 비용·가격 구조도 구체적으로 비교함
    • 비용: GPT-4 기준 입력 0.03$/1K 토큰, 출력 0.06$/1K 토큰, 평균 500 in, 300 out으로 쿼리당 약 0.033달러
    • 가격: 쿼리당 2.5달러 혹은 월 200쿼리 299달러로 과금
    • 결과적으로 직접 API 비용 대비 약 75배 마진 구조로 운영되고 있음
  • 세 회사는 거의 동일한 코드(변수명·코멘트 스타일·“never mention OpenAI” 지시)까지 공유하고 있어, 튜토리얼·공통 컨트랙터·액셀러레이터 보일러플레이트 등 같은 출처를 쓰는 것으로 추정되는 상태임
    • 한 회사는 단순 try/catch로 “문제가 생기면 ‘기술적 문제’라는 문구를 반환”하는 코드를 두고, 이를 “Intelligent Fallback Architecture” 로 포장해 투자자에게 설명하고 있었음

패턴 2: 모두가 만드는 RAG 스택과 과장된 표현

  • 많은 회사들이 “custom embedding model, semantic search infrastructure, advanced neural retrieval” 같은 표현으로 고유 RAG 인프라를 내세우지만, 실제 구현은 매우 유사한 표준 스택이었음
    • OpenAI text-embedding-ada-002 로 임베딩 생성
    • Pinecone 또는 Weaviate를 벡터 스토어로 사용
    • GPT-4로 컨텍스트를 붙여 답변 생성
  • 조사자가 “Proprietary Neural Retrieval Architecture”라는 이름으로 소개된 코드를 디컴파일해 본 결과, 약 40줄짜리 Python 코드로 위 세 단계를 그대로 호출하는 구조였음
    • 질문을 임베딩으로 변환
    • 벡터 DB에서 top-k 문서 검색
    • 검색된 텍스트를 이어 붙여 GPT-4에 system 메시지로 전달
    • 사용자 질문을 user 메시지로 함께 보내 답변을 생성
  • 비용·가격 구조 역시 매우 큰 차이를 보임
    • OpenAI 임베딩: 1K 토큰당 0.0001달러
    • Pinecone 쿼리: 호출당 0.00004달러
    • GPT-4 completion: 1K 토큰당 0.03달러
    • 합산 시 쿼리당 약 0.002달러 수준 비용
    • 실제 고객 과금은 쿼리당 0.5~2달러로, API 비용 대비 250~1000배 마진이 발생하는 구조임
  • 42개 회사가 이와 거의 동일한 스택과 코드 구조를 사용했고, 추가 23개 회사는 90% 이상 비슷한 패턴을 공유함
    • 차이점은 주로 Pinecone vs Weaviate 선택 여부, 변수명, Redis 캐시 추가 여부 정도였음
    • Redis 캐시를 붙이고 이를 “optimization engine”, 재시도 로직을 붙이고 이를 “Intelligent Failure Recovery System” 같은 이름으로 마케팅하는 사례도 등장
  • 월 100만 쿼리 수준의 스타트업 경제성도 계산해봄
    • 비용: 임베딩 약 100달러, Pinecone 호스팅 약 40달러, GPT-4 completion 약 3만 달러, 총 약 3만140달러/월
    • 매출: 15만~50만 달러/월
    • 80~94% 수준의 높은 매출 총이익률을 갖는 비즈니스 구조

패턴 3: ‘우리가 직접 파인튜닝했다’의 실제 의미

  • “우리가 직접 모델을 파인튜닝했다”는 표현을 쓰는 회사들에 대해 인프라를 추적한 결과, 크게 두 부류로 나뉨
    • 소수(약 7%)는 실제로 AWS SageMaker, Google Vertex AI 등을 통해 자체 학습 잡을 돌리고, S3 버킷에 모델 아티팩트를 저장한 뒤, 별도 인퍼런스 엔드포인트와 GPU 인스턴스 모니터링을 운영하고 있는 경우임
    • 다수는 OpenAI의 fine-tuning API를 사용하고 있었고, 사실상 “OpenAI에 예시 데이터와 프롬프트를 넘겨 저장하는 수준”에 가까운 구조였음
  • 전자(실제 자체 학습)는 학습 인프라와 배포 파이프라인이 브라우저에서 관찰되는 수준으로도 어느 정도 드러나지만, 후자는 대부분 단일 OpenAI 엔드포인트 호출로 표현되는 차이가 있음

래퍼 회사를 빠르게 구분하는 방법

  • 네트워크 트래픽 패턴

    • 브라우저에서 DevTools(F12) → Network 탭을 열고, 서비스의 AI 기능을 사용하는 동안 나가는 요청을 보면 간단한 구분이 가능
      • api.openai.com
      • api.anthropic.com
      • api.cohere.ai
      • 등과 같은 도메인이 직접 등장하면, 기본적으로 서드파티 모델 API 래퍼로 볼 수 있음
    • 응답 지연 시간도 지문 역할을 함
      • 특히 OpenAI API의 경우 200~350ms 구간에 응답이 몰리는 특유의 레이턴시 패턴이 있어, 이를 통해 백엔드 모델을 추정할 수 있음
  • 자바스크립트 번들과 키 노출

    • 페이지 소스 및 JS 번들 검색에서 다음 키워드를 찾아보는 것도 간단한 방법
      • openaianthropicclaudecoheresk-proj-(OpenAI 프로젝트 키 프리픽스) 등
    • 조사 과정에서 12개 회사가 API 키를 프런트엔드 코드에 그대로 포함한 채 배포하고 있었고, 이에 대해 제보 메일을 보냈지만 어떤 회사도 답하지 않았음
  • 마케팅 언어 매트릭스

    • 마케팅 카피에 나타나는 언어와 실제 기술 구현 간의 패턴을 표 형태로 정리해 “Marketing Language Matrix”라고 표현
      • “GPU 인스턴스 유형, 서빙 아키텍처, 모델 크기” 등 구체적인 기술 용어가 등장하는 경우, 실제로 어느 정도 독자적인 인프라를 갖고 있을 가능성이 더 높았음
      • 반대로 “advanced AI”, “next-gen intelligence”, “proprietary neural engine”처럼 추상적 버즈워드만 반복될수록, 내부는 서드파티 API 래퍼일 가능성이 높았음

인프라 현실 지도와 AI 스타트업 지형

  • 글에서는 여러 다이어그램을 통해 현재 AI 스타트업의 인프라 현실 지도를 정리함
    • 다수의 스타트업이 OpenAI·Anthropic·Cohere 등 모델 제공자 위에 얇은 애플리케이션 레이어를 얹은 형태로 존재하는 구조
    • 각 레이어 위에 “워크플로우·UX·도메인 데이터·파이프라인” 등에서 차별화를 시도하는 서비스들이 쌓여 있는 구조임
  • 이러한 구조를 바탕으로, AI 스타트업의 상당 부분이 실질적으로는 서비스/플랫폼 비즈니스이며, “고유 AI 인프라 기업”이라는 자기 인식과 괴리가 있는 상태

왜 이 문제를 신경 써야 하는가

  • “잘 동작한다면 상관없지 않냐”는 질문에 대해, 조사자는 네 가지 이해관계자 관점에서 이유를 정리함
    • 투자자: 현재 상당수 회사에 투자되는 자금은 AI 연구·모델 개발이 아니라, 실질적으로는 프롬프트 엔지니어링과 워크플로우 레이어에 투입되고 있음
    • 고객: 실제 API 비용에 10배 이상 프리미엄을 얹은 가격을 내고 있으며, 비슷한 기능을 주말 프로젝트 수준으로 직접 구현할 수 있는 경우가 많음
    • 개발자: 겉으로 보이는 “AI 스타트업”의 화려함에 비해, 실제로는 낮은 진입 장벽의 래퍼 서비스인 경우가 많아, 스스로도 비슷한 것을 단기간에 만들 수 있음을 인식할 필요가 있음
    • 생태계: “AI 회사”의 73%가 기술을 과장·오도하는 상황은, 전체적으로 버블에 가까운 상태를 의미하며 건강하지 않은 인센티브를 만듦

래퍼 스펙트럼: 모든 래퍼가 나쁜 것은 아님

  • “Wrapper Spectrum”이라는 도표를 통해, 래퍼 회사에도 질적으로 다른 층위가 있음을 설명함
    • 한쪽 끝에는 단순히 서드파티 API에 얇은 UI만 입힌 수준의 래퍼가 있음
    • 다른 한쪽 끝에는 도메인 특화 워크플로우·우수한 UX·모델 오케스트레이션·가치 있는 데이터 파이프라인 등을 제공하는 고급 래퍼가 있음
  • 핵심 메시지는 “래퍼인지 여부”가 아니라 정직성·가치 제공 방식에 있음
    • 서드파티 API를 쓰면서도 이를 투명하게 공개하고, 문제 해결·경험·데이터에서 차별화를 만드는 회사는 긍정적으로 평가됨

제대로 하고 있는 27%

  • Category 1: 투명한 래퍼(Transparent Wrappers)

    • 이 그룹의 회사들은 홈페이지에 “Built on GPT-4” 같은 문구를 명시적으로 적고, 자신들이 판매하는 것은 워크플로우·UX·도메인 지식이라는 점을 분명히 함
      • 예: GPT-4 + 법률 템플릿 조합으로 법률 문서 자동화를 제공하는 서비스
      • 예: Claude 기반으로 고객 지원 티켓 라우팅에 특화한 서비스
      • 예: 여러 모델과 휴먼 리뷰 프로세스를 결합한 콘텐츠 워크플로우 서비스
  • Category 2: 실제 빌더(Real Builders)

    • 이 그룹은 실제로 자체 모델을 학습하고 있는 회사들임
      • 의료 분야에서 HIPAA 준수를 위해 셀프 호스팅 모델을 운영하는 헬스케어 AI
      • 금융 분석에 커스텀 리스크 모델을 학습·운영하는 서비스
      • 산업 자동화에서 특수한 컴퓨터 비전 모델을 개발·배포하는 서비스
  • Category 3: 혁신적 조합(Innovators)

    • 여기에는 서드파티 모델을 사용하지만, 그 위에 실질적으로 새로운 구조를 쌓은 회사들이 포함됨
      • 여러 모델의 출력을 조합해 투표 기반 정확도 향상을 구현한 시스템
      • 메모리·에이전트 프레임워크를 만들어 복잡한 태스크를 수행하는 시스템
      • 새로운 형태의 리트리벌 아키텍처를 도입한 사례 등
    • 이들 회사는 자신들의 아키텍처를 자세히 설명할 수 있으며, 실제로 스스로 구축한 구조를 가지고 있다는 공통점이 있음

배운 점: 스택보다 문제, 그리고 정직성

  • 3주간의 조사 결과, 다음과 같이 요약 가능
    • 기술 스택 자체보다 해결하려는 문제가 더 중요하며, 실제로 가장 뛰어난 제품들 중 상당수는 “단지 래퍼”라고 부를 수 있는 구조였음
    • 다만, 정직함은 별도의 차원으로 중요하고, 스마트한 래퍼와 사기성 래퍼의 차이는 투명성에 있음
    • AI 골드러시는 “고유 AI”를 요구하는 투자자·고객의 기대 때문에 거짓된 주장을 하도록 압박하는 인센티브를 만들고 있음
    • 그리고 API 위에서 구축하는 것 자체는 부끄러운 일이 아니며, 문제는 이를 숨기고 “고유 신경망 아키텍처”로 포장하는 행위임

평가 프레임워크와 실질적 조언

  • 48시간 복제 가능성 테스트

    • 모든 “AI 스타트업”을 평가하는 간단한 기준을 제안함
      • “그들의 핵심 기술을 48시간 안에 복제할 수 있는가?”
      • 그럴 수 있다면, 기술적으로는 래퍼에 해당하며,
        • 스택을 솔직하게 밝힌다면 괜찮은 회사
        • “고유 AI 인프라”를 주장하며 숨긴다면 피해야 할 회사로 봐야 한다는 구조임
  • 창업자를 위한 조언

    • 창업자에게는 다음과 같은 원칙을 제안함
      • 스택에 대해 정직하게 공개할 것
      • UX·데이터·도메인 전문성으로 경쟁할 것
      • 만들지 않은 것을 만들었다고 주장하지 않을 것
      • “Built with GPT-4”는 약점이 아니라 정직한 설명이라는 점을 받아들일 것
  • 투자자를 위한 조언

    • 투자자에게는 다음과 같은 검증 포인트를 제시함
      • 아키텍처 다이어그램을 요구할 것
      • OpenAI·Anthropic 등 API 청구서를 요청해 실제 의존도를 확인할 것
      • 래퍼 회사는 래퍼 회사로서 적절히 가치평가할 것
      • 정직하게 스택을 공개하는 팀을 인센티브로 보상할 것
  • 고객을 위한 조언

    • 고객에게는 아래와 같은 실천 항목을 제안함
      • 브라우저에서 네트워크 탭을 열고 나가는 요청을 확인할 것
      • 인프라와 모델 사용 방식에 대해 직접 질문할 것
      • API 호출에 불필요한 10배 이상의 마크업을 내고 있지 않은지 검토할 것
      • 기술 주장보다 실제 결과와 문제 해결 능력 기준으로 평가할 것

‘AI 스타트업’의 실체 한 줄 요약

  • “대부분의 ‘AI 스타트업’은 직원 비용 대신 API 비용을 쓰는 서비스 비즈니스에 가깝다”
    • 이는 잘못된 비즈니스 모델이 아니라, 그 자체로 인정하고 정직하게 설명해야 할 현실

조사 이후 전개와 반응

  • 1주 차: 원래는 20~30% 정도가 서드파티 API를 사용할 것이라고 예상했으나, 결과가 훨씬 컸음을 언급함
  • 2주 차: 한 창업자는 조사자에게 “어떻게 우리 프로덕션 환경에 들어왔냐”고 물었고, 조사자는 브라우저 네트워크 탭만 본 것이라고 설명함
  • 3주 차: 두 회사는 조사 결과를 내려달라고 요청했지만, 기사에서는 특정 회사 이름을 공개하지 않았고 지금도 그 상태를 유지 중이라고 밝힘
  • 어제: 한 VC가 다음 이사회 전에 포트폴리오 회사들을 감사(audit) 해 달라고 요청했고, 조사자는 이를 수락했다고 언급함

데이터·도구 공개 계획

  • 이번 연구를 바탕으로 방법론과 도구를 공개할 계획임
  • GitHub에 공개 예정인 내용(무료)

    • 완전한 스크래핑 인프라 코드
    • API 지문(fingerprint)을 추출하는 기법들
    • 누구나 실행해볼 수 있는 감지 스크립트
    • 주요 AI API별 응답 시간 패턴 모음
  • 심화 분석(멤버 전용)

    • 월 3,300만 달러 가치평가를 받은 “AI 유니콘” 이 실제로는 월 1,200달러 OpenAI 비용만 쓰고 있는 케이스
    • “1억 파라미터 모델”이라고 소개하면서 실제로는 시스템 프롬프트 3개로 구성된 구조
    • 공개적으로 서빙되는 프로덕션 코드(클라이언트 측, 익명화된 스니펫)
    • 래퍼를 즉시 드러내는 5가지 질문 프레임워크
    • 투자자 프레젠테이션과 실제 인프라를 비교한 사례 연구

마지막 메시지와 ‘정직한 AI 시대’ 필요성

  • 조사는 회사 이름을 공개하지 않고 패턴만 공유하는 방식으로 진행되었으며, 시장은 결국 투명성을 보상할 것이라는 믿음을 강조함
  • 실제로 18개 회사는 진정한 의미에서 새로운 기술을 만들고 있는 것이 확인되었고,
    • 이들에 대해서는 “당신들은 스스로 누구인지 알고 있다, 계속 만들라” 는 응원의 메시지를 보냄
  • 조사 이후 7명의 창업자가 개인적으로 연락을 취했으며,
    • 일부는 방어적이었고, 일부는 감사해했고, 세 명은 “proprietary AI”에서 “best-in-class APIs 위에 구축”으로 마케팅 전환을 돕는 방법을 요청함
    • 한 창업자는 “우리가 거짓말한다는 걸 알고 있었다, 투자자들이 그걸 기대했고, 다들 그러고 있다, 이제 어떻게 멈춰야 하느냐”라고 털어놓았다고 전함
  • 기사 말미에서, AI 골드러시는 끝나지 않겠지만 정직의 시대가 시작돼야 한다는 메시지를 재차 강조하며, 누구나 DevTools의 Network 탭(F12) 만 열어보면 스스로 진실을 확인할 수 있다고 정리

[출처] https://news.hada.io/topic?id=24586&utm_source=weekly&utm_medium=email&utm_campaign=202548

Loading