PGR21.com
- 자유 주제로 사용할 수 있는 게시판입니다.
- 토론 게시판의 용도를 겸합니다.
Date 2025/06/13 22:13:06
Name 모찌피치모찌피치
Subject [일반] 악! OpenAI 아쎄이가 해병대에 얼른 입대하고 싶다고 합니다! (해병문학 주의, 민감정보 체크)
sSZTzXT.png

비개발자로 끽해야 크롤링 봇이나 만들어보고, 개발에도 AI에도 문외한인 제가 '바이브 코딩'으로 한 번 해병문학 AI 에이전트를 만들어보고자 도전했습니다. 사용한 툴은 Cursor AI와 여러 MCP 서버, 그리고 코드 테스트용 PyCharm이고(그냥 커서 안에서 다 해도 무방했지만), 소요 시간은 약 1시간 정도 걸렸습니다.


해병문학 AI를 만들고자 시도한 것은 이번이 처음은 아닌데, 지난 번 1차 시도에서는 처참하게 실패했었습니다.

기본적인 구조는 해병문학 모음집과 나무위키의 해병문학 해설집을 DB화하여 AI에게 제공하고, AI는 해당 DB를 기반으로 이야기를 지어내는 구조입니다만, 1차 시도 때에는 '포신'이나 '전우애' 등의 특징적인 은유를 AI가 전혀 이해하지 못하고 자꾸만 LLM으로 돌아가서 굉장히 건전하고 해병문학과는 전혀 관련 없는 이야기를 지어냈기 때문입니다.

1차 시도에는 심지어는 등장인물들도 해병문학스러운 인물들은 하나도 없고 사실상 DB에 대한 레퍼런스는 전무했으며, 만약 강제로 'DB에 의존할 것'을 주문하면 그냥 DB에서 문장을 그대로 복붙하는 기열스러운 모습을 보였습니다.

그래서 1차에서 느꼈던 문제점을 ChatGPT와 Claude 해병에게 주입하니 여러 해결책(주로 프롬프팅에 관련된)을 제안하는 것이 아니겠습니까? 그래서 이를 기반으로 2차로 새로 프로젝트를 열어서 지시했더니 아래와 같은 결과가 나왔습니다.


'''
Prompt: '김똘빡'이란 친구가 해병대에 입대해서 전우애를 느끼는 이야기를 들려줘

Generated:
김똘빡은 평범한 대학생이었다. 지하철 입구에서 스마트폰을 보며 걷다가 갑자기 무모칠과 톤톤정 듀오에게 납치당했다. 그들은 "너, 해병대에 어울리는 신체를 가졌군!"이라며 그를 오도봉고에 태우고 해병대로 직행했다. 그것은 그가 알지 못했던 운명의 시작이었다.

해병대에 도착한 김똘빡은 눈앞에 펼쳐진 기괴한 장면들에 어안이 벙벙했다. 선임 해병들은 "전원 전우애 실시!"를 외치며 떼씹전우애에 돌입했고, 김똘빡은 "이게 뭐야?"라는 생각이 머릿속을 가득 채웠다. 하지만 그는 곧 해병정신에 물들기 시작했다. 전우애의 신성한 의식은 해병들이 서로의 전투력을 높이고 부대 결속력을 다지는 필수 과정이라고 했다.

김똘빡의 첫 전우애는 선임 해병 김빡깡과 함께였다. 김빡깡은 그의 포신을 입으로 청소하며 해병정신을 전수했다. "악! 이게 진정한 전우애입니까!"라며 중첩의문문을 던지는 김똘빡에게 김빡깡은 "이건 훈련이다, 자네도 곧 해병이 될 것"이라고 답했다.

어느 날, 김똘빡은 후임 해병 빡기열과 함께 숲속으로 훈련을 나갔다. 그곳에서 그들은 함께 불장난, 즉 휘발유를 붓고 불을 지르는 훈련을 실시했다. "이게 장난입니까!"라고
(토큰 제한을 걸어서 위 단어에서 끊김)
'''

