본문 바로가기
  • think normal
새로워지기/마흔의 생활코딩

AI 협업 프로그래밍 사례 공유( Claude-3.5-Sonnet-200k, o1-mini)

by 청춘만화 2024. 10. 9.

- 배경  -

1. 놀면뭐해 

1) 시니어 백수가 놀면 뭐해. 한여름 무더위에 일하고 계시는 부모님 일손을 돕고자 고향으로 복귀. 

2. 빛좋은 개살구-같은 IT 경력 

1) 그래도 명색이.. IT 업계에서 블록체인이다- 인공지능이다- 하며 10년 넘게 밥먹고 살았는데..
    - 현타 01 : 정작 고향의 우리 가족이 하는 일의 상황은 2G 시절과 크게 다르지 않음을 보며 현타가 왔다.  
    - 현타 02 : 현타01에서의 갭을 목격하고 나서도, ' 난 기획자인데.. 정작 나 혼자서 뭘 할 수 있나' 게 없어 보였다.  

2) 그럼에도 불구하고..
    - 생활 코딩이라는 아마추어 경력을 바탕으로.. 
     그 흔한 인공지능과 함께 뭐라도 해보자- 하는 생각을 하게 되었다.  
 
 

- 개요 -

 

1. 문제 인식 

1) 동일 상품의 가격이 매입처와 매출처마다 다르다.
     - 과거 핸드폰 번호 외우듯 암기하고 기억나지 않으면 명세서 찾기, 그래도 안되면 - 나중에 하기 등으로 처리된다.
2) 수기 검수, 계산, 거래명세서 작성
     - 현장에서 검수를 하고 거래명세서를 작성하는 과정에서 계산이 틀리는 경우가 발생한다.
     - 거래명세서 보관 및 가독성에 대한 불편함이 많음. 
     - 거래명세서에 적인 상품명이 매장과 유통사 마다 다른 이름으로 작성된다( 저마다 다른 축약어)

 

2. 문제 해결에 대한 참여 동기

1) 현타
    - 스마트폰을 들고 길을 묻는 어르신들처럼... 아니, '기술과 현실이 이렇게 다르다니!!' 라는 점을 직관/ 
    - 남일이 아님, 거창한 SaaS가 아닌 적정 기술이라도 도입이 필요하다고 생각  
2) 찐 실무 AI 적용 사례 만들어보가
    - LLM이 그렇게 좋다며?! 
    - 유튜브에 한창- 클로드 아티팩트에 대한 찬양이 도배되기 시작 

 

3. 문제 해결을 위한 MVP 범위 설정   

1) 기억은 사람이 아닌 스마트폰이
    - 수 많은 상품에 대한 원가, 마진, 유통가를 기억하지 않아도 되는 환경 마련
2) 계산은 사람이 아닌 스마트폰이
    - 수기로 거래명세서를 작성하지 않는 환경 마련  
3) 명세서 관리는 사람이 아닌 스마트폰에
    - 발행한 거래명세서를 수요자 공급자가 읽고 보관하기 편한 환경 마련 
 

4. 제약 조건

1) 오프라인 기반 사용환경 
2) 2-3일 내 개발
 
 
 

- 산출물 -

- LLM : Claude-3.5-Sonnet-200k, o1-mini
- IDE : VSCode

0. 데이터 수집, 전처리

1) .csv,수작업
2) 매입 상품별 가격표(원가, 마진, 유통가) 작성

 

1. 상품 데이터베이스 구축하기

1) .csv 또는 엑셀 파일 업로드 기능 추가
2) 각 상품에 맞는 상품 이미지를 크롤링해오는 기능 추가 
3) 개별 상품 이미지를 수정하거나 상품명을 바꿔서 다시 크롤링해오는 기능 추가
4) 결과(원본 파일에 썸네일 이미지와 url, 출처 필드 추가)를 저장하는 기능 추가
5) 생성 파일에 대한 재사용성 개선
     - 이미 저장한 .csv에 새로운 상품명을 추가한 다음 업로드하면, 이미지 정보가 있는 상품은 건떠뛰고 크롤링하는 기능 추가 

 

2. 거래명세서 생성기(모바일웹) 구축하기

