<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>유씅의 엉망진창 개발실</title>
        <link>https://velog.io/</link>
        <description>응용수학과 전공 후 AI 전문성을 쌓고있는 취준생!</description>
        <lastBuildDate>Fri, 21 Nov 2025 11:02:47 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>유씅의 엉망진창 개발실</title>
            <url>https://velog.velcdn.com/images/yoo_sseung/profile/990ad650-2e4c-461d-b051-80b286e70f31/social_profile.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. 유씅의 엉망진창 개발실. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/yoo_sseung" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[019. §antigravity1 - Gemini3 이용해서 장기 3D 웹서비스 구현]]></title>
            <link>https://velog.io/@yoo_sseung/019.-antigravity1-Gemini3-%EC%9D%B4%EC%9A%A9%ED%95%B4%EC%84%9C-%EC%9E%A5%EA%B8%B0-3D-%EC%9B%B9%EC%84%9C%EB%B9%84%EC%8A%A4-%EA%B5%AC%ED%98%84</link>
            <guid>https://velog.io/@yoo_sseung/019.-antigravity1-Gemini3-%EC%9D%B4%EC%9A%A9%ED%95%B4%EC%84%9C-%EC%9E%A5%EA%B8%B0-3D-%EC%9B%B9%EC%84%9C%EB%B9%84%EC%8A%A4-%EA%B5%AC%ED%98%84</guid>
            <pubDate>Fri, 21 Nov 2025 11:02:47 GMT</pubDate>
            <description><![CDATA[<p>글 작성하다가 최근 2주 정도 글 작성을 못한거 같은데요. 바로 엊그제 antigravity라고 11월 19일에 나온 구글 코리아 블로그를 읽어 보고 해보고 싶어서 바로 블로그 글 적어보려고 합니다.</p>
<blockquote>
<p> 먼저 오늘 만든 프로젝트의 git 주소입니다
<a href="https://github.com/YooSeungHo0124/Janggi-3D">https://github.com/YooSeungHo0124/Janggi-3D</a></p>
</blockquote>
<p><a href="https://blog.google/intl/ko-kr/company-news/technology/google-gemini-3/">https://blog.google/intl/ko-kr/company-news/technology/google-gemini-3/</a></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/59859593-8b10-45a9-a5a4-fd178ac362ba/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/61ada900-e38f-454d-84c0-9643e892d68a/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/4fe0f405-f8ac-4729-9408-0cbfc6fb5e07/image.png" alt=""></p>
<p>평가 기준표 봤을때 수학문제 풀어주는 거나 다른 지표들을 봐도 평가에 장난질 해서 높은 것 처럼 해놓은게 아니고 정말 현존 중에는 최상위 모델인것 같긴 합니다.</p>
<hr>
<h3 id="anti-gravity">anti gravity</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/8b11bdf2-3b7d-4347-b3e9-12bedc9c539a/image.png" alt=""></p>
<p>해당 글을 읽게 되면 <code>무엇이든 배우고, 만들고, 계획 해봐라!</code> 라고 나와있는데 이미 많은 사람들이 간단하게 3D 웹 구현으로 three.js 같은 것을 이용해서 만든것들도 몇개 보았는데 좋더라고요.
그래서 저는 취미로 장기를 두고 있는데 그거 한번 구현해보려고 합니다. 걱정되는게 서양권은 체스가 있고, 동양의 장기를 간혹 일본의 쇼기랑 헷갈릴수도 있다고 생각하는데 중국식 장기가 아닌 한국식 장기를 제대로 이해하고 만들수 있는지 한번 해보겠습니다. 
참고로 제일 중요한것은 가장 좋은 모델인 이 gemini3를 현재는 무료로 antigravity에서 사용할수 있으니까 기존에 cursor 같은 IDE 사용해보셨던 분들은 유로로 돈 많이 주시면서 하실텐데 더 좋은 모델로 한번 바로 설치해서 해보시면 좋을 것 같아요.</p>
<hr>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/2dee06c0-bf27-4cfa-9513-bb21d8b8c710/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/3407be04-175b-4222-84c5-8250e4889607/image.png" alt="">
툴 자체는 vscode랑 별반 다르지 않습니다.</p>
<p>3D 장기를 웹 구현을 위해서 프롬프트를 작성하고 직접 동작을 시켰습니다.
<img src="https://velog.velcdn.com/images/yoo_sseung/post/df3bbfb3-6f5b-4aa0-a07b-8daa2ef744c7/image.png" alt=""></p>
<p>그렇게 되면 알아서 <code>Implementation Plan</code>을 작성해줘서 어떤 것을 작성할것이고 어떤 도구나 방식등을 사용할지 설명해주는게 좋네요.</p>
<hr>
<h3 id="처음-프롬프트-후-결과">처음 프롬프트 후 결과</h3>
<p>처음 결과가 생각보다도 너무 잘나와서 놀랐습니다.
한 두세번 정도 수정을 거치면 훨씬더 높은 퀄리티가 바로 될것 같은 가능성이 확실해서 몇번더 프롬프팅과 수정을 거치도록 하겠습니다.</p>
<p>!youtube[BuDDDxD2EEY]</p>
<hr>
<h3 id="보완">보완</h3>
<p>제가 초안을 사용해봤을때 부족한 점들 10가지 이상 찾고, 디자인적으로도 이를 보완하는 작업을 지시했습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/6cff1440-d822-4065-9673-261691799b2a/image.png" alt=""></p>
<p>직접 필요한 이미지도 gemini 이용해서 위에 처럼 생성하고, 장기판과 장기알은 따로 찾아서 이용했습니다.</p>
<p>일단 기존의 장기룰을 다 구현하는게 가장 기본이니까 룰을 모두 따라서 기물들의 움직임을 구현하고, 점수제에 따른 점수와 선수, 후수 개념까지 따라서 작성했습니다.
복기, 포진 설정, 장군 확인 등의 것들을 모두 구현해서 실제 여타 서비스 중인 게임 수준의 기능은 모두 구현했습니다.</p>
<p>혼자서 localhost에 띄우고 연습겸 할게 아니라면 상대가 필요한데 따로 웹소켓 연결 같은건 안해놓은 상태라서 상대가 없어서 AI 상대가 있으면 좋겠다고 생각했고, 그래서 대표적으로 알파고같은 강화학습을 개인적으로 나중에 시킬수 있다면 시켜서 올리고 싶은데 현재는 CPU 하나있는 노트북이라서 뭔가 튜닝하기에도 한국식 장기도 제대로된 성능이 있는 오픈소스가 없어서 아마 AlphaZero 이용해서 직접 해봐야할것 같은데 기회되면 해보는 것으로하고,</p>
<blockquote>
<p>대신 현재는 Minimax 알고리즘을 사용한 고전적인 방식(Simple)을 이용했습니다. 
Tree Search: It simulates future moves (currently 2 steps ahead: AI moves -&gt; Player moves). <br>
Evaluation: It calculates the score of the board based on piece values (e.g., Chariot = 13, Soldier = 2).<br>
Decision: It assumes the player will play perfectly (minimize AI&#39;s score) and chooses the move that maximizes its own score in that worst-case scenario.<br>
Alpha-Beta Pruning: It skips calculating branches that are obviously bad, making the search faster.</p>
</blockquote>
<hr>
<h3 id="결과">결과</h3>
<p>!youtube[XqqwnzchWjU]</p>
<p>나쁘지 않게 나온것 같아서 개인적으로 만족하고, 추후에 강화학습해서 직접 AI 모델 만들수 있으면 그때는 다음 글을 작성 할 것 같습니다.
이상으로 새로 나온 gemini3를 이용한 Antigravity 사용 끝!</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/4a923eda-12aa-462a-ad16-fc3fef7b5346/image.png" alt="">
참고로 화면 각도를 바꾸시면 저의 github 링크와 프로필이 적힌 배너를 이스터에그 처럼 숨겨 두었습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[018. §뉴스1 - AI 위험성？역기능 등 제보 하는 플랫폼!]]></title>
            <link>https://velog.io/@yoo_sseung/018.-%EB%89%B4%EC%8A%A41-AI-%EC%9C%84%ED%97%98%EC%84%B1%EF%BC%9F%EC%97%AD%EA%B8%B0%EB%8A%A5-%EB%93%B1-%EC%A0%9C%EB%B3%B4-%ED%95%98%EB%8A%94-%ED%94%8C%EB%9E%AB%ED%8F%BC</link>
            <guid>https://velog.io/@yoo_sseung/018.-%EB%89%B4%EC%8A%A41-AI-%EC%9C%84%ED%97%98%EC%84%B1%EF%BC%9F%EC%97%AD%EA%B8%B0%EB%8A%A5-%EB%93%B1-%EC%A0%9C%EB%B3%B4-%ED%95%98%EB%8A%94-%ED%94%8C%EB%9E%AB%ED%8F%BC</guid>
            <pubDate>Tue, 04 Nov 2025 01:47:30 GMT</pubDate>
            <description><![CDATA[<p><a href="https://news.tvchosun.com/site/data/html_dir/2025/10/31/2025103190152.html">https://news.tvchosun.com/site/data/html_dir/2025/10/31/2025103190152.html</a></p>
<p>개인적으로 세상 흐름을 이해하고 견문을 넓히고자 IT 관련 뉴스 기사들을 챙겨보려고 노력하는데요.
2025년 10월 31일에 새롭게 미디어통신위원회와 한국정보통신진흥협회가 개설 한 플랫폼에 대한 기사를 보게되었습니다.</p>
<blockquote>
<p>이 플랫폼은 인공지능 관련 서비스 이용 중 폭력이나 성범죄·성희롱 등 다양한 위험이 발생함에 따라 이러한 역기능을 신속히 인지하고 이를 해당 사업자에 통보함으로써 사업자의 자율적 개선을 유도하기 위해서 생긴 서비스 입니다.</p>
</blockquote>
<p><a href="https://ai.wiseuser.go.kr/usermain.do">https://ai.wiseuser.go.kr/usermain.do</a></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/73095470-6f1d-43f4-b787-733e4996974d/image.png" alt="">
<code>위험성 제보</code> 를 통해서 기여하는 것 같습니다.</p>
<p>개발자 문화 중에는 이런게 있잖아요. 바로 오픈 소스같은것에 기여하는 그런 문화. 수익성을 바라기보다는 내가 만든 코드와 서비스가 많은 사람들에게 유용하게 사용되는 것에 만족하는 이런 선한 문화에서 직접 코드나 기술을 기여하는 오픈소스 커밋과는 다르지만, AI 생태계와 서비스의 품질과 안전성을 높이는 데 필수적인 사회적·윤리적 기여한다는 점에서 크게 개발자 문화로써 이런 위험성을 직접 경험하면 꼭 제보해봐야겠다는 생각을 했습니다.</p>
<p>한편으로는 최근 OpenAI의 샘 올트먼이 했던 말을 보면 <code>“12월에는 연령 제한 기능을 전면 도입하고, ‘성인을 성인답게’ 대우한다는 원칙에 따라 성인 사용자에겐 성적인 콘텐츠(erotica contents) 등 더 많은 기능을 허용할 예정”</code> 이라고 했는데요.</p>
<blockquote>
<p>국가 관점: 국민 안전, 사회적 윤리, 법적 기준 준수를 최우선으로 하여 AI 서비스의 부작용과 위험을 최소화하고, 피해 발생 시 신속 대응과 공익적 감시 체계를 구축하는 데 중점
<br>
대기업 관점: 기술 혁신, 서비스 확장, 표현의 자유 확대, 글로벌 시장 다변화에 무게를 두면서도 일정한 안전장치(예: 성인 인증)를 마련해 이용자 경험을 다양화하고 수익성을 추구</p>
</blockquote>
<p>이렇게 같은 것에 대해서도 입장 차이가 보이듯이 AI쪽으로 계속 진로를 하고 싶은 저는 어떤 태도? 마인드를 가져야 할까 생각을 하게 되었습니다.</p>
<ol>
<li><p>책임감과 윤리 의식 갖추기
AI 기술의 잠재적 위험성과 사회적 영향을 인지하고, 이를 최소화하며 윤리적 가이드라인을 준수하는 책임감을 가져야 합니다. 단순히 기술 구현에만 몰두하지 않고, AI가 사회에 미치는 영향을 항상 고민하는 자세.</p>
</li>
<li><p>유연한 사고와 다양한 시각 이해하기
국가 정책과 기업 전략의 차이를 이해하고, 다양한 이해관계자의 관점에서 문제를 바라볼 수 있어야 합니다. 한 가지 입장에만 고집하지 말고, 합리적이고 균형 잡힌 시각을 갖추는 것이 필요합니다.</p>
</li>
<li><p>지속적인 학습과 사회적 대화 참여
AI 분야는 빠르게 변화하므로 지속적 기술 학습과 함께 사회·정책적 논의에도 관심을 두어야 합니다. 공공의 이익, 안전, 프라이버시 등 이슈에 대해 열린 마음으로 대화에 참여할 줄 아는 태도가 중요합니다.</p>
</li>
<li><p>기술과 규제, 윤리 간 조화 목표
기술 혁신과 서비스 확장에 대한 열정과 함께, 규제와 윤리 준수의 필요성을 균형 있게 받아들이고 조화시키려는 노력이 필요합니다. 이는 AI 개발자가 사회적 신뢰를 얻는 기반이 됩니다.</p>
</li>
</ol>
<hr>
<p>오늘은 이렇게 기사를 보고 같은 일에 대해서도 입장 차이들이 이렇게 있는데 나는 어떤 생각과 태도로 발전해 나가야 하는지 고민하는 시간을 가지며 몇자 적어 봤습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[017. §Dify.ai3 - AI Agent 만들어보기 , 노션에 최신 AI 뉴스 정보 넣기]]></title>
            <link>https://velog.io/@yoo_sseung/017.-Dify.ai3-AI-Agent-%EB%A7%8C%EB%93%A4%EC%96%B4%EB%B3%B4%EA%B8%B0-%EB%85%B8%EC%85%98%EC%97%90-%EC%B5%9C%EC%8B%A0-AI-%EB%89%B4%EC%8A%A4-%EC%A0%95%EB%B3%B4-%EB%84%A3%EA%B8%B0</link>
            <guid>https://velog.io/@yoo_sseung/017.-Dify.ai3-AI-Agent-%EB%A7%8C%EB%93%A4%EC%96%B4%EB%B3%B4%EA%B8%B0-%EB%85%B8%EC%85%98%EC%97%90-%EC%B5%9C%EC%8B%A0-AI-%EB%89%B4%EC%8A%A4-%EC%A0%95%EB%B3%B4-%EB%84%A3%EA%B8%B0</guid>
            <pubDate>Wed, 29 Oct 2025 14:57:21 GMT</pubDate>
            <description><![CDATA[<p>Dify를 이용하여 챗봇이랑 RAG는 해보았는데요. 이제는 에이전트 해보려고 합니다.<br>그전에 먼저 AI 에이전트가 어떤 것 일까요.</p>
<blockquote>
<p>AI 에이전트는 LLM(대형언어모델)이 &#39;두뇌&#39; 역할을 하고 챗봇이 &#39;안내 데스크&#39; 역할을 한다면, AI 에이전트는 &#39;실제 업무를 수행하는 AI 직원&#39;으로 볼 수 있습니다. 즉, 단순히 정보나 답변을 제공하는 수준을 넘어, 실제 문제 해결과 의사결정을 자동으로 수행합니다</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/d18aa884-3120-4bdf-9a49-1ed73855a496/image.png" alt="">
먼저 agent에는 앞서 비유했던 실제 업무를 수행하기 위해서 필요한 도구(tool)들이 필요합니다.
그래서 Dify의 Marketplace에서 찾거나 MCP 혹은 개인이 오픈 API 지원하는 곳에서 도구를 커스텀할수도 있습니다.</p>
<p>AI Agent를 생성할때 어떤 에이전트를 생성 할 것이고, 그렇다면 어떤 도구가 나에게 필요할까 고민을 하고,
이후에는 실제 그런 도구가 MCP를 관장하는 smithery에 있는지 혹은 오픈된 API가 존재하는 지 등을 조사하고 찾아서 본인만의 서비스를 구현 하면 될 것 같습니다.
뒤에서부터 앞으로 가는 딥러닝의 back propagation 처럼 한단계씩 생각하며 필요한 도구를 고려하면 될 것 같습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/b478502d-e97a-429a-9f28-6e41fc37af8b/image.png" alt="">
Notion이나 tavily처럼 API 키를 별도로 받고 연결하는 등의 과정을 거쳐야하는 도구가 있고, arXiv 처럼 바로 사용 가능한 도구들도 있습니다.
그리고 내가 이 에이전트 플로우에서 도구들의 모든 메소드들을 사용 할 것인지 원하는 몇가지만 특정 할 수도 있습니다.</p>
<hr>
<h3 id="1-노션-연결">1. 노션 연결</h3>
<p>저는 개인적으로 Notion에 연동되게 해보고 싶어서 먼저 Notion 연동 해보겠습니다.
<img src="https://velog.velcdn.com/images/yoo_sseung/post/adada20d-4a24-45ff-aac9-02448ba6eaf1/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/e7691a03-ecfc-4447-ab38-7bb63f668383/image.png" alt=""></p>
<p>dify라는 이름의 새로운 워크스페이스 생성했고, API 키 새로 생성했습니다.
그리고 이렇게 연동을 했을때 어떤 기능들을 허용 할 것인지 설정 할 수 있습니다.
이 API 키를 Dify에 넣어주면 이제 권한이 생기게 된것입니다. <code>어디에?? 제가 설정했던 notion 의 dify 워크 스페이스</code>
<img src="https://velog.velcdn.com/images/yoo_sseung/post/3145a815-8331-470d-9782-e64045ff6788/image.png" alt="">
이제 도구에서 정상적으로 사용 가능 함을 볼수 있게 됬습니다.</p>
<hr>
<br>

<h3 id="2-언어-모델-선택-및-에이전트-설정">2. 언어 모델 선택 및 에이전트 설정</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/7bb6a319-ca4e-4115-8770-a8c982141e7a/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/7407b9cc-4543-480d-ac9b-8f642047c792/image.png" alt="">
모델 설정과 에이전트 설정 모두 <code>비용</code>과 관련 되어있기 떄문에 신중하게 테스트 해주세요.
저는 모델도 낮은 모델과 에이전트 설정의<code>최대 반복 횟수</code>도 2로 줄여놨습니다.
이 값은 LLM 이 어떤 도구를 사용해서 어떤 작업을 시키는 그런 동작들의 반복 가능한 횟수이며 크게 했는데 만족한 결과가 아니라서 계속 반복 한다면 당연히 토큰이 많이 소비 될 것 입니다.</p>
<hr>
<br>


<h3 id="3-테스트">3. 테스트</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/0951d857-5744-4f1e-8292-2f26b80d37b9/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/d880c4c5-578d-4745-98eb-4db3f87d9bc7/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/4b670711-1861-484c-95c1-2c8b97b045d0/image.png" alt="">
노션에 connection 이 잘 되어있는데 실제로 여러 도구를 사용해서 노션에 직접 글을 작성해주길 바랐는데 안되었네요..? 
음 여기서 말고 정확하게 플로우 설정할때 제대로 연결해야 돌아가려나.. 흠 진행해보겠습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/ae0e0d5c-9c85-4730-a744-24f60c6ba312/image.png" alt="">
다시 진행해보고 살펴보니 <code>페이지 생성 단계</code>에서의 응답을 보면 글이 너무 길어서 짤렸다고 나오네요.
2000 이하의 글이 되어한다고해요.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/eb7a79f0-447e-4271-b98c-8279d0a2e65b/image.png" alt="">
프롬프트를 통해서 이번에는 글을 짧게 잘 되었으나, 노션 API 사용하기 위해서는 특정 페이지의 id 혹은 db의 id 등의 정보를 같이 프롬프트에 넣어 줘야 할 것 같습니다.</p>
<hr>
<br>

<h3 id="4-결과">4. 결과</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/81bb283b-d300-42a8-8998-f98cdda3b8d3/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/7f3d3547-fc7e-4eba-9a12-624e7bc43308/image.png" alt="">
결국 해냈습니다.
노션의 API 정보들에 대한 공식 페이지에 일단 가서 제가 알아야할 매개변수나 JSON 형식에 대해서 찾았습니다.
<a href="https://developers.notion.com/reference/intro">https://developers.notion.com/reference/intro</a>
<img src="https://velog.velcdn.com/images/yoo_sseung/post/7d455463-0884-433e-bb7a-07d1caa82f0a/image.png" alt="">
예를 들어 이런 식으로 JSON 형식으로 넣어야 하는 등의 명령어 프롬프팅으로 하였습니다.</p>
<blockquote>
<p>변수에 들어가는 <code>page_id</code>값은 직접 노션에서 공유 버튼 누른 후에 <code>링크 복사</code> 하게 되면 
<img src="https://velog.velcdn.com/images/yoo_sseung/post/d2ed860b-2e9e-411b-9164-56cf78d59a17/image.png" alt="">
<a href="https://www.notion.so/Dify-29bc05f7e89880bebb03fb4597dc1ce9?source=copy_link">https://www.notion.so/Dify-29bc05f7e89880bebb03fb4597dc1ce9?source=copy_link</a>
저의 경우는 이런 링크였는데 여기서 <code>29bc05f7e89880bebb03fb4597dc1ce9</code> 이값이 해당 페이지의 id 값입니다.</p>
</blockquote>
<p>사실 토큰 값도 더 크게 하고, 과정을 더 복잡한 프롬프팅으로 여러 단계를 거치게 할 수도 있는데 토큰이 너무 많이 들면 비용도 아무래도 고려해야하다보니 이정도에서 마무리 하겠습니다. 
참고로 방금 작업에서는 <code>시간 소요 13.32초 토큰 비용 11,414</code> 정도의 cost 였습니다.</p>
<hr>
<br>


<h3 id="5-서비스">5. 서비스</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/1adad449-2037-4aeb-a8b4-98d97648bcbd/image.png" alt="">
방금 제작한 이런 에이전트를 활성화 해두면 URL을 통해서 접근가능합니다.
<img src="https://velog.velcdn.com/images/yoo_sseung/post/69f14bfc-52d3-411d-b6a8-dfde1bdf2be6/image.jpg" alt=""></p>
<p>저는 제 핸드폰으로 해봤는데 정상작동 하네요.
사용안할때는 그냥 비활성화 해두고 제가 필요할때만 사용하면 될 것 같습니다. 혹여 열어두었다가 외부 인원들이 들어와서 토큰 많이 써버리면 안되니까요.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[016. §Dify.ai2 - RAG 해보기]]></title>
            <link>https://velog.io/@yoo_sseung/016.-Dify.ai2-RAG-%ED%95%B4%EB%B3%B4%EA%B8%B0</link>
            <guid>https://velog.io/@yoo_sseung/016.-Dify.ai2-RAG-%ED%95%B4%EB%B3%B4%EA%B8%B0</guid>
            <pubDate>Wed, 29 Oct 2025 00:28:02 GMT</pubDate>
            <description><![CDATA[<h3 id="1지식-넣기">1.지식 넣기</h3>
<p>일단은 agent 에 앞서 먼저 RAG 부터 해보면서 체험해 보려고하는데요.
<img src="https://velog.velcdn.com/images/yoo_sseung/post/3a72de0a-32a1-43bb-a28e-e10ebacd5cd8/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/59cd2536-7896-434b-9d84-174b74d57901/image.png" alt=""></p>
<p>여기서 지식 이라는 부분에 외부 자료를 넣을 수 있습니다.
바로 NotebookLM에서 미리 자료 업로드하는 것과 정확히 같은 이유입니다.
즉 RAG를 위해 필요한 저희가 원하는 정보를 DB에 넣어 두잖아요. 그게 바로 이 첨부자료가 되는 겁니다.
원하시는 자료를 넣어서 진행하면 될 것 같아요. 저는 AI 동향에 관한 PDF자료 첨부했습니다.</p>
<hr>
<h3 id="2-청크-설정">2. 청크 설정</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/d82fac86-5add-4405-b742-4aff68bd4207/image.png" alt=""></p>
<blockquote>
<ul>
<li><code>식별자</code> 는 문서를 구분할때 그 기준입니다.
\n\n 라는 것은 두번 줄 바뀌었을때 말하는 거가 되는 거죠</li>
</ul>
</blockquote>
<ul>
<li><code>최대 청크 길이</code> 는 말그대로 청크의 최대 길이입니다. 나누는 그 글의 조각의 길이를 의미합니다</li>
<li><code>청크 중첩</code> 은 나누는 청크들을 얼마만큼 겹치냐는 겁니다. 칼같이 쪼개지 않고 버퍼를 두는 겁니다. 문맥의 의미적 연관성을 고려한 것입니다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/fcc41f0c-60cd-4335-97d5-304ff926bbdc/image.png" alt=""></p>
<p>저는 500의 최대 청크 길이에 청크 중첩은 50 정도로 해서 <code>preview chunk</code> 를 통해서 제가 첨부한 자료가 어떻게 나뉘게 될 것인지 미리 보았는데요.
각 청크가 최대 500character 이내로 나뉘었으며, 또한 설정했던 대로 <code>청크 중첩</code>이 같은 색으로 표시한것 처럼 잘 chunking 한 것을 볼 수 있습니다.</p>
<br>


<blockquote>
<h3 id="그렇다면-청크를-어떤-사이즈와-중첩을-어느-정도-하는게-과연-효과적-일까요">그렇다면 청크를 어떤 사이즈와 중첩을 어느 정도 하는게 과연 효과적 일까요?</h3>
<p>저도 궁금해서 찾아봤는데 결국 답은 없고 <code>최적의 값을 찾으려면 대상 데이터, 쿼리 유형, 벡터 DB/LLM 제약을 파악한 뒤, 여러 가지 설정을 A/B 테스트하며 측정해보는 것이 효과적입니다</code> 라고 합니다. <br>
작게 쪼개면 retrieval precision이 좋아지지만 문맥 일부가 분리될 수 있고, 너무 크게 하면 context는 풍부해지나 검색 정확도가 떨어질 수 있습니다. 흔히 보이는 아이러니한 상황이네요.
청크 경계는 의미 단위로 나뉘어서 문단 중간에서 끊지 않는 것이 답변 질을 높이는게 당연하게 저도 생각 되는데, 실제 현업에서는 어떻게 해결 할까요? 크게 7가지 방안이 있다고 합니다.
<br></p>
</blockquote>
<h3 id="주요-실전-해결-방안">주요 실전 해결 방안</h3>
<p><code>Recursive Chunking</code>: 복수의 구분자(문단 → 문장 → 마침표/물음표 → 단어 → 글자 순)로 우선순위를 두고 재귀적으로 쪼개는 방식입니다. 먼저 문단 단위로 시도하고, 크기가 너무 크면 문장 단위 등 아래 단계로 내려가며 구조를 최대한 보존합니다. 크기 제한을 만족할 때까지 점진적으로 쪼갭니다.​
<br>
<code>Semantic Chunking</code>: 임베딩 기반으로 인접 문장(또는 문단)들의 의미적 유사도를 계산해, 의미적 단위가 바뀔 때(새로운 주제가 등장) 청크를 나눕니다. 즉, 실제 의미 경계를 직접 감지해 chunk를 잘라 contents split 문제를 완화합니다. 도메인 특화 시스템(법률, 의료 등)에서 많이 쓰입니다.​
<br>
<code>Sliding Window/Overlap</code>: 고전적이지만 강력한 방법으로, chunk 간 겹침(overlap)을 둬서 (중간에 끊겨도) 문맥 일부를 다음 chunk에 중복 저장합니다. 중복 chunk들이 쿼리에 함께 나오며, 정보손실을 줄입니다.​
<br>
<code>Sentence Splitter 활용</code>: spaCy, NLTK 등 NLP 패키지에서 문장/문단 분리기를 적극 활용해 자연스러운 경계에서 청크를 분할하고, code나 표는 별도 전처리 규칙 적용(함수/클래스별, 헤더별 분리 등)합니다.​
<br>
<code>문서 구조 활용</code>: 이미 구조화된 데이터를 쓸 수 있다면(Markdown 헤더, HTML tag, 테이블 schema 등) 구분자(헤더, 구획, 표 등)를 chunk 단위 삼아 가장 의미 있는 단위별로 쪼갭니다. 코드/테이블은 기능별/행별로 쪼개는 전처리를 적용합니다.​
<br>
<code>계층적(Hierarchical) Chunking</code>: 문서의 계층 구조를 meta data로 붙여, retrieval 단계에서 단편(chunk) 하나만 보여주지 않고 인접 상위 단위(부모 chunk, section 등)까지 함께 보여주는 방법도 증가하고 있습니다.​
<br></p>
<h3 id="실제-산업논문-적용-사례">실제 산업/논문 적용 사례</h3>
<p>논문 및 실전 현장에서는 위 전략을 조합하는 것이 대세입니다. 예를 들어, 1차로 semantic chunking/recursive splitting을 하고, 2차로 중첩(overlap)을 더해 retrieval 정확도를 올립니다.​
의미 경계 분할(Sentence Splitter/Embedding clustering)이 가장 retrieval 효과가 높았다는 평가도 있습니다. 실제 SQuAD, HotpotQA 등 데이터셋 실험에서 sentence splitter 기반 chunk와 의미 기반 구분 chunk가 성능이 높다는 사례가 다수 있습니다.​
raw 데이터(스크립트, 로그 등)는 sliding-window + semantic chunking을 병행해 노이즈를 줄이고, 기술문서/매뉴얼/Knowledge Base는 문단/포맷 구조 혜택을 적극 사용합니다.​
<br>
무작정 잘라서 정보가 끊기지 않게 하려면, 구문 구조를 적극 이용하고 NLP/Embedding/Overlap 복합전략을 결합하는 것이 최신 현업과 연구 중인 내용들 이네요.
지금 제가 해보는 dify에서는 기본적으로 재귀적 분할(Recursive Chunking) 기반의 전략을 사용하며, 사용자가 고정된 토큰 크기(max_tokens)와 중첩(chunk_overlap)을 설정할 수 있도록 지원 한거고, 추가적으로 <code>Parent-Child Chunking</code> 기능도 지원하네요.</p>
<br>

<hr>
<h3 id="3-인덱스-모드">3. 인덱스 모드</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/29b4b7f8-1b6d-4490-8a95-b9f9da570af4/image.png" alt=""></p>
<blockquote>
<p>인덱스 모드는 보이는 것 처럼 2가지가 있는데
<code>고품질</code> 은 방금 만든 청크를 의미와 맥락을 담아서 수치화 시켜주는 것 입니다. 이것을 통해 검색 할때 <code>유사도</code> 로 검색하게 되는 것이고,
<code>경제적</code>은 임베딩을 하지 않는 것입니다. <code>키워드</code>를 통해서 검색하는 것 입니다.</p>
</blockquote>
<h3 id="4-모델-선택-및-검색-설정">4. 모델 선택 및 검색 설정</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/66f5fe0e-ab8f-478f-9bcc-0b2882fa8ab0/image.png" alt=""></p>
<p>모델 설정 해주시고, 검색 방법을 선택 할 수 있습니다.
이중 <code>하이브리드 검색</code>이 추천되어있는데 여기서 하단의 <code>의미론적 , 키워드</code> 이렇게 되어있는데 가중치를 조절할 수 있도록 제공하고 있네요.
이후에 저는 <code>임계값 0.7 이상의 top 3에 대해서 가져와</code> 라고 설정했습니다.</p>
<h3 id="5-임베딩">5. 임베딩</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/990fd744-45de-4e85-a781-9880352e25a0/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/8acbc611-152c-4336-b11b-1150eac794bc/image.png" alt="">
임베딩이 완료되면 Dify 문서에서 제가 방금 작업했던 결과를 볼수 있습니다.</p>
<h3 id="6-테스트">6. 테스트</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/a8e7ee46-c12c-42d3-a2f7-c8facce325e1/image.png" alt="">
사실 처음에 같은 질문을 했는데 에러가 발생해서 생각 해보다가, 내가 임계값을 너무 높게 잡았나 싶어서 관련 설정을 없애니까 이렇게 답변이 나오네요.
제가 했던 대로 TOP 3 청크에 대한 정보와 각각의 score가 <code>0.57 0.5 0.38</code> 이렇게 낮아서 안나온게 맞았습니다.</p>
<h3 id="7-채팅-플로우에-적용">7. 채팅 플로우에 적용</h3>
<p>이전에서 챗봇 만들때 플로우 사용했던 것 처럼 방금 만들었던 것을 플로우에 넣어서 동작 해보겠습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/d835b0fd-80df-41a1-9b39-308a941b6ae0/image.png" alt="">
제가 방금까지 만든게 <code>지식</code> 이잖아요. 그래서 <code>지식 검색</code> 노드를 생성하고 제가 방금 생성했던 지식을 넣어 주었습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/c9bfb4e8-a681-42dd-8fd4-8fecf686346d/image.png" alt="">
이전 글에서 챗봇 만들었을때와 유사한 점이 많아서 노드 생성, 연결 하는 부분의 설명은 지나가겠습니다. 위의 사진 처럼 플로우를 작성했습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/a8abae93-a330-4ff8-b232-30424e1af3bd/image.png" alt="">
RAG 테스트했을때와 동일 질문을 했고 다음과 같은 답변을 해주네요.</p>
<h3 id="8-소감">8. 소감</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/e5b4b5a9-6f40-4cb0-8d70-3d43225c2ae1/image.png" alt="">
답변을 보았을때 실제 자료에서의 빨간 박스 내용들이 사용되었겠구나 라는 것을 짐작 할 수 있네요.</p>
<p>이번엔 만약 제가 방금 생성했던 <code>지식</code>이 없이 플로우 진행하면 어느 수준의 답변이 나올지 보겠습니다.
<img src="https://velog.velcdn.com/images/yoo_sseung/post/f3030c23-de8a-4a36-8e0b-01ad640682e5/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/84d311da-e672-4c58-9606-bb46c1344071/image.png" alt="">
네 이런식으로 답변의 차이가 나네요.
이렇게 본인이 원하는 <code>특정 지식이나 도메인에 대한 정보</code>를 넣어보고 사용해 보았습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[015. §Dify.ai1 - AI agent 쉽게 만든다고? 챗봇부터 해보기]]></title>
            <link>https://velog.io/@yoo_sseung/015.-Dify.ai1-AI-agent-%EC%89%BD%EA%B2%8C-%EB%A7%8C%EB%93%A0%EB%8B%A4%EA%B3%A0-%EC%9D%BC%EB%8B%A8-RAG-%EB%B6%80%ED%84%B0-%ED%95%B4%EB%B3%B4%EA%B8%B0</link>
            <guid>https://velog.io/@yoo_sseung/015.-Dify.ai1-AI-agent-%EC%89%BD%EA%B2%8C-%EB%A7%8C%EB%93%A0%EB%8B%A4%EA%B3%A0-%EC%9D%BC%EB%8B%A8-RAG-%EB%B6%80%ED%84%B0-%ED%95%B4%EB%B3%B4%EA%B8%B0</guid>
            <pubDate>Wed, 22 Oct 2025 03:11:48 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/843a5b5d-b362-4d41-ab9b-d943821f8f8d/image.png" alt="">
저에게 이런 이메일이 왔었는데요.
코엑스에서 열리는 AI summit 전시회에 관련된 메일이였습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/ba7ecb18-7b52-4daa-9331-1f318882a618/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/c2138fc4-b268-4b90-953c-1f03ee590b1d/image.png" alt="">
2025년까지 기업의 25%가 자율 에이전트를 활용할 것이며 2년 뒤인 2027년에는 이 비율이 50%까지 육박할 것이라고 전망하는데요.
그래서 그런지 취업 공고를 보게되면 AI agent에 대한 관심이 정말 많고, 많은 회사들에서 모집하는 직무인데요.
여기서 <code>Dify.ai</code> 를 통해서 <code>AI agent</code>를 쉽게 만들고 운영할수 있다는 강의를 11월 10일에 제공 한다고 하는데..
저는 개인적으로 처음 봐서 직접 Dify.ai를 이용해서 간단한 agent라도 한번 만들어 보겠습니다.</p>
<blockquote>
<p>LLM에 물어본 Dify의 특징과 장점은 다음과 같습니다.
특징
노코드·로우코드 플랫폼: 시각적 워크플로우 빌더와 프롬프트 IDE를 제공해 코딩 없이 AI 앱과 에이전트를 개발할 수 있습니다.
멀티 모델 지원: OpenAI, Anthropic, Hugging Face 등 다양한 LLM과 연결 가능해 유연한 모델 선택이 가능합니다.
RAG 기반 AI 구축 가능: 문서 기반 검색형 질문응답 시스템을 쉽게 만들 수 있으며, 지식베이스 자동 구축 기능을 제공합니다.
에이전트 &amp; 플러그인 아키텍처: 다중 AI 에이전트 간 협업과 외부 API 연동으로 자동화 및 복잡한 워크플로우 구현이 가능합니다.
셀프 호스팅 및 클라우드 모두 지원: 보안이 중요한 기업 환경에 맞게 자체 서버에 설치 가능하며 클라우드 서비스도 제공합니다.
통합 모니터링: API 호출, 토큰 사용량, 세션 상태 등을 실시간 관리할 수 있어 운영 효율성이 높습니다. <br>
장점
개발 용이성: 코딩 경험이 적어도 빠르게 AI 서비스와 에이전트를 만들 수 있어 초보자뿐 아니라 전문가에도 적합합니다.
유연한 확장성: 다양한 모델과 플러그인을 자유롭게 조합해 맞춤형 AI 시스템 설계가 가능합니다.
비용 효율성: 무료 버전과 오픈소스 커뮤니티 에디션 제공으로 초기 비용 부담 없이 시작할 수 있습니다.
운영 안정성: 실시간 모니터링과 자체 호스팅으로 안정적인 서비스 운영과 데이터 통제가 가능합니다.
오픈소스 생태계: 커뮤니티와 함께 발전하며, 소스코드 열람 및 수정이 가능합니다.</p>
</blockquote>
<hr>
<h3 id="1결과">1.결과</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/69d06192-a57a-457e-b1de-37b779ccaa32/image.png" alt="">
먼저 결과를 보자면 저는 뉴스 정보를 가져와서 답변을 제공하는 식으로 간단하게 진행을 하였습니다.
그 과정에 대해서 <code>시작 -&gt; TAVILY SEARCH -&gt; LLM -&gt; 답변</code> 의 플로우이며 각 과정에서 어느 정도 시간이 소요되었는지와 인공지능 모델의 사용 되어진 토큰 수도 나옵니다.</p>
<h3 id="2-과정">2. 과정</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/b8a02335-04e0-4b5d-8229-c5aa85601a0b/image.png" alt="">
전체 흐름은 이렇게 구성하였습니다.
<br></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/047f6e3b-e566-4bed-8d10-601f99720daf/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/76fac7e5-93b7-4a48-8bff-bde34c445574/image.png" alt="">
먼저 <code>tavily</code> 라는 도구를 <code>market place</code>에서 설치를 하고, 보이시는 이미지 처럼 본인의 API 키를 발급 받으면 <code>1000 credit</code> 제공 해주니 이것으로 가볍게 저처럼 테스트 하면 될 것 같습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/5005ea42-054b-490d-a197-6a4ac88a077d/image.png" alt="">
여러가지 변수들이 있지만 일단 저는 <code>뉴스</code> 정보를 최근 <code>7일</code> 동안을 통해서 가져오도록 하였고, 그전에 매개변수로 <code>sys.query</code> 가져와서 제일 처음 시작하는 부분의 값이 매개변수다 라고 생각하시면 될 것 같습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/f2e26134-c861-4765-b29a-2bd43a916d5b/image.png" alt="">
다음 노드에서는 이렇게 <code>tavily 를 통해서 검색한 뉴스 정보 즉 String 타입으로 받아온 text</code>를 이후에 LLM에 넣게 되는 거고,
여기서 다들 잘 아시겠지만 <code>시스템 프롬프트</code>와 <code>유저 프롬프트</code>를 작성하여 LLM에 묻게 됩니다.
 시스템 프롬프트는 AI가 어떻게 동작할지 미리 정하는 설정값이고, 유저 프롬프트는 AI에게 실제로 작업을 요청하는 사용자의 입력입니다. 
예를 들어 시스템 프롬프트에 <code>당신은 뉴스 결과를 요약 해주는 초압축 뉴스 요약 도우미입니다.</code> 이런식의 설정을 하고,
유저 프롬프트에서는 <code>다음 뉴스 기사를 3문단으로 요약해 주세요. 핵심 내용 위주로 간결하게 전달하고, 이해하기 쉽게 작성해 주세요.</code> 등의 방식으로 하는 겁니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/b472d6b2-2b52-43af-8d83-7c29737051b6/image.png" alt="">
이후 최종에서는 LLM 을 통해 나온 <code>text 형식의 답변을 얻게 됩니다.</code></p>
<h3 id="3-마지막-실행-결과-확인">3. 마지막 실행 결과 확인</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/ef482371-a63d-4391-bcd0-47627f94bc8f/image.png" alt="">
이런 식의 결과가 나왔고, 각 노드 단계에서 <code>마지막 실행</code>에 대한 정보를 살펴 볼 수 있는데요.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/69c2ca75-03d2-461c-9bbb-436a23f1f081/image.png" alt="">
시작 단계에 서 이런 식의 입력이 있었고 저는 이중 <code>sys.query 값을 아까 매개변수</code>로 사용했기 때문에 제가 채팅에서 했던 질문이 넘어가게 되는 것입니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/5d5992fe-02ec-43ee-818c-efcdf19952d2/image.png" alt="">
이 입력에 대해서 tavily에서 뉴스 기사를 서치 했고, 그 결과가 content에 들어있네요.
저기 밑에 있는 실제 URL 들어가보겠습니다.
<a href="https://www.hrdive.com/news/why-employees-dont-negotiate-compensation/803596/">https://www.hrdive.com/news/why-employees-dont-negotiate-compensation/803596/</a></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/b7a95206-c039-4abb-826d-4ccb0ab29aa2/image.png" alt="">
뉴스 기사 중 해당 내용을 토대로 답변을 했다는 것을 확인 할 수 있네요.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/09176419-2d07-44ab-9ff3-277116d8f1a1/image.png" alt="">
LLM 단계에서는 <code>입력 -&gt; 데이터 처리 -&gt; 출력</code> 등에 대해서 살펴볼수 있게 되었고,
Prompt로 묵여서 그 안에 위에서 설명한 시스템 프롬프트 + 유저 프롬프트 등으로 작성되어있고,
<img src="https://velog.velcdn.com/images/yoo_sseung/post/7516c867-aefe-4172-81f8-3e4bee5909e2/image.png" alt="">
여기서 보이는대로 제가 사용한 토큰이 얼마이며, 그게 USD로 어느정도 사용했다. 그리고 걸린시간은 4초정도 된다 등의 여러 정보도 함께 옵니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/075a0431-706e-4192-bba7-3d076e3caf06/image.png" alt="">
출력 단계에서 text 가 최종 답변에서의 <code>text 변수</code>로 받았던 값이 되며 결과에서 제가 보이는 글로 나오게 된 것입니다.</p>
<h3 id="4-소감">4. 소감</h3>
<p>가장 간단하게 한번 구현해보고 어떤식으로 실제 동작하는지 살펴봤는데 확실히 코드로 작성안하고 시각적인 워크 플로우로 오랜만에 해보니까 재미있네요. 이런 거는 개인적으로 예전에 <code>유니티 볼트</code> 한번 맛봤던 적이 있는데 그런 기분 이였습니다. </p>
<br>
개인적으로 아까 뉴스 기사를 외국 기사를 첨부하길래 아무래도 서비스가 외국 도구이니까 그런 건가??? 궁금했습니다.
이미 뉴스기사를 찾은 뒤에 LLM 프롬프트가 동작하기 때문에 만약 이미 외국 기사를 찾았다면 질문에서 한국 뉴스 정보 토대로 해달라고 하여도 외국에서 네이버, 다음 등등의 한국 관련 뉴스 정보가 아니라 외국 사이트에서 찾지 않을까 봤는데 다행스럽게도 매개변수에 국가 설정도 있었습니다.  

<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/009e760d-f4e9-4bdf-9f89-9768576969f1/image.png" alt="">
동일한 질문을 해보고 이번에는 어느 사이트를 통해서 어느 뉴스 기사를 가져오는지 봐보겠습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/0d19601b-cdb1-44da-8957-9766fff9b1d7/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/1596752a-837b-46e7-9819-7810934f731f/image.png" alt="">
국가 설정을 했음에도 불구하고 여전히 hrdrive에서 정보를 가져오고 
<img src="https://velog.velcdn.com/images/yoo_sseung/post/969361db-aee8-4fdd-b02a-6f2cf5da9479/image.png" alt="">
<code>korea</code>라는 단어가 애초에 뉴스 기사에 없네요. 아쉽게도 영어 기반의 정보가 더 정확하게 나올 것 같다는 생각이 듭니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[014. §나노 바나나1 - 구글이 무슨 바나나 만든건데..?]]></title>
            <link>https://velog.io/@yoo_sseung/014.-%EB%82%98%EB%85%B8-%EB%B0%94%EB%82%98%EB%82%981-%EA%B5%AC%EA%B8%80%EC%9D%B4-%EB%AC%B4%EC%8A%A8-%EB%B0%94%EB%82%98%EB%82%98-%EB%A7%8C%EB%93%A0%EA%B1%B4%EB%8D%B0</link>
            <guid>https://velog.io/@yoo_sseung/014.-%EB%82%98%EB%85%B8-%EB%B0%94%EB%82%98%EB%82%981-%EA%B5%AC%EA%B8%80%EC%9D%B4-%EB%AC%B4%EC%8A%A8-%EB%B0%94%EB%82%98%EB%82%98-%EB%A7%8C%EB%93%A0%EA%B1%B4%EB%8D%B0</guid>
            <pubDate>Tue, 21 Oct 2025 04:41:09 GMT</pubDate>
            <description><![CDATA[<p>나노 바나나(Nano Banana)는 2025년 8월에 처음 등장한 구글의 차세대 AI 이미지 생성 및 편집 모델로, 공식 명칭은 Gemini 2.5 Flash Image입니다.
이름은 코드명(별칭)으로 기존의 AI 이미지 생성기들이 겪던 <code>일관성 붕괴 문제</code>를 해결하기 위해 개발된 것이 특징입니다.</p>
<p>저도 소개를 봤었을때 <code>일관성</code> 문제를 해결했다고 하는데 과연 무엇이 다른 건지 사용해보면서 차차 알아보겠습니다.</p>
<p>원래 기존에는 모델 자체의 한계로 인해서 보통은 <code>seed</code> 조작을 통해서 일관성을 수동적으로 보정을 했었습니다. 근데 이것 또한 장면이 바뀔때는 효과가 거의 없었습니다.
또 <code>레퍼런스 자료</code>를 첨부해줘서 도움을 주는 방식이였는데요.</p>
<p>이 나노바나나 친구는 기존의 확률적 생성 방식을 보완하기 위해서 <code>맥락 기반 프롬프트 재귀 해석(Context Anchored Loop) + 특징 잠금(Feature Locking)</code> 을 통해서 해결 했다고 합니다.
이 말은 모델 내부에서의 시각 특징을 벡터 단위로 잠그고, 문맥 루프를 통해서 프레임 간 변화를 추적하고 조정하는 방식으로 해결했다고 하는데요.</p>
<blockquote>
<p>즉 머리카락, 눈, 의상등 이런 특징들을 벡터 공간에서 고정하고 나중에 프롬프트에서 어떤 요구가 있을때 기존의 이 벡터 좌표로 mapping되어 사용된다고 합니다.</p>
</blockquote>
<p>직접 한번 사용해보면서 느껴보겠습니다.</p>
<hr>
<p><a href="https://nanobanana.ai/ko">https://nanobanana.ai/ko</a>
<img src="https://velog.velcdn.com/images/yoo_sseung/post/3afebd26-59d1-4d4d-8711-f9e5580897a5/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/00be1d3e-2216-4cca-8ee9-0f570517f3ad/image.png" alt="">
요금제는 이렇게 형성 되어 있는데 일단 저는 무료로 체험해보겠습니다!</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/936f86b9-f77b-4ffc-ac3e-38818d0374c8/image.png" alt="">
구글 로그인하면 <code>2 credit</code> 제공해주네요.</p>
<hr>
<h3 id="image-to-image-테스트">image to image 테스트</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/3a7fcdbe-078f-40b5-96d9-f2ff63859135/image.png" alt="">
약 2~5분 정도 걸린다고 했는데 제 경우에는 약 1분정도 소요된 것 같습니다.
이 시간동안 </p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/c5d1fb8d-8953-450d-890b-98c16ae91969/image.png" alt="">
제가 후드티 쓰고 있는 모습이 거북이 같다고 친구가 해서 <code>거북이 모양의 메론 크림빵으로 생성해줘</code> 했는데요.
결과를 보니 <code>옷의 질감과 후드쪽의 회색 라인</code>을 그대로 가져와서 메론 크림빵을 생성해준것 같습니다.
이게 나노 바나나 원리에 있는 <code>벡터 공간에서의 Feature Locking</code> 인것 같습니다.</p>
<p>이후에는 <code>맥락 기반 프롬프트 재귀 해석 (Context Anchored Loop)</code> 를 테스트 해보고 싶은데 주어진 2크레딧으로는 한번의 이미지 생성밖에 하지 못해서...
이전 이미지의 특징과 프롬프트를 기억한뒤 Loop를 통해서 렌더링하여 좋을 결과를 보여주는 기능을 체험 못해보는게 아쉽네요...
돈 쓰기 아쉬워서... 이 부분은 이미 높은 수준의 Feature Locking된것 봤을때 일관성 유지도 기대 할 수 있을 것 같습니다..
이 부분은 다른 분들께서 하셨던 자료 있으면 첨부하겠습니다.</p>
<p><a href="https://brunch.co.kr/@cd29ea9438074ec/3">https://brunch.co.kr/@cd29ea9438074ec/3</a>
이 분의 블로그 글을보면 비교해주신 이미지들이 있어서 확인해보시면 좋을 것 같습니다.
<img src="https://velog.velcdn.com/images/yoo_sseung/post/368fd640-a24b-4d90-8e7e-be957eeb4cd5/image.png" alt="">
제 눈에는 각도 테스트도 자연스럽고, 인물의 특징도 그대로 잘 유지하는 것 같습니다.</p>
<hr>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/33951a77-8fd7-4151-9f4c-fb44fabb49dd/image.png" alt=""></p>
<p>마지막으로 아까는 그냥 거북이 인형 처럼 나와서 <code>거북이 모양의 메론 크림빵 코스프레 옷을 입은 사람, 
일본 베이커리</code> 로 프롬프트를 작성했습니다. </p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/322254ed-6c6e-4919-82ca-50981db86d81/image.png" alt=""></p>
<p>자세히보면 메뉴들이 일본어로 적힌 것 같고, 심지어는 제가 원치 않는 제 수염 자국도 벡터 공간에 이미 저장 되었나봅니다😅😅
너무 자연스럽게 제 얼굴이 표현되서 만족스럽네요.</p>
<hr>
<h3 id="후기">후기</h3>
<p>한번 벡터 공간에 저장되면 그 값을 계속 이용하여 다음 이미지들을 생성해 주기때문에 이미지 제작하며 원치 않는 <code>특징(featrue)</code> 가 한번 벡터 공간에 저장되면 안될 것 같다고 생각했습니다.
일종의 노이즈가 저장된다면 계속 그 값이 사용될것 이기 때문에 중간에 한번씩 새로운 이미지로 깨끗하게 원하는 정보만 들어있는 예를 들면 인물의 <code>여권 사진</code> 같은 기본 이미지를 넣어주고 이를 이용해서 다양하게 활용하면 좋을 것 같습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[013. §캡챠 뚫기1 - 문자 캡챠 정도야 충분히 뚫을수 있지 않나?]]></title>
            <link>https://velog.io/@yoo_sseung/013.-%EC%BA%A1%EC%B1%A0-%EB%9A%AB%EA%B8%B01-%EB%AC%B8%EC%9E%90-%EC%BA%A1%EC%B1%A0-%EC%A0%95%EB%8F%84%EC%95%BC-%EC%B6%A9%EB%B6%84%ED%9E%88-%EB%9A%AB%EC%9D%84%EC%88%98-%EC%9E%88%EC%A7%80-%EC%95%8A%EB%82%98</link>
            <guid>https://velog.io/@yoo_sseung/013.-%EC%BA%A1%EC%B1%A0-%EB%9A%AB%EA%B8%B01-%EB%AC%B8%EC%9E%90-%EC%BA%A1%EC%B1%A0-%EC%A0%95%EB%8F%84%EC%95%BC-%EC%B6%A9%EB%B6%84%ED%9E%88-%EB%9A%AB%EC%9D%84%EC%88%98-%EC%9E%88%EC%A7%80-%EC%95%8A%EB%82%98</guid>
            <pubDate>Mon, 20 Oct 2025 07:56:33 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>먼저 제가 했던 것을 github repo에 올려두었습니다. <br>필요하시면 들어가서 코드 확인해 보세요!
<a href="https://github.com/YooSeungHo0124/CaptchaSolver/tree/main">https://github.com/YooSeungHo0124/CaptchaSolver/tree/main</a></p>
</blockquote>
<br>


<p>특정 사이트들을 방문해보면 캡챠 등의 방식으로 로봇이 아닌 실제 유저가 사이트를 이용하는지 확인 하고는 한다.
여기서 최근의 <code>인간의 지능</code>을 이용하는 그런 테스트하는 그런 테스트는 통과하기 힘들겠지만 간단한것은 충분히 하지 않을까 생각했다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/13adcf85-18a2-492b-8fe9-052b94357746/image.png" alt="">
이런 문제에 대해서도 충분한 훈련을 하면 어느정도 정확도로 맞추는 것을 보았는데, 간단한 <code>문자열 캡챠</code>에 대해서는 실제 CNN 모델에서 99% 정확도를 보였다는 논문도 보았는데,
제가 간단하게 <code>streamlit</code> 이용해서 페이지에서 캡챠를 만들고 풀수있는지 테스트 해보려고 합니다.</p>
<hr>
<h3 id="테스트">테스트</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/b04b3221-af95-4dbd-9025-9fd6dead705d/image.png" alt="">
간단한 CNN 모델 구조를 만들고 테스트 해봤을때는 굉장히 낮은 수준으로 나왔어.</p>
<p>실제 <code>HJ758</code> 이라는 정답에 대해서 <code>RGLSE</code>라는 오답을 냈어.
그래서 논문을 보고 참고해보려고해</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/8a0feaa9-3851-43ec-a04a-5f472afc17bb/image.png" alt=""></p>
<p>이 논문에서 나왔던 구조 대로 모델 구조를 했습니다.
<img src="https://velog.velcdn.com/images/yoo_sseung/post/63de2e25-4772-4cb5-9a76-1925067b7b86/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/ddd3a124-ca77-4a81-a497-0bbbf6b855b8/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/a956da46-5a1e-4cf8-ae8a-87b000cc1418/image.png" alt="">
논문의 구조대로 하였음에도 못하는 것 봤는데,
인식할 캡챠를 인간인 제가 보더라도 저 정답인지 모르겠어서 이미지의 크기를 늘리고 왜곡을 줄인,
일단은 기본적인 문자열을 제대로 인식할수있는지 부터 테스트하고, 잘한다면 조금씩 왜곡을 늘려보겠습니다.</p>
<hr>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/d0f49ce6-161c-45b9-a762-eaf5d506780f/image.png" alt="">
이번에는 제눈에는 이제 제대로 보이는데 여전히 AI는 잘 인식 못하고 있네요.
<img src="https://velog.velcdn.com/images/yoo_sseung/post/e8e3ab1a-e2e7-42e1-a100-35d5d8cce3ee/image.png" alt="">
그런데 왜이렇게 말도 안되는 정확도일까요?</p>
<p>원인을 찾아서 멀티모달의 힘을 빌렸습니다! (ChatGPT)</p>
<blockquote>
<p>BCEWithLogitsLoss -&gt; CrossEntropyLoss 로 Loss 값 구하는 방식을 변경 하였습니다.
<br></p>
</blockquote>
<ol>
<li>목표(ground truth)와 가정 불일치
캡챠는 각 문자 위치마다 정확히 하나의 정답이므로 CrossEntropyLoss의 가정(softmax → one class high prob)과 맞습니다.
BCE는 “여러 클래스가 동시에 참일 수 있다”고 가정하므로, 그 손실 함수를 최소화하는 최적 해와 single-label 최적 해가 달라질 수 있습니다.<br></li>
<li>학습 및 예측 방식 불일치
예측 단계에서 argmax(각 위치의 가장 큰 로짓 선택)를 사용하는데, BCE는 개별 클래스별 sigmoid로 최적화 됐습니다.
sigmoid로 독립 확률을 만들면 argmax가 의미는 있으나, BCE가 권장하는 해법은 각 클래스의 활성/비활성(0/1) 판정(예: threshold)입니다. 이 mismatch가 수렴/정확도 산출에 악영향을 줍니다.<br></li>
<li>정확도·지표 문제
BCE로 학습하면 모델 출력이 여러 클래스에 약하게 값이 올라가는 경향이 생길 수 있고, argmax로 판정했을 때 정답과 일치하지 않으면 전체 문자열 정확도(full exact match)가 계속 0이 될 수 있습니다.
즉, 손실은 내려가는데(확률들이 바뀌고 있음) 정답을 정확히 맞히는 방식(argmax)이 잘 나오지 않음 — 딱 지금 로그에서 관찰된 현상입니다.<br></li>
<li>수치 안정성 및 상호경쟁(competition) 부재
softmax + CrossEntropy는 클래스들 간에 경쟁(softmax에 의한 정규화)이 있어 확실히 한 클래스가 튀어 나오게 학습됩니다. BCE는 그런 경쟁이 없어서 출력 분포가 퍼지는 경향이 있습니다.<br>
이러한 좀더 자세한 설명이 있지만 한마디로 정리해서 생각하면 `캡챠의 각 자리 문자를 독립적인 다중 클래스 문제로 처리하기 위해 Loss를 바꾼 것` 이라고 이해하면 될 것 같습니다.


</li>
</ol>
<hr>
<h3 id="긍정적인-결과">긍정적인 결과</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/0dfa972b-33f4-41b6-84fe-66d73b83eeb9/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/fc401813-5a4a-4a45-a1f7-de6254422ad9/image.png" alt=""></p>
<p>그렇게 50번 에포크로 점차 긍정적인 그래프를 보여주게 되고 있습니다. 시간을 더 들여서 늘린다면 더 낮은 Loss 값 나오겠지만..
GPU도 없이 그냥 CPU로 동작중이라서 이정도만 하겠습니다.</p>
<blockquote>
<p>Train Char Acc: 90.58% - 훈련 데이터의 개별 문자를 90.58% 정확도로 인식
Train Full Acc: 65.21% - 훈련 데이터의 캡챠 전체를 65.21% 정확도로 인식</p>
</blockquote>
<p>즉 훈련 결과 전체 훈련 데이터 개별 문자에 대해서는 90퍼센트 이상 정확도로 맞추고
캡챠 전체에 대해서는 65퍼센트 이상 정확도로 인식한다  라는 것 이면,,
엄청 높은 수준은 아니지만 <code>테스트로써 유의미했다?</code> 정도로 마치면 될 것 같습니다.</p>
<p>당연한 말이지만 더욱 정제된 데이터, 더 많은 데이터, 더 많은 연산 시간이였다면 당연히 더 낮은 Loss값과 정확도를 보였겠지만
현재 조건에서 이정도 훈련도 시간이 좀 걸리는 만큼 마치겠습니다!</p>
<hr>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/acabeef1-7466-4e29-a835-a36ece3c3735/image.png" alt="">
streamlit을 활용해서 간단하세 어떤식으로 되는지 코드 구현해놨고 github에서 확인 하실수 있도록 하겠습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[012. §이미지 처리2 - 유튜버 이미지 제작 후기!]]></title>
            <link>https://velog.io/@yoo_sseung/012.-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%B2%98%EB%A6%AC2-%EC%9C%A0%ED%8A%9C%EB%B2%84-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%A0%9C%EC%9E%91-%ED%9B%84%EA%B8%B0</link>
            <guid>https://velog.io/@yoo_sseung/012.-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%B2%98%EB%A6%AC2-%EC%9C%A0%ED%8A%9C%EB%B2%84-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%A0%9C%EC%9E%91-%ED%9B%84%EA%B8%B0</guid>
            <pubDate>Sat, 18 Oct 2025 03:38:33 GMT</pubDate>
            <description><![CDATA[<p>시리즈 이전 글을 살펴보시면 아스키 코드로 <code>유튜버 배말랭님</code> 에게 opencv 이용해서 간단하게 팬아트 제작 했었는데요.
영상 마지막에 제 아트가 나와서 기쁜 마음에 들고 왔습니다.</p>
<hr>
<p>!youtube[aEab08CYKr8]
저도 요리 하는 것 좋아하는데 이북식 찜닭 만들어서 먹는 영상이였네요.</p>
<p>제가 scale에 따라서 비율을 달리하여 4장의 사진을 제작 했었는데 영상 마지막 부분에 보시면 <code>저화질 -&gt; 고화질</code>로 점차 변화하도록 감사하게도 편집 해주셨습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/02086aa0-da5a-4477-ac15-9219b1af8d2c/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/f441224f-6513-4175-b579-962a8f8a11e0/image.png" alt="">
감사해서 댓글도 달았는데 좋아요 해주신분들도 있으셔서 좋네요..!</p>
<p>정말 별건 아니지만 이런 것도 <code>사회적 기여</code>라고 봐도 될까요?
앞으로도 엉망진창 이것저것 하다보면 정말 많은 사람들에게 도움이 되는 서비스를 제작하고 있지 않을까요?
감사합니다 😆 </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[011. §AI영상5 - 몇일 뒤 조회수확인]]></title>
            <link>https://velog.io/@yoo_sseung/0011.-AI%EC%98%81%EC%83%815-%EB%AA%87%EC%9D%BC-%EB%92%A4-%EC%A1%B0%ED%9A%8C%EC%88%98%ED%99%95%EC%9D%B8</link>
            <guid>https://velog.io/@yoo_sseung/0011.-AI%EC%98%81%EC%83%815-%EB%AA%87%EC%9D%BC-%EB%92%A4-%EC%A1%B0%ED%9A%8C%EC%88%98%ED%99%95%EC%9D%B8</guid>
            <pubDate>Sat, 18 Oct 2025 03:26:04 GMT</pubDate>
            <description><![CDATA[<p>제가 Kling이라는 도구를 이용해 개인적 공유를 위해서 youtube에 public으로 영상을 올려 두었는데요.
아무도 안봐서 10자리수도 안될줄 알았는데 그래도 백단위가 되었습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/61b9af6a-53d8-4e5d-a62d-9b14316d39f6/image.png" alt=""></p>
<p>5초짜리 짧은 영상인데도 어떻게 운좋게 알고리즘을 탄건지 별도의 영상 설명이나 다른 내용이 없는데 사람들이 아무래도 air force 신발 때문에 <code>뭐지???</code> 하고 보다가 금방 5초 영상이 끝나서 조회수 카운팅 되었을 수도 있겠네요.</p>
<p>저의 저정도 수준의 영상도 100단위 조회수가 나온 것 보았을 때 요즘 <code>공들인 1분 영상 + 편집 기술(자막 + 배너 + tts + bgm) + 구독자</code> 정도로 요소가 더 추가되면 확실히 몇만 조회수 될 수 있겠다는 생각이 드네요.
다만 앞으로 이런 영상 수익으로 돈벌이 하려면 불쾌한 골짜기 문제를 확실히 없앤 높은 퀄의 영상으로 할지 혹은 양산형으로 할지 노선을 정해서 해야 되지 않을까? 하는 생각도 드네요.
어쨌든 나름 100 조회수 넘겨서 기쁜 마음에 몇자 적어봤습니다!. 감사합니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[010. §시니어 개발자 주석 - 2003년 개발자들의 주석은 어떤 식이였을까?]]></title>
            <link>https://velog.io/@yoo_sseung/0010.-%EC%8B%9C%EB%8B%88%EC%96%B4-%EA%B0%9C%EB%B0%9C%EC%9E%90-%EC%A3%BC%EC%84%9D-2003%EB%85%84-%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%93%A4%EC%9D%98-%EC%A3%BC%EC%84%9D%EC%9D%80-%EC%96%B4%EB%96%A4-%EC%8B%9D%EC%9D%B4%EC%98%80%EC%9D%84%EA%B9%8C</link>
            <guid>https://velog.io/@yoo_sseung/0010.-%EC%8B%9C%EB%8B%88%EC%96%B4-%EA%B0%9C%EB%B0%9C%EC%9E%90-%EC%A3%BC%EC%84%9D-2003%EB%85%84-%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%93%A4%EC%9D%98-%EC%A3%BC%EC%84%9D%EC%9D%80-%EC%96%B4%EB%96%A4-%EC%8B%9D%EC%9D%B4%EC%98%80%EC%9D%84%EA%B9%8C</guid>
            <pubDate>Mon, 13 Oct 2025 02:09:12 GMT</pubDate>
            <description><![CDATA[<p>어느 덧 벌써 10번째 글이네요.
정말 주제를 제가 자기 전에 혹은 자고 일어나서 생각 나는 것들이나 기사나 재밌는 정보를 찾아보면 저도 해보고 있는 건데 이번에는 나름 10번째 글 기념으로 가벼운 주제로 해보면 좋을 것 같습니다.</p>
<p>바로, <code>주석</code>에 관한 것 입니다.
코딩 하게 되면 보통 코드의 동작이나 이 메소드에 대한 설명 등을 통해서 나중에 인수인계 하거나 협업할때도 서로가 이해가 될 수 있도록 작성하는 것이고,
비슷한 이유로 변수 같은 것도 Naming rule에 따르고 해당 변수의 목적?? 이유에 따라서 지어지게 되는데 이미 현업에서 개발하고 있는 사람들의 주석 들을 github 오픈 소스 같은데 가더라도 보이는데 재밌는 것을 찾아서 저도 찾아보려구요</p>
<hr>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/094693b3-52d0-460b-9285-60ecad6d88bf/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/5b5178fe-a04d-42b2-9bfc-b0ea7306e4e9/image.png" alt=""></p>
<p>이 게임 아시나요? 저는 사실 이번에 처음 들었는데 심슨 캐릭터로 만든 뭔가 옛날의 GTA 같은 느낌인거 같이 생겼네요</p>
<p>사실 이 게임이 2003년도에 출시 했던 20년도 전의 게임인데 소스 코드가 유포??? 공유가 되어서 같이 보면서 20년 전의 현업 개발자들은 어떤식으로 주석을 하고 변수명을 했는지 살펴 보겠습니다.</p>
<blockquote>
<p><a href="https://github.com/Svxy/The-Simpsons-Hit-and-Run">https://github.com/Svxy/The-Simpsons-Hit-and-Run</a>
이곳이 해당 게임의 소스 코드 깃헙 링크입니다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/878d2fea-3964-4c77-bcfe-bd639c0b6a72/image.png" alt="">
README 보시면 어디선가 유출 되었고 본인이 조금 정리해서 올려두었다고 하네요?</p>
<br>

<hr>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/2ea7455e-a792-4a68-8d5b-53654b780fac/image.png" alt="">
컴파일러가 계속 경고하니까 마음에 안들었나봅니다
그래도 주석 처리 된거 보니까 결국 저 변수 없이 잘 해결되었나봐요</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/49fe874a-a802-4cff-84be-106d03de1aaa/image.png" alt="">
아마도 별로 이름이 필요없는 파라미터였겠죠..? 예전 부터 F word를 참 좋아하는 것 같습니다</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/3e5e11e2-85a9-4641-ad98-6fc4e078e380/image.png" alt="">
물론 이렇게 친절하게 어떤 이유때문에 이런 방어 코드 추가 했는지 적은 주석도 있었습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/2003a161-7f66-4cd6-9f59-f74055934140/image.png" alt="">
여기서는 개발자가 실패조건이 없는 것을 보고 화가 났네요..?</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/683f2bb4-11f6-4faa-8934-74f65053b909/image.png" alt="">
cosmic rays? 우주 방사선 같은 느낌을 말한것 같은데 갑자기 우주 방사선 때문에 코드가 잘못됬다고 말하는 것 같네요?</p>
<hr>
<br> 

<p>가볍게 이정도 파일 살펴 보겠습니다.
20년전 현업 개발자들도 이렇게 크게 필요하지 않는 변수에는 가볍게 변수명을 만들거나
이해가 되지 않는 상황에 대해서는 저렇게 주석 처리도 해서 재밌게 표현 한 것 보니까
예전이나 지금이나 사람은 다 똑같다고 느꼈습니다.
<code>특히 현업 코드인데 이렇게 욕해도 된다는게..과연 한국이여도 이래도 됬을까 싶네요? 불려가서 혼나지는 않을지...</code> 
저는 잘몰라서.. 혹시 해보신 현업자분 있으면 알려 주세요</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[009. §챗봇 - RAG? RangChain? AI agent? micro domain ai agent 쉽게 구현하기 with NotebookLM]]></title>
            <link>https://velog.io/@yoo_sseung/009.-%EC%B1%97%EB%B4%87-RAG-RangChain-AI-agent-micro-domain-ai-agent-%EC%89%BD%EA%B2%8C-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-with-NotebookLM</link>
            <guid>https://velog.io/@yoo_sseung/009.-%EC%B1%97%EB%B4%87-RAG-RangChain-AI-agent-micro-domain-ai-agent-%EC%89%BD%EA%B2%8C-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-with-NotebookLM</guid>
            <pubDate>Fri, 10 Oct 2025 07:03:53 GMT</pubDate>
            <description><![CDATA[<p>NotebookLM을 활용해서 저번에는 논문 내용을 쉽게 이해하는데 사용했었습니다.
이후에 어떤 식으로 활용 할 수 있을지 생각을 했었는데 저번에 제가 좋게 생각했던 <code>마인드맵</code> 기능과 <code>대화</code>기능이 충분히 구현 되어있기 때문에 이것을 이용해서 내가 <code>정제 되어진 정확한 정보</code>만 주어진다면 좋은 AI agent 그 자체가 되지 않나 라고 생각 했습니다.</p>
<p>각종 기기에 인공지능 모델이 결합되고 그에 적합한 연산 장치를 탑재한 <code>edge device</code> 세상으로 흐름이 이미 흐르게 되면서 최근 <code>AI 에이전트</code>에 대한 관심이 굉장히 높아졌다고 생각이 됩니다.
당장 취준생인 제 입장에서도 AI agent공고도 많이 보였거든요</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/257c92e9-d9e1-4417-a6f7-69a6a3d81884/image.png" alt=""></p>
<blockquote>
<p>제가 생각 했을 때 AI 에이전트란 스스로 환경을 인지하고 상황에 맞는 판단과 행동을 하는 지능형 시스템입니다. 가장 중요한 점은 단순한 명령 수행을 넘어, 자율적으로 문제를 해결하고 목표를 달성할 수 있는 자율성과 적응성입니다. 이를 위해 AI 에이전트는 정보를 수집하는 센서, 수집한 정보를 분석하고 의사결정을 내리는 프로세서, 그리고 실제 행동을 실행하는 액추에이터로 구성되어 있습니다. 또한, 축적된 지식과 기억을 활용해 상황에 맞는 최적의 대응을 하며, 외부 시스템과 유기적으로 연동되어 복합적인 업무를 수행할 수 있어야 합니다.사용자의 요구를 정확히 이해하고 자연스러운 소통으로 맞춤형 서비스를 제공하는 것이 AI 에이전트의 핵심 역량이라고 생각합니다.
NotebookLM을 활용한 챗봇은 이러한 AI 에이전트의 이상적인 구현 형태 중 하나입니다. 기존의 일반 챗봇과 다르게 NotebookLM은 사용자가 직접 올린 문서와 자료들을 바탕으로 답변을 생성하기 때문에 정보의 신뢰성과 정확성이 매우 높습니다. NotebookLM 챗봇이 단순한 대화 도구를 넘어 개인 맞춤형 지식 비서로서, 연구나 업무에서 꼭 필요한 핵심 내용 요약, 심층 질문에 대한 정밀한 답변, 나아가 글 작성과 아이디어 도출까지 다양한 역할을 수행할 수 있다고 봅니다. 답변에 출처를 명확히 제시함으로써 투명성을 확보해 준다는 점이 굉장히 좋구요</p>
</blockquote>
<p>이런 이유로 NotebookLM을 통해 나만의 챗봇을 만들고 활용하는 것이, 흔히 <code>Garbage In Garbage Out</code> 이라는 말처럼 요즘 작은 언어 모델 제작 할때도 기존에는 무조건 <code>양</code> 이 중시되었는데 <code>정제된 데이터</code> 를 통해서 충분히 수준 높은 특정 도메인에서의 정확성을 보여주고 있다고 입증 되고 있고 그런 점에서 제가 준 데이터로 답변 해주는 이 녀석이 유용할 것 같습니다.</p>
<blockquote>
<p>말은 길었지만 결국은 이녀석에게 정제된 데이터를 주고 AI 챗봇 역할로써 쓰기 충분하고 이유도 합당 하다는 저 나름의 논리? 생각입니다.</p>
</blockquote>
<br>

<hr>
<h3 id="테스트">테스트</h3>
<p>그렇다면 머리로 생각한대로 제대로 될 지 한번 해봅시다.
챗봇을 위해 어떤 정제된 데이터로 실험해 보는게 좋을까요.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/b0843a42-f5a1-405f-8ec3-8ce90e0af4e0/image.png" alt="">
<a href="https://alio.go.kr/">https://alio.go.kr/</a>
알리오에서 공개된 정보를 하나 받아보겠습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/3019737f-652e-4965-9c00-baa700bd22fd/image.png" alt="">
예시로 한국 도로 공사의 2025년 1분기 자료를 pdf로 내려받아 테스트 하겠습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/95d5f623-1cef-4d3f-83e8-394a0b5328fd/image.png" alt="">
이런식으로 답변을 해주고, 그것에 대한 근거가 마우스 커서를 올려보면 다 적혀 있기 때문에 실제 현업에서 많이 활용 될 것 같습니다.
특히 <code>영어가 아닌 한국어</code>로 되어있는 이런 자료에서도 정확히 근거를 따져서 답변을 제공하기 때문에 언어 장벽에 상관없이 사용할 수 있다는 점도 좋네요.</p>
<hr>
<p>AI 챗봇이 회사 내규를 통해서도 학습해서 직원들의 QnA 처럼 내부적으로도 활용이 이렇게 될 수도 있지만 일반 소비자들이 많이 사용하는 은행 업무에서도 제대로 사용 가능 할지 <code>금융 상품</code> pdf를 통해서 테스트도 해보겠습니다.</p>
<p>테스트로 특정 은행의 자유입출금 상품중 하나를 가져왔습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/585fb0c0-fa6b-4376-ba62-c84ac5be0319/image.png" alt="">
이 은행 사이트에서는 각각 장바구니 처럼 담았을때 비교 해주는 이런 기능도 보여주긴 하네요? 그러나 이런것은 미리 DB에 개발자들이 정리해두고 염두해놓은 정보만 나오고 상호작용이 전혀 없는 상황입니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/65b16944-3a85-4af0-b63a-62424981dc22/image.png" alt="">
프롬프트로 직접 정보를 요구했고 이런식으로 잘 정리해서 잘 주고 역시 그 근거 또한 마우스 커서만 올려도 확인 가능하네요</p>
<blockquote>
<p>제가 한 것 뿐만 아니라 여러 곳에서 더 활용 가능할 것 같고, 특히 여러 PDF를 <code>소스 선택</code> 할 수 있기 때문에 여러 자료를 통한 시너지도 얻기 좋을 것 같습니다.</p>
</blockquote>
<p>자. 이렇게 가볍고 충분히 오히려 더 좋은 성능을 나타내는 챗봇을 이용해 보았습니다.
이런 용어를 제가 사용하고 싶네요 <code>micro domain ai agent</code>를 오늘 이용해 보았습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[008. §이미지 처리1 - 유튜버 사진 ASCII ART 로 제작하기!]]></title>
            <link>https://velog.io/@yoo_sseung/008.-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%B2%98%EB%A6%AC1-%EC%9C%A0%ED%8A%9C%EB%B2%84-%EC%82%AC%EC%A7%84-ASCII-ART-%EB%A1%9C-%EC%A0%9C%EC%9E%91%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@yoo_sseung/008.-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%B2%98%EB%A6%AC1-%EC%9C%A0%ED%8A%9C%EB%B2%84-%EC%82%AC%EC%A7%84-ASCII-ART-%EB%A1%9C-%EC%A0%9C%EC%9E%91%ED%95%98%EA%B8%B0</guid>
            <pubDate>Fri, 10 Oct 2025 04:02:50 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/a5ba9315-6d2a-4f81-b29e-cc249dc3e652/image.png" alt="">
코딩 하다보면 이런 문자들 본 적 많으시지 않은가요? 
이 글을 보시는 분들이라면 다들 아시겠지만 <code>아스키 코드를 이용한 아스키 아트</code> 라는 영역이 있는데요. 
아스키 아트(ASCII Art)는 아스키 코드로 정의된 문자(예: 영어 알파벳, 숫자, 기호 등)를 조합해 그림이나 이미지를 표현하는 텍스트 기반 예술입니다. </p>
<p>저도 프로그램 코딩 하다보면 로그 창에 이런 아스키 문자를 통해서 필요 한 경우 <code>가독성</code>을 위해서 종종 삽입하고는 했는데
제가 자주 보는 유튜버 분께서 영상 마지막에 항상 팬들이 직접 그려준 본인 이미지나 이쁜 것들을 삽입하시는데</p>
<blockquote>
<p>어?? 
내가 이미지 처리 경험들 있는데 아스키 코드 이용해서 이미지 처리해서 변환 해보면 어떨까?????
잘 만들어서 영상 마지막에 내 이미지가 삽입 되고 싶어서 도전 해보겠습니다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/a3315fd3-54b4-4eb8-be7c-350c5629c546/image.png" alt="">
영상 마지막에 항상 이런식으로 첨부 해주셔서 제가 나중에 제 이미지가 삽입 되면 마무리에 또 첨부 하겠습니다.</p>
<hr>
<h3 id="아이디어">아이디어</h3>
<blockquote>
<p>OpenCV로 인물 이미지를 불러와서, RGB 밝기값을 이해하고 → 밝기에 따라 ASCII 문자로 표현</p>
</blockquote>
<p>이런 식으로 생각 했습니다.
이미지는 흑백으로 표현이 되야하고 그러면 명암이 중요할텐데 RGB 값으로 밝기값이 0~255로 정해지니까 각 밝기 영영마다 특정 문자로 치환해서 표현해야겠다고 생각했습니다.
예를 들어 밝은 부분은 <code>``</code> 를 이용하고, 어두운 부분은 <code>#</code> 이런식으로 많이 채워진 문자를 이용하는 것 입니다.</p>
<p>그렇기 위해서 원본 이미지에서 밝기 값이 여러 영역으로 잘 표현된 이미지를 찾아보고 코딩해 보겠습니다</p>
<hr>
<br>

<h3 id="과정">과정</h3>
<p>먼저 전체 코드는 제 github에 올려 두겠습니다.
다음 링크를 통해 내려 받으셔서 자유롭게 사용해주세요!</p>
<blockquote>
<p><a href="https://github.com/YooSeungHo0124/image2ASCIIart/">https://github.com/YooSeungHo0124/image2ASCIIart/</a></p>
</blockquote>
<blockquote>
<p><code>setup_env.py</code> 
해당 코드로 가상환경에서 필요 모듈을 다운받고 바로 images 폴더 속 이미지를 변환해서 results 폴더에 결과가 생성 되도록 하였습니다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/9880b9f8-823b-41a5-9d7d-2537b03e40e5/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/c32c4c0c-4a5c-4ca8-8bee-fd345d08ddf6/image.png" alt=""></p>
<p>터미널 통해서 과정 이해 하실수 있도록 적어 두었습니다.
메인 코드가 되는 변환은 이렇게 했습니다.</p>
<pre><code class="language-python"># =========================================================
# 2️⃣ 문자 밝기 매핑 설정
# (어두운 → 밝은 순서)
# =========================================================
chars = [&#39;ㅂ&#39;, &#39;ㅁ&#39;, &#39;ㄹ&#39;, &#39;ㅇ&#39;, &#39;ㅐ&#39;, &#39;ㅏ&#39;, &#39;♡&#39;, &#39;❤︎&#39;, &#39; &#39;]

def brightness_to_char(value):
    idx = int(value / 255 * (len(chars) - 1))
    return chars[idx]
</code></pre>
<p>제가 이미지 변환하려는 유튜버가 <code>배말랭</code>님 입니다.
그래서 해당 하는 자음, 모음, 특수 기호를 이용해서 
<code>어두운 부분 → 밝은 부분</code> 순서대로 나열</p>
<p>ㅂ, ㅁ, ㄹ, ㅇ : 어두운 영역 표현</p>
<p>ㅐ, ㅏ : 중간 밝기</p>
<p>♡, ❤︎, &#39; &#39; : 밝은 영역</p>
<p>이를 통해서 나중에 각 픽셀 밝기값(0~255)을 이 리스트의 인덱스와 매핑해서 어떤 문자를 출력할지 결정하게 하였습니다.</p>
<blockquote>
<p>본인이 원하는 문자를 chars 배열에 넣으시면 원하는 글자로 이미지를 변환 하실수 있을 거에요!</p>
</blockquote>
<hr>
<h3 id="결과">결과</h3>
<ul>
<li>원본
<img src="https://velog.velcdn.com/images/yoo_sseung/post/0eb12cd1-81a2-4b3e-8e52-6d405cfa9045/image.jpg" alt=""></li>
</ul>
<ul>
<li>1대1 변환
<img src="https://velog.velcdn.com/images/yoo_sseung/post/4433bb24-e28f-4946-adeb-df770e37541f/image.png" alt=""></li>
</ul>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/d0dc330e-c5e3-4e3b-8ea5-47c45a2551a1/image.png" alt="">
그림판으로 확대해보면 제가 지정했던 문자들로 변형된거 보이시죠?</p>
<p>이미지 사이즈가 크면 1대1 변환에 코스트가 많이 발생하니까 크기 조절 할수 있도록 코드에 <code>scale = 1.0</code>로 설정 해두었습니다.
축소하고 싶으시다면 이 scale 값을 줄여주시면 됩니다.</p>
<hr>
<ul>
<li><p>scale 1.0
<img src="https://velog.velcdn.com/images/yoo_sseung/post/93e04c73-8c2b-4551-a3a6-06c090a631d0/image.png" alt=""></p>
</li>
<li><p>scale 0.5
<img src="https://velog.velcdn.com/images/yoo_sseung/post/fc391bad-3f20-43c2-94ac-c89c75c8e05f/image.png" alt=""></p>
</li>
<li><p>scale 0.3
<img src="https://velog.velcdn.com/images/yoo_sseung/post/73c127c3-1533-48df-9ee0-c6d5cf786020/image.png" alt=""></p>
</li>
<li><p>scale 0.1
<img src="https://velog.velcdn.com/images/yoo_sseung/post/e3aa3f2b-dcb1-451a-847b-f1754f34b34b/image.png" alt=""></p>
</li>
</ul>
<hr>
<p>어떤가요? 가벼운 마음으로 만들어 봤는데 나름 괜찮네요.
특히 원하는 문자로 표현 해서 내가 원하는 사람에게 특정 초성이나 하트 같은 기호로 변환해주면 좋아하지 않을까요??</p>
<p>추가적으로 이미지를 따로 누끼 따거나 SAM 같은 모델로 segmentation 해서 넣으시면 인물 사진으로만 ASCII 문자 만드는 그런식으로도 활용하셔도 될 것 같습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[007. §AI영상4 - 기존 영상의 엘리멘트 교체로 높은 퀄의 영상 제작 되려나??]]></title>
            <link>https://velog.io/@yoo_sseung/007.-AI%EC%98%81%EC%83%814-%EA%B8%B0%EC%A1%B4-%EC%98%81%EC%83%81%EC%9D%98-%EC%97%98%EB%A6%AC%EB%A9%98%ED%8A%B8-%EA%B5%90%EC%B2%B4%EB%A1%9C-%EB%86%92%EC%9D%80-%ED%80%84%EC%9D%98-%EC%98%81%EC%83%81-%EC%A0%9C%EC%9E%91-%EB%90%98%EB%A0%A4%EB%82%98</link>
            <guid>https://velog.io/@yoo_sseung/007.-AI%EC%98%81%EC%83%814-%EA%B8%B0%EC%A1%B4-%EC%98%81%EC%83%81%EC%9D%98-%EC%97%98%EB%A6%AC%EB%A9%98%ED%8A%B8-%EA%B5%90%EC%B2%B4%EB%A1%9C-%EB%86%92%EC%9D%80-%ED%80%84%EC%9D%98-%EC%98%81%EC%83%81-%EC%A0%9C%EC%9E%91-%EB%90%98%EB%A0%A4%EB%82%98</guid>
            <pubDate>Fri, 10 Oct 2025 02:30:48 GMT</pubDate>
            <description><![CDATA[<p>제 velog 006번째 글을 보시면 NotebookLM 이용해서 논문 내용을 이해하고 적용 시켜보면서 AI 영상 제작에 적용하려고 했었습니다.
그때 마지막 파트 부분에 Kling의 AI <code>멀티모탈 편집</code> 기능에 대해서 간략한 프롬프트로 수정을 시도했었는데 안좋은 결과가 나와서 다시 도전 해보려고 합니다.</p>
<p>오늘 아침에 일어나서 침대에 눈감고 누워서 생각해 보니까 이런 아이디어가 떠오르 더라고요.
Kling 편집 기능중에 엘리멘트 교체, 추가, 삭제 이렇게 3가지 기능이 있는데 <code>교체</code>라는 기능을 이용하면 <code>기존에 있는 특정 영상, VFX 등이 마음에 들었는데 이것을 내가 원하는 요소로 교체하는 기능을 이용하면 쉽게 퀄리티 있는 원하는 가이드의 영상이 나오는거 아닌가?</code> 라는 생각이였습니다.</p>
<p>가령 기존에 있던 제품이 있는데 이번에 약간 변형 혹은 콜라보를 통해서 새로운 제품으로 출시가 되었다고 한다면 해당 엘리멘트만 교체해서 영상이 그 정도 퀄리티로 뽑히게 된다면 새로운 영상에 대해서 이전 논문 용어로 치면 <code>가이던스 영상 데이터</code>가 제작이 되겠다고 생각 했습니다. </p>
<p>그래서 기존의 어떤 영상을 다운 받고 엘리멘트만 교체 했을때 어느정도 퀄로 결과가 나오는지 해보겠습니다.</p>
<hr>
<h3 id="기존-영상에서-샘-올트만으로-엘리멘트-교체">기존 영상에서 샘 올트만으로 엘리멘트 교체</h3>
<p>기존에 Kling으로 제작했던 영상의 오른쪽에 <code>여성 근로자</code> 같은 분이 계십니다.
해당 인물을 모두가 밈처럼 잘 사용하시는 샘 올트만 님으로 바꿔서 진행해보겠습니다.
<img src="https://velog.velcdn.com/images/yoo_sseung/post/2cbf70d8-01f6-47aa-95d8-328f9f49fa20/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/bc66d88f-c2d2-417e-9f3d-c72fe496e898/image.png" alt="">
레퍼런스에 샘올트만님 사진을 첨부했습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/e0412732-b148-4275-b5d0-38987c19f1d7/image.png" alt="">
그리고 교체하고 싶은 기존 구역을 선택하면 Segmentation을 잘 해주네요. 이 프레임 에서 뿐만 아니라 영상 전체에 대해서 잘 선택된 것을 확인 했고 이제 적용 해보겠습니다.</p>
<hr>
<h3 id="결과">결과</h3>
<p>!youtube[vN_s1R2gncw]</p>
<blockquote>
<p>프롬프트 : @이미지1의 인물을를,  @비디오 속인물로 교체</p>
</blockquote>
<p>이렇게 했을 경우에는 저는 기존에 신발 만들던 인물 대신에 샘 올트만이 신발을 만들어줄거라고 기대했는데 기존 이미지를 이용해서 단순히 오른쪽에 인물을 삽입하여 프레젠테이션 발표 하는 듯한 모습으로 그냥 수정 되었네요.
<code>Kling에서는 단순한 프롬프트를 통해서 좋은 결과가 나온다고 하여 단순하게 프롬프트를 작성해서 성능을 기대했는데 이정도는 너무 단순한 프롬프트였나 봅니다.
이거보다는 좀 더 디테일하게 프롬프트를 해보겠습니다</code></p>
<p>!youtube[Q4JoeRvT9mI]</p>
<blockquote>
<p>프롬프트 : @이미지1의 【사람】를,  @비디오 속【 신발을 만드는 사람으로 】로 교체</p>
</blockquote>
<p>단순히 신발 만드는 사람으로 교체 해달라고 조금만 더 디테일을 줬는데 다행히 정상적으로 수행 되었네요.</p>
<hr>
<br> 

<p>여기서 궁금증이 하나 생겼습니다. 저는 기존 영상에 인물의 측면 모습을 보이고 있어서 엘리멘트에 넣는 요소를 측면 사진을 넣었는데 
과연 <code>정면 사진</code>을 넣었을때 자연스럽게 <code>Multi-view Generation</code> 을 할 수 있을까 라는 것 이였습니다.
다음에 기회가 되면 또 이 멀티뷰 합성에 대해서도 다뤄보면 재미있을 것 같습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/208fea9e-9a36-4383-a17b-67a4f9d40b26/image.jpg" alt="">
위 사진을 통해서 똑같은 프롬프트로 생성해 보았습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/cecc0a9f-6fee-41f6-9c1b-8948541257f8/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/0ea3832d-575b-4839-b698-ef668fb6f4b2/image.png" alt=""></p>
<p>!youtube[Cd2ihPxdBOA]
실제 샘 올트만과 생성된 측면 사진을 비교 해보셨을떄 어떤가요? 저는 위의 정면 사진을 통해서 이정도 다중각을 잘 표현하는 거 보면 괜찮은거 같은데요?</p>
<blockquote>
<p>이정도라면 더 다음어서 정말 광고·콘텐츠 제작, 이커머스·리테일에서 제품과 인물의 360도 시각화, 게임·메타버스 캐릭터 생성, 의료·교육용 자료 제작, 실시간 방송 멀티뷰 직캠 등 다양한 분야에서 활용되며, 비용 절감과 콘텐츠 품질 향상에 기여 될 수 있을 것 같습니다.</p>
</blockquote>
<p>Kling 을 이용한 기존 영상에서 엘리멘트 프롬프트 편집을 통한 기술 경험은 이정도에서 마무리 하겠습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[006. §AI 논문 활용2 - 논문 쉽게 이해하고 활용하기 with NotebookLM]]></title>
            <link>https://velog.io/@yoo_sseung/006.-AI-%EB%85%BC%EB%AC%B8-%ED%99%9C%EC%9A%A92-%EB%85%BC%EB%AC%B8-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B3%A0-%EC%9E%90%EB%A3%8C-%EB%B0%9B%EC%95%84%EB%B3%B4%EA%B8%B0-with-NotebookLM</link>
            <guid>https://velog.io/@yoo_sseung/006.-AI-%EB%85%BC%EB%AC%B8-%ED%99%9C%EC%9A%A92-%EB%85%BC%EB%AC%B8-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B3%A0-%EC%9E%90%EB%A3%8C-%EB%B0%9B%EC%95%84%EB%B3%B4%EA%B8%B0-with-NotebookLM</guid>
            <pubDate>Sat, 04 Oct 2025 06:32:50 GMT</pubDate>
            <description><![CDATA[<p>정말 고수분들도 많고 시니어 개발자분들도 많이 계시고
취준생인 제 입에서 감히 이런말 해도 될지 모르겠지만..
저 대학생때는 이런 거 없어서 영어 논문 하나 보기도 정말 힘들고 도표나 자료 보고 제대로된 영양가있는 정보인지 해석하는데 시간이 정말 정말 많이 걸렸는데
이제는 너무 좋은 도구들이 많아서 저도 이용하는 글을 한번 적어볼까 합니다.
많은 분들이 이용하는 구글에서 개발한 NotebookLM을 직접 사용해보겠습니다.</p>
<hr>
<h3 id="notebooklm">NotebookLM</h3>
<p><a href="https://notebooklm.google.com/">https://notebooklm.google.com/</a></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/bec59216-04a7-4f11-8285-b860b40dc2a0/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/b5541f57-dc07-4b2d-bbf0-567488534ead/image.png" alt="">
본인이 원하는 소스를 업로드하여 정리하고 공부할 수 있습니다.
파일이 아닌 구글 드라이브, 외부 링크, 텍스트 등을 바로 올릴수도 있네요.
유튜브에 양질의 교육영상들과 정보 전달성 영상이 많은데 이렇게 간편하게 이용하기도 좋을 것 같네요.
하지만 저는 오늘 arXiv에서 논문 하나 PDF로 다운로드 받아서 이용해 보겠습니다.</p>
<hr>
<p><a href="https://arxiv.org/abs/2504.08641">https://arxiv.org/abs/2504.08641</a>
<img src="https://velog.velcdn.com/images/yoo_sseung/post/2e957940-ed32-458a-a368-253b597a27bd/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/0e8c06a5-8e95-42c8-aac6-0b5ff341fa77/image.png" alt="">
한번 이렇게 자료를 업로드하게 되면 이 정보를 토대로 저희는 QnA를 통해서 많은 정보를 얻을 수 있습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/ad0aee02-e09d-44aa-99f5-f3a735aacf25/image.png" alt="">
이렇게 마인드맵 해주는 기능이 특히 마음에 들었는데요.
논문의 복잡한 글을 이렇게 구조화 해서 볼수있다는점과 논문에서 하나하나 찾아보지 않아도 원하는 정보를 이렇게 골라서 상세하게 볼수있는 점이 마음에 들었습니다.</p>
<p>이제 이 논문의 주요 T2V 방법론을 공부하고, 적용해보겠습니다.</p>
<blockquote>
<pre><code>제시된 논문 자료의 메인 아이디어는 **텍스트-투-비디오(T2V) 생성의 정확도를 높이기 위한 새로운 &#39;학습이 필요 없는(training-free) 가이던스 방법론&#39;**을 제시하는 것입니다. 이 방법론은 VIDEO-MSG라고 불립니다.
이 아이디어는 기존 T2V 모델들이 가진 주요 한계를 해결하는 데 초점을 맞추고 있습니다.</code></pre></blockquote>
<ol>
<li>메인 아이디어의 핵심 목표: 기존 한계 극복
최근 T2V 확산 모델들이 시각적 품질을 크게 향상시켰음에도 불구하고, 사용자 프롬프트가 <strong>정확한 공간 배치(spatial layouts)</strong>나 객체 궤적(object trajectories) 제어를 요구할 때 텍스트 설명을 정확히 따르는 데 어려움을 겪는다는 문제가 있습니다.
기존 연구들은 이러한 문제를 해결하기 위해 레이아웃 가이던스(layout guidance)를 사용했지만, 이는 다음과 같은 단점이 있었습니다:
• 파인튜닝(Fine-tuning) 필요: T2V 모델에 레이아웃 주석을 이용해 파인튜닝해야 했습니다.
• 어텐션 맵 반복 조작: 추론(inference) 시점에 어텐션 맵을 반복적으로 조작해야 했습니다.
• 높은 메모리 요구 사항: 이러한 기법들은 추론 시간에 메모리 소비를 상당히 증가시키거나, 대규모 T2V 모델을 백본으로 채택하기 어렵게 만들었습니다.
VIDEO-MSG의 핵심 아이디어는 이러한 추가적인 학습이나 메모리 집약적인 어텐션 조작 없이도, <strong>다중 모달 계획(Multimodal planning)</strong>과 <strong>구조화된 노이즈 초기화(Structured noise initialization)</strong>를 통해 T2V 모델을 효과적으로 안내하는 것입니다.</li>
<li>VIDEO-MSG의 구현 방법 (3단계)
메인 아이디어를 실현하기 위해 VIDEO-MSG는 다음의 세 단계 과정을 거칩니다:</li>
<li>다중 모달 계획 (VIDEO SKETCH 생성):
 ◦ 첫 두 단계(배경 계획, 전경 객체 레이아웃 및 궤적 계획)에서 VIDEO SKETCH를 생성합니다.
 ◦ VIDEO SKETCH는 배경, 전경, 객체 궤적을 구체적으로 지정하는 <strong>세밀한 시공간적 계획(fine-grained spatio-temporal plan)</strong>이며, 초안 비디오 프레임(draft video frames)의 형태로 만들어집니다.
 ◦ 이 계획 과정에는 다중 모달 LLM(MLLM), 객체 감지(object detection), 인스턴스 분할(instance segmentation) 모델 등 다양한 다중 모달 모델이 활용됩니다.</li>
<li>구조화된 노이즈 초기화를 통한 가이던스:
 ◦ 마지막 단계에서는 생성된 VIDEO SKETCH를 사용하여 다운스트림 T2V 확산 모델을 안내합니다.
 ◦ 이는 노이즈 반전(noise inversion) 기법을 통해 이루어지며, VIDEO SKETCH에서 추출된 정보를 &quot;구조화된 노이즈&quot;로 변환하여 확산 모델에 주입합니다. 이 방법을 통해 모델은 중간 타임스텝($t_{inv}$)에서 디노이징을 시작하게 됩니다.</li>
<li>주요 성과 및 기여
이 메인 아이디어의 성공은 실험 결과를 통해 입증되었습니다:
• 향상된 텍스트 정렬: VIDEO-MSG는 VideoCrafter2 및 CogVideoX-5B와 같은 여러 T2V 백본 모델을 사용하여 T2VCompBench 및 VBench 벤치마크에서 텍스트 정렬 능력을 효과적으로 향상시키는 것으로 나타났습니다.
• 주요 개선 영역: 특히 모션 바인딩(motion binding), 수(numeracy), 공간 관계(spatial relationship) 범주에서 큰 개선을 보였습니다. 예를 들어, CogVideoX-5B 백본 사용 시 모션 바인딩에서 52.46%의 상대적 개선을 달성했습니다.
• 효율성: 기존의 레이아웃 가이던스 방법인 LVD보다 메모리 효율적이며, 대규모 T2V 모델을 더 쉽게 채택할 수 있게 합니다.
결론적으로, 이 논문의 메인 아이디어는 MLLM의 강력한 계획 능력과 비디오 합성 기술을 결합하여, 학습 없이도 복잡한 텍스트 프롬프트의 시공간적 제어 요구사항을 정확하게 따르는 T2V 비디오를 생성하는 효과적이고 효율적인 방법론(VIDEO-MSG)을 제공하는 것입니다<pre><code></code></pre></li>
</ol>
<hr>
<br>

<h3 id="비디오-생성">비디오 생성</h3>
<h3 id="단계-1-배경-계획background-planning">단계 1. 배경 계획(Background Planning)</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/1db18c81-7c8d-4491-b9b1-a17a3cdb005f/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/29c2b0b6-30e3-4df2-a6b5-0e3a015e7c88/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/78e4048f-569d-43dd-9535-b9ad70aacb24/image.png" alt=""></p>
<blockquote>
<p>이미지 생성 이후에 직접 detection 은 하지 못해서 좌표를 못알아내는 것 같으니 한번만 하면 되니 제가 따로 모델 사용안하고 최고의 <strong>annotation tool with Human resource</strong> 인 그림판 사용해보겠습니다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/6cf95b1f-a7d0-4c00-8b4f-5450ada657b9/image.png" alt=""></p>
<p>어떻게 하는건지 궁금하신 분들은 마치 바운딩 처럼 생각 하시고 마우스 커서 올려두시면 픽셀 값이 나오게 됩니다. 이거를 <code>좌표</code>라고 생각하시면 됩니다.</p>
<hr>
<br> 


<h3 id="단계2-전격-객체-레이아웃-및-궤적-계획-foreground-object-layout-and-trajectory-planning">단계2. 전격 객체 레이아웃 및 궤적 계획 (Foreground Object Layout and Trajectory Planning)</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/93c4e3ab-3650-4a3b-9b2a-7ac8b3974bb8/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/3f758d46-1283-4512-b2d8-e57c770e138b/image.png" alt=""></p>
<blockquote>
<p>바운딩 박스 좌표를 근거로 프레임 별로 서술을 했는데 Kling에서 프롬프트 길이 한계가 있어서 절반정도로 수정이 필요해보입니다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/9183ab6f-3c95-469b-b088-e3cf31616a4e/image.png" alt=""></p>
<hr>
<br> 

<h3 id="단계3-구조화된-노이즈-초기화를-통한-비디오-생성-video-generation-with-structured-noise-initialization">단계3. 구조화된 노이즈 초기화를 통한 비디오 생성 (Video Generation with Structured Noise Initialization)</h3>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/edf36cb8-394c-412f-90b4-855521d5aed4/image.png" alt="">
 논문 내용을 봤을때 2단계까지를 통해서 생성된 비디오 i.e. 논문에서 의미하는 <code>VIDEO SKETCH</code> 같구요. 
이후에 이 비디오를 토대로 <code>노이즈 반전(noise inversion)</code> 을 하게 되면 논문에서 의미하는 <code>가이던스 데이터 생성</code>을 마치게 된 것입니다.</p>
<p>노이즈 반전????? 이거 왜하는 걸까요 원래는 <code>무작위 노이즈</code>로 디노이징 과정을 거쳐서 영상이 생성 되야하는데 이것은 제가 <code>구조화 된 노이즈</code>를 넣어서 더 좋은 결과를 내보자는 의도입니다.
이를 위해서 <code>잠재 공간 인코딩(Latent Space Encoding)</code> 이후 순방향 Diffusion 적용해야 합니다. 
이후 최종적으로 <code>텍스트 프롬프트</code> + <code>구조화 된 노이즈</code> + <code>노이즈 반전 비율</code> 을 통해서 고품질 비디오를 생성하자는 것인데. Kling에서 저런 3가지 값을 이용해서 비디오 생성 하는 방법이 없기 때문에 2단계까지 하고 이 논문의 이해를 여기서 마치려고 합니다.</p>
<hr>
<p>다만 추가적으로 Kling에서 2단계 까지 마친 비디오에 멀티모달을 이용해서 추가 작업을 해볼 수 있어서 적용해보려고 합니다.
바로 <code>멀티 모달 편집</code> 기능 사용해서 방금 나온 비디오 결과가 아쉽다면 수정 해보겠습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/c8ac9cff-4607-46f9-a051-52c556ba21ee/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/5223a8aa-69af-4aee-8171-122b10c00b7b/image.jpg" alt="">
<code>나이키 로고</code> 라는 엘리멘트를 추가해보겠습니다.</p>
<blockquote>
<p>프롬프트 : @비디오 속 원초 내용을 기반으로 생동적인 방식으로  @이미지1 의【전체적인 이미지를 @비디오 의【마지막 프레임에 우상단】에 영입</p>
</blockquote>
<p><code>멀티 모달 편집 전</code>
!youtube[0MD7ai5-qbk]</p>
<p><code>멀티 모달 편집 후</code>
!youtube[4bqvvtw_IrU]</p>
<p>아직 멀티모달 이용한 프롬프트 기능은 별로인것 같네요. 아니면 제가 프롬프팅을 더 열심히 적여야 됬을수도 있게다 싶네요.</p>
<p>어쩌다 보니 논문 내용 따라 가다가 최종 부분은 구현 안했지만 이런식으로 앞으로 여러 논문을 NotebookLM 활용하고 직접 구현 해보면 되는지 충분히 경험했다고 생각되네요.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[005. §AI 논문 활용1 - arXiv 관련 github 코드 활용]]></title>
            <link>https://velog.io/@yoo_sseung/005.-AI-%EB%85%BC%EB%AC%B8-%ED%99%9C%EC%9A%A91-arXiv-%EA%B4%80%EB%A0%A8-github-%EC%BD%94%EB%93%9C-%ED%99%9C%EC%9A%A9</link>
            <guid>https://velog.io/@yoo_sseung/005.-AI-%EB%85%BC%EB%AC%B8-%ED%99%9C%EC%9A%A91-arXiv-%EA%B4%80%EB%A0%A8-github-%EC%BD%94%EB%93%9C-%ED%99%9C%EC%9A%A9</guid>
            <pubDate>Thu, 02 Oct 2025 12:27:41 GMT</pubDate>
            <description><![CDATA[<p>제가 관심있는 AI 관련 분야에서 논문 어떻게 편하게 찾고 이용하지???? 
고민에서 찾아봤는데 다음과 같은게 있더라고요.</p>
<p><a href="https://github.com/karpathy/arxiv-sanity-preserver">https://github.com/karpathy/arxiv-sanity-preserver</a></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/a4951dfe-1d0f-4068-a4cd-36d35af6308f/image.png" alt="">
fork, star 수도 꽤 있어서 저도 한번 사용해 보겠습니다.</p>
<h3 id="arxiv-sanity-preserver의-주요-기능">arxiv-sanity-preserver의 주요 기능</h3>
<ul>
<li><p>최신 논문 자동 수집 및 카테고리 필터링
원하는 arXiv 카테고리(예: cs.CV, cs.AI 등) 논문만 자동 수집해 관리할 수 있습니다.</p>
</li>
<li><p>검색, 키워드 기반 탐색 및 태깅
논문 제목/저자/초록 등으로 빠른 검색이 가능하며, 맞춤형 키워드 설정·여러 태그별 관심 논문 분류도 지원합니다.</p>
</li>
<li><p>인기도/유사도 기반 랭킹 및 추천
사용자가 논문을 별표(저장)하는 수, 본인/다수의 라이브러리 저장 횟수, 논문 간 TF-IDF 기반 내용 유사도로 인기 논문이나 유사 논문을 직관적으로 랭크 및 추천합니다.</p>
</li>
<li><p>논문별 상세 정보 및 썸네일 제공
다운로드한 PDF에서 요약텍스트, 썸네일 이미지, 주요 메타데이터 등을 한 번에 확인할 수 있습니다.</p>
</li>
<li><p>개인 라이브러리 구축 및 맞춤 추천
회원 가입 후 자신만의 논문 라이브러리(스크랩북) 생성, 해당 논문 기반의 맞춤형 유사 논문 추천, 정기 이메일 알림 등 개인화 기능이 강력합니다.</p>
</li>
<li><p>빠른 논문 브라우징과 검색 속도
전처리 캐시, 텍스트 인덱싱, 내용 벡터화를 통해 바로바로 논문을 검색하고 유사 논문, 인기 논문을 볼 수 있어 논문 탐색 효율이 매우 높습니다.</p>
</li>
</ul>
<br>

<h3 id="주요-편의성">주요 편의성</h3>
<ul>
<li><p>웹브라우저 기반의 간단한 인터페이스로 별도의 arXiv 계정 없이도 논문 탐색이 가능합니다.</p>
</li>
<li><p>오픈소스로 직접 서버를 띄우거나 arxiv-sanity.com(혹은 arxiv-sanity-lite.com) 같은 온라인 서비스를 활용할 수도 있어 접근성이 높습니다.</p>
</li>
<li><p>논문 추천, 인기순/최신순, 관심 키워드/카테고리 자동 필터링 등 덕분에 논문 리뷰·트렌드 파악 시간을 크게 줄여줍니다.</p>
</li>
<li><p>논문 PDF 다운로드/텍스트 변환, 썸네일 생성 등 논문 탐색에 꼭 필요한 부가 기능을 모두 지원합니다.</p>
</li>
</ul>
<hr>
<p><a href="https://arxiv-sanity-lite.com/">https://arxiv-sanity-lite.com/</a>
<img src="https://velog.velcdn.com/images/yoo_sseung/post/f1c239e0-90bf-4267-a7f0-872c683aee2a/image.png" alt=""></p>
<p>이용 해보려면 이미 자체 온라인 서비스도 있다고 하는데 현재 접속은 안되는 상황이네요.
원래도 직접 로컬에서 서버 켜서 사용해보려고 했는데 마침 잘 된것 같습니다.
github에 나와있는 README 참고해서 로컬에서 직접 구동해보겠습니다.</p>
<p>저는 fork 했기 때문에 제 github에 이용해서 설치 후 가동 해보겠습니다.
제 github을 clone 떠서 가상환경 만들고 필요한 requirements.txt 설치 하는 것 입니다.</p>
<pre><code>https://github.com/본인계정/arxiv-sanity-preserver.git
python -m venv env
source env/Scripts/activate
pip install -r requirements.txt
</code></pre><p>이후에도 필요한 것들 설치 후 README 대로 실행 해보시면 됩니다.
추가 설치 필요한것들은 <code>Chocolatey 라고 linux 아니고 window에서 설치할때 많이 사용하는 시스템 패키지 매니저</code> 이용해서 설치 했습니다</p>
<pre><code>choco install imagemagick
choco install poppler
choco install mongodb</code></pre><p>(혹시나 따라 하시는 분이 있다가 안되는 부분 있다면 댓글 혹은 메일로 문의 남겨주세요..!)</p>
<hr>
<br>

<h3 id="설치-완료-후-동작">설치 완료 후 동작</h3>
<ol>
<li><p>가상 환경 활성화 
( 저는 가상환경 구성 후 설치 했기 때문에 이렇게 동작합니다. 혹시 가상 환경 안하시고 바로 하신분들은 이렇게 안하셔도 됩니다.)</p>
<pre><code>.\env\Scripts\Activate</code></pre></li>
<li><p>arXiv 데이터 수집 및 전처리</p>
<pre><code>python fetch_papers.py           # arXiv 논문 메타데이터 다운로드
python download_pdfs.py          # PDF 파일 다운로드
python parse_pdf_to_text.py      # PDF → 텍스트로 변환
python thumb_pdf.py              # 논문 썸네일 이미지 생성
python analyze.py                # 논문 내용 분석 및 벡터화(TF-IDF 등)
python buildsvm.py               # SVM 기반 맞춤 추천 벡터 구축(옵션)
python make_cache.py             # 캐시 파일 생성</code></pre><p>이 명령어들을 순서대로 입력해서 arXiv 데이터 수집 및 전처리 해줍니다.
각 명령어와 자세한 정보는 README 읽어 보시면 영어로 잘 설명 되어있습니다.</p>
</li>
</ol>
<p>위의 명령어들을 모두 실행하는데 시간이 꽤 걸리네요. 저의 경우는 700개 논문에 대해서 전부 이 과정 거치게 되니까 1시간정도 걸렸어요.</p>
<p>순수 시간 외에도 역시 버전 맞추는 작업이랑 linux 관련 코드로 되어있어서 window에서 구동하려면 코드도 조금 바꾼 부분들도 있습니다.</p>
<p>마침내 serve.py 구동 시키면 로컬에서 구동 되었네요!</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/721470b5-0074-4fce-a3f1-795df5e83bff/image.png" alt=""></p>
<hr>
<p>장점이라고 뽑아보자면 제가 여기서 자주 찾는 논문이나 정보들은 유튜브 알고리즘 처럼 추천에 떠서 나중에 보기 좋다는 점 정도와 개인화 정도 있을 수 있을 것 같습니다.
저는 개인적으로 인공지능 분야 논문을 좀 찾아볼때 구동해서 사용해 볼 것 같긴 합니다.</p>
<blockquote>
<p>linux 기반 코드이기 때문에 제가 구동 위해서 window 용으로 좀 바꾼 것들이 있는데 이건 제가 fork 했던 제 저장공간에 따로 업데이트해서 올리겠습니다.
혹시나 필요하신분들은 아래 제 깃헙을 통해서 가져가서 구동해보시면 좋을 것 같습니다.
<a href="https://github.com/YooSeungHo0124/arxiv-sanity-preserver">https://github.com/YooSeungHo0124/arxiv-sanity-preserver</a></p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/82fa67f2-abf8-4a39-845b-d4b071dfd47e/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[004. §AI영상3 - 영상 퀄리티 발전시켜보기, AI 아티스트 해보기 ]]></title>
            <link>https://velog.io/@yoo_sseung/004.-AI%EC%98%81%EC%83%813-%EC%98%81%EC%83%81-%ED%80%84%EB%A6%AC%ED%8B%B0-%EB%B0%9C%EC%A0%84%EC%8B%9C%EC%BC%9C%EB%B3%B4%EA%B8%B0-AI-%EC%95%84%ED%8B%B0%EC%8A%A4%ED%8A%B8-%ED%95%B4%EB%B3%B4%EA%B8%B0</link>
            <guid>https://velog.io/@yoo_sseung/004.-AI%EC%98%81%EC%83%813-%EC%98%81%EC%83%81-%ED%80%84%EB%A6%AC%ED%8B%B0-%EB%B0%9C%EC%A0%84%EC%8B%9C%EC%BC%9C%EB%B3%B4%EA%B8%B0-AI-%EC%95%84%ED%8B%B0%EC%8A%A4%ED%8A%B8-%ED%95%B4%EB%B3%B4%EA%B8%B0</guid>
            <pubDate>Thu, 02 Oct 2025 12:26:22 GMT</pubDate>
            <description><![CDATA[<p>저번 영상을 한번 프로토타입처럼 제작 해봤을때 생각보다 퀄리티가 나쁘지 않았는데, 
잡코리아 같은 구인구직 사이트를 찾아보면 AI 영상제작자를 꽤 찾는거 같다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/e2ad6f68-8526-4b8d-9bdb-d0329a68b3ca/image.png" alt="">
이렇게 공고가 많은 거 같은데 진짜 괜찮은거 한번 만드려면 어떻게 해야할까?
오늘은 한번 관련 자료들을 찾아보고 좋은 아이디어 있다면 적용 해보겠습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/95aed366-b280-4dcb-984a-a540cf395c26/image.png" alt=""></p>
<p>한 회사의 공고를 살펴봤습니다. VFX, 인서트 컷 등 요구하네요
<code>VFX(Visual Effects, 시각 효과)는 영화, TV 드라마, 광고 등에서 실제 촬영만으로는 구현하기 어려운 장면을 만들기 위해 사용되는 컴퓨터 그래픽스나 디지털 기술</code>
오늘은 그럼 공부해보고 실제 영상 산업에서는 비용 문제로 하기 힘든 장면을 더 가성비 있게 만드는 <code>AI 아티스트</code> 라는 마음으로 한번 해보겠습니다.</p>
<hr>
<h3 id="자료-찾기">자료 찾기</h3>
<p><a href="https://github.com/karpathy/arxiv-sanity-preserver">https://github.com/karpathy/arxiv-sanity-preserver</a>
<img src="https://velog.velcdn.com/images/yoo_sseung/post/b62590b4-9546-48b4-bb81-53ab9315ef31/image.png" alt=""></p>
<p>다음 글에서 이 관련 내용은 자세히 다루겠습니다. AI 영상에서는 조금 벗어난 내용 같아서 따로 논문 관련 시리즈에서 다루겠습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[003. §AI영상2- 유튜브 숏츠 본격 제작!]]></title>
            <link>https://velog.io/@yoo_sseung/003.-AI%EC%98%81%EC%83%812-%EC%9C%A0%ED%8A%9C%EB%B8%8C-%EC%88%8F%EC%B8%A0-%EB%B3%B8%EA%B2%A9-%EC%A0%9C%EC%9E%91</link>
            <guid>https://velog.io/@yoo_sseung/003.-AI%EC%98%81%EC%83%812-%EC%9C%A0%ED%8A%9C%EB%B8%8C-%EC%88%8F%EC%B8%A0-%EB%B3%B8%EA%B2%A9-%EC%A0%9C%EC%9E%91</guid>
            <pubDate>Sun, 28 Sep 2025 06:15:51 GMT</pubDate>
            <description><![CDATA[<p>먼저 이미지를 생성하고, 이미지를 통한 비디오 생성 도구를 통해서 짧은 길이의 영상을 제작해 보겠습니다.</p>
<h3 id="1-이미지-생성-with-bing">1. 이미지 생성 with bing</h3>
<p>midjourney 이용해서 이미지 생성해 보겠습니다.
아시는 분들도 많겠지만 미드져니는 디스코드 이용해서 만들게 됩니다.
없으시면 이번 기회에 한번 경험해 보시면 좋을 것 같아요.
<a href="https://discord.com/invite/midjourney">https://discord.com/invite/midjourney</a>
<img src="https://velog.velcdn.com/images/yoo_sseung/post/df9659f4-09e5-4b1a-a03e-aad7d0a24a5f/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/68d034bc-4972-4cbb-ae01-5ef07da06bc5/image.png" alt="">
들어가서 <code>/help</code> 를 bot이 있는 채팅창에 쓰게 되면 알려주게 됩니다.
여기서 명령어들을 통해서 그림을 그려달라고 하면 됩니다.
<a href="https://docs.midjourney.com/hc/en-us/articles/32894521590669-Discord-Command-List">https://docs.midjourney.com/hc/en-us/articles/32894521590669-Discord-Command-List</a>
이곳에 명령어들의 정보 나와있네요.</p>
<table>
<thead>
<tr>
<th>명령어</th>
<th>기능 설명</th>
<th>번역</th>
</tr>
</thead>
<tbody><tr>
<td>/ask</td>
<td>Ask Midjourney Bot a question</td>
<td>미드저니 봇에게 질문하기</td>
</tr>
<tr>
<td>/blend</td>
<td>Easily blend images together</td>
<td>이미지 여러 장을 쉽게 합성하기</td>
</tr>
<tr>
<td>/daily_theme</td>
<td>Toggle notification pings for the #daily-theme channel</td>
<td>#daily-theme 채널 알림 켜기/끄기</td>
</tr>
<tr>
<td>/describe</td>
<td>Writes four example prompts based on an image you upload</td>
<td>업로드한 이미지를 기반으로 예시 프롬프트 4개 생성하기</td>
</tr>
<tr>
<td>/docs</td>
<td>Generate a link to user guide topics</td>
<td>사용자 가이드 링크 생성하기</td>
</tr>
<tr>
<td>/fast</td>
<td>Switch to Fast Mode</td>
<td>빠른 모드로 전환하기</td>
</tr>
<tr>
<td>/feedback</td>
<td>Submit suggestions and ideas</td>
<td>의견·아이디어 제출 및 평가</td>
</tr>
<tr>
<td>/faq</td>
<td>Quickly generate prompt FAQ links</td>
<td>자주 묻는 질문(FAQ) 링크 생성하기</td>
</tr>
<tr>
<td>/help</td>
<td>Shows basic info and tips</td>
<td>도움말과 기본 정보 보기</td>
</tr>
<tr>
<td>/imagine</td>
<td>Generate an image using a prompt</td>
<td>프롬프트로 이미지 생성하기</td>
</tr>
<tr>
<td>/info</td>
<td>View your account info</td>
<td>내 계정 및 작업 현황 확인하기</td>
</tr>
<tr>
<td>/invite</td>
<td>Get invite link for the server</td>
<td>서버 초대 링크 얻기</td>
</tr>
<tr>
<td>/list_tuners</td>
<td>Generate list of all Style Tuners</td>
<td>생성한 스타일 튜너 목록 보기</td>
</tr>
<tr>
<td>/prefer option set</td>
<td>Create or manage a custom option</td>
<td>맞춤 옵션 생성 및 관리</td>
</tr>
<tr>
<td>/prefer option list</td>
<td>View your current custom options</td>
<td>현재 맞춤 옵션 목록 보기</td>
</tr>
<tr>
<td>/prefer remix</td>
<td>Toggle Remix mode</td>
<td>Remix 모드 켜기/끄기</td>
</tr>
<tr>
<td>/prefer suffix</td>
<td>Specify a suffix for every prompt</td>
<td>프롬프트 끝에 붙일 접미사 지정하기</td>
</tr>
<tr>
<td>/prefer variability</td>
<td>Toggle V button variation strengths</td>
<td>V 버튼의 변형 강도 조절</td>
</tr>
<tr>
<td>/public</td>
<td>Switch to Public Mode</td>
<td>공개 모드로 전환하기</td>
</tr>
<tr>
<td>/relax</td>
<td>Switch to Relax Mode</td>
<td>여유 모드로 전환하기</td>
</tr>
<tr>
<td>/settings</td>
<td>View and adjust bot settings</td>
<td>봇 설정 보기 및 조정</td>
</tr>
<tr>
<td>/stealth</td>
<td>Switch to Stealth Mode</td>
<td>비공개(스텔스) 모드로 전환하기</td>
</tr>
<tr>
<td>/shorten</td>
<td>Get suggestions to make prompts concise</td>
<td>긴 프롬프트를 간결하게 만드는 제안 받기</td>
</tr>
<tr>
<td>/show</td>
<td>Use Job ID to regenerate image</td>
<td>Job ID로 작업 이미지 재생성하기</td>
</tr>
<tr>
<td>/subscribe</td>
<td>Get a private account page link</td>
<td>개인 계정 페이지 링크 받기</td>
</tr>
<tr>
<td>/synonyms</td>
<td>Explore synonyms for prompt crafting</td>
<td>프롬프트 제작 시 유의어 탐색하기</td>
</tr>
<tr>
<td>/tune</td>
<td>Generate a Style Tuner based on prompt</td>
<td>프롬프트 기반 스타일 튜너 생성하기</td>
</tr>
<tr>
<td>/turbo</td>
<td>Switch to Turbo Mode</td>
<td>터보 모드로 전환하기</td>
</tr>
<tr>
<td>/userid</td>
<td>Get your Midjourney User ID</td>
<td>사용자 ID 확인하기</td>
</tr>
</tbody></table>
<br>

<hr>
<p>아...? 1~2년 전만해도 무료로 어느정도 미드져니 풀어줬는데... 아쉽지만 이제는 무조건 구독해야지 사용 가능 한 것 같습니다.
할 수 없이 다른 이미지 생성 도구 이용해야 할 것 같아요</p>
<p><a href="https://www.bing.com/images/create">https://www.bing.com/images/create</a>
bing에서는 현재 기준으로는 GPT-4o or DALL E3 도구 선택해서 무료로 제작 가능하니 이것 이용해볼게요</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/51e331f7-db99-4ae6-a751-45da992b81e9/image.png" alt=""></p>
<blockquote>
<ol>
<li>프롬프트</li>
<li>모델 선택  (GPT-4o ,DALLE-3)</li>
<li>가로 세로 비율 선택(1:1, 2:3, 3:2)</li>
</ol>
</blockquote>
<p>저는 <code>쿠키런 게임의 대표 캐릭터인 용감한 쿠키의 영화 실사 현장 같은 이미지</code> 를 생성 해 보겠습니다.
프롬프트는 다음과 같이 작성 했습니다.
<code>A behind-the-scenes film production portrait, Western actor in realistic cosplay as Brave Cookie (GingerBrave from Cookie Run Kingdom), wearing detailed gingerbread armor with candy and icing motifs, holding a candy cane sword, surrounded by film crew with cameras, lighting rigs, boom mics, costume assistants adjusting, set design with bakery and sugar motifs, warm cinematic lighting, subtle lens flare, shallow depth of field, photorealistic, ultra high detail, portrait orien</code></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/40cf25f1-2f99-46f4-bab5-f9cc9b5bba88/image.jpg" alt="">
한번만에 이런 결과를 얻었습니다. 나쁘지 않아 보이니까 이대로 진행해볼게요</p>
<br>

<hr>
<h3 id="2-비디오-생성-with-kling-ai">2. 비디오 생성 with kling AI</h3>
<p><a href="https://app.klingai.com/">https://app.klingai.com/</a>
Kling AI는 중국의 Kuaishou Technology가 개발한 인공지능 기반 비디오 생성 도구인데요. 중국?????? 뭐야 왜 중국이 만든거야 이상한거 같은데??? 라고 생각 하실수도 있지만 사실 인공지능 분야랑 로봇 분야에서는 막대한 자본금을 바탕으로 투자 빵빵하게 해주는 중국과 미국이 세계 선두를 다투고 있고 사실 중국은 지하철 통과 할때도 얼굴 인식을 하고 로봇 분야도 미국보다 더 앞서있다고 평가받는 기술을 가진 나라입니다. 어쨌든 한번 사용 해보겠습니다.</p>
<p>구글 로그인을 했고 무료 166크레딧을 주는데 10초 영상 1건 제작하는데 50크레딧 정도 소요되고, 5초 영상은 25크레딧 사용되고 있네요. 크레딧이 얼마 없으니 5초 영상으로 여러개 제작 해보면서 테스트해보면 될 것 같습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/b75e8a28-40c8-4867-a0ce-9a475cdd2c95/image.png" alt=""></p>
<p>위에서 만들었던 쿠키 이미지를 넣고 프롬프트를 넣어서 작성해보겠습니다.
<code>Cinematic behind-the-scenes atmosphere, a film crew preparing a Western actor in realistic cosplay as Brave Cookie (GingerBrave from Cookie Run Kingdom). The actor sits under warm stage lighting while costume staff adjust details on the gingerbread armor and candy cane prop. A large cinema camera moves slightly, lens flares shimmer, crew members walk in the background, small gestures and subtle movements like adjusting belts, fixing hair, and preparing lights. The scene feels like a live movie set, full of anticipation before filming begins, photorealistic, cinematic tone.</code></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/bc7d0aa1-60cb-4641-9ed9-4700b4562395/image.png" alt="">
약 1분가량 소요된다고 하며 현재 제작중인 상태입니다.</p>
<p>참고로 추가적은 프롬프트는 필수 입력은 아니고 이 프롬프트는 이 역시 중국의 멀티모달인 <code>DeepSeek</code>에게 전달 되는 것 같습니다.
개인적으로 DeepSeek의 <code>DeepThink</code> 기능을 굉장히 유용하게 사용하고 있는데 다음에 기회되면 이 역시 다루는 여러 멀티모달 비교하는 글도 작성해 보겠습니다.</p>
<p>!youtube[OExgohU8Mnk]</p>
<p>어떤가요?
사운드도 자동으로 들어갔는데 검을 움켜쥐는 장면에서 덜거덕 하는 듯한 사운드도 나는데 전체적으로는 아쉽네요. 아무래도 유튜브 숏츠 처럼 사용하려면 나중에 별도의 자막과 BGM 등 사용해야 할 것 같습니다.</p>
<hr>
<p>이제 다른 쿠키들로 앞서 했던 1번 2번 과정을 거쳐서 몇개 더 만들어 보겠습니다.</p>
<p>!youtube[nYEe1BcsXfk]</p>
<p>!youtube[vhFREQgYreQ]</p>
<hr>
<blockquote>
<p>영상에 사용했던 쿠키들의 기존 캐릭터 이미지입니다. 비교해보세요</p>
</blockquote>
<div style="display: flex; gap: 10px;">
<img src="https://i.namu.wiki/i/vZ8C1EecQ85l1hHXCZnWDvw12PdR9nkdlW6n4hvd0pDsuemBn0uZnY2t1hQHZae0epcRGO7e7VHRPy0Mq2nu1w.webp" width="20%" />
<img src="https://i.namu.wiki/i/JWpI909J1sT2tW-D3Baux3a2-xwSG7CiGlgYVeOCL_0ehw6bjYwHIo5Ijw0Yz5KnCmmxq-IUqcqHoC1veK2gXg.webp" width="32%" />
<img src="https://sugar-gnome-warehouse-img.org/images/1749381489773-7o2gyi.webp" width="32%" />
</div>

<p>일단은 그래도 영상 3개 만들어봤으니까 합쳐서 마치 유튜브 숏츠처럼 한번 제작 해 볼게요</p>
<hr>
<h3 id="3-영상-제작-with-vrew">3. 영상 제작 with vrew</h3>
<p><a href="https://vrew.ai/ko/">https://vrew.ai/ko/</a></p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/6c78f9a5-af9d-4135-b608-765033097541/image.png" alt="">
무료로 다운받아서 사용가능하니까 <code>vrew</code> 이용해볼게요. 단 여기도 무료는 워터마크 생긴다는 점은 어쩔수 없습니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/3da1f852-9298-43af-9681-5c2faea5a546/image.png" alt=""></p>
<p>vrew에서 방금 제작했던 비디오 3개 업로드하고, 쿠키런킹덤의 기본 bgm은 따로 mp3 파일로 다운로드 받아서 영상에 넣었습니다.</p>
<p>!youtube[acnKqXTP9VI]</p>
<p>자 일단 이렇게 영상을 만들어 봤습니다.
여기에서 정말 쇼츠처럼 만들려면 이미지 생성, 영상 생성 할때 화면 구도나 이런 것들을 더 신경써서 프롬프팅 해주면 될 것 같아요</p>
<p>추가적으로 자막은 방금 했던 프로그램에서 쉽게 할 수 있고, 또한 TTS(text to speech) 도 지원하니까 숏츠에서 들으셨던 것 처럼 목소리도 들어간 영상 제작 할 수 있습니다.</p>
<p>다음 글에서는 이미지, 영상 퀄리티를 더 높여 보기 위해서 관련 논문이나 꿀팁들을 찾아 보고 개선해 보겠습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[002. §AI영상1- AI 유튜버 숏츠 영상??? 나도 만들어보자!!!]]></title>
            <link>https://velog.io/@yoo_sseung/002.-AI%EC%98%81%EC%83%811-AI-%EC%9C%A0%ED%8A%9C%EB%B2%84-%EC%88%8F%EC%B8%A0-%EC%98%81%EC%83%81-%EB%82%98%EB%8F%84-%EB%A7%8C%EB%93%A4%EC%96%B4%EB%B3%B4%EC%9E%90</link>
            <guid>https://velog.io/@yoo_sseung/002.-AI%EC%98%81%EC%83%811-AI-%EC%9C%A0%ED%8A%9C%EB%B2%84-%EC%88%8F%EC%B8%A0-%EC%98%81%EC%83%81-%EB%82%98%EB%8F%84-%EB%A7%8C%EB%93%A4%EC%96%B4%EB%B3%B4%EC%9E%90</guid>
            <pubDate>Fri, 26 Sep 2025 15:47:36 GMT</pubDate>
            <description><![CDATA[<h3 id="첫-velog-프로젝트-ai-영상-만들기">첫 VELOG 프로젝트! AI 영상 만들기</h3>
<p>VELOG를 개설하고 처음 프로젝트로 무엇을 할지 고민하다가 요즘 남녀노소를 불구하고 숏츠의 <strong>DOPAMINE</strong>에 빠져들어서 못 나오고 있는 것 같아서.
저도 한번 정말 사람들을 제대로 속이고 현혹 할만한 AI 영상 만들어보고 싶은 욕심? 호기심? 이 생겨서 해보려고 합니다.</p>
<hr>
<p>요즘 들어 인스타그램, 틱톡, 유튜브 숏츠 등 다양한 숏폼에서 AI 영상들이 너무 많이 보이고 있습니다.
그런 영상들을 보게 되면 흔히 저희가 아는 <strong>불쾌한 골짜기</strong> 라고 말하는 현상이 자주 느껴지는데요.
<code>참고로 불쾌한 골짜기는 원래 로봇이 인간을 어설프게 닮을수록 오히려 불쾌함이 증가하는 현상인데 요즘 인공지능 영상 같은 경우도 사람의 티가 아닌 인공지능 티가 나면 불쾌한 골짜기 느껴진다라고 많이들 표현하는 것 같습니다.</code></p>
<p>먼저 그렇다면 이런 불쾌하지 않고 높은 수준의 영상이 있는지 찾아 보았습니다.
그리고 제가 반한 영상이 있는데 유튜브 링크를 통해서 바로 공유하겠습니다.</p>
<p><a href="https://youtube.com/shorts/JvoSqO1Me6Q?si=8M3V6ecKKqtrwpit">https://youtube.com/shorts/JvoSqO1Me6Q?si=8M3V6ecKKqtrwpit</a>
!youtube[JvoSqO1Me6Q?si=j7Drgxbsr3aQuik-]</p>
<p>먼저 한번 영상을 봐주세요. 저만 퀄리티에 신기한가요? 저만 신기 한건지 댓글을 살펴봤는데 다른 분들도 인정하는 수준의 영상이였습니다.
<img src="https://velog.velcdn.com/images/yoo_sseung/post/db7f437a-79fb-4a75-a33f-ef6570d828bf/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/16588716-5e44-4a68-a374-b0906e476da0/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/6b371b64-9aa7-4982-8fcc-571b4f1339d0/image.png" alt="">
<img src="https://velog.velcdn.com/images/yoo_sseung/post/26c2ccfa-5d86-4acb-bd2b-d688c2292035/image.png" alt="">
많은 댓글에서 AI 인지 몰랐다.. 혹은 이렇게 수준 높은 것은 처음이다.. 등등 의견이 있어서 저 뿐만 아니라 역시 사람들 눈은 똑같구나 싶었습니다. 심지어 한국인 눈뿐만 아니라 다른 외국인들도 인정하는 수준의 영상이였습니다.</p>
<hr>
<blockquote>
<p>이렇게 좋은 영상을 찾았으니 제작 방법의 팁이나 노하우를 제작자 분한테 직접 이메일로 문의 드렸습니다.</p>
</blockquote>
<p>자세한 메일 내용은 공개하지는 않겠습니다.
<img src="https://velog.velcdn.com/images/yoo_sseung/post/ecbacefe-f242-40f6-ad85-8e0229d43663/image.png" alt=""></p>
<p>감사하게도 이미지 생성에 사용하시는 툴, 영상화에 사용하시는 툴과 콘텐츠에 따라 별도로 사용했던 것도 알려주셨습니다.
저도 이미 들어본적 있고 다른 AI 영상들 또한 이 툴들로 제작하는 것은 알고 있었는데 퀄리티 차이가 심하게 났던 것으로 보아 아무래도 <strong>프롬프팅</strong>이 핵심이 될 것 같은데, 이메일 답변 온 것 해당 툴들로 저도 한번 진행해서 만들어 보겠습니다.</p>
<hr>
<p>사실 이전에 저는 삼성 청년 소프트웨어 아카데미(SSAFY)에서 프로젝트 소개를 위해서 소개 영상을 AI를 활용하여 제작 했었는데 그때 사용 했던 TOOL들과는 달라서 기대가 됩니다.</p>
<p>참고로 그때 사용했던 도구와 제작 했던 영상도 한번 공유하겠습니다.</p>
<p>!youtube[WC0IUKA66UQ]</p>
<br>

<p>다시봐도 제가 했던 영상은 이질감도 느껴지고 서툰 느낌이 많이 느껴지는 것 같습니다.
프로젝트 서비스 소개를 위한 PPT 발표 시연중 사용하는 영상입니다.
동영상을 위해서 크게 4가지 정도 주목하면 될 것 같은데 <strong>이미지, 영상, 목소리</strong> 정도 일 것 같습니다.</p>
<h3 id="1-이미지-생성">1. 이미지 생성</h3>
<p>이미지는 최근에 &quot;내 사진을 지브리 스타일로 바꿔줘&quot;가 유명했던 것 처럼 그냥 ChatGPT나 다른 모델들 사용했을때 이미지 생성을 도와주는 툴들이 워낙 많아서 이들을 이용 하면 될것 같습니다.
크게 다음 2가지 정도 방식으로 생성한다고 이해하고 사용하시면 될 것 같고, 
자세하게 이미지 생성을 생각하면 어떤 아이디어를 통해서 동작 하는 것인지 해당 방식이 Gan, Vae, Diffusion, Tokenization 등 을 원리가 궁금하면 찾아서 살펴보시면 될것 같습니다.</p>
<ul>
<li>text to image : 프롬프팅을 이용해서 이미지 생성하기</li>
<li>image to image : 기존 이미지를 가공하여 원하는 이미지로 생성하기</li>
</ul>
<p>참고로 저는 stable diffusion 기반 모델 웹사이트 혹은 chatGPT, Gemini 이용해서 주로 이미지 생성 했습니다.</p>
<blockquote>
<p><a href="https://stablediffusionxl.com/">https://stablediffusionxl.com/</a>
별도의 이메일이나 로그인 필요없어서 개인정보 제공하고 싶지 않다면 이 사이트 정말 추천드립니다.
<br>
<a href="https://chatgpt.com/">https://chatgpt.com/</a>
이메일 필요합니다
<br>
<a href="https://gemini.google.com/">https://gemini.google.com/</a>
이메일 필요합니다</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/07228463-6ce3-46b2-80e0-97c12c7c5208/image.png" alt="">
이런 서양 애니매이션 느낌의 이미지를 1번째 사이트에서 생성 했었습니다.</p>
<hr>
<h3 id="2-영상-생성">2. 영상 생성</h3>
<p>영상도 이미지 생성과 비슷하게 2가지 방식이 있습니다.</p>
<ul>
<li>text to video : 프롬프팅 이용해서 동영상 생성하기</li>
<li>image to video : 기존 이미지를 영상의 소스로 사용</li>
</ul>
<blockquote>
<p><a href="https://www.adobe.com/kr/products/firefly.html">https://www.adobe.com/kr/products/firefly.html</a>
이 사이트를 통해서 약 5초 정도 영상을 끊어서 제작했습니다. 그렇게 추천 하지는 않습니다.
<br>
<a href="https://runwayml.com/">https://runwayml.com/</a>
이 사이트 추천 드립니다! 사용 해 봤을때 퀄리티가 좋아요
<br>
<a href="https://www.canva.com/">https://www.canva.com/</a>
canva 사이트 사용해보신 분은 어? 비디오?? 라고 생각 하실수도 있지만 이 사이트에서는 ppt, 로고 등등 비디오 까지 ppt 슬라이드 처럼 제작 하는데 이용 하실수 있습니다.</p>
</blockquote>
<hr>
<h3 id="3-목소리-생성">3. 목소리 생성</h3>
<p><a href="https://vrew.ai/ko/">https://vrew.ai/ko/</a>
vrew 사이트에서는 무료로도 기존 tts(text to speech) 기능을 할 수 있도록 하여서 본인이 원하는 자막을 달고 그것을 읽어주도록 사용 가능합니다.</p>
<p><img src="https://velog.velcdn.com/images/yoo_sseung/post/be15d5b3-69e8-4d27-a460-609c36a7dc8a/image.png" alt="">
이런식으로 목소리 설정 할 수 있습니다.</p>
<hr>
<p>제가 이런 사이트, 도구들을 이용해서 위에 첨부했던 영상을 제작 했던 것 입니다.
다음 글에서는 최상단의 퀄리티 높았던 유튜브 제작자 님의 이메일 답변을 토대로 제작을 본격적으로 해보겠습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[001. VELOG? 기술 블로그? 일기장? 시작하는 이유..!]]></title>
            <link>https://velog.io/@yoo_sseung/001.-VELOG-%EA%B8%B0%EC%88%A0-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%9D%BC%EA%B8%B0%EC%9E%A5-%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0</link>
            <guid>https://velog.io/@yoo_sseung/001.-VELOG-%EA%B8%B0%EC%88%A0-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%9D%BC%EA%B8%B0%EC%9E%A5-%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0</guid>
            <pubDate>Fri, 26 Sep 2025 06:42:52 GMT</pubDate>
            <description><![CDATA[<p>내가 왜 VELOG를 시작했을까..?
글은 제가 일기장에 혼자 적는 느낌으로 키보드가 눌려지는 대로 편하게 앞으로도 작성 할 것 같습니다.
요즘 무엇이든 ChatGPT에 물어보고 적는게 익숙해져버린 지금, 글재주 없는 제 민낯을 보이는 것 같아 조심스럽기도 하네요.</p>
<hr>
<blockquote>
<p> 먼저 이제 앞으로 글을 쓰게 될 저라는 사람이 어떤 길을 걸었나 몇자 적도록 하겠습니다.</p>
</blockquote>
<p> 중고등학생 때 수학 과목을 유독 좋아해서 교내 경시대회 같은 것도 1등하고 친구들이 저에게 와서 문제 물어보면 차근차근 알려주며 저도 모르는 사이에 뿌듯한 마음때문인지 대학교 진로도 수학과로 오게 되었습니다. 그렇게 1학년을 마치고 군대를 다녀왔을때 저는 방학 프로젝트로 우연히 Unity를 이용한 2D 게임 만들어 보는 프로젝트를 하게 되었고 그렇게 코드라는 것에 첫 발을 내딛은 이후에는 다들 아시는 ChatGPT라는 녀석이 세상에 나오고 
아... 인공지능쪽으로 세상의 흐름이 흘러가겠구나라고 느꼈습니다. 그렇게 이후에는 코딩을 하는 수업들을 듣고 학부 연구생으로 이미지 처리나 인공지능에 관심 있으신 교수님을 찾아 뵙습니다. 이후 동기 친구 1명과 같이 처음으로 &quot;케라스 창시자에게 배우는 딥러닝&quot; 책을 구매해서 서로 공부하고 Google colab으로 예제 코드 쳐가면서 연습 했었습니다. 그렇게 학부 때는 공부하고 대전 대덕에 있는 모회사의 x-ray 영상 처리하는 프로젝트도 해보고 둘이서 &quot;의료 인공지능 공모전&quot;을 한번 출전 했는데 운이 좋게도 덜컥 우수상이 되었기도 했죠.
어느덧 졸업이 다가올때 막하기에 저는 학점을 인정해주는 스타트업에서 인턴을 한학기 동안 하게 되고, 여기서 그동안 공부했던 것을 바탕으로 YOLO라는 객체 탐지에서 모르는 사람이 없을 정도로 대중화 되어있는 이 YOLO라는 녀석을 활용해서 산업 현장에서 주차장 CCTV 영상으로 객체를 탐지하고 주차면에 차량이 주차되었는지 판단하고 있는 회사에서 인턴 기회를 받았습니다. 거기에서 <strong>&quot;탐지를 기반으로 추적을 한번 해볼수 있겠니</strong>&quot; 라고 대표님이 제안해주셔서 혼자서 하는 자율 프로젝트 느낌으로 시도 하였습니다. 
그래서 아래와 같은 것들을 인턴기간동안 맨땅에 헤딩느낌으로 집가서도 찾아보고 알아가면서 했었습니다.</p>
<blockquote>
<img src="https://velog.velcdn.com/images/yoo_sseung/post/2144eb36-f2ba-4224-aeb8-52e4751fc30b/image.png" width="70%" />
</blockquote>
<blockquote>
<img src = "https://velog.velcdn.com/images/yoo_sseung/post/b7cd5eb4-4fe0-42c5-9227-7ceb3523656d/image.png" width = "70%">
</blockquote>
<blockquote>
<iframe width="560" height="315" src="https://www.youtube.com/embed/16s_f167-zI" title="YouTube video player" frameborder="0" allowfullscreen></iframe>
</blockquote>
<br>
<br>

<hr>
<blockquote>
<p>2023년 12월에 인턴까지 끝난 뒤 왜 2025년 9월말인 아직도 취준생일까요?</p>
</blockquote>
<p>인턴 기간 동안 회식 자리에서 책임 연구원님께서 저에게 같이 회에 소맥 마시면서 조언을 해주셨습니다. 워딩 그대로 말씀 드리면 <strong>&quot;여기서 오랫동안 살아 남으려면 너가 잘아는 것 말고도 넓은 부분을 알아야해&quot;</strong> 라고 하셨어요. 그렇게 저는 내 전공이 컴퓨터공학이 아닌 수학과라서 그렇게 말씀 하신걸까? 내가 그렇게 소프트웨어 적인 역량이 부족한가? 내가 무엇을 알아야하지? 라는 고민이 되었습니다.
그렇게 인턴 이후 회사에서 감사하게도 취업 제안이 왔지만 저는 그럼 넓게 먼저 &#39;이 필드 이 판&#39;에 대해 더 알아야 겠다라고 생각했고 삼성 청년 소프트웨어 아카데미(SSAFY)에서 12기로써 1년간(2024 7월 ~ 2025 6월) 까지 1년 과정을 수료하였습니다.
그렇게 9월말 현재까지 취업을 준비하는 취준생의 삶을 살고 있습니다.</p>
<br>

<hr>
<br>

<blockquote>
<p>그래서 왜 VELOG 시작하냐구요??? 읽어주셔서 감사합니다. 이제 적어보겠습니다</p>
</blockquote>
<p>취업을 준비하며 저를 취업 시장에서 <strong>증명</strong>하기 위해서 저는 그동안 했던 프로젝트나 경험이 가장 중요하다고 생각했는데 제 대학이 서울 상위권 대학도 아닌 지방에 있는 고려대 세종캠퍼스를 졸업했기 때문인지 수십개의 이력서 제출을 하더라도 좋은 결과를 내지 못하고 정말 쉽지 않았습니다. 내가 했던 경험이나 노력을 설명하기 위해서 기회가 주어지지 않는다면 나를 어떻게 증명하는가... 너무 막막했습니다.
나의 대학, 프로젝트나 경험이 정말 부족해서 그런 것인지 아니면 이미 석사 이상의 지원자나 중고 신입이 많아서 나는 눈에 띄지 않는 것인지.
Notion, Jira 등을 이용해 정리하고 진행했던 프로젝트들, Notion 에서 같이 공부했던 알고리즘 스터디 등등 이 노력이 정말 빛나기 위해서 저를 더 잘 보여줄 필요가 있다고 생각 했습니다.</p>
<blockquote>
<img src= "https://velog.velcdn.com/images/yoo_sseung/post/dde63a9e-0732-4b27-8856-e8f2cca788b0/image.png "  width="50%" />
<img src= "https://velog.velcdn.com/images/yoo_sseung/post/2c30201b-9e15-481c-8187-1dad459cbfb8/image.png " width="50%" />
<img src= "https://velog.velcdn.com/images/yoo_sseung/post/1b4b4446-2e40-4cc1-9176-511c062eba3b/image.png " width="50%" />
</blockquote>
<p>서론이 너무나도 길었지만 앞으로 제가하는 것을 기록하고 증명하기 위해서 앞으로 <strong>꾸준하게</strong> 제가 하고 있는 것들에 대해서 작성하고, 필요하신 분들이 있다면 문의도 저에게 해주시고 부담없이 난장판 칠수 있는 그런 VELOG를 만들어 보려고 합니다.
AI 기술이 정말 말 그대로 모든 분야에 영향을 끼치고 있고 새로운 논문이나 뉴스 기사들, 기술들이 소개 되어지는데 그 중 궁금한 것들을 직접 해보고, 알아보고, 적용해보고 혼자 뚱땅뚱땅 해볼 예정입니다</p>
<p>&quot;첫 걸음 대신 첫 키보드를 뗀 지금부터 앞으로 정진은 모르겠지만 활보 해보겠습니다!&quot;</p>
<p>이 긴 글을 읽어 주신 분이 계시다면 감사하고 앞으로 계속 <strong>엉망진창 열심히 개발 해보겠습니다.</strong>
감사합니다.</p>
]]></description>
        </item>
    </channel>
</rss>