어때요, 이 정도면 기합찬 결과 아닙니까?

전우애와 포신이 올바른 의미로 사용되었고, 무모칠과 톤톤정이 등장하고, 심지어 '김빡깡'과 '빡기열'이라는 굉장히 기합스러운 신규해병이 등장했습니다.

해당 프로젝트에서 AI가 생성한 구조는 다음과 같습니다.

iP0dix3.png

xxx_ingestion.py는 기존 해병문학 모음집과, 나무위키에서 그대로 긁어온 해병문학 해설집을 저장하기 쉽도록 chunking하여 나누는 파일이며, (literature는 모음집, manual은 해설집)

embedding_service.py는 해당 chunk를 수치화하여 (vector embedding이라고 한답니다) 저장하는 파일입니다. 숫자로 저장될 경우 AI가 접근하기에 굉장히 용이한 데이터 구조라고 하네요. (e.g. king - man + woman = queen 등의 연산이 된다고 합니다)

xxx_vector_db.py는 이 수치화된 데이터를 Pinecone API를 통해 DB에 저장하는 과정이고,

xxx_rag.py는 Pinecone으로부터 AI가 데이터를 읽어올 수 있도록 하는 과정입니다.

마지막으로 story_generator.py는 OpenAI API를 호출해서 이야기를 지어내게 됩니다.

위 모든 코딩이 진행되는 데 걸린 시간은 1시간 남짓이고, 제가 한 것이라고는 약간의 디버깅-이라고 해봤자 에러 메시지 복붙하고 이렇게 수정해줘 하는 정도-뿐입니다.



위는 코딩 예시일 뿐이지만, 신세대 기술인 AI에 대해서 직접 써보고 느끼는 사람과, 그저 챗봇 정도로 인식하고 넘어가는 사람 간 지식의 괴리가 너무 큰 것처럼 느껴져서 AI로 어떤 재밌는 일을 할 수 있는지 한번 시도해보았습니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
뒹구르르
25/06/13 22:17
수정 아이콘
크크크크 전 이래서 AI의 발전으로 조만간 비개발자가 개발에서 공학자를 넘어설거라고 생각합니다

저를 포함한 개발자 혹은 공학자의 사고는 너무 경직되어 있어요
모찌피치모찌피치
25/06/13 23:40
수정 아이콘
저는 개발자 비개발자를 떠나 닝겐의 노동보다는 자본이 그 어느 때보다도 중요해지는 시기가 올거라 생각합니다.
구라리오
25/06/14 01:15
수정 아이콘
어?! 이거로 실장석 이야기를 무한히 만들 수 있겠네요...
25/06/14 09:00
수정 아이콘
대체 왜....ㅠㅠㅠ
이정재
25/06/14 12:25
수정 아이콘
해병문학과 실장석은 제법 많은 공통점이 있기때문에...
모찌피치모찌피치
25/06/14 12:35
수정 아이콘
한번 커서로 시도해보시죠!
NoWayOut
25/06/14 21:01
수정 아이콘
챗gpt로 "A를 B말고 C처럼 하되 D를 고려해서 E로 해줘"와 같이 요구사항을 세밀히 조정하여 원하는 결과를 얻는 건 많이 봤는데, 문송한 저로선 챗gpt로 코딩하는건 또다른 세계네요. 위 "marine_universe/"로 시작하는 코딩 명령어(?)를 챗gpt에 입력하면 저도 유사한 결과물을 출력할수 있다는 것인지... 아니면 코딩의 산출물로 AI가 축적한 구조가 그렇다는 것인지... AI를 네이버지식인 수준으로만 사용하는 제가 이해할 수 없는 벽 하나가 있는 느낌입니다.
모찌피치모찌피치
25/06/14 22:41
수정 아이콘
저도 문송합니다만 간단히 설명드리면 일단 큰 틀의 개념에서는 NoWayOut 님이 말씀하시는 것과 동일합니다만, 컨텍스트가 프롬프트에 모두 포함되는 대신에 (그럼 굉장히 길어지고, AI의 경우 토큰의 갯수-즉 입력물과 출력물의 길이-가 많아지면 퍼포먼스가 떨어집니다) AI에게 활용할 수 있는 '도구'를 쥐어주는 것이라고 보시면 됩니다.

