<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>정을용 IT이야기</title>
    <link>https://nextshds.tistory.com/</link>
    <description>다양한 IT이야기.. AI관점이 큽니다.</description>
    <language>ko</language>
    <pubDate>Mon, 13 Apr 2026 13:47:15 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Teari</managingEditor>
    <image>
      <title>정을용 IT이야기</title>
      <url>https://tistory1.daumcdn.net/tistory/3160210/attach/6823e3840e0b49d1bc7e2cbd12650fa5</url>
      <link>https://nextshds.tistory.com</link>
    </image>
    <item>
      <title>디지털 트윈으로 들여다본 AI 활용의 미래</title>
      <link>https://nextshds.tistory.com/202</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;신한DS R&amp;amp;D AI개발자 우모씨의 게시글입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근 제조업과 스마트시티를 넘어 금융 IT 분야까지 &amp;lsquo;디지털 트윈(Digital Twin)&amp;rsquo;이라는 개념이 빠르게 확산되고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 기술이 과연 우리와 어떤 관련이 있을지 직접 확인해보고자, 제 노트북의 실시간 상태를 3D로 보여주는 노트북 디지털 트윈을 직접 구현해보았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AI 어시스턴트의 도움으로 단 2시간 만에&lt;/b&gt; 실시간 3D 시스템 모니터링 도구를 완성할 수 있었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 경험을 통해 AI가 우리의 일자리를 위협하는 존재가 아니라, 우리가 더 창의적이고 본질적인 가치를 만드는 일에 집중하도록 돕는 강력한 파트너임을 다시 한번 확신하게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 디지털 트윈의 개념부터 금융권의 실제 적용 사례, 그리고 이 기술이 우리에게 주는 시사점과 미래 가능성까지 공유하며, AI 시대에 우리가 나아갈 방향을 함께 고민해보고자 합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;디지털 트윈, 가장 쉽게 이해하기&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;437&quot; data-origin-height=&quot;654&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bujtUI/btsQkP1vfuI/k4q8wxtRre2jKfyB7YcO81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bujtUI/btsQkP1vfuI/k4q8wxtRre2jKfyB7YcO81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bujtUI/btsQkP1vfuI/k4q8wxtRre2jKfyB7YcO81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbujtUI%2FbtsQkP1vfuI%2Fk4q8wxtRre2jKfyB7YcO81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;437&quot; height=&quot;654&quot; data-origin-width=&quot;437&quot; data-origin-height=&quot;654&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;디지털 트윈이란 무엇일까요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 간단하게 말해, 디지털 트윈은 현실 세계에 존재하는 사물의 &amp;lsquo;디지털 쌍둥이&amp;rsquo;입니다. 현실의 물리적인 자산을 컴퓨터 속 가상 세계에 똑같이 구현하고, 실시간 데이터를 통해 동기화하여 시뮬레이션, 분석, 예측에 활용하는 기술입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;일상 속 비유: 실시간 교통 상황 앱&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러분이 매일 사용하는 &lt;b&gt;카카오맵이나 T맵의 실시간 교통 정보&lt;/b&gt;가 바로 디지털 트윈의 좋은 예입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;현실 세계&lt;/b&gt;: 도로 위를 달리는 수많은 자동차&lt;/li&gt;
&lt;li&gt;&lt;b&gt;디지털 트윈&lt;/b&gt;: 스마트폰 지도 앱에 표시되는 실시간 교통 흐름 (원활, 서행, 정체)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;상호작용&lt;/b&gt;: 이 정보를 바탕으로 우리는 최적의 경로를 선택하고, 도착 시간을 예측합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이처럼 디지털 트윈은 단순히 보기 좋은 3D 모델이 아니라, 현실과 실시간으로 상호작용하며 의사결정을 돕는 살아있는 가상 모델입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;디지털 트윈의 3가지 핵심 요소&lt;/b&gt;&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;실시간 데이터 연동&lt;/b&gt; : 현실 세계의 사물에 부착된 센서(온도, 압력 등)나 시스템 로그(CPU, 메모리 사용량 등)로부터 데이터를 끊임없이 수집하여 가상 모델에 반영합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;정교한 가상 모델링&lt;/b&gt; : 수집된 데이터를 기반으로 현실의 대상을 3D 모델이나 다이어그램 등 시각적으로 구현합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;분석 및 예측을 통한 최적화&lt;/b&gt; : 가상 모델을 통해 현재 상태를 분석하고, 다양한 시나리오를 시뮬레이션하여 미래를 예측하고(예: 장비 고장 예측), 운영을 최적화(예: 에너지 사용량 절감)합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI 기술의 발전은 디지털 트윈이 복잡한 데이터 속에서 스스로 패턴을 학습하고, 이상 징후를 감지하며, 최적의 대응 방안까지 제시하는 수준으로 진화시키고 있습니다. 과거에는 데이터 분석부터 의사결정까지 수일이 걸렸다면, 이제는 실시간 모니터링과 AI 분석을 통해 &lt;b&gt;수 초에서 분 단위로 즉각적인 대응&lt;/b&gt;이 가능해진 것입니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;금융권에서의 디지털 트윈 도입 사례&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;아무리 그래도 우리 같은 금융 IT 기업과는 먼 이야기 아닐까?&quot; 라고 생각하실 수도 있습니다. 하지만 이미 많은 글로벌 금융 기업들은 디지털 트윈을 통해 운영을 혁신하고 놀라운 성과를 만들어내고 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;물리적 자산의 가상화: BMO의 지점 네트워크 최적화&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;금융권 디지털 트윈의 가장 직관적인 사례는 캐나다 BMO(Bank of Montreal)의 지점 디지털화 프로젝트다. BMO는 Bank of the West 인수 과정에서 503개 지점을 Matterport의 3D 디지털 트윈 기술로 가상화했다. 이를 통해 물리적 방문 없이 지점 리브랜딩과 기술 업데이트를 계획할 수 있었고, 15개월 만에 50만 달러 이상의 비용 절감과 6,000시간의 업무 시간 단축이라는 가시적 성과를 달성했다. 지점당 약 12시간의 현장 조사 시간이 절약되었으며, 이는 금융기관이 물리적 인프라를 디지털로 관리하는 새로운 패러다임을 제시한다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;복잡한 금융상품의 디지털 모델링: TIAA의 혁신&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미국 교직원 은퇴연금을 운영하는 TIAA는 디지털 트윈을 통해 금융상품의 복잡성을 극복했다. 600개 이상의 상품 특성과 1조 개 이상의 가능한 구성 조합을 가진 퇴직연금 상품을 그래프 데이터베이스 기반 디지털 트윈으로 구현했다. 이 시스템은 메타데이터, 운영 흐름, 상호 의존성, 비즈니스 규칙을 통합 관리하며, 복잡한 상품 제안 시간을 70% 단축시켰다. 이 혁신적 접근으로 TIAA는 CIO 100 Award in IT Excellence를 수상했으며, 금융상품 설계와 관리의 새로운 기준을 제시했다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;리스크 관리의 혁명: 보험업계의 선도적 적용&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보험업계는 디지털 트윈 도입에서 가장 앞서 있다. AXA XL은 고객 시설의 가상 복제품을 생성하여 리스크 엔지니어링, 청구 처리, VR 교육에 활용하고 있다. 특히 평균 60만 달러에 달하는 기계 고장 청구를 예방하는 조기 경고 시스템 구축은 예방적 리스크 관리의 모범 사례다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Swiss Re는 Microsoft와의 전략적 파트너십을 통해 'Risk Digital Twins'를 구축했다. 이 시스템은 극동에서 유럽까지 운항하는 선박의 실시간 모니터링부터 제조 네트워크, 공급망, 기후 리스크 모델링까지 포괄한다. 특히 한 선박의 화물 손실이 글로벌 공급망에 미치는 파급효과를 시뮬레이션하여 시스템적 리스크를 사전에 파악할 수 있다는 점에서 혁신적이다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;금융 인프라의 디지털화: 중앙은행과 FMI의 변화&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;FNA(Financial Network Analytics)는 50개 이상 국가의 중앙은행과 금융 인프라 기관을 위해 10개 이상의 FMI(Financial Market Infrastructure) 디지털 트윈을 구축했다. 이들은 실시간 총액 결제(RTGS) 스트레스 테스트, 중앙은행 디지털 화폐(CBDC) 시뮬레이션, 유동성 모니터링, 사기 탐지에 활용되고 있다. 특히 규제 보고 시간을 수개월에서 수분으로 단축시킨 성과는 금융 감독 체계의 패러다임 전환을 보여준다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실시간 뱅킹의 구현: Matera의 대규모 처리 능력&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브라질 핀테크 기업 Matera의 디지털 트윈은 실시간 뱅킹의 기술적 한계를 돌파했다. 초당 12,000건 이상의 거래를 처리하고 1억 4,500만 계좌에서 테스트를 완료했으며, 연간 50억 건 이상의 거래를 처리하고 있다. 브라질 은행의 3분의 1이 채택한 이 시스템은 코어 시스템 유지보수 중에도 24/7 지속적인 가동을 보장한다. 이는 레거시 코어 뱅킹 시스템을 교체하지 않고도 디지털 전환을 달성할 수 있음을 증명한다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;디지털 트윈이 우리에게 주는 강력한 시사점&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 사례들은 디지털 트윈이 우리의 일하는 방식을 어떻게 근본적으로 바꿀 수 있는지 보여줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. &quot;보이지 않던 것이 보인다&quot;: 직관적 시각화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;복잡한 시스템의 상태를 수많은 숫자로 가득 찬 엑셀 시트나 텍스트 로그로 보는 것과, 직관적인 3D 모델에서 위험 신호를 색깔 변화로 즉시 인지하는 것은 대응 속도와 정확성에서 하늘과 땅 차이입니다. 제가 만든 노트북 디지털 트윈에서도 CPU 과부하 시 노트북 모델이 붉게 변하는 것만으로 &quot;아, 지금 컴퓨터가 힘들어하는구나!&quot;를 즉시 알 수 있었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. &quot;실험이 무료가 된다&quot;: 리스크 없는 시뮬레이션&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;신규 시스템을 도입하거나 기존 시스템을 변경할 때, 실패에 대한 두려움은 큰 장벽입니다. 디지털 트윈 환경에서는 수억 원의 손실 걱정 없이 가상 공간에서 수백, 수천 번의 테스트를 통해 최적의 방안을 찾은 뒤 실제 시스템에 안전하게 적용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;3. &quot;미래를 미리 본다&quot;: 예측 기반의 선제적 대응&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;블랙프라이데이에 트래픽이 10배 폭증하면 우리 시스템은 버틸 수 있을까?&quot;, &quot;핵심 서버 2대가 동시에 다운되면 어떤 일이 벌어질까?&quot; 와 같은 &amp;lsquo;What-if&amp;rsquo; 시나리오를 가상에서 미리 경험하고 대비할 수 있습니다. 이는 문제 발생 후 대응하는 &amp;lsquo;사후약방문&amp;rsquo;에서 벗어나, 미래를 예측하고 선제적으로 대응하는 문화를 만듭니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. &quot;AI와 최고의 시너지를 낸다&quot;: 자율 운영 시스템&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디지털 트윈이 수집한 방대한 실시간 데이터를 AI가 학습하고 분석하면, 시스템은 스스로 문제를 진단하고 해결하는 &amp;lsquo;자율 운영&amp;rsquo; 단계로 나아갈 수 있습니다. 예를 들어, AI는 특정 패턴의 부하 증가를 감지하면 자동으로 서버를 증설하고, 담당팀에게는 &quot;자동으로 처리했습니다&quot;라고 보고만 합니다. 사람은 더 중요한 전략적 의사결정에 집중하게 됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;디지털 트윈의 진화, 월드 모델의 등장&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근 OpenAI, Google 등 빅테크 기업들이 주목하는 &amp;lsquo;월드 모델(World Model)&amp;rsquo;은 디지털 트윈의 궁극적인 진화형으로 볼 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구분 디지털 트윈 (Digital Twin) 월드 모델 (World Model)&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;범위&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;특정 자산, 시스템 하나를 복제&lt;/td&gt;
&lt;td&gt;세상 전체, 특정 생태계를 이해&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;작동 방식&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;정해진 규칙과 데이터 기반으로 작동&lt;/td&gt;
&lt;td&gt;스스로 환경을 학습하고 진화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;예측 방식&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&quot;A이면 B이다&quot; (인과관계 기반)&lt;/td&gt;
&lt;td&gt;&quot;A이면 B, C, D가 발생할 수 있다&quot; (모든 가능성 예측)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;월드 모델은 단순히 하나의 시스템을 넘어, &lt;b&gt;금융 생태계 전체의 복잡한 상호작용을 이해하고 예측&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, 경제 위기 상황에서 현재의 디지털 트윈은 &amp;lsquo;우리 은행 시스템은 안전한가?&amp;rsquo;를 모니터링하는 데 그칩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 월드 모델은 &amp;lsquo;우리 은행의 시스템 장애가 고객 불안으로 이어지고, 이는 SNS를 통해 확산되어 타행으로의 자금 이동을 유발하며, 결국 주가 하락으로 이어지는&amp;rsquo; &lt;b&gt;연쇄적인 시나리오 전체를 예측하고 종합적인 대응 전략을 제시&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 월드 모델 시대를 선도하기 위해 우리가 지금부터 준비해야 할 것은 명확합니다. 흩어진 데이터를 연결하고, AI와 협업하는 능력을 기르며, 이를 기반으로 미래 서비스를 설계하는 것입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실습 후기 - AI와 2시간 만에 만든 내 노트북의 디지털 트윈&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;659&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ucfLI/btsQlAW3MJ7/QSkyOZTJzkrMIictnpr3cK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ucfLI/btsQlAW3MJ7/QSkyOZTJzkrMIictnpr3cK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ucfLI/btsQlAW3MJ7/QSkyOZTJzkrMIictnpr3cK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FucfLI%2FbtsQlAW3MJ7%2FQSkyOZTJzkrMIictnpr3cK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;659&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;659&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;655&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjKAwQ/btsQl0HXTtw/isOBk4nOSNUChx3Q28TYK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjKAwQ/btsQl0HXTtw/isOBk4nOSNUChx3Q28TYK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjKAwQ/btsQl0HXTtw/isOBk4nOSNUChx3Q28TYK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjKAwQ%2FbtsQl0HXTtw%2FisOBk4nOSNUChx3Q28TYK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;655&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;655&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 경험에서 가장 강조하고 싶은 것은 AI와의 협업 과정입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;무엇을 만들었나?&lt;/b&gt;: 제 노트북의 CPU, 메모리, 배터리 상태를 1초마다 체크하여 브라우저 속 3D 노트북 모델의 색상과 파티클 효과로 보여주는 실시간 모니터링 도구&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AI와 협업 과정&lt;/b&gt;:
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;나&lt;/b&gt;: &quot;노트북 상태를 3D로 보여주는 프로그램 만들고 싶어. Python으로 시스템 정보 가져오고, Three.js로 웹에 시각화해줘.&quot;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AI&lt;/b&gt;: &quot;좋은 아이디어네요! 전체 구조는 이렇게 설계하고, 필요한 코드는 다음과 같습니다.&quot; (30분 만에 전체 코드 1,500줄과 REST API 구조 생성)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;나&lt;/b&gt;: &quot;3D 모델이 배경에 묻혀서 잘 안 보여.&quot;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AI&lt;/b&gt;: &quot;은색 매트 재질로 바꾸고 조명을 조정하면 가시성이 좋아질 겁니다. 이 코드를 적용해보세요.&quot; (즉시 문제 해결)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;놀라운 발견&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;속도의 혁명&lt;/b&gt;: 혼자 했다면 1~2주 걸렸을 작업을 &lt;b&gt;단 2시간&lt;/b&gt;에 마쳤습니다. &lt;b&gt;40배 빠른 개발&lt;/b&gt; 속도입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;학습의 혁명&lt;/b&gt;: 3D 렌더링 라이브러리(Three.js) 경험이 전무했지만, AI의 도움으로 2시간 만에 전문가 수준의 결과물을 만들며 기술을 습득했습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;품질의 혁명&lt;/b&gt;: AI는 일반적인 버그를 사전에 방지하고, 업계 표준(Best Practice)에 맞는 코드를 제안하며 상세한 설명까지 덧붙여 주었습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;우리의 도입 가능성 검토&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 작은 실험은 거창한 디지털 트윈이 아니더라도, &lt;b&gt;AI 어시스턴트를 활용하면 우리 부서의 작은 문제부터 즉시 해결할 수 있다&lt;/b&gt;는 가능성을 명확히 보여줍니다. 예를 들어, &lt;b&gt;서버실의 온습도를 시각화하는 간단한 대시보드&lt;/b&gt;나, &lt;b&gt;각종 시스템의 API 응답 시간을 추적하는 모니터링 툴&lt;/b&gt; 등은 적은 비용과 시간으로 빠르게 구현하여 운영 효율을 크게 높일 수 있을 것입니다. 시작은 작지만, 그 성공 경험이 전사적인 AI 도입의 중요한 마중물이 될 것입니다.&lt;/p&gt;</description>
      <category>관심분야/생성형AI</category>
      <category>AI 활용의 미래</category>
      <category>Digital twin</category>
      <category>디지털트윈</category>
      <author>알 수 없는 사용자</author>
      <guid isPermaLink="true">https://nextshds.tistory.com/202</guid>
      <comments>https://nextshds.tistory.com/202#entry202comment</comments>
      <pubDate>Thu, 4 Sep 2025 13:28:38 +0900</pubDate>
    </item>
    <item>
      <title>[질문의 기술] 프롬프팅 기초: &amp;quot;좋은 질문 vs 나쁜 질문&amp;quot;</title>
      <link>https://nextshds.tistory.com/201</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1184&quot; data-origin-height=&quot;672&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJU6pU/btsP8dHQ88K/idQQL5hzbT28nDgXKk0lf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJU6pU/btsP8dHQ88K/idQQL5hzbT28nDgXKk0lf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJU6pU/btsP8dHQ88K/idQQL5hzbT28nDgXKk0lf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJU6pU%2FbtsP8dHQ88K%2FidQQL5hzbT28nDgXKk0lf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1184&quot; height=&quot;672&quot; data-origin-width=&quot;1184&quot; data-origin-height=&quot;672&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;TCREI: 구글이 권장하는 5단계 프롬프팅 프레임워크&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구글과 OpenAI의 AI 전문가들이 수많은 실험 끝에 만든 **'완벽한 프롬프팅 공식'**이 있습니다. 바로 &lt;b&gt;TCREI 프레임워크&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;T&lt;/b&gt;ask (무엇을) &amp;rarr; &lt;b&gt;C&lt;/b&gt;ontext (누구를 위해) &amp;rarr; &lt;b&gt;R&lt;/b&gt;eference (예시 제공) &amp;rarr; &lt;b&gt;E&lt;/b&gt;valuate (체크리스트) &amp;rarr; &lt;b&gt;I&lt;/b&gt;terate (개선)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 우리가 해야 할 일은 '친절한 업무 지시서'를 작성하는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 5단계만 따르면, 누구나 AI 전문가가 될 수 있습니다. 지금부터 하나씩 살펴보시죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;명확한 지시 vs 모호한 요청: 차이를 체감해보세요&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 이제 실제 예시를 통해 그 차이를 느껴보시죠. 여러분이 일상적으로 마주하는 상황들입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Before &amp;amp; After 비교 1: 보고서 작성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;❌&amp;nbsp;나쁜&amp;nbsp;예: &lt;br /&gt;&quot;보고서&amp;nbsp;써줘&quot; &lt;br /&gt;&lt;br /&gt;✅&amp;nbsp;좋은&amp;nbsp;예: &lt;br /&gt;&quot;A&amp;nbsp;프로젝트의&amp;nbsp;3분기&amp;nbsp;성과를&amp;nbsp;정리한&amp;nbsp;경영진&amp;nbsp;보고서를&amp;nbsp;작성해줘. &lt;br /&gt;주요&amp;nbsp;지표는&amp;nbsp;매출(전년&amp;nbsp;대비&amp;nbsp;15%&amp;nbsp;증가),&amp;nbsp;고객&amp;nbsp;만족도(4.2점), &lt;br /&gt;프로젝트&amp;nbsp;진행률(78%)이고,&amp;nbsp;분량은&amp;nbsp;A4&amp;nbsp;2페이지, &lt;br /&gt;전문적이지만&amp;nbsp;읽기&amp;nbsp;쉬운&amp;nbsp;비즈니스&amp;nbsp;톤으로&amp;nbsp;작성해줘.&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;무엇이 달라졌나요?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;구체적인 프로젝트명 (A 프로젝트)&lt;/li&gt;