1) 상품데이터베이스 로드
2) 상품 검색 및 썸네일 미리보기 기능 추가  
3) 직접(데이터베이스에 없는 상품) 입력 기능 추가
4) 거래명세서 발행 기능(자동 계산)
5) 거래명세서 생성 시, 반품 기능 추가 
6) 수정 기능 추가(실시간 합계 업데이트)
7) 이미지, ..csv 다운로드 기능 추가
  
 
 

- 배운점

1. MVP에 대한 절실한 이해.
   - 정말 최소 기능에 대한 고민을 제작자이자, 사용자 측면에서 고민할 수 있었음 
   - 처음에는 ERD 작성, 데이터베이스 구조 구성, SQLLite로 했다가 Mysql, 파이어베이스 세팅하다가 최종엔 그냥 .csv파일로 확정
   - 데이터 분석을 위해 모든 프로그램과 GUI를 파이썬으로 통일해서 개발하려고 Flat 프레임워크로 만들었다가 최종엔 리액트로 확정 
   - 스마트폰의 카메라를 활용해 바코드 리더기를 개발했다가 최종엔 그냥 .csv파일에 수기 입력하는 방식으로 확정  
   - ..기타 등 등 개발과 사용을 반복하면서 피봇팅만 네 번을 한 것 같음

2. 역시, 프롬프트 엔지니어링은 없다.
   - 마케팅 용어이다. 콘텐츠로 생계를 이어가는 자들이 콘텐트로 만들고 설명하기 위한 '경험의 규격화'의 하나일 뿐이다. 
   - 어떤 사람의 말투와 대화의 온도가 '화술이나 화법'에서 비롯되는 것이 아니듯, 프롬프팅은 다양한 AI사용하면서 자연스럽게 정착되는 것이다. 최근 o1 LLM 모델에서의 특징적 사례가 아니라도, 모델 자체의 다양성과 각 대화에서의 컨텍스트가 제각각이기 때문이다. 이는 한 사람의 태도가 상황과 여건에 따라 제각각으로 반응하는 것과 크게 다르지 않다는 생각을 하게 되었다.
   - 따라서 유명 인플루언서들의 프롬프트 엔지니어링 치트 시트를 읽을 시간에 하나의 모델이라도 직접 사용해보는 편이 좋다는 생각이다. 습관적(고교시절 남들보다 먼저 선행학습하듯)으로 학습하려 하지말고 직접 경험해보자.
3. 적정 기술에 대해 생각하다. 
   - 거창한거 말고, 지금 바로 누구나 별도의 전문적인 학습이나 설치 없이 독립적으로 쓸 수 있을 만한 무엇들에 대해 고민해봤다. 
   - DT는 결코 편리한 솔루션( 또는 시스템)에 있지않다. 기존 네이티브(아날로그) 업무에 익숙해진 업무 패턴의 변화에 달려 있다. 때문에 점진적인 업데이트가 필요하다. 참고로 업체로부터 종이 명세서가 아닌 파일 형태로 수집하는데 한달이 넘개 걸렸다(아직도 못받은 내용이 많다. 그래서 300개가 넘는 제품명과 단위, 단가를 수작업으로 진행해야했다)
   - DT라고 하긴 뭐하지만 손으로 작성하고 계산하던 과정을 생략하는 것만으로도 큰 효용이 있었다.
   - (물론, 이번 실습?은 매우 매우 좁은 범위에서의 MVP 수준이긴 하지만.. ㅎ)

 
 

- 개발 과정(코드 포함) -

1. 이번에 작성한 프로그램은
   - PC에서 구동하는 '썸네일 스크래핑'과 모바일 웹브라우저에서 실행되는 '거래명세서 생성기' 두 가지이다.
   - 각각의 프로그램을 실행하는 코드는 각 각 하나의 파일로만 구성했다.
2. AI와의 협업? 사실상 용역?에 대한 내용은 
   - 중간 중간 노션에 기록하긴했지만.. 빨리하려고 워낙 우당탕탕 작업해서- 추가로 정리할 시간이 필요하다.
   - 과정이 없는 결과 코드만 공유하는건 개인적으로나 보는 이에게나 큰 도움이 안될 것 같다. 
   - 학습과 경험 부채가 쌓이지 않도록 최대한 빨리 추가 업데이트 할 예정이다...
3. 백수는 과로사를 가장 조심해야한다... 





댓글