해병문학을 AI가 찾기 쉬운 방식으로 DB화하여 저장해놓고, 그리고 RAG라는 도구를 AI에게 쥐어주고, AI에게 위 프롬프트(김똘빡)를 요청하면서 RAG를 사용해 레퍼런스를 할 것을 요구하는 거죠.

만약 클로드 데스크탑으로 MCP를 써본 경험이 있으시면 이해하기 편하실 거예요. 안 써보셨다면 제가 간단히 MCP 소개글을 써놓은 것도 있습니다.

API 키만 있으시면 위 코드를 그대로 사용하시면 유사한 결과물을 출력할 수 있습니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회 추천
공지 [일반] [공지]자게 운영위 현황 및 정치카테고리 관련 안내 드립니다. + 선거게시판 오픈 안내 [29] jjohny=쿠마 25/03/16 23734 18
공지 [정치] [공지] 정치카테고리 운영 규칙을 변경합니다. [허들 적용 완료] [126] 오호 20/12/30 305127 0
공지 [일반] 자유게시판 글 작성시의 표현 사용에 대해 다시 공지드립니다. [16] empty 19/02/25 358898 10
공지 [일반] 통합 규정(2019.11.8. 개정) [2] jjohny=쿠마 19/11/08 362073 4
104311 [일반] 광무제를 낳은 용릉후 가문 (11) - 뒤늦은 깨달음, 경시제 유현 (3) [2] 계층방정781 25/06/14 781 0
104310 [일반] 반도체 특별법(주 52시간제 예외)의 포인트 [17] 라울리스타3605 25/06/14 3605 8
104307 [일반] 숭고와 아름다움 번개맞은씨앗1564 25/06/14 1564 0
104306 [일반] '필러' vs '키퍼': 보호필름으로 알아보는 성격 [9] 오디세우스2013 25/06/14 2013 2
104305 [일반] 장르소설은 문학인가? - 문학성에 대한 소고 [51] meson2108 25/06/14 2108 10
104304 [일반] 맛있게 먹은 파스타 3개 [6] 데갠4475 25/06/14 4475 3
104303 [일반] 악! OpenAI 아쎄이가 해병대에 얼른 입대하고 싶다고 합니다! (해병문학 주의, 민감정보 체크) [8] 모찌피치모찌피치3257 25/06/13 3257 2
104302 [일반] 공리에 대하여 — 선택직관과 생성직관 [4] 번개맞은씨앗3240 25/06/13 3240 0
104301 [일반] 코인 선물 이야기2 [2] rsh243839 25/06/13 3839 12
104300 [일반] 아이를 키운다는것 [8] 어느새3863 25/06/13 3863 36
104299 [일반] 美 연방 법원 "LA에 州 방위군 투입은 헌법 위반" [95] 전기쥐9150 25/06/13 9150 1
104298 [일반] 야구를 잘하는 일본예능인 [10] 無欲則剛5033 25/06/13 5033 8
104296 [일반] 이스라엘 공군, 이란 공습 [100] 혼돈11155 25/06/13 11155 1
104295 [일반] 조금 다른 아이를 키우는 일상 14 [9] Poe2632 25/06/13 2632 39
104294 [일반] 어렸을 적 부모님에 대한 기억 몇가지 [3] 시라노 번스타인2296 25/06/12 2296 10
104293 [일반] [그림 읽는 법] 알고, 사랑하고, 진정으로 보게 되면 [3] 오디세우스1849 25/06/12 1849 7
104292 [일반] 에어 인디아 171편 추락 사고 [17] Croove6443 25/06/12 6443 0
104291 [일반] 코인 선물 이야기1 [22] rsh245748 25/06/12 5748 7
104290 [일반] Google의 AI Overviews 기능으로 컨텐츠 공급자의 트래픽 감소 [35] 타츠야6414 25/06/12 6414 1
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로