&lt;li&gt;명확한 시기 (3분기)&lt;/li&gt;
&lt;li&gt;구체적인 데이터 (매출, 만족도, 진행률)&lt;/li&gt;
&lt;li&gt;원하는 분량 (A4 2페이지)&lt;/li&gt;
&lt;li&gt;톤앤매너 지정 (전문적이지만 읽기 쉬운)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Before &amp;amp; After 비교 2: 이메일 작성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;❌&amp;nbsp;나쁜&amp;nbsp;예: &lt;br /&gt;&quot;거래처에&amp;nbsp;메일&amp;nbsp;보내야&amp;nbsp;하는데&amp;nbsp;써줘&quot; &lt;br /&gt;&lt;br /&gt;✅&amp;nbsp;좋은&amp;nbsp;예: &lt;br /&gt;&quot;우리는&amp;nbsp;IT&amp;nbsp;솔루션&amp;nbsp;B사이고,&amp;nbsp;제조업체&amp;nbsp;A사에 &lt;br /&gt;신제품&amp;nbsp;데모&amp;nbsp;일정을&amp;nbsp;제안하는&amp;nbsp;이메일을&amp;nbsp;작성해줘. &lt;br /&gt;-&amp;nbsp;다음&amp;nbsp;주&amp;nbsp;화/목&amp;nbsp;오후&amp;nbsp;2-4시&amp;nbsp;제안 &lt;br /&gt;-&amp;nbsp;데모&amp;nbsp;소요시간은&amp;nbsp;약&amp;nbsp;1시간 &lt;br /&gt;-&amp;nbsp;정중하지만&amp;nbsp;친근한&amp;nbsp;톤 &lt;br /&gt;-&amp;nbsp;5-7문장으로&amp;nbsp;간결하게&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Before &amp;amp; After 비교 3: 아이디어 브레인스토밍&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;❌&amp;nbsp;나쁜&amp;nbsp;예: &lt;br /&gt;&quot;마케팅&amp;nbsp;아이디어&amp;nbsp;좀&quot; &lt;br /&gt;&lt;br /&gt;✅&amp;nbsp;좋은&amp;nbsp;예: &lt;br /&gt;&quot;30-40대&amp;nbsp;직장인을&amp;nbsp;타겟으로&amp;nbsp;하는&amp;nbsp;건강관리&amp;nbsp;앱의 &lt;br /&gt;저예산&amp;nbsp;마케팅&amp;nbsp;아이디어&amp;nbsp;10개를&amp;nbsp;제안해줘. &lt;br /&gt;-&amp;nbsp;예산:&amp;nbsp;월&amp;nbsp;500만원&amp;nbsp;이내 &lt;br /&gt;-&amp;nbsp;목표:&amp;nbsp;앱&amp;nbsp;다운로드&amp;nbsp;수&amp;nbsp;증가 &lt;br /&gt;-&amp;nbsp;제약:&amp;nbsp;의료광고&amp;nbsp;규정&amp;nbsp;준수 &lt;br /&gt;비용&amp;nbsp;효율성&amp;nbsp;순서로&amp;nbsp;정리해줘.&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 맥락(Context)을 제공하면, AI는 여러분이 원하는 것을 정확히 이해합니다. &lt;/b&gt;&lt;/p&gt;</description>
      <category>관심분야/생성형AI</category>
      <category>TCREI 프레임워크</category>
      <category>좋은 질문 vs 나쁜 질문</category>
      <author>알 수 없는 사용자</author>
      <guid isPermaLink="true">https://nextshds.tistory.com/201</guid>
      <comments>https://nextshds.tistory.com/201#entry201comment</comments>
      <pubDate>Tue, 26 Aug 2025 14:27:33 +0900</pubDate>
    </item>
    <item>
      <title>스테이블 코인 따라하기만 하면 누구나 발행,전송 한다 입문자용</title>
      <link>https://nextshds.tistory.com/200</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요&amp;nbsp; &lt;br /&gt;어렵게만&amp;nbsp;생각할수&amp;nbsp;있는&amp;nbsp;스테이블&amp;nbsp;코인&amp;nbsp;발행과&amp;nbsp;전송을&amp;nbsp;누구나&amp;nbsp;따라하면&amp;nbsp;할수있게&amp;nbsp;정리해보았습니다. &lt;br /&gt;초급수준이지만&amp;nbsp;'나만의&amp;nbsp;화폐'를&amp;nbsp;만들어본&amp;nbsp;것을&amp;nbsp;넘어,&amp;nbsp;중앙기관&amp;nbsp;없이&amp;nbsp;신뢰를&amp;nbsp;기반으로&amp;nbsp;가치를&amp;nbsp;생성하고&amp;nbsp; &lt;br /&gt;이전할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;블록체인의&amp;nbsp;혁신적인&amp;nbsp;힘을&amp;nbsp;직접&amp;nbsp;증명하고&amp;nbsp;체험수&amp;nbsp;있을거라&amp;nbsp;생각합니다. &lt;br /&gt;&lt;br /&gt;블록체인 생태계의 동작 원리를 체득이 목표입니다.&lt;br /&gt;스마트 컨트랙트: '코인'이란 것이 실체 없는 데이터가 아니라, 블록체인 위에서 실행되는 하나의 '프로그램(코드)'이라는 것을 이해할수 있습니다.&lt;br /&gt;탈중앙화된 배포: 은행이나 정부 같은 중앙 기관 없이, 내 컴퓨터에서 코드를 작성하고 전 세계의 컴퓨터 네트워크(세폴리아 테스트넷)에 직접 배포해 볼수있습니다.&lt;br /&gt;전자지갑의 역할: 메타마스크가 단순한 계좌가 아니라, 블록체인 세상의 '나'를 증명하는 신분증이자 모든 활동을 승인하는 '도장' 역할을 한다는 것을 경험할수 있습니다.&lt;br /&gt;트랜잭션과&amp;nbsp;가스비:&amp;nbsp;블록체인에&amp;nbsp;무언가를&amp;nbsp;기록(배포,&amp;nbsp;전송)할&amp;nbsp;때마다&amp;nbsp;수수료가&amp;nbsp;발생하며,&amp;nbsp;이&amp;nbsp;모든&amp;nbsp;기록은&amp;nbsp;투명하게&amp;nbsp;남는다는&amp;nbsp;핵심&amp;nbsp;개념을&amp;nbsp;직접&amp;nbsp;체험할수&amp;nbsp;있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드1.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dkkPrd/btsP6We2o2m/9Hp8H94MsYyaEpW001nibK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dkkPrd/btsP6We2o2m/9Hp8H94MsYyaEpW001nibK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dkkPrd/btsP6We2o2m/9Hp8H94MsYyaEpW001nibK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdkkPrd%2FbtsP6We2o2m%2F9Hp8H94MsYyaEpW001nibK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드1.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드2.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjLYXw/btsP4VVGZAe/1zwmPQmS5iVOzrvQkV3Jq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjLYXw/btsP4VVGZAe/1zwmPQmS5iVOzrvQkV3Jq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjLYXw/btsP4VVGZAe/1zwmPQmS5iVOzrvQkV3Jq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjLYXw%2FbtsP4VVGZAe%2F1zwmPQmS5iVOzrvQkV3Jq0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드2.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드3.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkUr1G/btsP7d1UemH/5t0JVHPRQqTPE1ODKEZQm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkUr1G/btsP7d1UemH/5t0JVHPRQqTPE1ODKEZQm0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkUr1G/btsP7d1UemH/5t0JVHPRQqTPE1ODKEZQm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkUr1G%2FbtsP7d1UemH%2F5t0JVHPRQqTPE1ODKEZQm0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드3.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드4.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjtckR/btsP6efUBhp/TK2z6z1N8FKTZdL7uEcmLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjtckR/btsP6efUBhp/TK2z6z1N8FKTZdL7uEcmLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjtckR/btsP6efUBhp/TK2z6z1N8FKTZdL7uEcmLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjtckR%2FbtsP6efUBhp%2FTK2z6z1N8FKTZdL7uEcmLk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드4.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드5.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/02rjh/btsP490Tqof/qoxdUxgKps0XNTFn3ZgCX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/02rjh/btsP490Tqof/qoxdUxgKps0XNTFn3ZgCX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/02rjh/btsP490Tqof/qoxdUxgKps0XNTFn3ZgCX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F02rjh%2FbtsP490Tqof%2FqoxdUxgKps0XNTFn3ZgCX1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드5.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드6.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cBEBPd/btsP4IiceYZ/8jVK1yKcb2vgWpWpNCnnB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cBEBPd/btsP4IiceYZ/8jVK1yKcb2vgWpWpNCnnB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cBEBPd/btsP4IiceYZ/8jVK1yKcb2vgWpWpNCnnB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcBEBPd%2FbtsP4IiceYZ%2F8jVK1yKcb2vgWpWpNCnnB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드6.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드7.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LwVeI/btsP4VaiKdM/pCVvleQfiaExuApIrmmpV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LwVeI/btsP4VaiKdM/pCVvleQfiaExuApIrmmpV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LwVeI/btsP4VaiKdM/pCVvleQfiaExuApIrmmpV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLwVeI%2FbtsP4VaiKdM%2FpCVvleQfiaExuApIrmmpV0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드7.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드8.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBwJRX/btsP4YkCfFH/Eqqhs4OkSUDbCXJJopDEH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBwJRX/btsP4YkCfFH/Eqqhs4OkSUDbCXJJopDEH1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBwJRX/btsP4YkCfFH/Eqqhs4OkSUDbCXJJopDEH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBwJRX%2FbtsP4YkCfFH%2FEqqhs4OkSUDbCXJJopDEH1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드8.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드9.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mX2U6/btsP4g7bQlM/Lgxhb0oaeEE8IVxO9V4ne1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mX2U6/btsP4g7bQlM/Lgxhb0oaeEE8IVxO9V4ne1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mX2U6/btsP4g7bQlM/Lgxhb0oaeEE8IVxO9V4ne1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmX2U6%2FbtsP4g7bQlM%2FLgxhb0oaeEE8IVxO9V4ne1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드9.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드10.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/epMW18/btsP4c4LDVK/z3WzvUY0CldaVTx2YPsAbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/epMW18/btsP4c4LDVK/z3WzvUY0CldaVTx2YPsAbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/epMW18/btsP4c4LDVK/z3WzvUY0CldaVTx2YPsAbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FepMW18%2FbtsP4c4LDVK%2Fz3WzvUY0CldaVTx2YPsAbK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드10.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드11.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YoRfx/btsP4e2xVly/WRaN0j5EGDU9V4wbZ16es0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YoRfx/btsP4e2xVly/WRaN0j5EGDU9V4wbZ16es0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YoRfx/btsP4e2xVly/WRaN0j5EGDU9V4wbZ16es0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYoRfx%2FbtsP4e2xVly%2FWRaN0j5EGDU9V4wbZ16es0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드11.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드12.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cRER56/btsP5IVTTya/QKqhuHU6BdHIIomPqaVD81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cRER56/btsP5IVTTya/QKqhuHU6BdHIIomPqaVD81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cRER56/btsP5IVTTya/QKqhuHU6BdHIIomPqaVD81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcRER56%2FbtsP5IVTTya%2FQKqhuHU6BdHIIomPqaVD81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드12.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드13.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bETaj5/btsP4iYcold/7canGNwQDivk6IN89mXfz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bETaj5/btsP4iYcold/7canGNwQDivk6IN89mXfz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bETaj5/btsP4iYcold/7canGNwQDivk6IN89mXfz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbETaj5%2FbtsP4iYcold%2F7canGNwQDivk6IN89mXfz1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드13.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드14.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpmfAg/btsP69yq0t9/If7Vra2YKxTrr3DqsxNh61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpmfAg/btsP69yq0t9/If7Vra2YKxTrr3DqsxNh61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpmfAg/btsP69yq0t9/If7Vra2YKxTrr3DqsxNh61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpmfAg%2FbtsP69yq0t9%2FIf7Vra2YKxTrr3DqsxNh61%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드14.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드15.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Gkjme/btsP7efrxFe/LTfpd9A7ZWn2LyCHJK3Id1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Gkjme/btsP7efrxFe/LTfpd9A7ZWn2LyCHJK3Id1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Gkjme/btsP7efrxFe/LTfpd9A7ZWn2LyCHJK3Id1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGkjme%2FbtsP7efrxFe%2FLTfpd9A7ZWn2LyCHJK3Id1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드15.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드16.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KQcN3/btsP5p3sxBd/A2UIzuZZ0XWjrYTY8p0lM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KQcN3/btsP5p3sxBd/A2UIzuZZ0XWjrYTY8p0lM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KQcN3/btsP5p3sxBd/A2UIzuZZ0XWjrYTY8p0lM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKQcN3%2FbtsP5p3sxBd%2FA2UIzuZZ0XWjrYTY8p0lM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드16.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드17.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6JMiQ/btsP5hYv6C6/95u6bh7cMMTcafKesFrCB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6JMiQ/btsP5hYv6C6/95u6bh7cMMTcafKesFrCB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6JMiQ/btsP5hYv6C6/95u6bh7cMMTcafKesFrCB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6JMiQ%2FbtsP5hYv6C6%2F95u6bh7cMMTcafKesFrCB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드17.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드18.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mCfHB/btsP4cwTfyJ/pYVPmE6BObzuliwQvxHUEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mCfHB/btsP4cwTfyJ/pYVPmE6BObzuliwQvxHUEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mCfHB/btsP4cwTfyJ/pYVPmE6BObzuliwQvxHUEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmCfHB%2FbtsP4cwTfyJ%2FpYVPmE6BObzuliwQvxHUEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드18.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드19.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mLSMr/btsP5iJTdPN/74IxG4CBrRnAbd4rt3RGN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mLSMr/btsP5iJTdPN/74IxG4CBrRnAbd4rt3RGN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mLSMr/btsP5iJTdPN/74IxG4CBrRnAbd4rt3RGN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmLSMr%2FbtsP5iJTdPN%2F74IxG4CBrRnAbd4rt3RGN1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드19.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드20.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcQKCb/btsP5eAIosj/IjZ8eVNphY4QVogpeqEiy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcQKCb/btsP5eAIosj/IjZ8eVNphY4QVogpeqEiy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcQKCb/btsP5eAIosj/IjZ8eVNphY4QVogpeqEiy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcQKCb%2FbtsP5eAIosj%2FIjZ8eVNphY4QVogpeqEiy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드20.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드21.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ceMRhQ/btsP6flC2me/TEl8qkYffr9P6qsSh8ioC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ceMRhQ/btsP6flC2me/TEl8qkYffr9P6qsSh8ioC1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ceMRhQ/btsP6flC2me/TEl8qkYffr9P6qsSh8ioC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FceMRhQ%2FbtsP6flC2me%2FTEl8qkYffr9P6qsSh8ioC1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드21.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드22.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KMd1w/btsP4UvJte4/tGEp53OkgXrKGG1Etu7Uk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KMd1w/btsP4UvJte4/tGEp53OkgXrKGG1Etu7Uk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KMd1w/btsP4UvJte4/tGEp53OkgXrKGG1Etu7Uk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKMd1w%2FbtsP4UvJte4%2FtGEp53OkgXrKGG1Etu7Uk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드22.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드23.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRlsL2/btsP7dU8kNG/QT2uZUwh8c9xpx2WfZAl41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRlsL2/btsP7dU8kNG/QT2uZUwh8c9xpx2WfZAl41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRlsL2/btsP7dU8kNG/QT2uZUwh8c9xpx2WfZAl41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRlsL2%2FbtsP7dU8kNG%2FQT2uZUwh8c9xpx2WfZAl41%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드23.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드24.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEXmxf/btsP4vQu6oj/ftNnaW1oYKzasvvekcFST0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEXmxf/btsP4vQu6oj/ftNnaW1oYKzasvvekcFST0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEXmxf/btsP4vQu6oj/ftNnaW1oYKzasvvekcFST0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEXmxf%2FbtsP4vQu6oj%2FftNnaW1oYKzasvvekcFST0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드24.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드25.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cGIlTd/btsP4hLIUug/eItMjnXHoNvxx4ss4W0cUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cGIlTd/btsP4hLIUug/eItMjnXHoNvxx4ss4W0cUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cGIlTd/btsP4hLIUug/eItMjnXHoNvxx4ss4W0cUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcGIlTd%2FbtsP4hLIUug%2FeItMjnXHoNvxx4ss4W0cUk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드25.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드26.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Fulqp/btsP40o96YJ/dl5OgDVCv6qIUkszZz3nD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Fulqp/btsP40o96YJ/dl5OgDVCv6qIUkszZz3nD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Fulqp/btsP40o96YJ/dl5OgDVCv6qIUkszZz3nD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFulqp%2FbtsP40o96YJ%2Fdl5OgDVCv6qIUkszZz3nD0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드26.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드27.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bECh86/btsP5ocq7jy/joT1kvk0kbXHOfaisqNCYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bECh86/btsP5ocq7jy/joT1kvk0kbXHOfaisqNCYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bECh86/btsP5ocq7jy/joT1kvk0kbXHOfaisqNCYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbECh86%2FbtsP5ocq7jy%2FjoT1kvk0kbXHOfaisqNCYK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드27.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드28.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t32N5/btsP403KGJj/MIYvtAkySmWJHcXHzSt7iK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t32N5/btsP403KGJj/MIYvtAkySmWJHcXHzSt7iK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t32N5/btsP403KGJj/MIYvtAkySmWJHcXHzSt7iK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft32N5%2FbtsP403KGJj%2FMIYvtAkySmWJHcXHzSt7iK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드28.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드29.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eizuuB/btsP44FjivR/nlNJZINhnCWJTTKOMvi7w1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eizuuB/btsP44FjivR/nlNJZINhnCWJTTKOMvi7w1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eizuuB/btsP44FjivR/nlNJZINhnCWJTTKOMvi7w1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeizuuB%2FbtsP44FjivR%2FnlNJZINhnCWJTTKOMvi7w1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드29.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드30.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/G3pE1/btsP6WTDRey/1rTd4ROHVoTwpCY6YIOmHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/G3pE1/btsP6WTDRey/1rTd4ROHVoTwpCY6YIOmHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/G3pE1/btsP6WTDRey/1rTd4ROHVoTwpCY6YIOmHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FG3pE1%2FbtsP6WTDRey%2F1rTd4ROHVoTwpCY6YIOmHK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드30.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드31.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWaNoK/btsP61N72Xl/pZoQwLMxxH1qll0dFMhp91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWaNoK/btsP61N72Xl/pZoQwLMxxH1qll0dFMhp91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWaNoK/btsP61N72Xl/pZoQwLMxxH1qll0dFMhp91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWaNoK%2FbtsP61N72Xl%2FpZoQwLMxxH1qll0dFMhp91%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드31.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드32.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5lbBo/btsP4FTipOs/71ABiuSN0waDEHhBdRMkf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5lbBo/btsP4FTipOs/71ABiuSN0waDEHhBdRMkf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5lbBo/btsP4FTipOs/71ABiuSN0waDEHhBdRMkf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5lbBo%2FbtsP4FTipOs%2F71ABiuSN0waDEHhBdRMkf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드32.PNG&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>IT 최신 트렌드</category>
      <category>스테이블코인</category>
      <category>코인발행</category>
      <category>코인전송</category>
      <author>알 수 없는 사용자</author>
      <guid isPermaLink="true">https://nextshds.tistory.com/200</guid>
      <comments>https://nextshds.tistory.com/200#entry200comment</comments>
      <pubDate>Mon, 25 Aug 2025 16:16:06 +0900</pubDate>
    </item>
    <item>
      <title>Qwen의 Long Context 성능저하에 대한 극복 전략</title>
      <link>https://nextshds.tistory.com/199</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;저희팀 개발자의 고민이 녹여있는 문서라 인사이트가 있을거라 생각합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;648&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bawJ2H/btsPP6PHLlJ/MIyGxv9ylvdtiAQYeKyNU1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bawJ2H/btsPP6PHLlJ/MIyGxv9ylvdtiAQYeKyNU1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bawJ2H/btsPP6PHLlJ/MIyGxv9ylvdtiAQYeKyNU1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbawJ2H%2FbtsPP6PHLlJ%2FMIyGxv9ylvdtiAQYeKyNU1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;660&quot; height=&quot;648&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;648&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Qwen3-235B-Thinking-2507&amp;nbsp;모델에는&amp;nbsp;DCA와&amp;nbsp;MInference&amp;nbsp;전략이&amp;nbsp;도입되었음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. DCA&amp;nbsp;(Dual&amp;nbsp;Chunk&amp;nbsp;Attention)&lt;/b&gt; &lt;br /&gt;긴&amp;nbsp;입력(100K~1M&amp;nbsp;토큰&amp;nbsp;이상)을&amp;nbsp;처리&amp;nbsp;가능하게&amp;nbsp;만드는&amp;nbsp;방법 &lt;br /&gt;LLM은&amp;nbsp;훈련&amp;nbsp;당시&amp;nbsp;최대&amp;nbsp;컨텍스트&amp;nbsp;길이&amp;nbsp;(예:&amp;nbsp;4K,&amp;nbsp;8K,&amp;nbsp;32K&amp;nbsp;토큰)를&amp;nbsp;넘어가는&amp;nbsp;입력이&amp;nbsp;들어오면&amp;nbsp;문맥&amp;nbsp;추적&amp;nbsp;능력이&amp;nbsp;급격히&amp;nbsp;떨어짐. &lt;br /&gt;이를&amp;nbsp;늘리려면&amp;nbsp;보통&amp;nbsp;다시&amp;nbsp;긴&amp;nbsp;길이로&amp;nbsp;재학습(파인튜닝)&amp;nbsp;해야&amp;nbsp;함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;왜&amp;nbsp;&amp;ldquo;Dualˮ인가?&lt;/span&gt; &lt;br /&gt;단순청크&amp;nbsp;처리만&amp;nbsp;하면&amp;nbsp;전역&amp;nbsp;일관성(Global&amp;nbsp;Coherence)&amp;nbsp;이&amp;nbsp;깨짐. &lt;br /&gt;예를&amp;nbsp;들어,&amp;nbsp;1M&amp;nbsp;토큰의&amp;nbsp;앞부분&amp;nbsp;내용이&amp;nbsp;뒷부분&amp;nbsp;답변에&amp;nbsp;반영되지&amp;nbsp;않거나,&amp;nbsp;연결이&amp;nbsp;느슨해짐. &lt;br /&gt;DCA는&amp;nbsp;두&amp;nbsp;종류의&amp;nbsp;어텐션(Intra&amp;nbsp;+&amp;nbsp;Inter)&amp;nbsp;을&amp;nbsp;병행해서&amp;nbsp;&amp;ldquo;청크&amp;nbsp;내부&amp;nbsp;세부&amp;nbsp;정보&amp;nbsp;+&amp;nbsp;청크&amp;nbsp;간&amp;nbsp;연결ˮ&amp;nbsp;둘&amp;nbsp;다&amp;nbsp;놓치지&amp;nbsp;않게&amp;nbsp;함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;동작구조&lt;/span&gt; &lt;br /&gt;입력을&amp;nbsp;청크(Chunk)로&amp;nbsp;나눕니다. &lt;br /&gt;예:&amp;nbsp;1M&amp;nbsp;토큰&amp;nbsp;입력&amp;nbsp;&amp;rarr;&amp;nbsp;4K~8K&amp;nbsp;단위로&amp;nbsp;쪼갬.&amp;nbsp;이중&amp;nbsp;어텐션&amp;nbsp;구조(Dual&amp;nbsp;Attention) &lt;br /&gt;Intra-Chunk&amp;nbsp;Attention:&amp;nbsp;청크&amp;nbsp;내부&amp;nbsp;토큰끼리의&amp;nbsp;관계를&amp;nbsp;계산&amp;nbsp;&amp;rarr;&amp;nbsp;로컬&amp;nbsp;문맥을&amp;nbsp;정확히&amp;nbsp;이해 &lt;br /&gt;Inter-Chunk Attention: 청크끼리의 연결 관계를 계산 &amp;rarr; 전역 문맥을 유지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 청크 내&amp;middot;청크 간 문맥을 모두 보존할 수 있음. &lt;br /&gt;Flash&amp;nbsp;Attention과&amp;nbsp;호환,&amp;nbsp;효율적인&amp;nbsp;GPU&amp;nbsp;메모리&amp;nbsp;사용&amp;nbsp;및&amp;nbsp;속도&amp;nbsp;유지.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;예시&lt;/span&gt; &lt;br /&gt;엄청&amp;nbsp;긴소설(1M)&amp;nbsp;를&amp;nbsp;읽고&amp;nbsp;요약해야&amp;nbsp;하는&amp;nbsp;상황 &lt;br /&gt;일반모델:&amp;nbsp;한&amp;nbsp;번에&amp;nbsp;다&amp;nbsp;읽으려다&amp;nbsp;머리가&amp;nbsp;터짐(OOM). &lt;br /&gt;단순청크&amp;nbsp;처리:&amp;nbsp;각&amp;nbsp;장(chapter)별로&amp;nbsp;따로&amp;nbsp;읽고&amp;nbsp;요약&amp;nbsp;&amp;rarr;&amp;nbsp;장과&amp;nbsp;장&amp;nbsp;사이의&amp;nbsp;연결이&amp;nbsp;어색해짐. &lt;br /&gt;DCA:&amp;nbsp;각&amp;nbsp;장을&amp;nbsp;읽을&amp;nbsp;때,&amp;nbsp;해당&amp;nbsp;장의&amp;nbsp;내용(Intra)을&amp;nbsp;꼼꼼히&amp;nbsp;이해하면서,&amp;nbsp;동시에&amp;nbsp;이전&amp;nbsp;장들과&amp;nbsp;연결된&amp;nbsp;핵심&amp;nbsp;흐름(Inter)을&amp;nbsp;계속&amp;nbsp;추적&amp;nbsp;&amp;rarr;&amp;nbsp;끝까지&amp;nbsp;일관된&amp;nbsp;스토리&amp;nbsp;유지.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;DCA&amp;nbsp;VS&amp;nbsp;prefill &lt;/span&gt;&lt;br /&gt;개념: Context를 chunk로 나눠서 던진다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1334&quot; data-origin-height=&quot;769&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WcFty/btsPO3FY5fW/C4jlRlMyrLkAhDOMMcLwik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WcFty/btsPO3FY5fW/C4jlRlMyrLkAhDOMMcLwik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WcFty/btsPO3FY5fW/C4jlRlMyrLkAhDOMMcLwik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWcFty%2FbtsPO3FY5fW%2FC4jlRlMyrLkAhDOMMcLwik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;787&quot; height=&quot;769&quot; data-origin-width=&quot;1334&quot; data-origin-height=&quot;769&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.&amp;nbsp;MInference&lt;/b&gt; &lt;br /&gt;중요&amp;nbsp;내용만&amp;nbsp;attention&amp;nbsp;계산&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;중요한&amp;nbsp;토큰만&amp;nbsp;선택&lt;/span&gt; &lt;br /&gt;&amp;nbsp;-&amp;nbsp;모든토큰에서&amp;nbsp;토큰조합을&amp;nbsp;계산하는&amp;nbsp;대신,&amp;nbsp;모델이&amp;nbsp;판단하기에&amp;nbsp;의미상&amp;nbsp;중요한&amp;nbsp;토큰&amp;nbsp;쌍에&amp;nbsp;대해서만&amp;nbsp;Attention을&amp;nbsp;수행. &lt;br /&gt;&amp;nbsp;-&amp;nbsp;예:&amp;nbsp;&amp;ldquo;본문&amp;nbsp;내용&amp;rdquo;과&amp;nbsp;직접&amp;nbsp;연결되는&amp;nbsp;&amp;ldquo;질문&amp;nbsp;토큰&amp;rdquo;&amp;nbsp;위주로&amp;nbsp;연산. &lt;br /&gt;&amp;nbsp;-&amp;nbsp;MInference는&amp;nbsp;각&amp;nbsp;헤드별로&amp;nbsp;A-Shape/&amp;nbsp;Vertical-Slash&amp;nbsp;/&amp;nbsp;Block-Sparse같은&amp;nbsp;희소패턴을&amp;nbsp;정하고,&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;추론&amp;nbsp;시&amp;nbsp;그&amp;nbsp;패턴에&amp;nbsp;맞는&amp;nbsp;인덱스만&amp;nbsp;동적으로&amp;nbsp;계산하는&amp;nbsp;방식.&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;그래서 Prefill&amp;nbsp;단계 가 크게 빨라짐. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(참고)&amp;nbsp;Prefill&amp;nbsp;단계 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;LLM&amp;nbsp;추론은&amp;nbsp;보통&amp;nbsp;두&amp;nbsp;단계: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;Prefill(프롬프트&amp;nbsp;처리):&amp;nbsp;입력토큰&amp;nbsp;전부를&amp;nbsp;한&amp;nbsp;번에&amp;nbsp;병렬&amp;nbsp;처리해&amp;nbsp;각&amp;nbsp;층의&amp;nbsp;KV&amp;nbsp;캐시를&amp;nbsp;만듦.&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;Decode(토큰생성)&amp;nbsp;:&amp;nbsp;KV캐시를&amp;nbsp;재사용해&amp;nbsp;한&amp;nbsp;토큰씩&amp;nbsp;생성.&amp;nbsp;메모리&amp;nbsp;접근이&amp;nbsp;병목발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;정밀도&amp;nbsp;보정&lt;/span&gt; &lt;br /&gt;처음에&amp;nbsp;선택한&amp;nbsp;토큰관계가&amp;nbsp;너무&amp;nbsp;단순해서&amp;nbsp;의미가&amp;nbsp;깨지지&amp;nbsp;않도록, &lt;br /&gt;필요&amp;nbsp;시&amp;nbsp;일부&amp;nbsp;토큰&amp;nbsp;간&amp;nbsp;관계를&amp;nbsp;재계산하여&amp;nbsp;품질&amp;nbsp;유지.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;효과&lt;/span&gt; &lt;br /&gt;계산량 : O(n&amp;sup2;) --&amp;gt; O(n&amp;middot;k) 수준으로 감소 (k = 중요한 토큰 수)&lt;br /&gt;속도 : 긴 문맥에서 최대, 3~7배&amp;nbsp;prefill&amp;nbsp;속도&amp;nbsp;향상 &lt;br /&gt;메모리 사용량 :&amp;nbsp;대폭&amp;nbsp;감소&amp;nbsp;&amp;rarr;&amp;nbsp;1M&amp;nbsp;토큰도&amp;nbsp;가능 &lt;br /&gt;품질 :&amp;nbsp;불필요한&amp;nbsp;계산을&amp;nbsp;줄였지만,&amp;nbsp;중요한&amp;nbsp;관계는&amp;nbsp;보존해서&amp;nbsp;성능&amp;nbsp;하락&amp;nbsp;최소화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;중요&amp;nbsp;토큰만&amp;nbsp;고르는&amp;nbsp;방식&amp;nbsp;&lt;/span&gt; &lt;br /&gt;긴&amp;nbsp;문맥에서&amp;nbsp;실제로&amp;nbsp;관측되는&amp;nbsp;어텐션&amp;nbsp;희소&amp;nbsp;패턴을&amp;nbsp;헤드별로&amp;nbsp;정하고,&amp;nbsp;그&amp;nbsp;패턴에&amp;nbsp;맞춘&amp;nbsp;인덱스만&amp;nbsp;계산함. &lt;br /&gt;사전단계&amp;nbsp;:&amp;nbsp;각&amp;nbsp;어텐션&amp;nbsp;헤드가&amp;nbsp;따르는&amp;nbsp;희소&amp;nbsp;패턴&amp;nbsp;(A-shape&amp;nbsp;/&amp;nbsp;Vertical-Slash&amp;nbsp;/&amp;nbsp;Block-Sparse)을&amp;nbsp;결정. &lt;br /&gt;추론단계&amp;nbsp;:&amp;nbsp;해당&amp;nbsp;패턴에&amp;nbsp;맞춰&amp;nbsp;스파스&amp;nbsp;인덱스를&amp;nbsp;동적으로&amp;nbsp;근사해서,&amp;nbsp;그&amp;nbsp;위치들만&amp;nbsp;연산함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;희소패턴&amp;nbsp;정하는&amp;nbsp;방식&amp;nbsp; &lt;/span&gt;&lt;br /&gt;장문&amp;nbsp;맥락의&amp;nbsp;어텐션&amp;nbsp;행렬이&amp;nbsp;매우&amp;nbsp;희소하다는&amp;nbsp;관찰에서&amp;nbsp;출발 &lt;br /&gt;사전단계에서&amp;nbsp;각&amp;nbsp;어텐션&amp;nbsp;헤드마다&amp;nbsp;어떤&amp;nbsp;희소패턴(예:&amp;nbsp;Vertical-Slash&amp;nbsp;/&amp;nbsp;A-shape&amp;nbsp;/&amp;nbsp;Block-sparse)을&amp;nbsp;쓸지&amp;nbsp;탐색해&amp;nbsp;구성을&amp;nbsp;정함. &lt;br /&gt;추론단계에서&amp;nbsp;그&amp;nbsp;패턴에&amp;nbsp;맞는&amp;nbsp;인덱스만&amp;nbsp;동적으로&amp;nbsp;생성해서&amp;nbsp;계산(커스텀&amp;nbsp;커널).&amp;nbsp;이로써&amp;nbsp;프리필(prefill)&amp;nbsp;단계가&amp;nbsp;최대&amp;nbsp;10배&amp;nbsp;가속&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.&amp;nbsp;사용법&lt;/b&gt; &lt;br /&gt;1M&amp;nbsp;토큰&amp;nbsp;컨텍스트를&amp;nbsp;활성화하는&amp;nbsp;방법 &lt;br /&gt;1단계:&amp;nbsp;구성&amp;nbsp;파일&amp;nbsp;업데이트 &lt;br /&gt;모델을 다운로드하고 길이 외삽 및 희소 주의에 대한 구성을 포함하는 내용을 변경 --&amp;gt; config.json에서 config_1m.json &lt;br /&gt;2단계:&amp;nbsp;모델서버&amp;nbsp;시작 &lt;br /&gt;구성을&amp;nbsp;업데이트한&amp;nbsp;후&amp;nbsp;모델&amp;nbsp;제공을&amp;nbsp;위해&amp;nbsp;vLLM&amp;nbsp;진행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;vLLM 주요매개변수&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;그림3.png&quot; data-origin-width=&quot;1732&quot; data-origin-height=&quot;493&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCsy0p/btsPQDft3NL/e61yO8Mu4mXI02o9fzDQy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCsy0p/btsPQDft3NL/e61yO8Mu4mXI02o9fzDQy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCsy0p/btsPQDft3NL/e61yO8Mu4mXI02o9fzDQy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCsy0p%2FbtsPQDft3NL%2Fe61yO8Mu4mXI02o9fzDQy0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1732&quot; height=&quot;493&quot; data-filename=&quot;그림3.png&quot; data-origin-width=&quot;1732&quot; data-origin-height=&quot;493&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt; context가 증가해도 768k까지는 90점대를 유지함&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;그림2.png&quot; data-origin-width=&quot;2209&quot; data-origin-height=&quot;718&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Lj2gk/btsPNfUIoA0/zJAhkLosSVrUcKayma0qoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Lj2gk/btsPNfUIoA0/zJAhkLosSVrUcKayma0qoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Lj2gk/btsPNfUIoA0/zJAhkLosSVrUcKayma0qoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLj2gk%2FbtsPNfUIoA0%2FzJAhkLosSVrUcKayma0qoK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2209&quot; height=&quot;718&quot; data-filename=&quot;그림2.png&quot; data-origin-width=&quot;2209&quot; data-origin-height=&quot;718&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Context가&amp;nbsp;길어도&amp;nbsp;LLM&amp;nbsp;성능이&amp;nbsp;잘&amp;nbsp;나와야&amp;nbsp;하는&amp;nbsp;경우&amp;nbsp;1M&amp;nbsp;모드활용&amp;nbsp;필요&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;-&amp;nbsp;Qwen3&amp;nbsp;235B&amp;nbsp;Thinking모델은&amp;nbsp;기본적으로&amp;nbsp;256K(기본&amp;nbsp;262,144&amp;nbsp;토큰)&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;-&amp;nbsp;1M모드는&amp;nbsp;KV&amp;nbsp;캐시/활성&amp;nbsp;메모리&amp;nbsp;때문에&amp;nbsp;총&amp;nbsp;GPU&amp;nbsp;메모리&amp;nbsp;1TB급을&amp;nbsp;요구 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;-&amp;nbsp;실&amp;nbsp;환경에선&amp;nbsp;현실적인&amp;nbsp;길이로&amp;nbsp;운용하는&amp;nbsp;게&amp;nbsp;일반적&lt;/span&gt;&lt;/h4&gt;</description>
      <category>관심분야/생성형AI</category>
      <category>Qwen 모델 Long Context</category>
      <category>Qwen 컨텍스트 전략</category>
      <author>알 수 없는 사용자</author>
      <guid isPermaLink="true">https://nextshds.tistory.com/199</guid>
      <comments>https://nextshds.tistory.com/199#entry199comment</comments>
      <pubDate>Tue, 12 Aug 2025 10:11:57 +0900</pubDate>
    </item>
    <item>
      <title>외국수표 서명 인식 OCR Model 비교분석</title>
      <link>https://nextshds.tistory.com/198</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;미쿡에서는 개인수표 사용이 활성화 되어있다. 해당 서명정보를 추출하여 시스템에 활용하려면 이미지 인식 기술이 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI-OCR, 멀티모달을 활용하여 비교분석을 해보았다. 트랜드는 역쉬 멀티모달로 활용하는것이 앞으로 발전방향에도 맞는것 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드3.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ECrpM/btsPP3kUfLr/oHtSxpDBpfABOdWtjkKsOK/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ECrpM/btsPP3kUfLr/oHtSxpDBpfABOdWtjkKsOK/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ECrpM/btsPP3kUfLr/oHtSxpDBpfABOdWtjkKsOK/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/ECrpM/btsPP3kUfLr/oHtSxpDBpfABOdWtjkKsOK/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드3.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드4.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6LReD/btsPObqQg2V/xYHvFFjKKrHB4KQBG3UtFK/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6LReD/btsPObqQg2V/xYHvFFjKKrHB4KQBG3UtFK/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6LReD/btsPObqQg2V/xYHvFFjKKrHB4KQBG3UtFK/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/6LReD/btsPObqQg2V/xYHvFFjKKrHB4KQBG3UtFK/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드4.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드5.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oNqrX/btsPPLrhk39/tTfuqNc9Jh95EQjMSngJAk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oNqrX/btsPPLrhk39/tTfuqNc9Jh95EQjMSngJAk/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oNqrX/btsPPLrhk39/tTfuqNc9Jh95EQjMSngJAk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/oNqrX/btsPPLrhk39/tTfuqNc9Jh95EQjMSngJAk/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드5.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드6.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lQ5IO/btsPL0RhYs4/gj4cvS1Gat35VHUkOD6RA0/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lQ5IO/btsPL0RhYs4/gj4cvS1Gat35VHUkOD6RA0/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lQ5IO/btsPL0RhYs4/gj4cvS1Gat35VHUkOD6RA0/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/lQ5IO/btsPL0RhYs4/gj4cvS1Gat35VHUkOD6RA0/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드6.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드7.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfs9BB/btsPMOJYOrp/RjRkED9KtDNK2ll2AG9mb1/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfs9BB/btsPMOJYOrp/RjRkED9KtDNK2ll2AG9mb1/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfs9BB/btsPMOJYOrp/RjRkED9KtDNK2ll2AG9mb1/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/bfs9BB/btsPMOJYOrp/RjRkED9KtDNK2ll2AG9mb1/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드7.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드8.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b87f0a/btsPNi4JNHM/A4kPhl5WYZVjAAihRbkroK/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b87f0a/btsPNi4JNHM/A4kPhl5WYZVjAAihRbkroK/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b87f0a/btsPNi4JNHM/A4kPhl5WYZVjAAihRbkroK/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/b87f0a/btsPNi4JNHM/A4kPhl5WYZVjAAihRbkroK/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드8.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드9.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boRxTi/btsPN79P4xy/9BW0OgcLO3ALZLCKpKCEkk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boRxTi/btsPN79P4xy/9BW0OgcLO3ALZLCKpKCEkk/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boRxTi/btsPN79P4xy/9BW0OgcLO3ALZLCKpKCEkk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/boRxTi/btsPN79P4xy/9BW0OgcLO3ALZLCKpKCEkk/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드9.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드10.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bB6yjL/btsPL2uNbbw/hw7Z35WBUyPRGv4PSma8l1/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bB6yjL/btsPL2uNbbw/hw7Z35WBUyPRGv4PSma8l1/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bB6yjL/btsPL2uNbbw/hw7Z35WBUyPRGv4PSma8l1/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/bB6yjL/btsPL2uNbbw/hw7Z35WBUyPRGv4PSma8l1/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드10.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드11.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhBRc4/btsPP80JRqA/QaQcpO0don3HgRrkpUdDJK/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhBRc4/btsPP80JRqA/QaQcpO0don3HgRrkpUdDJK/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhBRc4/btsPP80JRqA/QaQcpO0don3HgRrkpUdDJK/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/bhBRc4/btsPP80JRqA/QaQcpO0don3HgRrkpUdDJK/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드11.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드12.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kGXAc/btsPMYeubpa/m5pKIJL4TUGMpkmPKMK0G0/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kGXAc/btsPMYeubpa/m5pKIJL4TUGMpkmPKMK0G0/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kGXAc/btsPMYeubpa/m5pKIJL4TUGMpkmPKMK0G0/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/kGXAc/btsPMYeubpa/m5pKIJL4TUGMpkmPKMK0G0/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드12.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드13.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CgFUy/btsPNJuaqkC/HVyjxx2KrF81Yao5vD2I40/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CgFUy/btsPNJuaqkC/HVyjxx2KrF81Yao5vD2I40/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CgFUy/btsPNJuaqkC/HVyjxx2KrF81Yao5vD2I40/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/CgFUy/btsPNJuaqkC/HVyjxx2KrF81Yao5vD2I40/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드13.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드14.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8vsyi/btsPPFdGFIC/dzWjSUJvrqxAGw069EoOB0/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8vsyi/btsPPFdGFIC/dzWjSUJvrqxAGw069EoOB0/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8vsyi/btsPPFdGFIC/dzWjSUJvrqxAGw069EoOB0/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/8vsyi/btsPPFdGFIC/dzWjSUJvrqxAGw069EoOB0/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드14.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;슬라이드15.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0nvb0/btsPMqCxDfw/N9gd5tpE9oD1epKjgZyEZ1/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0nvb0/btsPMqCxDfw/N9gd5tpE9oD1epKjgZyEZ1/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0nvb0/btsPMqCxDfw/N9gd5tpE9oD1epKjgZyEZ1/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/c0nvb0/btsPMqCxDfw/N9gd5tpE9oD1epKjgZyEZ1/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;720&quot; data-filename=&quot;슬라이드15.GIF&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>관심분야/생성형AI</category>
      <category>AI-OCR과멀티모달 비교</category>
      <category>수표 OCR인식</category>
      <category>수표인식 평가</category>
      <author>알 수 없는 사용자</author>
      <guid isPermaLink="true">https://nextshds.tistory.com/198</guid>
      <comments>https://nextshds.tistory.com/198#entry198comment</comments>
      <pubDate>Mon, 11 Aug 2025 15:44:42 +0900</pubDate>
    </item>
    <item>
      <title>쿼리 트랜스포메이션</title>
      <link>https://nextshds.tistory.com/197</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;사용자의 질문에 답변을 잘하기 위해서 적용되어야할 기술이라고 생각한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무적으로 포기하지 않고 지속적으로 해야하는 기술이라고 판단하고 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1478&quot; data-origin-height=&quot;1111&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cxy8sv/btsO5vK8ind/ZWWh0awKYNHLpUkZjWkXy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cxy8sv/btsO5vK8ind/ZWWh0awKYNHLpUkZjWkXy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cxy8sv/btsO5vK8ind/ZWWh0awKYNHLpUkZjWkXy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcxy8sv%2FbtsO5vK8ind%2FZWWh0awKYNHLpUkZjWkXy0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1478&quot; height=&quot;1111&quot; data-origin-width=&quot;1478&quot; data-origin-height=&quot;1111&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1485&quot; data-origin-height=&quot;1121&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSBlRS/btsO6CJaE91/kLqjNrhLRsDtT3X3XKzjM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSBlRS/btsO6CJaE91/kLqjNrhLRsDtT3X3XKzjM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSBlRS/btsO6CJaE91/kLqjNrhLRsDtT3X3XKzjM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSBlRS%2FbtsO6CJaE91%2FkLqjNrhLRsDtT3X3XKzjM1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1485&quot; height=&quot;1121&quot; data-origin-width=&quot;1485&quot; data-origin-height=&quot;1121&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1493&quot; data-origin-height=&quot;1051&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0LcqY/btsO6DH8FKY/XBvuXgCYk0CC2JbOxAmSsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0LcqY/btsO6DH8FKY/XBvuXgCYk0CC2JbOxAmSsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0LcqY/btsO6DH8FKY/XBvuXgCYk0CC2JbOxAmSsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0LcqY%2FbtsO6DH8FKY%2FXBvuXgCYk0CC2JbOxAmSsk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1493&quot; height=&quot;1051&quot; data-origin-width=&quot;1493&quot; data-origin-height=&quot;1051&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1493&quot; data-origin-height=&quot;1092&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2yuqy/btsO6yGOPw4/v5u6XqLYRW2uPPL0ZagTmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2yuqy/btsO6yGOPw4/v5u6XqLYRW2uPPL0ZagTmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2yuqy/btsO6yGOPw4/v5u6XqLYRW2uPPL0ZagTmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2yuqy%2FbtsO6yGOPw4%2Fv5u6XqLYRW2uPPL0ZagTmK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1493&quot; height=&quot;1092&quot; data-origin-width=&quot;1493&quot; data-origin-height=&quot;1092&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1454&quot; data-origin-height=&quot;1113&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1YO4h/btsO6x2cc73/k1aPZ0lvAElGvca7OxBY0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1YO4h/btsO6x2cc73/k1aPZ0lvAElGvca7OxBY0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1YO4h/btsO6x2cc73/k1aPZ0lvAElGvca7OxBY0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1YO4h%2FbtsO6x2cc73%2Fk1aPZ0lvAElGvca7OxBY0k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1454&quot; height=&quot;1113&quot; data-origin-width=&quot;1454&quot; data-origin-height=&quot;1113&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1485&quot; data-origin-height=&quot;1103&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vilfd/btsO5nmdojR/ZkvhkyXdoacIRfFZJdiCK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vilfd/btsO5nmdojR/ZkvhkyXdoacIRfFZJdiCK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vilfd/btsO5nmdojR/ZkvhkyXdoacIRfFZJdiCK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvilfd%2FbtsO5nmdojR%2FZkvhkyXdoacIRfFZJdiCK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1485&quot; height=&quot;1103&quot; data-origin-width=&quot;1485&quot; data-origin-height=&quot;1103&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1469&quot; data-origin-height=&quot;1074&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8N7Vg/btsO69zIWCC/DjG48QZgABKVghkS8VzZl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8N7Vg/btsO69zIWCC/DjG48QZgABKVghkS8VzZl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8N7Vg/btsO69zIWCC/DjG48QZgABKVghkS8VzZl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8N7Vg%2FbtsO69zIWCC%2FDjG48QZgABKVghkS8VzZl0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1469&quot; height=&quot;1074&quot; data-origin-width=&quot;1469&quot; data-origin-height=&quot;1074&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1488&quot; data-origin-height=&quot;994&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPf7Bo/btsO5Mlu9ic/KpudRJqoU1hI5YeTTyh81K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPf7Bo/btsO5Mlu9ic/KpudRJqoU1hI5YeTTyh81K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPf7Bo/btsO5Mlu9ic/KpudRJqoU1hI5YeTTyh81K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPf7Bo%2FbtsO5Mlu9ic%2FKpudRJqoU1hI5YeTTyh81K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1488&quot; height=&quot;994&quot; data-origin-width=&quot;1488&quot; data-origin-height=&quot;994&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1375&quot; data-origin-height=&quot;1099&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czv05J/btsO5m8F6qP/9qP1Kb86QmQuAo5e1cZKwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czv05J/btsO5m8F6qP/9qP1Kb86QmQuAo5e1cZKwk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czv05J/btsO5m8F6qP/9qP1Kb86QmQuAo5e1cZKwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fczv05J%2FbtsO5m8F6qP%2F9qP1Kb86QmQuAo5e1cZKwk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1375&quot; height=&quot;1099&quot; data-origin-width=&quot;1375&quot; data-origin-height=&quot;1099&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>관심분야/생성형AI</category>
      <category>ai기반 질문재정의</category>
      <category>query transformation</category>
      <category>쿼리 트랜스포메이션</category>
      <author>알 수 없는 사용자</author>
      <guid isPermaLink="true">https://nextshds.tistory.com/197</guid>
      <comments>https://nextshds.tistory.com/197#entry197comment</comments>
      <pubDate>Sun, 6 Jul 2025 16:30:33 +0900</pubDate>
    </item>
    <item>
      <title>자연어 To SQL</title>
      <link>https://nextshds.tistory.com/196</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;자연어 To SQL의 경우는 전용 모델 어느것을 사용하느냐가 승패의 중요한 승부처로 보임..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SOTA모델로 테스트는 의미가 없다 왜냐면 잘하니깐... 내부망에서 사용하고자 하면 구축형 오픈모델 선택을 잘해야 한다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a href=&quot;https://bird-bench.github.io&quot;&gt;https://bird-bench.github.io&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a href=&quot;https://bird-bench.github.io/&quot;&gt;/&lt;/a&gt;&lt;/span&gt; &amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;위에 사이트는 자연어 To SQL 벤치마크 사이트인데 확인해보면 다양한 도구 + LLM으로 평가하고 있다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;정확도와 일관성을 올리려면 LLM모델 하나 도입해서는 안된다는 인사이트를 얻을수 있다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;자주 언급되는 모델이 아래 XiYanSQL-QwenCoder모델을 테스트 하려고 한다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/XGenerationLab/XiYanSQL-QwenCoder&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://github.com/XGenerationLab/XiYanSQL-QwenCoder&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1751334940480&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - XGenerationLab/XiYanSQL-QwenCoder: XiYanSQL models for Text-to-SQL.&quot; data-og-description=&quot;XiYanSQL models for Text-to-SQL. Contribute to XGenerationLab/XiYanSQL-QwenCoder development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/XGenerationLab/XiYanSQL-QwenCoder&quot; data-og-url=&quot;https://github.com/XGenerationLab/XiYanSQL-QwenCoder&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/iznsR/hyZfY17liH/5LFmETiFokiJq0OmskY571/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/yitkC/hyZcl5J4fU/poNKhupjKeNcPIzFJD1n9K/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/XGenerationLab/XiYanSQL-QwenCoder&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/XGenerationLab/XiYanSQL-QwenCoder&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/iznsR/hyZfY17liH/5LFmETiFokiJq0OmskY571/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/yitkC/hyZcl5J4fU/poNKhupjKeNcPIzFJD1n9K/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;GitHub - XGenerationLab/XiYanSQL-QwenCoder: XiYanSQL models for Text-to-SQL.&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;XiYanSQL models for Text-to-SQL. Contribute to XGenerationLab/XiYanSQL-QwenCoder development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1623&quot; data-origin-height=&quot;1099&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q6SDC/btsOXh0ypGK/KOnRRuM6nM3HApNYW0LEp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q6SDC/btsOXh0ypGK/KOnRRuM6nM3HApNYW0LEp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q6SDC/btsOXh0ypGK/KOnRRuM6nM3HApNYW0LEp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq6SDC%2FbtsOXh0ypGK%2FKOnRRuM6nM3HApNYW0LEp1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1623&quot; height=&quot;1099&quot; data-origin-width=&quot;1623&quot; data-origin-height=&quot;1099&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>관심분야/생성형AI</category>
      <category>xiyansql-qwencoder</category>
      <category>자연어tosql</category>
      <author>알 수 없는 사용자</author>
      <guid isPermaLink="true">https://nextshds.tistory.com/196</guid>
      <comments>https://nextshds.tistory.com/196#entry196comment</comments>
      <pubDate>Tue, 1 Jul 2025 12:48:22 +0900</pubDate>
    </item>
    <item>
      <title>gamma 사용후기</title>
      <link>https://nextshds.tistory.com/195</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;AI기반의 PPT를 잘만들수 없을까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;유튜브에서 몇번 봤지만 사용하기전에는 그려려니 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 사용해보니 돈주고 쓸만하다 무료, Plus, Pro 3종류 인데 광고글 아닙니다..^^&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;955&quot; data-origin-height=&quot;690&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c6eLzt/btsOueHZVJ4/at3FSRJsWZIYH7cnr0MiI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c6eLzt/btsOueHZVJ4/at3FSRJsWZIYH7cnr0MiI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c6eLzt/btsOueHZVJ4/at3FSRJsWZIYH7cnr0MiI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc6eLzt%2FbtsOueHZVJ4%2Fat3FSRJsWZIYH7cnr0MiI0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;955&quot; height=&quot;690&quot; data-origin-width=&quot;955&quot; data-origin-height=&quot;690&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 Plus 결제하고 몇가지 해본결과 퀄리티가 나쁘지 않다. 또 Pro를&amp;nbsp; 사용하면 제안서도 만들수 있을것 같다. 라는 생각을 해봄&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1321&quot; data-origin-height=&quot;475&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/POmtQ/btsOt5R4xnA/czYzzt14W9dnkNF5JkKpQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/POmtQ/btsOt5R4xnA/czYzzt14W9dnkNF5JkKpQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/POmtQ/btsOt5R4xnA/czYzzt14W9dnkNF5JkKpQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPOmtQ%2FbtsOt5R4xnA%2FczYzzt14W9dnkNF5JkKpQK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1321&quot; height=&quot;475&quot; data-origin-width=&quot;1321&quot; data-origin-height=&quot;475&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4가지 케이스를 만들어 봤는데 사용하기 편하고 페이지별 수정도 되서 추천해봄&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리회사 기획자님이 추천한 싸이트도 있는데 링크 공유드립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.genspark.ai/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.genspark.ai/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사례&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. md파일로 정리한 내용을 가지고 PPT만들기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 정리한 TXT파일을 기준으로 PPT만들기&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 주제만 정해주고 자동으로 PPT 만들기&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1번째 사례의 키포인트는&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Slide구분을 하고 정리하는게 중요해보임&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1749441785454&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;**Slide 1**

- **제목:** Roo Code 심층 분석: AI 기반 코드 어시스턴트의 이해
- **부제:** 기능, 아키텍처, 작동 원리 및 사내 개발 시사점
- **발표자:** [발표자 이름]
- **날짜:** [오늘 날짜]

---

### **Roo Code 심층 분석: AI 기반 코드 어시스턴트의 이해 (사내 기술 세션)**

### **목차**

- **Slide 1:** 제목 슬라이드
- **Slide 2:** 서론: Roo Code란 무엇인가?
- **Slide 3:** Roo Code의 주요 기능 (개요)
- **Slide 4:** 핵심 기능 상세: 코드 자동완성 및 생성
- **Slide 5:** 핵심 기능 상세: 코드 설명 및 리팩토링 제안
- **Slide 6:** 핵심 기능 상세: 디버깅 지원 및 멀티모드
- **Slide 7:** 핵심 기능 상세: 에이전트 도구 활용 및 모델 유연성
- **Slide 8:** 핵심 기능 상세: 사용자 정의 모드 및 자율성 제어
- **Slide 9:** Roo Code 아키텍처 개요
- **Slide 10:** Roo Code의 VS Code 확장 구조
- **Slide 11:** Roo Code의 핵심 모듈 및 역할
- **Slide 12:** 모델 컨텍스트 프로토콜 (MCP) 상세
- **Slide 13:** 시스템 데이터 흐름 및 상호작용
- **Slide 14:** 핵심 기능 구현 원리 (개요)
- **Slide 15:** 구현 원리 상세: 코드 자동완성 및 생성
- **Slide 16:** 구현 원리 상세: 코드 설명 기능
- **Slide 17:** 구현 원리 상세: 리팩토링 제안 기능
- **Slide 18:** 컨텍스트 관리 및 이해 (심볼/시맨틱 인덱싱 포함)
- **Slide 19:** 심볼 인덱스 증분 갱신 원리
- **Slide 20:** 결론 및 시사점: AI 코드 어시스턴트 개발을 위한 제언
- **Slide 21:** Q&amp;amp;A

---

**Slide 2: 서론: Roo Code란 무엇인가?**

- Roo Code는 **VS Code 편집기 내에서 동작하는 AI 기반 코딩 비서**이자 **자율 에이전트**입니다.
- **기존 Copilot과 같은 코드 보완 도구와는 차별화**됩니다.
    - 단순히 한 줄 앞을 예측하는 것을 넘어, **프로젝트 파일을 직접 읽고 쓰고, 터미널 명령을 실행하며, 브라우저 동작까지 자동화**하는 등 개발자의 행동까지 대행할 수 있는 강력한 도구 세트를 갖추고 있습니다.
- **Roo Code의 기원**:
    - 이전에 **&quot;Roo Cline&quot;**으로 알려졌으며, 널리 사용되던 **Cline AI 코드 어시스턴트의 포크(fork) 버전**으로 시작되었습니다.
    - 이는 **더 깊이 있는 사용자 맞춤 설정과 확장성을 지향**하는 전략적 선택으로 해석될 수 있습니다.

---

**Slide 3: Roo Code의 주요 기능 (개요)**

- **자연어 기반 코드 생성 및 편집**: 자연어 명령으로 코드 생성, 리팩토링, 디버깅을 수행하며, 변경 사항은 diff 형태로 제시.
- **파일 시스템 및 터미널 연동**: 작업 공간 파일 접근(읽기/쓰기/생성) 및 VS Code 터미널 내 명령어 실행 자동화.
- **브라우저 자동화**: 웹 애플리케이션 실행, 페이지 상호작용 자동화 (클릭, 입력, 스크린샷 등).
- **다중 AI 모델 지원**: OpenAI 호환, Anthropic, Google, AWS, Azure 등 주요 클라우드 및 로컬 모델 연동 가능.
- **사용자 정의 모드 및 프롬프트 엔지니어링**: 'Code', 'Architect', 'Ask', 'Debug' 등 기본 모드 외에 사용자 정의 AI 페르소나 생성 가능 (지침, 도구 제한 포함).
- **자율성 제어**: AI의 파일 변경, 터미널 명령 실행 등 제안된 행동에 대한 수동/자동/하이브리드 승인 방식 제공.

---

**Slide 4: 핵심 기능 상세: 코드 자동완성 및 생성**

- **Roo Code의 코드 자동완성 방식**:
    - 2025년 3월 기준까지 VS Code API의 registerCompletionItemProvider를 사용한 인라인 자동완성(Copilot과 같은 ghost text)을 **별도로 구현하지 않았습니다**.
    - 대신, **&quot;코드 모드(Code Mode)&quot;** 등 일반 코드 생성 기능을 통해 **자연어 명령에 따라 코드를 생성**하는 방식으로 동작합니다.
    - 예를 들어, &quot;이 함수의 구현을 작성해줘&quot;와 같은 자연어를 입력하면 에이전트(Agent)가 요청을 처리하여 코드를 생성합니다.
- **기존 자동완성과의 차이점**:
    - 단순히 한 줄 앞을 예측하는 것이 아니라, **여러 단계에 걸쳐 코드 조각, 함수, 파일 생성까지 수행**할 수 있습니다.
    - 새 파일 생성이나 프로젝트 보일러플레이트 작성도 가능합니다.
    - 사용자가 **무엇을 할지 지시**하면 AI가 **어떻게 할지를 결정**하여 코드를 생성/수정합니다.
- **사용자 인터랙션**:
    - 생성된 코드는 챗 화면에 제안 형태로 표시되며, 사용자가 &quot;Accept/Save&quot;를 눌러야 실제 프로젝트에 적용됩니다.

---

**Slide 5: 핵심 기능 상세: 코드 설명 및 리팩토링 제안**

- **코드 설명 (Explain Code)**:
    - **목적**: 특정 코드 블록에 대한 자연어 설명을 생성하거나, 주석/문서를 자동으로 작성해줍니다.
    - **활성화**: VS Code 컨텍스트 메뉴의 **&quot;Roo Code: Explain Code&quot;** 명령을 통해 실행됩니다.
    - **동작 방식**: 선택된 코드 텍스트를 읽어와, 내부 AI 에이전트에게 **&quot;이 코드 설명해줘&quot;와 같은 프롬프트를 생성하여 전달**합니다.
    - **결과**: 에이전트는 대화 컨텍스트를 세팅하고, 모델 호출을 통해 설명을 생성한 후 VS Code의 Roo Code 대화 패널에 출력합니다.
- **코드 개선 및 리팩토링 제안 (Improve Code)**:
    - **목적**: 코드 품질 향상을 위한 리팩토링 방안을 AI가 제안해줍니다.
    - **활성화**: VS Code 컨텍스트 메뉴의 **&quot;Roo Code: Improve Code&quot;** 명령을 통해 실행됩니다.
    - **동작 방식**: 선택된 코드 조각을 입력으로 받아, 코드를 개선하거나 리팩토링하는 지시를 프롬프트에 포함시킵니다.
    - **결과**: LLM은 개선된 코드 버전 혹은 개선 사항 설명을 생성하며, **diff 형태로 제시하여 수정 전후를 비교**하고 승인 여부를 결정할 수 있게 합니다.

---

**Slide 6: 핵심 기능 상세: 디버깅 지원 및 멀티모드**

- **디버깅 지원 (Fix Code / Debug Mode)**:
    - **목적**: 코드의 문제를 찾고 고치는 과정을 도와줍니다.
    - **활성화**: &quot;Debug&quot; 모드를 사용하거나 &quot;Fix Code&quot; 명령을 통해 실행됩니다.
    - **동작 방식**: AI가 오류 메시지나 코드 논리를 분석하여 **버그 원인을 진단하고 수정 방법을 제안**합니다.
    - Improve Code와 유사한 구조지만, Fix는 오류 해결에 초점을 둡니다.
    - 내부적으로 Debug Mode 등의 프롬프트로 처리되어 에러 원인 설명과 수정 코드를 함께 제안합니다.
- **멀티모드 지원 및 협업 에이전트**:
    - **개념**: **여러 가지 &quot;모드&quot; 개념을 도입하여 다양한 역할의 AI를 제공**합니다.
    - **기본 모드**:
        - **Code**: 일반적인 코딩 작업 (코드 구현 및 편집).
        - **Architect**: 시스템 설계 및 계획 수립.
        - **Ask**: 질의 응답 및 정보 제공.
        - **Debug**: 버그 원인 분석 및 코드 문제 해결.
    - **특징**: 각 모드는 프롬프트 세팅과 답변 스타일이 달라, 마치 여러 전문 분야를 가진 팀원들과 협업하는 효과를 냅니다.
    - **Orchestrator 모드**: 복잡한 작업을 여러 하위 작업으로 분할하여 적절한 모드에 위임하고 전체를 조율합니다.
    - **Custom 모드**: 사용자가 임의로 정의하여 특정 작업에 맞게 AI의 역할(프롬프트, 지침)을 커스터마이징할 수 있습니다.

---

**Slide 7: 핵심 기능 상세: 에이전트 도구 활용 및 모델 유연성**

- **에이전트 도구(툴) 활용과 자동화**:
    - Roo Code는 단순히 코드 제안을 넘어 **개발 환경과 상호작용하는 도구들을 제공**합니다.
    - **주요 도구**:
        - **파일 시스템 접근**: 프로젝트 파일을 열거나 편집.
        - **터미널 명령 실행**: 빌드, 테스트 등 일반적인 개발 작업 자동화.
        - **내장 브라우저**: 웹 애플리케이션 테스트 (웹사이트 방문, DOM 분석, 스크린샷).
    - **사용자 승인**: 사용자가 승인하면 AI가 직접 파일을 생성/수정하거나 빌드/테스트를 수행할 수 있습니다.
    - 다양한 내부 도구(예: read_file, apply_diff, execute_command, browser_action)를 통해 반복적인 작업을 자동화하고 개발자의 지시를 실행단까지 옮겨줍니다.
- **모델/플랫폼 호환성과 커스터마이징**:
    - **다수의 언어 모델 연동 가능**: OpenAI GPT-4/3.5, Anthropic Claude, Google Gemini, Mistral 등 여러 API 및 로컬 모델(Ollama, LM Studio)을 지원합니다.
    - **유연한 모델 호환성** 덕분에 최신 강력한 모델을 활용하거나 비용 등의 이유로 경량 모델을 선택하는 등 상황에 맞는 최적의 AI를 붙여 쓸 수 있습니다.
    - **커스터마이징**: Custom Instructions 기능, 모드별 역할 프롬프트 편집, 자동 승인(Auto-Approval) 여부 설정, 대화 컨텍스트 요약(condense) 등 세밀한 설정이 가능합니다.

---

**Slide 8: 핵심 기능 상세: 사용자 정의 모드 및 자율성 제어**

- **사용자 정의 모드**:
    - **핵심 철학**: 고도의 사용자 맞춤 설정.
    - **개념**: 사용자가 자신만의 특정 작업이나 역할에 맞는 **AI 페르소나를 무제한으로 생성**할 수 있습니다.
    - **예시**: 'QA 엔지니어 모드', '프로덕트 매니저 모드', '코드 리뷰어 모드' 등.
    - **설정 내용**: 각 모드에 특화된 지침(instructions), 프롬프트 템플릿, 심지어 **허용되는 도구(tool)까지 설정**할 수 있습니다.
    - **효과**: AI 시스템이 단순한 범용 챗봇을 넘어, 보다 전문화되고 제어 가능한 형태로 발전하며 **&quot;AI 에이전트 팀&quot;을 구성하는 듯한 경험**을 제공합니다.
- **자율성 제어**:
    - **목적**: AI의 자율성 수준을 사용자가 직접 제어할 수 있도록 설계되었습니다.
    - **제어 방식**:
        - **수동 승인(Manual Approval)**: 모든 AI의 제안된 행동(파일 변경, 터미널 명령어 실행 등)에 대해 사용자가 단계별로 수동으로 승인.
        - **자율/자동 승인(Autonomous/Auto-Approve)**: 반복적이거나 신뢰할 수 있는 작업에 대해 AI가 사용자 개입 없이 자율적으로 수행하여 작업 속도 향상.
        - **하이브리드(Hybrid)**: 두 방식의 장점을 결합 (예: 안전한 작업은 자동 승인, 잠재적 위험이 큰 작업은 수동 승인).
    - **최종 결정권은 항상 사용자에게 있습니다**.

---

**Slide 9: Roo Code 아키텍처 개요**

- **기본 구조**: **VS Code 확장(Extension) 형태로 구현**되어 있으며, **코어 백엔드와 웹뷰 프론트엔드로 구성**됩니다.
    - **백엔드 로직**: TypeScript로 작성되어 Extension Host에서 실행.
    - **UI**: 웹뷰 (React 기반으로 언급되었으나, Svelte 기반 UI도 존재 가능성 높음)로 구현되어 사용자와 상호작용.
- **모듈화된 설계**: 다양한 외부 모델 및 툴과 연동하기 위해 **플러그인 형태의 모듈화된 설계를 채택**하고 있습니다.
    - 핵심 엔진을 근본적으로 변경하지 않고도 새로운 기능(도구, MCP 통합)과 작동 컨텍스트(모드)를 추가할 수 있게 합니다.
- **핵심 아키텍처 원칙**:
    - **모듈성 및 관심사 분리**: 확장 코어와 웹뷰 UI 간의 명확한 분리.
    - **확장을 위한 개방형 시스템**: 모델 컨텍스트 프로토콜(MCP)을 통한 외부 도구 통합.

---

**Slide 10: Roo Code의 VS Code 확장 구조**

- **src 디렉토리**: VS Code 확장의 백엔드 로직을 위한 TypeScript 소스 코드를 포함하는 핵심 디렉토리입니다.
    - **extension.ts**: VS Code 확장 프로그램의 **주 진입점**으로, 확장 기능 활성화/비활성화 로직, 명령어 등록, 핵심 구성 요소 초기화를 담당.
    - VS Code API를 활용하여 에디터와 통합 (예: 코드 액션 메뉴에 &quot;Add to Context&quot;, &quot;Explain Code&quot;, &quot;Improve Code&quot; 항목 추가).
- **webview-ui/ 디렉토리**: VS Code 웹뷰 패널 내에 표시되는 사용자 인터페이스의 소스 코드를 포함합니다.
    - **기술 스택**: Svelte 및 SvelteKit을 사용하여 현대적이고 반응적인 UI를 구현.
    - **역할**: 채팅 인터페이스 등 복잡한 UI를 웹 기술로 구현하여 풍부한 기능의 대화형 사용자 경험을 제공.

---

**Slide 11: Roo Code의 핵심 모듈 및 역할**

- **src/core/**: **중앙 처리 로직, 작업 관리, 상태 처리**를 담당하며, 모드, 도구, AI 제공자 간의 상호작용을 조율하는 핵심.
    - **Cline.ts (Task Orchestrator)**: AI 에이전트 엔진의 핵심으로, 사용자의 자연어 명령을 작업(Task)으로 생성하여 처리하고, **복잡한 요청을 여러 하위 작업으로 쪼개어 적절한 모드 에이전트에게 할당하며 전체 흐름을 관리**.
    - **parse-assistant-message.ts**: LLM으로부터의 응답을 파싱하여 **도구 호출을 나타내는 XML과 유사한 태그를 찾고 도구 이름과 매개변수를 추출**.
- **src/modes/**: Code, Architect, Ask, Debug, Custom 등 **다양한 작동 모드의 정의와 로직을 포함**하며, 각 모드는 AI의 페르소나와 사용 가능한 도구를 결정.
- **src/tools/**: Roo Code가 작업 공간, 파일 시스템, 터미널, 브라우저, 외부 서비스와 상호작용하는 데 사용하는 **개별 &quot;API 함수&quot; 또는 기능의 구현체**를 포함.
    - 예시: read_file, apply_diff, execute_command, browser_action, ask_followup_question 등.
- **src/mcp/**: **Model Context Protocol (MCP)**의 약자로, **외부 도구, API, 데이터 소스와의 통합을 위한 프레임워크**를 포함하여 Roo Code의 **확장성을 향상**시킵니다.

---

**Slide 12: 모델 컨텍스트 프로토콜 (MCP) 상세**

- **MCP의 역할**: Roo Code 아키텍처의 핵심적인 특징으로, **시스템의 확장성을 극대화**하는 역할을 합니다.
    - Roo Code가 다양한 외부 도구 및 서비스, 즉 'MCP 서버'와 **표준화된 방식으로 통신**할 수 있도록 하는 프로토콜입니다.
- **MCP 서버**:
    - Roo Code의 메인 프로세스와 **독립적으로 실행**될 수 있으며, 특정 전문 기능(예: API 명세 분석, 지식 그래프 생성)을 제공하는 독립적인 '서비스'로 볼 수 있습니다.
    - 통신 방식은 표준 입출력(STDIO)을 통해 Roo Code와 데이터를 주고받거나 HTTP와 같은 다른 네트워크 프로토콜을 사용할 수도 있습니다.
- **사용자 등록 및 구성**:
    - 사용자는 cline_mcp_settings.json (또는 이와 유사한 이름의 설정 파일)을 통해 자신이 사용하고자 하는 MCP 서버들을 Roo Code에 등록하고 구성합니다.
    - 이 설정 파일에는 각 MCP 서버의 이름, 통신 방식, 실행 명령어 경로, 실행 시 전달할 인자, 필요한 환경 변수 등이 명시됩니다.
- **핵심 원리**:
    - **표준화된 통신**: 각 통합마다 맞춤형 코딩 필요성 감소.
    - **보안 및 인증**: OAuth, 역할 기반 접근 제어 등을 통해 AI 모델과 외부 도구 간의 안전한 데이터 교환 및 작업 수행 보장.
    - **확장 도구 연동 방식**: AI 모델이 외부 도구의 기능이 필요하다고 판단하면, MCP를 통해 해당 도구에 대한 요청을 생성 -&amp;gt; 적절한 MCP 서버로 라우팅 -&amp;gt; MCP 서버 처리 및 응답 반환 -&amp;gt; Roo Code가 AI 모델에게 최종 결과 전달.

---

**Slide 13: 시스템 데이터 흐름 및 상호작용**

- **Roo Code 시스템 아키텍처 다이어그램**
    - *(이 슬라이드에과의 다이어그램을 삽입하여 시각적으로 설명합니다.)*
- **주요 흐름**:
    1. *개발자 (VS Code 사용자)**가 확장 기능 실행.
    2. **Roo-Code 확장** (extension.ts 활성화)이 모드와 컨트롤러/웹뷰를 사용.
    3. **Controller &amp;amp; Webview Provider**가 **Task Orchestrator (Cline.ts)**와 상호작용.
    4. **Task Orchestrator**는 **Modes**의 영향을 받아 **Context &amp;amp; Prompt Builder**에게 프롬프트 빌딩을 지시.
    5. **Context &amp;amp; Prompt Builder**가 프롬프트를 **LLM Provider API**에 전달.
    6. **LLM Provider API**가 LLM 응답을 **Parse Assistant Message &amp;amp; Tool Dispatcher**로 전달.
    7. **Parser component**가 파싱된 메시지를 **Orchestrator**로 다시 전달.
    8. **Orchestrator**가 **Tool Layer**에 실행을 지시 (파일 읽기, Diff 적용, 명령어 실행, MCP 접근 등).
    9. **Tool Layer**는 **Filesystem &amp;amp; External Resources**와 상호작용하고, 도구 결과를 **Results Presenter (Webview/UI)**로 직접 전달하거나 Orchestrator로 피드백.
    10. **Results Presenter**가 사용자에게 결과를 표시.

---

**Slide 14: 핵심 기능 구현 원리 (개요)**

- Roo Code의 모든 기능은 **대규모 언어모델(LLM)의 능력**을 기반으로 하며, 그 위에 자체적인 **추론 제어 로직**을 덧붙여 구현됩니다.
- **LLM의 추론 제어 알고리즘**:
    - **시스템 프롬프트 구성**: 모드별로 시스템 프롬프트를 구성하여 모델의 출력 스타일과 행동 범위를 조절합니다.
    - **복합적 판단**: 사용자 입력 외에도 대화 히스토리, 추가 지시(Custom Instruction) 등을 한꺼번에 모델에게 보내 복합적인 판단을 가능하게 합니다.
    - **ReAct 원리**: 모델이 스스로 생각하고 질문하거나 도구를 사용하는 체계를 따릅니다.
    - **모델 &amp;harr; 환경 상호작용 루프(perception-action loop)**: 도구 활용과 검증을 거친 신뢰도 높은 결과를 얻을 수 있습니다.
- **Roo Code의 강점**: **대화형 LLM의 능력 + IDE 통합 도구 + 다중 단계 오케스트레이션**의 조합으로 구현되어 있습니다.
    - 개발자가 느끼기에는 마치 뛰어난 동료 개발자에게 물어보고 도움받는 듯한 자연스러운 경험을 주도록 설계되었습니다.

---

**Slide 15: 구현 원리 상세: 코드 자동완성 및 생성**

- **사용자 요청 및 컨텍스트 구성**:
    - 사용자가 자연어로 코딩 작업을 지시하면, Roo Code는 해당 요청과 관련된 컨텍스트(맥락)를 구성하여 모델에 전달합니다.
    - 필요시 read_file 등 툴로 관련 파일 구조를 파악하고, Code 모드에 맞는 시스템 프롬프트 및 사용자 프롬프트를 구성합니다.
- **LLM의 코드 생성**:
    - LLM이 이 입력을 받고 코드 생성에 적합한 응답을 만들어냅니다.
- **응답 처리 및 적용**:
    - **Diff 적용 방식**: 모델 응답이 &quot;파일 X의 몇째 줄에 어떤 코드를 추가/수정하라&quot;는 형태의 diff로 오면, apply_diff 도구를 호출하여 해당 변경을 실제 파일에 적용합니다. 이는 빠르고 정확합니다.
    - **직접 파일쓰기 방식**: 모델이 파일 전체 내용을 제공하는 경우에는 write_to_file 도구를 사용해 통째로 파일을 생성/갱신합니다.
    - Roo Code는 기본적으로 **diff 기반 빠른 수정(Fast Edit)을 선호**하도록 설계되었습니다.
- **ReAct 원리 적용**:
    - 요구가 모호하거나 필요한 세부 정보가 없으면, AI가 ask_followup_question 도구를 통해 사용자에게 질의하고, UI에 예상 답변 버튼(Suggested Responses)을 제공합니다.
- **사용자 검토 및 승인**:
    - 생성된 코드는 우선 챗 화면에 제안 형태로 표시되고, 사용자가 &quot;Accept/Save&quot;를 눌러야 실제 프로젝트에 적용됩니다.
    - **Checkpoints 기능**: 특정 상태의 코드를 저장해두거나 롤백할 수 있게 하여, AI 수정사항 적용 후 문제가 생겨도 쉽게 이전 상태로 돌아갈 수 있습니다.

---

**Slide 16: 구현 원리 상세: 코드 설명 기능**

- **프롬프트 구성**:
    - 선택된 코드 범위와 메타정보(파일명, 라인 번호 등)를 맥락에 포함한 프롬프트를 구성하여 모델에 질의함으로써 구현됩니다.
    - **예시**: &quot;다음 코드를 한국어로 설명해줘:\n\n typescript\n&amp;lt;선택된 코드&amp;gt;\n\n파일: src/utils.js, 라인 10-30&quot;.
    - 코드 콘텐츠뿐 아니라 파일명과 라인 번호도 언급하여, 모델이 코드의 맥락을 이해하도록 돕습니다.
- **LLM의 설명 생성**:
    - 모델은 해당 코드의 의미, 동작, 의도 등을 추론하여 자연어로 설명을 생성합니다.
- **결과 출력**:
    - Roo Code는 그 결과를 사용자의 챗 창에 답변으로 보여주며, 필요하다면 사용자는 이 설명을 복사해 주석으로 추가할 수도 있습니다.
- **핵심 원리**:
    - **대화형 LLM의 이해력을 문맥에 활용**: Roo Code는 이미 모델에게 코드베이스의 다른 부분이나 사전 대화 내용 등을 대화 맥락(Context)으로 유지하고 있기 때문에, 선택한 코드 부분 외에도 관련 전역 변수, 사용된 함수 정의 등을 모델이 알고 있을 수 있습니다.
    - 따라서 보다 정확한 설명이 가능하며, 사용자가 추가 질문을 이어서 물으면 연속된 대화로 답변을 얻을 수도 있습니다.
    - **Ask 모드 활용**: 질의 응답에 특화된 모드로, 코드베이스에 대한 질문에 답변하거나 프로젝트 관련 정보를 찾아 제공하는 데 최적화되어 있습니다.

---

**Slide 17: 구현 원리 상세: 리팩토링 제안 기능**

- **프롬프트 구성**:
    - 선택된 코드를 맥락으로 넣은 다음, 모델에게 **&quot;다음 코드에서 개선하거나 리팩토링할 부분을 제안하고 코드를 수정해줘&quot;**와 같은 요청을 합니다.
- **LLM의 분석 및 제안**:
    - 모델은 해당 코드를 분석하여 불필요한 복잡도, 성능 이슈, 일관성 문제 등을 식별하고, 개선된 코드 조각이나 변경사항을 제시합니다.
    - 이때 결과는 자연어 설명과 함께 **코드 diff 형태로 주어질 수 있습니다**.
- **결과 제시 및 적용**:
    - UI 상에서는 챗 메시지로 &quot;개선된 코드&quot;가 제안되고, 사용자에게 Save (적용) 또는 Reject (거부) 버튼이 주어집니다.
    - 사용자가 개선안을 수락하면 Roo Code는 앞서와 동일하게 diff를 적용하여 실제 코드에 반영합니다.
- **LLM의 코드 품질 분석 능력 활용**:
    - 별도 정적 분석기 없이도 모델이 맥락을 이해하고 제안하도록 합니다.
    - 사용자는 &quot;더 최적화해줘&quot;, &quot;가독성을 높이는 방향으로 다시 수정해봐&quot; 등 추가 프롬프트로 반복 개선을 요구할 수도 있습니다.
- **Fix Code 기능**:
    - 주로 에러가 발생한 코드를 수정하는 제안으로, 원리는 개선 제안과 같지만, 프롬프트에 **&quot;다음 오류를 고쳐줘&quot;** 식의 맥락이 추가되는 차이가 있습니다.

---

**Slide 18: 컨텍스트 관리 및 이해 (심볼/시맨틱 인덱싱 포함)**

- **컨텍스트 처리 시스템 다이어그램**
    - *(이 슬라이드에의 다이어그램을 삽입하여 시각적으로 설명합니다.)*
- **배경 프로세스: 인덱싱 (IDE 시작 또는 수동 실행 시)**:
    - **1. AST 분석 및 심볼 맵 구축**:
        - Tree-sitter를 사용하여 소스 코드를 파싱하고, SymbolIndexService를 통해 **심볼(함수, 클래스 등) 정보를 추출**하여 메모리 내 **symbolMap**을 생성합니다.
        - 이는 &quot;X 함수는 어디에 정의되어 있나요?&quot;와 같은 질문에 **O(1) 시간 복잡도로 빠르게 응답**하는 핵심 기반입니다.
    - **2. 시맨틱 인덱싱**:
        - **AST 기반으로 코드 블록을 분할**하고, EmbeddingService를 통해 코드 블록을 벡터로 변환합니다.
        - 생성된 임베딩과 메타데이터는 **Qdrant 벡터 스토어에 저장**됩니다.
- **사용자 상호작용 및 컨텍스트 강화**:
    - **초기 컨텍스트 수집**: 사용자가 @멘션된 파일/폴더, 현재 열린 파일/선택된 코드, 자연어 질의 등을 통해 컨텍스트를 제공.
    - **의미 기반 검색 (RAG)**: 자연어 쿼리를 임베딩하여 **Qdrant에서 유사 코드 블록을 검색**하여 **시맨틱 컨텍스트** (관련 코드 조각)를 획득.
    - **구조 기반 검색 (심볼릭 검색)**: 질의 내 심볼 이름을 추출하여 메모리 내 **symbolMap에서 심볼 정의 위치를 조회**하여 **심볼릭 컨텍스트** (함수/클래스 정의 코드)를 획득.
- **컨텍스트 처리 및 프롬프트 엔지니어링**:
    - 대화 히스토리 및 수집된 컨텍스트를 통합하고, TokenCounterService로 전체 토큰 수를 계산합니다.
    - **지능형 컨텍스트 압축 (Intelligent Context Condensing)**: 컨텍스트 임계값(90% 이상)을 초과할 경우, LLM을 사용하여 오래된 대화/정보를 요약하여 대체합니다.
    - 동적 모드 프롬프트 로딩을 통해 최종 프롬프트를 생성합니다.

---

**Slide 19: 심볼 인덱스 증분 갱신 원리**

- **심볼 인덱스 증분 갱신 프로세스 플로차트**
    - *(이 슬라이드에의 플로차트를 삽입하여 시각적으로 설명합니다.)*
- **1. 이벤트 트리거**:
    - 파일 저장 (onDidSaveTextDocument) 또는 파일 내용 변경 (onDidChangeTextDocument) 이벤트가 발생하면 SymbolIndexService의 updateSymbolsForFile 메서드가 호출됩니다.
- **2. 증분 갱신 로직**:
    - **동시성 체크**: 해당 파일이 이미 처리 중인지 확인하여 중복 실행을 방지합니다.
    - **기존 심볼 제거**: symbolMap을 순회하며 변경된 파일과 관련된 모든 심볼 정보를 찾아 제거합니다.
    - **신규 심볼 파싱 및 추출**: 변경된 파일 내용을 다시 읽어 Tree-sitter로 파싱하고 최신 심볼 정보를 추출합니다.
    - **신규 심볼 추가**: 새로 추출된 심볼 정보를 다시 symbolMap에 추가하여 인덱스를 최신화합니다.
    - **처리 완료**: 작업이 끝나면 동시성 제어를 위한 락을 해제합니다.
- **3. 최종 상태**: 위 과정을 통해 symbolMap은 변경 사항을 정확히 반영한 최신 상태로 유지됩니다.
- **대안 (전체 재빌드)**: 라이브러리를 새로 설치하거나 .rooignore 파일이 변경되는 등 프로젝트 전반에 큰 변화가 있을 경우, rebuildEntireIndex 메서드가 호출되어 기존 인덱스를 모두 지우고 처음부터 다시 빌드하는 별도의 흐름도 존재합니다.
- **핵심**: 파일 저장 이벤트(onDidSaveTextDocument)를 감지하여 전체 인덱스를 재구축하는 대신, **변경된 파일에 해당하는 심볼만 삭제하고 새로 추가하는 증분 업데이트 방식**은 리소스 사용을 최소화하고 확장성을 보장하는 핵심적인 최적화입니다.

---

**Slide 20: 결론 및 시사점: AI 코드 어시스턴트 개발을 위한 제언**

- **모듈성 및 확장성의 중요성**:
    - MCP와 유사한 플러그인 또는 확장 프로토콜 아키텍처는 AI 어시스턴트의 기능을 지속적으로 발전시키고 다양한 사용 사례에 대응하는 데 매우 중요합니다.
    - 핵심 기능은 가볍게 유지하고 전문화된 기능은 외부 모듈이나 서비스를 통해 제공하는 방식이 유연성과 유지보수성 향상에 기여합니다.
- **사용자 정의 기능의 높은 가치**:
    - Roo Code의 '사용자 정의 모드'처럼 AI의 페르소나, 행동 지침, 사용 도구 등을 사용자가 직접 정의하고 제어할 수 있도록 하는 기능은 사용자 만족도와 실제 활용도를 크게 높일 수 있습니다.
- **다양한 AI 모델 지원의 유연성**:
    - 특정 AI 모델에 종속되지 않고, 사용자가 작업의 성격이나 비용, 성능 요구사항에 따라 다양한 LLM(클라우드 기반 또는 로컬 모델 포함)을 선택하거나 전환할 수 있도록 하는 유연성은 매우 중요한 경쟁력이 될 수 있습니다.
- **컨텍스트 관리의 정교함이 성능에 미치는 영향**:
    - LLM의 성능은 입력되는 컨텍스트의 질에 크게 좌우되므로, 대화 기록, 프로젝트 구조, 외부 정보 등을 지능적으로 요약하고 필터링하여 LLM에 전달하는 정교한 컨텍스트 관리 메커니즘이 AI 어시스턴트의 응답 정확성과 관련성을 결정짓는 핵심 요소입니다.
    - '메모리 뱅크'와 같은 지속적인 컨텍스트 저장 및 활용 방안도 고려할 가치가 높습니다.
- **보안 및 개인 정보 보호 고려 사항**:
    - AI 어시스턴트는 사용자의 코드와 민감한 데이터에 접근할 수 있으므로, API 키 관리, 데이터 전송 암호화, 사용자 데이터 저장 정책 등 보안 및 개인 정보 보호는 설계 초기 단계부터 최우선으로 고려되어야 합니다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2번째 사례의 키포인트는&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내용만 적어주고 페이지별로 수정처리를 잘하는게 중요해 보임&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1749441956277&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-Dify
Dify DS AI Agent표준도구 --&amp;gt; 표준배포 AI사내서비스, 문서화 된거보고 세팅 궁 
오케스트레이션 서비스: 쿠버, 도커스윔 
분석, 설계, 개발, 테스트, 안정화 
명제 : dify 업그레이드가 일어나 그럼 dify는 수정안할꺼야 ?
- 불가능 이유 ---&amp;gt; 좋은기능이 많이 생기니까 
- 업데이트 과제 힘듬...언제다 수정하냐 
- 가령 2.5버전 운영에서 잘돌아가 그러면 새로운 3.0 개좋아 그럼 변경할가능할거 같아 ?
1.배포관점 `
2.유지보수관점 
3.개발관점 
4.솔루션화 --&amp;gt; db삼중화, vector삼중화 
dify --&amp;gt; DB dsl 
api서버 
- 문서 추가 누구업데 할면 좋을 
끌고오면 --&amp;gt; 아웃플  
시스템 프롬프트 통합관리 할꺼야 ?

DIFY 연구 

--&amp;gt; 목표해석 --&amp;gt; 계획수립 --&amp;gt; 행동실행 --&amp;gt; 모니터링&amp;amp;수정&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3번째 사례의 키포인트는&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무엇을 만들지 설명을 잘적는게 중요해 보임&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잘사용하면 업무생산성이 높아질거 같으니 해보세요! 아무것도 안하면 아무일도 일어나지 않습니다.^^&lt;/p&gt;</description>
      <category>관심분야/생성형AI</category>
      <category>ai ppt</category>
      <category>ai기반 프레젠티에이션</category>
      <category>gamma</category>
      <author>알 수 없는 사용자</author>
      <guid isPermaLink="true">https://nextshds.tistory.com/195</guid>
      <comments>https://nextshds.tistory.com/195#entry195comment</comments>
      <pubDate>Mon, 9 Jun 2025 13:07:45 +0900</pubDate>
    </item>
    <item>
      <title>Vibe Coding is the Future</title>
      <link>https://nextshds.tistory.com/194</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;요즘 ai coding에서 가장 핫한 주제인 vibe Coding에 대한 주제이다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1584&quot; data-origin-height=&quot;1008&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dKO5rM/btsNTOjaDy0/OAAotgsKOXHGVPTevZt3fK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dKO5rM/btsNTOjaDy0/OAAotgsKOXHGVPTevZt3fK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dKO5rM/btsNTOjaDy0/OAAotgsKOXHGVPTevZt3fK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdKO5rM%2FbtsNTOjaDy0%2FOAAotgsKOXHGVPTevZt3fK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1584&quot; height=&quot;1008&quot; data-origin-width=&quot;1584&quot; data-origin-height=&quot;1008&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1597&quot; data-origin-height=&quot;876&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Mz7NU/btsNRZ7SFz4/CYov1O1Rj6hKAqUfbpC09K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Mz7NU/btsNRZ7SFz4/CYov1O1Rj6hKAqUfbpC09K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Mz7NU/btsNRZ7SFz4/CYov1O1Rj6hKAqUfbpC09K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMz7NU%2FbtsNRZ7SFz4%2FCYov1O1Rj6hKAqUfbpC09K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1597&quot; height=&quot;876&quot; data-origin-width=&quot;1597&quot; data-origin-height=&quot;876&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1537&quot; data-origin-height=&quot;999&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdCOi4/btsNSnm1IfA/YsLK6uKmuaO0niHspZ10E0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdCOi4/btsNSnm1IfA/YsLK6uKmuaO0niHspZ10E0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdCOi4/btsNSnm1IfA/YsLK6uKmuaO0niHspZ10E0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdCOi4%2FbtsNSnm1IfA%2FYsLK6uKmuaO0niHspZ10E0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1537&quot; height=&quot;999&quot; data-origin-width=&quot;1537&quot; data-origin-height=&quot;999&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>관심분야/생성형AI</category>
      <category>vibe coding</category>
      <category>바이브코딩</category>
      <author>알 수 없는 사용자</author>
      <guid isPermaLink="true">https://nextshds.tistory.com/194</guid>
      <comments>https://nextshds.tistory.com/194#entry194comment</comments>
      <pubDate>Mon, 12 May 2025 12:41:18 +0900</pubDate>
    </item>
    <item>
      <title>차세대 멀티모달 AI 모델 &amp;lsquo;라마 4&amp;rsquo; 시리즈 공개</title>
      <link>https://nextshds.tistory.com/193</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;테스트 결과 실망이네요.......&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1578&quot; data-origin-height=&quot;964&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfBFDU/btsNg6YQbQc/oXRDeKAzKtkKkcdtTbuetK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfBFDU/btsNg6YQbQc/oXRDeKAzKtkKkcdtTbuetK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfBFDU/btsNg6YQbQc/oXRDeKAzKtkKkcdtTbuetK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfBFDU%2FbtsNg6YQbQc%2FoXRDeKAzKtkKkcdtTbuetK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1578&quot; height=&quot;964&quot; data-origin-width=&quot;1578&quot; data-origin-height=&quot;964&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1567&quot; data-origin-height=&quot;1060&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PvTVf/btsNgn1oWqN/p3PvBBFfP1rTMTc40Gany0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PvTVf/btsNgn1oWqN/p3PvBBFfP1rTMTc40Gany0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PvTVf/btsNgn1oWqN/p3PvBBFfP1rTMTc40Gany0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPvTVf%2FbtsNgn1oWqN%2Fp3PvBBFfP1rTMTc40Gany0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1567&quot; height=&quot;1060&quot; data-origin-width=&quot;1567&quot; data-origin-height=&quot;1060&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GPT 결과 짜장면 팔보채 테스트 비교해보시라..&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1542&quot; data-origin-height=&quot;965&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cZoaoG/btsNfJ4FRBk/NuJqlz0FNjyY8G0fk5VM7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cZoaoG/btsNfJ4FRBk/NuJqlz0FNjyY8G0fk5VM7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cZoaoG/btsNfJ4FRBk/NuJqlz0FNjyY8G0fk5VM7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZoaoG%2FbtsNfJ4FRBk%2FNuJqlz0FNjyY8G0fk5VM7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1542&quot; height=&quot;965&quot; data-origin-width=&quot;1542&quot; data-origin-height=&quot;965&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>관심분야/생성형AI</category>
      <category>llama4</category>
      <category>라마4</category>
      <author>알 수 없는 사용자</author>
      <guid isPermaLink="true">https://nextshds.tistory.com/193</guid>
      <comments>https://nextshds.tistory.com/193#entry193comment</comments>
      <pubDate>Thu, 10 Apr 2025 16:59:19 +0900</pubDate>
    </item>
  </channel>
</rss>