<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>pxd story</title>
    <link>https://pxdstory.tistory.com/</link>
    <description>UX에 관한 pxd사람들의 진지하거나 소소한 수다</description>
    <language>ko</language>
    <pubDate>Mon, 20 Apr 2026 18:20:04 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>pxd story</managingEditor>
    <image>
      <title>pxd story</title>
      <url>https://tistory1.daumcdn.net/tistory/407306/attach/d438eeb35af843279a5afa727117655e</url>
      <link>https://pxdstory.tistory.com</link>
    </image>
    <item>
      <title>shadcn과 함께 UI 컴포넌트를 AI 에이전트와 더 잘쓰는 방법</title>
      <link>https://pxdstory.tistory.com/1895</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;들어가며&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;AI 코딩 에이전트에게 &quot;로그인 폼 만들어줘&quot;라고 했더니, 있지도 않는 props를 쓰고, import 경로를 틀리고, 프로젝트 테마와 전혀 안 맞는 결과물이 나온 경험이 있나요?&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;shadcn/ui가 더 확실하고 사용하기 쉽게 shadcn/cli v4로 업데이트 되었어요.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;shadcn/ui가 AI 시대에 주목받는 이유&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;shadcn/ui는 이미 주목을 많이 받았던 UI 프레임워크이지만 AI시대가 되며 더더욱 많이 주목받고 활용되고 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;일반적인 컴포넌트 라이브러리와 다르죠. npm에서 패키지를 설치하는 방식이 아니라,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;컴포넌트 코드를 직접 프로젝트에 복사&lt;/b&gt;하는 구조입니다.&lt;/p&gt;
&lt;pre class=&quot;bash&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;npx shadcn@latest add button

# &amp;rarr; src/components/ui/button.tsx 파일이 생성됨&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 &quot;코드 소유&quot; 방식이 AI와 합이 좋아요:&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- AI가 컴포넌트 코드를&amp;nbsp;&lt;b&gt;직접 읽고 이해&lt;/b&gt;할 수 있다&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 숨겨진 추상화 없이&amp;nbsp;&lt;b&gt;모든 구현이 투명&lt;/b&gt;하다&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 프로젝트에 맞게&amp;nbsp;&lt;b&gt;자유롭게 수정&lt;/b&gt;&amp;nbsp;가능하다&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;하지만 AI가 &quot;shadcn/ui를 안다&quot;고 해도,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;내 프로젝트에서 어떻게 설정되어 있는지&lt;/b&gt;는 모른다는 점에서 문제가 종종 발생해요. CLI v4가 이 문제를 해결해줍니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;CLI v4의 핵심: AI 에이전트를 위한 3가지 설정&lt;/h3&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;1. Skills &amp;mdash; &quot;AI에게 내 프로젝트를 알려주는 법&quot;&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code나 Codex 같은 AI 에이전트는 학습 데이터에 의존하죠. 하지만 shadcn/ui는 빠르게 업데이트되고, 프로젝트마다 설정이 다릅니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;결과적으로:&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 컴포넌트 API를 잘못 사용&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 테마 토큰이 불일치&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- import 경로 오류&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 올바른 props를 찾느라 시간 낭비&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결: shadcn/skills&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;dockerfile&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;npx skills add shadcn/ui&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 한 줄이면 AI 에이전트가 내 프로젝트에 대해 자동으로 파악을 합니다:&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;components.json&amp;nbsp;설정 (프레임워크, CSS 변수, 경로 등)&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- Tailwind 설정&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 설치된 컴포넌트 목록&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 아이콘 라이브러리 종류&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 프레임워크 타입과 버전&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;설정 전 vs 설정 후&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;clean&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;# Skills 설정 전

// AI가 추측으로 생성한 코드
import { Button } from &quot;shadcn/button&quot;  // 경로 틀림
&amp;lt;Button variant=&quot;solid&quot;&amp;gt;              // 존재하지 않는 variant


# Skills 설정 후

// AI가 실제 설정을 읽고 생성한 코드
import { Button } from &quot;@/components/ui/button&quot;  // 정확한 경로
&amp;lt;Button variant=&quot;default&quot;&amp;gt;                       // 올바른 variant
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Skills는 AI에게 &quot;추측하지 말고 읽어라&quot;를 가능하게 만듭니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;2. MCP Server &amp;mdash; &quot;AI가 실시간으로 문서를 찾아보는 법&quot;&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;AI의 학습 데이터에는 시점이 있죠. shadcn/ui가 어제 업데이트 했다면 Data Table의 새로운 정렬 API를 AI는 모릅니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결: shadcn MCP 서버&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;claude mcp add shadcn -- npx shadcn@latest mcp&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;MCP(Model Context Protocol)는 AI 에이전트가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;실시간으로 shadcn/ui 레지스트리에 접근&lt;/b&gt;할 수 있게 해줍니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;AI가 할 수 있게 되는 것:&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 컴포넌트 문서와 예제를 실시간 조회&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 최신 API와 props 확인&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 설치 명령어 자동 생성&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 커뮤니티 레지스트리 검색&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실제 사용 예시&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;gams&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;개발자: &quot;Data Table에 정렬 기능 추가해줘&quot;

AI (MCP 없이): 학습 데이터 기반으로 추측 &amp;rarr; 구버전 API 사용 &amp;rarr; 에러

AI (MCP 있음): shadcn 레지스트리에서 최신 Data Table 문서 조회
              &amp;rarr; 현재 버전의 정확한 정렬 API 확인
              &amp;rarr; 올바른 구현 코드 생성&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;VS Code에서 설정하기&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;.vscode/mcp.json&amp;nbsp;파일에 추가:&lt;/p&gt;
&lt;pre class=&quot;json&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;{
  &quot;servers&quot;: {
    &quot;shadcn&quot;: {
      &quot;command&quot;: &quot;npx&quot;,
      &quot;args&quot;: [&quot;shadcn@latest&quot;, &quot;mcp&quot;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;3. Preset &amp;mdash; &quot;디자인 시스템을 한 줄로 전달하는 법&quot;&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;AI가 컴포넌트를 올바르게 생성해도, 색상이 프로젝트 테마와 안 맞고, 폰트가 다르고, border-radius가 일관성 없는 경우가 흔하게 일어납니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결: 프리셋 코드&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;프리셋은 디자인 시스템 전체를&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;짧은 코드 한 줄&lt;/b&gt;로 압축합니다.&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;npx shadcn@latest init --preset a1Dg5eFl&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 코드 안에 담기는 것:&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 색상 팔레트 (라이트/다크 모드 포함)&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 테마 설정&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 아이콘 라이브러리&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 폰트&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- Border radius&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;프리셋 만드는 법&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #1a1a1a;&quot; href=&quot;https://ui.shadcn.com/create&quot;&gt;shadcn/create&lt;/a&gt;에 접속&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. 시각적으로 색상, 폰트, 반경 등을 조정&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. 실제 UI 컴포넌트로 미리보기&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. 프리셋 코드 생성 (예:&lt;span&gt;&amp;nbsp;&lt;/span&gt;a1Dg5eFl)&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. 팀에 공유하거나 AI에게 전달&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;활용 시나리오&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;팀 프로젝트:&lt;/p&gt;
&lt;pre class=&quot;1c&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;&quot;이 프리셋 코드로 프로젝트 초기화해줘: a1Dg5eFl&quot;
&amp;rarr; 모든 팀원이 동일한 디자인 시스템을 즉시 적용&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;AI에게 디자인 시스템 전달:&lt;/p&gt;
&lt;pre class=&quot;1c&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;&quot;이 프리셋 기반으로 대시보드 페이지 만들어줘&quot;
&amp;rarr; AI가 프리셋의 정확한 색상, 폰트, 스타일을 사용하여 일관된 UI 생성&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;CLI v4의 그 외 유용한 기능들&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;--dry-run,&lt;span&gt;&amp;nbsp;&lt;/span&gt;--diff,&lt;span&gt;&amp;nbsp;&lt;/span&gt;--view: 변경 전 확인&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;AI 에이전트가 컴포넌트를 추가하기 전에, 어떤 파일이 어떻게 바뀌는지 미리 볼 수 있어요.&lt;/p&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;# 실제 변경 없이 미리보기
npx shadcn@latest add button --dry-run

# 기존 코드와 차이점 비교
npx shadcn@latest add button --diff

# 컴포넌트 코드만 보기
npx shadcn@latest add button --view&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이것은 AI가 자율적으로 작업할 때 특히 중요해요. &quot;일단 추가하고 보자&quot;가 아니라,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;확인 후 적용&lt;/b&gt;이 가능해지기 때문이죠.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;shadcn docs: 터미널에서 문서 조회&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;nginx&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;npx shadcn@latest docs combobox&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;브라우저를 열 필요 없이 CLI에서 바로 컴포넌트 문서, 예제 코드, 사용법을 확인할 수 있어요. AI 에이전트도 이 명령어로 필요한 정보를 즉시 가져올 수 있고요.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;shadcn info: 프로젝트 진단&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;nginx&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;npx shadcn@latest info&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;현재 프로젝트의 프레임워크, 버전, CSS 변수, 설치된 컴포넌트 등 전체 현황을 출력합니다. AI에게 &quot;내 프로젝트 상태 알려줘&quot;를 자동화한 것이에요.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;shadcn init --template: 프로젝트 스캐폴딩&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;autoit&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;# Next.js 프로젝트 한 번에 생성
npx shadcn@latest init -t next

# 모노레포 구조
npx shadcn@latest init -t next --monorepo&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Next.js, Vite, Laravel, React Router, Astro, TanStack Start를 지원합니다. 다크 모드 설정도 자동으로 포함되요.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;shadcn init --base: 프리미티브 선택&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;npx shadcn@latest init --base radix    # Radix UI 기반
npx shadcn@latest init --base base-ui  # Base UI 기반&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;프로젝트에 맞는 headless UI 프리미티브를 선택할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;실전 워크플로우: 처음부터 끝까지&lt;/h3&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;Step 1: 프로젝트 초기화\&lt;/h4&gt;
&lt;pre class=&quot;autoit&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;# 프리셋 포함 Next.js 프로젝트 생성
npx shadcn@latest init -t next --preset a1Dg5eFl&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;Step 2: AI 에이전트 연동&lt;/h4&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;# Skills 설치 (프로젝트 컨텍스트)
npx skills add shadcn/ui

# MCP 서버 연결 (실시간 문서)
claude mcp add shadcn -- npx shadcn@latest mcp&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;Step 3: AI와 함께 개발&lt;/h4&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;개발자: &quot;사용자 프로필 페이지를 만들어줘.
        Avatar, Card, Badge, Tabs 컴포넌트를 써서.&quot;

AI 에이전트:
  1. Skills로 프로젝트 설정 확인
  2. MCP로 각 컴포넌트 최신 API 조회
  3. 프리셋 기반 테마에 맞는 코드 생성
  4. --diff로 변경사항 확인 후 적용&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(물론 실제로 X만들어줘. 하진 않죠...)&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;Step 4: 검증&lt;/h4&gt;
&lt;pre class=&quot;nginx&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;# 컴포넌트가 올바르게 추가되었는지 확인
npx shadcn@latest info&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;왜 이 조합이 좋을까요?&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이전에는 AI에게 UI를 맡기면...?&lt;/p&gt;
&lt;pre class=&quot;1c&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;AI가 코드 생성 &amp;rarr; 에러 발생 &amp;rarr; 수동으로 수정 &amp;rarr; 다시 요청 &amp;rarr; 또 에러
&amp;rarr; 결국 직접 작성 &amp;rarr; &quot;AI 쓰느니 직접 하는 게 낫다&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Skills + MCP + Preset 조합은...!&lt;/p&gt;
&lt;pre class=&quot;gcode&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;AI가 프로젝트 설정 읽음 (Skills)
&amp;rarr; 최신 문서 확인 (MCP)
&amp;rarr; 디자인 시스템에 맞게 생성 (Preset)
&amp;rarr; 변경 전 검증 (--diff)
&amp;rarr; 한 번에 올바른 결과물&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;핵심은 AI에게&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;컨텍스트&lt;/b&gt;를 주는 것이에요. 똑똑한 AI에게 정보를 안 주면 추측할 수밖에 없고, 추측은 항상 옳지는 않아요. 정보를 주면 그만큼 정확해지죠. 당연한 이야기지만, shadcn/cli v4는 이 &quot;정보 전달&quot;을 자동화했다는 점에서 의미가 큰 것 같아요.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;기존 프로젝트에도 적용 가능한가?&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;가능합니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;components.json이 존재하는 프로젝트라면 Skills가 자동으로 감지해요. 새 프로젝트를 만들 필요 없이, 기존 shadcn/ui 프로젝트에 바로 적용할 수 있어요.&lt;/p&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;# 기존 프로젝트에서
npx skills add shadcn/ui              # Skills 추가
claude mcp add shadcn -- npx shadcn@latest mcp  # MCP 연결
# 끝. 바로 사용 가능.&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;registry:base와 registry:font&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CLI v4에서 레지스트리도 크게 강화되었어요.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;registry:base&lt;/b&gt;는 전체 디자인 시스템을 하나의 페이로드로 배포할 수 있게 해요. 컴포넌트, 의존성, CSS 변수, 폰트, 설정 파일을 한 번의 설치로 모두 가져옵니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;registry:font&lt;/b&gt;는 폰트를 1급 레지스트리 타입으로 승격되었어요. 컴포넌트를 설치하듯이 폰트를 설치하고 관리할 수 있어요.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;회사나 팀이 자체 디자인 시스템을 만들어&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;사내 레지스트리로 배포&lt;/b&gt;하면, 새 프로젝트를 시작할 때 명령어 하나로 전체 디자인 시스템으로 설정할 수 있어요. AI 에이전트도 이 레지스트리를 참조하여 일관된 코드를 생성할 수 있고요.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;마치며&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;shadcn/ui의 철학은 처음부터 &quot;코드를 소유하라(own the code)&quot;였어요.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;npm 패키지에 의존하지 말고, 컴포넌트 코드를 직접 가져와서 원하는 대로 수정하라는 것이죠.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CLI v4는 이 철학을 AI 시대에 맞게 확장했다고 볼 수 있어요.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이상 shadcn 업데이트 관련 소식을 마칩니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;긴 글 읽어주셔서 감사합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;이 글은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://tech.pxd.co.kr/post/shadcn%EA%B3%BC-%ED%95%A8%EA%BB%98-UI-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8%EB%A5%BC-AI-%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8%EC%99%80-%EB%8D%94-%EC%9E%98%EC%93%B0%EB%8A%94-%EB%B0%A9%EB%B2%95-340&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://tech.pxd.co.kr/&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;&amp;nbsp; 에서도 보실 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참고 자료&lt;/b&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;&lt;a href=&quot;https://ui.shadcn.com/docs/changelog/2026-03-cli-v4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;shadcn/cli v4 공식 체인지로그&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/_46ea277e677b888e0cd13/shadcnui-claude-code-3-settings-that-fix-ai-generated-ui-quality-2dea&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;shadcn/ui + Claude Code: 3 Settings That Fix AI-Generated UI Quality&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ui.shadcn.com/docs/mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;shadcn MCP Server 공식 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.logrocket.com/ai-shadcn-components/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;How to use AI to build accurate ShadCN components &amp;mdash; LogRocket&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ui.shadcn.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;shadcn/ui&amp;nbsp;공식&amp;nbsp;사이트&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>UX Engineer 이야기</category>
      <author>doworld</author>
      <guid isPermaLink="true">https://pxdstory.tistory.com/1895</guid>
      <comments>https://pxdstory.tistory.com/1895#entry1895comment</comments>
      <pubDate>Mon, 20 Apr 2026 07:50:18 +0900</pubDate>
    </item>
    <item>
      <title>파이썬 기초 간단하게 살펴보기</title>
      <link>https://pxdstory.tistory.com/1884</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;들어가며&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;저는 마크업과 프론트엔드 작업을 하고 있어서 파이썬을 사용할 일이 없었습니다. 그러다 팀 과제를 하면서 제가 작성한 코드가 제대로 동작하는지 테스트해보고 싶어졌고, 방법을 찾다가 파이썬을 알게 되었습니다. 처음엔 낯선 언어여서 AI의 도움을 받아 코드를 작성하고 테스트를 해봤는데 결과를 바로바로 확인할 수 있어서 정말 편하더라고요. 그러면서 파이썬이 궁금해져서 알아보기 시작했습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;작업하면서 저처럼 스쳐 지나가듯 파이썬을 경험해 보신 분들이나, 저처럼 아예 몰랐던 분들께 조금이나마 도움이 될까 싶어 공부한 내용을 정리해봤습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;(참고로 저는 &quot;100 Days of Code: The Complete Python Pro Bootcamp&quot;라는 강의를 듣고 있습니다.)&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;파이썬 설치하기&lt;/b&gt;&lt;/h3&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;코드를 작성하려면 먼저 파이썬을 설치해야 하겠죠?&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;Mac을 쓰시는 분이라면 이미 파이썬이 깔려 있을 수 있습니다. 터미널을 열어서 아래 명령어를 입력했을 때,&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;python3 --version&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;Python 3.x.x&lt;span&gt;&amp;nbsp;&lt;/span&gt;같은 버전 정보가 나오면 이미 설치되어 있는 겁니다. 나오지 않는다면 아래 단계를 따라 설치하면 됩니다.&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;설치 방법&lt;/b&gt;&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;a style=&quot;color: #1a1a1a;&quot; href=&quot;https://www.python.org/downloads/&quot;&gt;python.org&lt;/a&gt;에 접속해서 운영체제에 맞는 최신 버전을 다운로드하면 됩니다. 설치 과정은 일반적인 프로그램 설치와 동일합니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;Windows를 사용하시는 분은 설치할 때&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&quot;Add Python to PATH&quot;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;체크박스가 보이면 꼭 체크해 주세요. 이걸 빠뜨리면 터미널에서 파이썬을 실행할 수 없습니다.&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;코드 실행 해보기&lt;/b&gt;&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;에디터에서 파일을 하나 만들고 (예:&amp;nbsp;hello.py) 아래 코드를 작성한 뒤에&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;b&gt;print(&quot;Hello World&quot;)&lt;/b&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;터미널에서 다음과 같이 실행하면,&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;b&gt;python3 hello.py&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;Hello World가 출력되는 것을 확인하실 수 있을 것입니다.&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;파이썬 시작하기&lt;/b&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. print와 input&lt;/b&gt;&lt;/h4&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;print()&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;먼저 살펴볼 건 print()입니다. 코드를 작성하다 보면 &quot;이 값이 지금 뭐지?&quot;, &quot;여기까지 제대로 실행된 건가?&quot; 같은 순간이 자주 오는데, 그때 print()로 값을 출력해 보면 바로 확인할 수 있습니다. 결과를 눈으로 확인하는 가장 기본적인 방법이라 제일 먼저 알아두면 좋습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre id=&quot;code_1773895695245&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(&quot;Hello World&quot;)​&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;이렇게 쓰면 화면에&lt;span&gt;&amp;nbsp;&lt;/span&gt;Hello World가 출력됩니다.&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;input()&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;input()은 프로그램 실행 중에 사용자로부터 값을 입력받는 함수입니다. 예를 들어 이름을 물어보고, 그 이름을 활용해서 인사를 출력하는 식으로 쓸 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;isbl&quot;&gt;&lt;code&gt;name = input(&quot;이름이 뭐예요? &quot;)
print(&quot;안녕하세요, &quot; + name + &quot;!&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;여기서&amp;nbsp;name은&amp;nbsp;&lt;b&gt;변수&lt;/b&gt;인데, 입력받은 값을 담아두는 역할을 합니다. 나중에&amp;nbsp;name이라고 쓰면 그 안에 저장된 값을 꺼내 쓸 수 있습니다.&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 타입과 연산&lt;/b&gt;&lt;/h4&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;타입&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;파이썬에서 다루는 데이터에는 여러&amp;nbsp;&lt;b&gt;타입(종류)&lt;/b&gt;이 있습니다. 숫자끼리 계산해야 할 때도 있고, 글자를 다뤄야 할 때도 있는데, 파이썬은 이걸 타입으로 구분합니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&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 style=&quot;background-color: #f2f2f2;&quot;&gt;타입&lt;/td&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;설명&lt;/td&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;예시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;문자열(String)&lt;/td&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;글자들의 모음&lt;/td&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;&quot;Hello&quot;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&quot;안녕&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;정수(Integer)&lt;/td&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;소수점 없는 숫자&lt;/td&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;1,&lt;span&gt;&amp;nbsp;&lt;/span&gt;42,&lt;span&gt;&amp;nbsp;&lt;/span&gt;100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;실수(Float)&lt;/td&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;소수점 있는 숫자&lt;/td&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;3.14,&lt;span&gt;&amp;nbsp;&lt;/span&gt;0.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;불린(Boolean)&lt;/td&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;참 또는 거짓&lt;/td&gt;
&lt;td style=&quot;background-color: #f2f2f2;&quot;&gt;True,&lt;span&gt;&amp;nbsp;&lt;/span&gt;False&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;지금 다루고 있는 데이터가 어떤 타입인지 확인하고 싶을 때는&amp;nbsp;type()을 사용하면 됩니다. 뭔가 타입을 보면 자바스크립트 같기도, 자바 같기도...&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;lisp&quot;&gt;&lt;code&gt;print(type(&quot;Hello&quot;)) # &amp;lt;class 'str'&amp;gt;
print(type(123)) # &amp;lt;class 'int'&amp;gt;
print(type(3.14)) # &amp;lt;class 'float'&amp;gt;
print(type(True)) # &amp;lt;class 'bool'&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;문자열 다루기&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;저희에겐 너무 익숙한 문자열인데요. 스크립트와 사용법이 유사합니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;autoit&quot;&gt;&lt;code&gt;&quot;Hello&quot;[0] # &quot;H&quot; - 첫 번째 글자
&quot;Hello&quot;[-1] # &quot;o&quot; - 마지막 글자
len(&quot;Hello&quot;) # 5 - 글자 수&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;예시 코드를 보면&lt;span&gt;&amp;nbsp;&lt;/span&gt;len()이라는 내장 함수가 보이시나요? 자바스크립트의&amp;nbsp;.length와 같습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;그리고 문자열을 변환하는 메서드도 있는데요. 보시면 메서드들이 익숙하실 것 같습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;autoit&quot;&gt;&lt;code&gt;&quot;hello&quot;.upper() # &quot;HELLO&quot; - 대문자로
&quot;HELLO&quot;.lower() # &quot;hello&quot; - 소문자로
&quot; hi &quot;.strip() # &quot;hi&quot; - 앞뒤 공백 제거&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;.lower()는 위에 설명한&amp;nbsp;input()을 사용하여 사용자 입력을 받을 때 유용합니다. 예를 들어 &quot;yes&quot;를 입력받아야 하는데 사용자가 &quot;YES&quot;나 &quot;Yes&quot;라고 입력할 수도 있잖아요. 이럴 때&lt;span&gt;&amp;nbsp;&lt;/span&gt;.lower()로 소문자로 통일하면 모든 경우를 처리할 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;isbl&quot;&gt;&lt;code&gt;answer = input(&quot;계속하시겠습니까? (yes/no) &quot;).lower()
if answer == &quot;yes&quot;:
    print(&quot;계속합니다!&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;타입 변환하기&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;문자를 숫자로, 숫자를 문자로 바꿀 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;hsp&quot;&gt;&lt;code&gt;str(123) # &quot;123&quot; - 숫자를 문자로
int(&quot;456&quot;) # 456 - 문자를 정수로
float(&quot;3.14&quot;) # 3.14 - 문자를 실수로&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;이게 왜 필요하냐면...&amp;nbsp;input()으로 받은 건&amp;nbsp;&lt;b&gt;무조건 문자열&lt;/b&gt;이기 때문입니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;예를 들어 숫자&amp;nbsp;123을 입력해도&amp;nbsp;&quot;123&quot;처럼 문자로 들어옵니다. 그래서 계산하려면&amp;nbsp;int()로 바꿔줘야 합니다.&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;연산자&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;파이썬에서는 기본적인 사칙연산 외에도 다양한 연산자를 지원합니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;print(3 + 5) # 8 (더하기)
print(7 - 4) # 3 (빼기)
print(3 * 2) # 6 (곱하기)
print(6 / 3) # 2.0 (나누기 - 항상 소수점이 나옵니다!)
print(6 // 3) # 2 (나누기 - 정수만)
print(2 ** 3) # 8 (제곱 - 2의 3승)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;참고로&amp;nbsp;/로 나누면&amp;nbsp;&lt;b&gt;무조건 소수점&lt;/b&gt;이 나옵니다.&amp;nbsp;6 / 3을 해도&amp;nbsp;2.0이 나옵니다. 정수로 받고 싶으면&amp;nbsp;//를 써야 합니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;그 외 유용한 함수들&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;round(3.14159, 2) # 3.14 (소수점 둘째 자리까지 반올림)
abs(-5) # 5 (절대값)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;f-string&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;변수 값을 문자열 안에 넣고 싶을 때&amp;nbsp;+로 일일이 연결하면 코드가 길어지고 읽기도 불편합니다. f-string을 쓰면&amp;nbsp;f&quot;...&quot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;안에&lt;span&gt;&amp;nbsp;&lt;/span&gt;{변수}를 바로 넣을 수 있어서 훨씬 깔끔합니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;${}&amp;nbsp;와 같은 코드라고 보시면 될 것 같아요. (저는 이 부분이 조금 신기했습니다 ㅎ)&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;makefile&quot;&gt;&lt;code&gt;name = &quot;혜름&quot;
age = 25
print(f&quot;제 이름은 {name}이고, 나이는 {age}살입니다.&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 조건문&lt;/b&gt;&lt;/h4&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;if, elif, else&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;코드를 작성하다 보면 특정 조건에 따라 다른 동작을 하게 만들어야 할 때가 있습니다. 예를 들어 사용자의 입력값에 따라 다른 결과를 보여준다거나, 특정 값이 기준을 넘는지 확인하는 경우입니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;isbl&quot;&gt;&lt;code&gt;height = int(input(&quot;키가 몇 cm예요? &quot;))

if height &amp;gt;= 120:
    print(&quot;놀이기구 탑승 가능&quot;)
else:
    print(&quot;놀이기구 탑승 불가&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;if&lt;span&gt;&amp;nbsp;&lt;/span&gt;다음에 조건을 쓰고, 그게 맞으면(참이면) 아래 코드가 실행됩니다. 아니면&lt;span&gt;&amp;nbsp;&lt;/span&gt;else&amp;nbsp;쪽이 실행됩니다&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;조건이 여러 개면&amp;nbsp;elif를 씁니다. (자바스크립트에 비해 축약이 된 느낌이에요.)&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;isbl&quot;&gt;&lt;code&gt;age = int(input(&quot;나이가 몇 살이에요? &quot;))

if age &amp;lt; 20:
    print(&quot;미성년자입니다&quot;)
elif age &amp;lt; 65:
    print(&quot;성인입니다&quot;)
else:
    print(&quot;경로 우대 대상입니다&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;파이썬에서는&amp;nbsp;&lt;b&gt;들여쓰기&lt;/b&gt;가 정말 중요합니다. 해당 코드가 어디에 속하는지를 들여쓰기로 구분하기 때문에, 꼭 확인해주어야 할 부분이에요. (중요!!)&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 리스트와 랜덤&lt;/b&gt;&lt;/h4&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;리스트&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;여러 개의 데이터를 하나의 변수에 묶어서 관리하고 싶을 때 리스트를 사용합니다. 예를 들어 과일 이름 세 개를 각각 변수로 만들면 번거롭지만, 리스트로 묶으면 하나로 관리할 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;hsp&quot;&gt;&lt;code&gt;fruits = [&quot;사과&quot;, &quot;배&quot;, &quot;포도&quot;]
print(fruits[0]) # &quot;사과&quot; - 첫 번째
print(fruits[-1]) # &quot;포도&quot; - 마지막&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;[0]처럼&amp;nbsp;&lt;b&gt;인덱스&lt;/b&gt;로 특정 위치의 값을 꺼낼 수 있고,&lt;span&gt;&amp;nbsp;&lt;/span&gt;-1을 쓰면 마지막 값을 바로 가져올 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;hsp&quot;&gt;&lt;code&gt;fruits.append(&quot;딸기&quot;) # 마지막에 추가
print(fruits) # [&quot;사과&quot;, &quot;배&quot;, &quot;포도&quot;, &quot;딸기&quot;]&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;리스트에서 특정 값의 위치를 찾을 수도 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;makefile&quot;&gt;&lt;code&gt;fruits = [&quot;사과&quot;, &quot;배&quot;, &quot;포도&quot;]
fruits.index(&quot;배&quot;) # 1 - &quot;배&quot;가 몇 번째에 있는지&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;이건 암호화 같은 걸 만들 때 유용합니다. 알파벳 리스트에서 특정 글자의 위치를 찾고, 그 위치를 이동시켜서 다른 글자로 바꾸는 식으로요.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;리스트 안에 리스트를 넣을 수도 있습니다 (중첩 리스트).&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;markdown&quot;&gt;&lt;code&gt;matrix = [
    [1, 2, 3],
    [4, 5, 6]
]
print(matrix[0][1]) # 2 - 첫 번째 리스트의 두 번째 값&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;random 모듈&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;무작위 값이 필요할 때 사용하는 모듈입니다. 비밀번호 생성기처럼 랜덤한 값을 뽑아야 하거나, 리스트의 순서를 섞어야 할 때 유용합니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;import random을 먼저 써야 사용할 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;import에 대한 부분은 8.모듈 쪽에 설명해두었습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;autoit&quot;&gt;&lt;code&gt;import random

random.randint(1, 10) # 1~10 중 무작위 정수
random.random() # 0~1 사이 무작위 실수
random.choice(fruits) # 리스트에서 무작위로 하나 선택
random.shuffle(fruits) # 리스트 순서를 섞기&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;5. for와 while&lt;/b&gt;&lt;/h4&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;for&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;(아시는 것이겠지만...) 같은 작업을 여러 번 해야 할 때 일일이 코드를 반복해서 쓰면 비효율적입니다.&amp;nbsp;for를 쓰면 리스트에 있는 값들을 하나씩 꺼내면서 같은 작업을 반복할 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;fruits = [&quot;사과&quot;, &quot;배&quot;, &quot;포도&quot;]

for fruit in fruits:
    print(fruit)
# 사과
# 배
# 포도&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;range()와 같이 쓰면 숫자로 반복할 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;for i in range(5):
    print(i)  # 0, 1, 2, 3, 4

for i in range(1, 11):
    print(i)  # 1부터 10까지

for i in range(1, 11, 2):
    print(i)  # 1, 3, 5, 7, 9 (2씩 증가)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;while&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;for는 반복 횟수가 정해져 있을 때 쓰지만,&amp;nbsp;while은 특정 조건이 만족되는 동안 계속 반복합니다. 예를 들어 사용자가 &quot;종료&quot;를 입력할 때까지 프로그램을 계속 실행시키고 싶을 때 사용할 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;fortran&quot;&gt;&lt;code&gt;count = 0
while count &amp;lt; 5:
    print(count)
    count += 1&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;다만 조건이 영원히 참이면&amp;nbsp;&lt;b&gt;무한 반복&lt;/b&gt;에 빠지기 때문에, 반복이 끝나는 조건을 잘 설정해야 합니다.&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;6. 함수&lt;/b&gt;&lt;/h4&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;함수 정의하기&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;같은 코드를 여러 곳에서 반복해서 쓰고 있다면, 함수로 만들어두면 한 번 정의해놓고 필요할 때마다 호출해서 쓸 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;python&quot;&gt;&lt;code&gt;def greet():
    print(&quot;안녕하세요!&quot;)
    print(&quot;반갑습니다!&quot;)

greet()  # 함수 호출
greet()  # 또 호출 가능&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;매개변수&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;함수를 호출할 때 값을 넘겨주면, 함수 안에서 그 값을 사용할 수 있습니다. 이때 넘겨주는 값을&amp;nbsp;&lt;b&gt;매개변수&lt;/b&gt;라고 합니다. (어디에나 동일한 개념이죠.)&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;python&quot;&gt;&lt;code&gt;def greet(name):
    print(f&quot;안녕하세요, {name}님!&quot;)

greet(&quot;혜름&quot;)  # &quot;안녕하세요, 혜름님!&quot;
greet(&quot;연주&quot;)  # &quot;안녕하세요, 연주님!&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;매개변수는 여러 개도 가능합니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;python&quot;&gt;&lt;code&gt;def greet(name, time):
    print(f&quot;{time}이에요, {name}님!&quot;)

# 위치로 구분 (positional arguments)
greet(&quot;혜름&quot;, &quot;아침&quot;)

# 이름으로 지정 (keyword arguments)
greet(time=&quot;저녁&quot;, name=&quot;연주&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;return&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;함수가 단순히&lt;span&gt;&amp;nbsp;&lt;/span&gt;print()로 출력만 하는 게 아니라, 처리한 결과를 돌려줘야 할 때가 있습니다. 그때&lt;span&gt;&amp;nbsp;&lt;/span&gt;return을 사용합니다. 돌려받은 값은 변수에 저장해서 다른 곳에서 활용할 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;livecodeserver&quot;&gt;&lt;code&gt;def add(a, b):
    return a + b

result = add(3, 5)
print(result)  # 8&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;7. 딕셔너리&lt;/b&gt;&lt;/h4&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;Key-Value 쌍&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;리스트는 데이터를 순서대로 저장하지만, 데이터에 의미 있는 이름을 붙여서 관리하고 싶을 때는 딕셔너리가 더 적합합니다. 딕셔너리는&amp;nbsp;&lt;b&gt;키(key)&lt;/b&gt;와&amp;nbsp;&lt;b&gt;값(value)&lt;/b&gt;을 쌍으로 저장합니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;자바스크립트와 명칭이 다를 뿐, 오브젝트와 같다고 이해하시면 될 것 같아요.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;hsp&quot;&gt;&lt;code&gt;student = {
    &quot;이름&quot;: &quot;혜름&quot;,
    &quot;나이&quot;: 20,
    &quot;성적&quot;: 85
}

print(student[&quot;이름&quot;])  # &quot;혜름&quot;
print(student[&quot;나이&quot;])  # 20&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;리스트는&lt;span&gt;&amp;nbsp;&lt;/span&gt;[0],&lt;span&gt;&amp;nbsp;&lt;/span&gt;[1]처럼 순서로 접근하지만, 딕셔너리는&lt;span&gt;&amp;nbsp;&lt;/span&gt;[&quot;이름&quot;]처럼 키로 접근합니다. 값을 추가하거나 수정하는 것도 간단합니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;1c&quot;&gt;&lt;code&gt;student[&quot;주소&quot;] = &quot;서울&quot;  # 추가
student[&quot;나이&quot;] = 21      # 수정&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;딕셔너리 안에 딕셔너리를 넣을 수도 있습니다 (중첩 딕셔너리).&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;markdown&quot;&gt;&lt;code&gt;users = {
    &quot;혜름&quot;: {
        &quot;나이&quot;: 20,
        &quot;취미&quot;: [&quot;필라테스&quot;, &quot;게임&quot;]
    },
    &quot;연주&quot;: {
        &quot;나이&quot;: 22,
        &quot;취미&quot;: [&quot;필라테스&quot;]
    }
}
print(users[&quot;혜름&quot;][&quot;나이&quot;])  # 20
print(users[&quot;연주&quot;][&quot;취미&quot;][0])  # &quot;필라테스&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;딕셔너리 순회하기&lt;/h4&gt;
&lt;pre class=&quot;python&quot; style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;code&gt;for key in student:
    print(f&quot;{key}: {student[key]}&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;8. 모듈&lt;/b&gt;&lt;/h4&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;import&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;파이썬에는 이미 만들어진 기능들이 많은데, 필요할 때&amp;nbsp;import로 가져다 쓸 수 있습니다. 앞에서 살펴본&amp;nbsp;random도 이런 식으로 불러온 모듈입니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;import random
random.randint(1, 10)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;파이썬이 기본으로 제공하는 모듈 외에, 직접 만든 파일도 모듈로 사용할 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;pre class=&quot;monkey&quot;&gt;&lt;code&gt;# my_data.py 파일
pi = 3.14159

# main.py 파일
import my_data
print(my_data.pi)  # 3.14159

# 또는 특정 변수/함수만 가져오기
from my_data import pi
print(pi)  # 3.14159&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;마치며&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;이번 글에서는 print, input부터 시작해서 데이터 타입, 조건문, 반복문, 함수, 딕셔너리, 모듈까지 파이썬의 기초적인 문법들을 살펴봤습니다. 공부를 계속하면서 새로 알게 되는 내용이 있으면 이어서 정리해보겠습니다.&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;부족한 글 읽어주셔서 감사합니다. &amp;zwj;♀️&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;그럼 안녕히&amp;hellip; &lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;이 글은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://tech.pxd.co.kr/post/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%88-%EA%B0%84%EB%8B%A8%ED%95%98%EA%B2%8C-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0-335&quot;&gt;https://tech.pxd.co.kr/&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;&amp;nbsp; 에서도 보실 수 있습니다.&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a style=&quot;color: #1a1a1a;&quot; href=&quot;https://www.udemy.com/course/100-days-of-code/&quot;&gt;100 Days of Code: The Complete Python Pro Bootcamp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>UX Engineer 이야기</category>
      <author>ny.back</author>
      <guid isPermaLink="true">https://pxdstory.tistory.com/1884</guid>
      <comments>https://pxdstory.tistory.com/1884#entry1884comment</comments>
      <pubDate>Mon, 13 Apr 2026 07:50:41 +0900</pubDate>
    </item>
    <item>
      <title>&amp;quot;AI에게 우리를 소개하고 싶었습니다&amp;quot;, UX 전문 기업이 GEO 서비스를 만든 이유</title>
      <link>https://pxdstory.tistory.com/1892</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;시작은 하나의 질문이었습니다&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;pxd는 대한민국에서 UX/UI 분야를 대표하는 사용자경험(UX) 디자인 전문 기업입니다. AI에게 &lt;i&gt;&lt;b&gt;&quot;대한민국에서 UX/UI 컨설팅 잘하는 업체 추천해줘&quot;&lt;/b&gt;&lt;/i&gt;라고 물으면, pxd는 빠지지 않고 언급됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런데 한 가지 의문이 생겼습니다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;화면 UI 개발을 잘하는 회사는?&quot; &amp;mdash; pxd, 언급 없음.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;프론트엔드 개발을 잘하는 회사는?&quot; &amp;mdash; pxd, 역시 언급 없음.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;2002년에 설립된 &lt;/span&gt;pxd는 2019년부터 UX 컨설팅 및 리서치, 설계, 디자인 뿐만 아니라 UI개발 및 프론트엔드개발까지 수행하는 회사가 되었습니다. 그런데 AI는 그 사실을 모르고 있었습니다. 왜일까요?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 질문을 파고들면서 저희는 &lt;b&gt;GEO(Generative Engine Optimization)와 AIEO(AI Engine Optimization)&lt;/b&gt;라는 영역을 발견했습니다. AI에게 잘 인용되려면 단순히 좋은 콘텐츠를 만드는 것만으로는 부족하다는 것, AI가 이해하고 신뢰할 수 있는 구조로 콘텐츠를 제공해야 한다는 것을 알게 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 생각했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;우리만 이 문제를 겪고 있는 건 아닐 거야. &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;좋은 서비스나 상품을 제공하고 있거나 만들고도 AI에게 제대로 소개되지 못하는 곳이 얼마나 많을까? &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그렇다면, AI에게 잘 인용될 수 있는 방법을 알려주자.&quot;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이것이 GEONIQ(지오닉)의 시작이었습니다.&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;blob&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;369&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DZ6Dd/dJMcadIeQp4/Gm9pFtLgXmxBvumrNqSS5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DZ6Dd/dJMcadIeQp4/Gm9pFtLgXmxBvumrNqSS5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DZ6Dd/dJMcadIeQp4/Gm9pFtLgXmxBvumrNqSS5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDZ6Dd%2FdJMcadIeQp4%2FGm9pFtLgXmxBvumrNqSS5K%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;500&quot; height=&quot;369&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;369&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 2025년 11월, 그 고민을 담아 &lt;/span&gt;&lt;a href=&quot;https://story.pxd.co.kr/1862&quot;&gt;&lt;span style=&quot;color: #1155cc;&quot;&gt;&quot;AI 검색 시대의 새로운 기준, GEONIQ(지오닉)을 소개합니다&quot;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #000000;&quot;&gt;라는 글과 함께 베타 서비스를 세상에 공개했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그로부터 약 4개월. 수많은 피드백과 개선을 거쳐, &lt;b&gt;오늘 GEONIQ이 정식 서비스로 오픈합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;베타 오픈 전 진행한 예비 사용자 조사에서 다음과 같은 피드백들을 받았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;국내에 GEO(AIEO)까지 포함한 통합 SEO 진단 도구가 없었는데, 한국어 환경에 맞게 최적화해 제공하는 점이 좋습니다.&quot; &amp;mdash; 6년 경력 스타트업 퍼포먼스 마케터&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;유사한 국내 서비스와 비교했을 때, UI&amp;middot;UX 완성도와 리포트 품질이 압도적으로 높습니다.&quot; &amp;mdash; 10년 경력 대기업 퍼포먼스 마케터&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 목소리들이 정식 오픈을 준비하면서 저희가 가장 집중한 방향이기도 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;베타에서 정식 오픈까지, 지오닉은 어떻게 달라졌을까?&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #434343;&quot;&gt;스스로를 진단하며 성장했습니다&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-04-02 오전 11.54.13.png&quot; data-origin-width=&quot;2710&quot; data-origin-height=&quot;916&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KlA5j/dJMcahcPI6l/olEafdWKK8p5bgkV0Y6T3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KlA5j/dJMcahcPI6l/olEafdWKK8p5bgkV0Y6T3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KlA5j/dJMcahcPI6l/olEafdWKK8p5bgkV0Y6T3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKlA5j%2FdJMcahcPI6l%2FolEafdWKK8p5bgkV0Y6T3k%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;2710&quot; height=&quot;916&quot; data-filename=&quot;스크린샷 2026-04-02 오전 11.54.13.png&quot; data-origin-width=&quot;2710&quot; data-origin-height=&quot;916&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정식 오픈 전, 먼저 우리 자신부터 진단했습니다. geoniq.ai를 GEONIQ으로 지속적으로 분석하고, 개선 가이드를 따라 고치고, 다시 진단하는 과정을 반복했습니다. 그 결과를 숫자로 보여드립니다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;div&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 style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;항목&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;베타 (2025.11)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;현재 (2026.04)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;종합 점수&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;60점&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;98점&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;기술 최적화&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;40점&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;100점&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;콘텐츠 품질&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;85점&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;100점&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;성능 및 사용자 경험&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;100점&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;100점&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;콘텐츠 신뢰성&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;26점&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;77점&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;보안 및 정책 준수&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;44점&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;95점&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정상 항목&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;37개&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;62개&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;조치 필요 항목&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;24개&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0개&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;b&gt;&lt;/b&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;진단하고, 가이드를 따라 고치고, 다시 진단하는 과정을 반복하며 조치가 필요한 항목을 모두 해결했습니다. 저희가 만든 도구로 저희 서비스를 직접 개선한 것, 이것이 실 검증된&amp;nbsp; GEONIQ의 가치입니다.&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;AI가 GEONIQ을 알아보기 시작했습니다&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;58&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Z2M9x/dJMcaipis18/yxqttsflBzLq9RWhImCda0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Z2M9x/dJMcaipis18/yxqttsflBzLq9RWhImCda0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Z2M9x/dJMcaipis18/yxqttsflBzLq9RWhImCda0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ2M9x%2FdJMcaipis18%2FyxqttsflBzLq9RWhImCda0%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;838&quot; height=&quot;58&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;58&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GEONIQ이 SEO/GEO 개선에 실제 효과가 있는지 확인하기 위해 &lt;b&gt;&lt;i&gt;&quot;SEO, GEO(AIEO) 검증하는 국내 사이트 추천해줘&quot;&lt;/i&gt;&lt;/b&gt;라는 질문을 다양한 AI에게 직접 던져봤습니다. 베타 초기에는 어떤 AI도 GEONIQ을 언급하지 않았습니다. 하지만 시간이 지나면서 변화가 시작됐습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(아래 결과는 사용자 편향을 최소화하기 위해 각 플랫폼에서 신규 계정을 생성한 후, &lt;b&gt;&amp;ldquo;SEO, GEO(AIEO) 검증이 가능한 국내 사이트를 추천해줘&amp;rdquo;&lt;/b&gt;라는 동일한 질문을 한 달 간격으로 반복하여 얻은 것입니다.)&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #434343;&quot;&gt;ChatGPT의 답변 (2026년 1월)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-04-02 오전 11.57.44.png&quot; data-origin-width=&quot;1598&quot; data-origin-height=&quot;1104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/efkLoS/dJMcaf0m6g4/7Qwfw7bYhKnMgIlkNBZvu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/efkLoS/dJMcaf0m6g4/7Qwfw7bYhKnMgIlkNBZvu1/img.png&quot; data-alt=&quot;gpt 답변 내용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/efkLoS/dJMcaf0m6g4/7Qwfw7bYhKnMgIlkNBZvu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FefkLoS%2FdJMcaf0m6g4%2F7Qwfw7bYhKnMgIlkNBZvu1%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;1598&quot; height=&quot;1104&quot; data-filename=&quot;스크린샷 2026-04-02 오전 11.57.44.png&quot; data-origin-width=&quot;1598&quot; data-origin-height=&quot;1104&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;gpt 답변 내용&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ChatGPT는 GEONIQ을 국내 SEO+GEO 도구 추천 목록의 첫 번째로 소개했습니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #434343;&quot;&gt;Perplexity의 답변 (2026년 2월)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-04-02 오전 11.56.38.png&quot; data-origin-width=&quot;1464&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yhP4c/dJMcaduF94i/1PaKJWrcPpVqX4RedWXvo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yhP4c/dJMcaduF94i/1PaKJWrcPpVqX4RedWXvo0/img.png&quot; data-alt=&quot;perplexity 답변 내용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yhP4c/dJMcaduF94i/1PaKJWrcPpVqX4RedWXvo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyhP4c%2FdJMcaduF94i%2F1PaKJWrcPpVqX4RedWXvo0%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;1464&quot; height=&quot;506&quot; data-filename=&quot;스크린샷 2026-04-02 오전 11.56.38.png&quot; data-origin-width=&quot;1464&quot; data-origin-height=&quot;506&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;perplexity 답변 내용&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Perplexity 역시 GEO 진단 도구를 추천하면서 GEONIQ을 가장 먼저 언급했습니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #434343;&quot;&gt;Gemini의 답변 (2026년 3월)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1430&quot; data-origin-height=&quot;766&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x460x/dJMcahqn1In/k4zUbjLFK996F3SVLNcVk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x460x/dJMcahqn1In/k4zUbjLFK996F3SVLNcVk0/img.png&quot; data-alt=&quot;gemini 답변 내용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x460x/dJMcahqn1In/k4zUbjLFK996F3SVLNcVk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx460x%2FdJMcahqn1In%2Fk4zUbjLFK996F3SVLNcVk0%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;1430&quot; height=&quot;766&quot; data-origin-width=&quot;1430&quot; data-origin-height=&quot;766&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;gemini 답변 내용&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Gemini 또한 GEONIQ을 국내 GEO/AIEO 특화 진단 솔루션으로 첫 번째로 소개했습니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;AI에게 우리를 소개하고 싶다&quot;는 바람에서 시작한 서비스가, 이제 AI로부터 직접 추천받고 있습니다. GEONIQ이 추구하는 가치가 실제로 작동하고 있음을 보여주는 결과입니다.&lt;/span&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;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정식 오픈, 새로운 기능과 더 고도화된 분석&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-04-02 오후 2.38.32.png&quot; data-origin-width=&quot;3054&quot; data-origin-height=&quot;2438&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXpD7q/dJMcafTDWJU/ANG5pvMKgykjg4lmqTDFX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXpD7q/dJMcafTDWJU/ANG5pvMKgykjg4lmqTDFX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXpD7q/dJMcafTDWJU/ANG5pvMKgykjg4lmqTDFX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXpD7q%2FdJMcafTDWJU%2FANG5pvMKgykjg4lmqTDFX1%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;3054&quot; height=&quot;2438&quot; data-filename=&quot;스크린샷 2026-04-02 오후 2.38.32.png&quot; data-origin-width=&quot;3054&quot; data-origin-height=&quot;2438&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;베타에서 정식 오픈까지, GEONIQ은 단순 수정이나 개선 가이드 제시를 넘어 서비스 전반을 한 단계 끌어올렸습니다.&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #434343;&quot;&gt;1. 마이페이지: 내 사이트를 체계적으로 관리&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;453&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rLLtr/dJMcaax2iHO/8bWeg0Dx20teFnx6K7NmhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rLLtr/dJMcaax2iHO/8bWeg0Dx20teFnx6K7NmhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rLLtr/dJMcaax2iHO/8bWeg0Dx20teFnx6K7NmhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrLLtr%2FdJMcaax2iHO%2F8bWeg0Dx20teFnx6K7NmhK%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;800&quot; height=&quot;453&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;453&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;베타에서는 분석 결과를 한 번 보고 끝이었습니다. 이제는 다릅니다.&lt;/span&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;li&gt;&lt;b&gt;분석 이력 관리:&lt;/b&gt; 모든 분석 기록이 사이트별로 그룹핑되어 저장됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #434343;&quot;&gt;2. AI 개선 가이드 강화&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;517&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/U1E1n/dJMcaax2iIB/HZynW6gTlEDWQDDueQxcj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/U1E1n/dJMcaax2iIB/HZynW6gTlEDWQDDueQxcj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/U1E1n/dJMcaax2iIB/HZynW6gTlEDWQDDueQxcj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FU1E1n%2FdJMcaax2iIB%2FHZynW6gTlEDWQDDueQxcj0%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;800&quot; height=&quot;517&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;517&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;베타에서도 제공하던 AI 기반 개선 제안이 더욱 정밀해졌습니다.&lt;/span&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;As-Is / To-Be 코드 비교:&lt;/b&gt; 현재 코드와 개선된 코드를 나란히 보여줍니다. 무엇을 어떻게 고쳐야 하는지 개발자가 아니어도 이해하고 수정할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;연관 검사 안내:&lt;/b&gt; &quot;이 항목을 개선하려면 먼저 이 항목을 확인하세요&quot;와 같은 선행 개선 조건을 안내합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #434343;&quot;&gt;3. PDF 리포트: 공유하고, 보고하고, 실행하는 보고서&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dsPwdN/dJMcaaY407V/KKKPiYnwqrD50TJGqeX4H0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dsPwdN/dJMcaaY407V/KKKPiYnwqrD50TJGqeX4H0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dsPwdN/dJMcaaY407V/KKKPiYnwqrD50TJGqeX4H0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdsPwdN%2FdJMcaaY407V%2FKKKPiYnwqrD50TJGqeX4H0%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;800&quot; height=&quot;370&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;진단 결과를 체계적인 PDF 보고서로 다운로드할 수 있습니다. 사내 보고나 고객 제안서에 바로 활용하세요.&lt;/span&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; 종합 점수, 카테고리별 분석, 개선 제안이 담긴 체계적인 PDF 보고서를 제공합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #434343;&quot;&gt;4. 팀 협업: 같은 데이터를 함께 보며 함께 개선&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;혼자만 보는 리포트가 아니라, 팀과 함께 보는 리포트가 됩니다.&lt;/span&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;/li&gt;
&lt;li&gt;마케터, 개발자, 기획자 등이 같은 데이터를 보며 개선 방향을 논의&lt;/li&gt;
&lt;li&gt;외부 이해관계자에게도 URL로 간편하게 전달 공유 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #434343;&quot;&gt;5. 진단 정확도 &amp;amp; 성능 개선&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GEONIQ만의 체크리스트 항목의 검증 로직을 지속적으로 고도화&lt;/li&gt;
&lt;li&gt;분석 속도 최적화 (병렬 처리, 캐싱 전략 개선)&lt;/li&gt;
&lt;li&gt;SPA/CSR 사이트 분석 정확도 향상&lt;/li&gt;
&lt;li&gt;리포트 UI/UX 전면 개편으로 가독성 향상&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;플랜 안내&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GEONIQ은 체험부터 기업 맞춤까지, 운영 규모에 맞는 4가지 플랜을 제공합니다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Starter &amp;mdash; GEONIQ을 처음 체험해보고 싶다면&lt;/li&gt;
&lt;li&gt;Basic &amp;mdash; 개인&amp;middot;실무 중심의 일반 운영&lt;/li&gt;
&lt;li&gt;Pro &amp;mdash; 전문가&amp;middot;팀 중심의 확장 운영&lt;/li&gt;
&lt;li&gt;Enterprise &amp;mdash; 기관&amp;middot;기업 전용 맞춤형 통합 플랜&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무료 회원도 진단 기능을 이용할 수 있습니다. 단, 일부 제한이 있을 수 있으며, 유료 플랜 사용자에게 전체 개선 가이드, 대시보드, 사이트 비교, 팀 공유 기능 등이 제공됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;각 플랜의 상세 내용은 &lt;a href=&quot;https://www.geoniq.ai/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;geoniq.ai&lt;/a&gt;에서 확인하세요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;앞으로의 GEONIQ&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정식 오픈은 끝이 아닌, 새로운 시작이라 생각합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;i&gt;&quot;AI에게 우리를 소개하고 싶다&quot;&lt;/i&gt;&lt;/b&gt;는 하나의 질문에서 출발한 GEONIQ은, 이제 모든 서비스가 다양한 AI 엔진들에게 발견되고 신뢰받을 수 있도록 돕는 도구로 성장하려고 합니다. AI 검색 환경의 변화에 맞춰 분석 항목과 로직을 지속적으로 업데이트 하며 고도화해 나갈 예정입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Google의 AI Overviews가 확대되고, ChatGPT와 Perplexity의 검색 기능이 고도화되면서, &quot;AI에게 이해되고 인용되는 콘텐츠&quot;의 중요성은 앞으로 더 커질 것입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GEONIQ은 이 변화의 속도를 따라가며, 여러분의 사이트가 어디에서든 인용되고 신뢰받을 수 있도록 돕겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;지금 시작하세요&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;URL을 입력하는 것만으로 진단을 시작할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;검색엔진과 생성형 AI가 이해하고 신뢰하는 콘텐츠 구조, 사람이 신뢰하는 경험, 그 연결의 기준을 GEONIQ이 제시합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여러분의 사이트는 지금, AI에게 어떻게 보이고 있나요?&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>pxd AI툴 이야기</category>
      <author>GEONIQ</author>
      <guid isPermaLink="true">https://pxdstory.tistory.com/1892</guid>
      <comments>https://pxdstory.tistory.com/1892#entry1892comment</comments>
      <pubDate>Tue, 7 Apr 2026 17:12:27 +0900</pubDate>
    </item>
    <item>
      <title>Next.js App Router에서 프록시 레이어를 둔 이유</title>
      <link>https://pxdstory.tistory.com/1889</link>
      <description>&lt;h1 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;들어가며&lt;/h1&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #1a1a1a;&quot; href=&quot;https://www.geoniq.ai/&quot;&gt;GEONIQ&lt;/a&gt;(SEO/GEO(AI Engine Optimization)를 분석해주는 서비스) 개발에 저도 같이 참여하게 되었는데 프론트엔드는 Next.js의 App Router, 백엔드는 FastAPI로 구성되어 있어 프론트엔드에서 백엔드 API를 호출할 일이 많았습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;처음에는 프론트엔드에서 백엔드를 직접 호출하는 단순한 구조로 시작했지만, 개발을 진행하면서 CORS 문제라든지, 작업 환경에 따라 URL이 각각 바뀌는 것에 의해 필연적으로 &amp;rdquo;중간에 서버인 Proxy 서버 &amp;rdquo;가 필요해 졌습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 글은 Next.js API Routes를 활용해 API 프록시 레이어를 만들게 된 과정과, 만들고 나서 느낀 점을 이야기해 보려고 합니다&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;프론트엔드가 백엔드를 직접 호출하면 안 되나?&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;실제로 많은 프로젝트가 프론트엔드에서 백엔드 API를 직접 호출합니다. 하지만 직접 호출로는 해결하기 어려운 문제들이 하나둘 생기기 시작했습니다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;문제 1: CORS&lt;/b&gt;&lt;br /&gt;프론트엔드(localhost:3000)에서 백엔드(localhost:8001)를 직접 호출하면 CORS 설정이 필요합니다. 백엔드에서 &amp;ldquo;Access-Control-Allow-Origin:*&amp;rdquo;와 같이 추가해서 관리하면 되지만, 환경이 늘어날 때마다 양쪽을 맞춰줘야 합니다. (별거 아닌 것 같지만, 개발 중에 CORS 오류로 시간을 쓰지 않아도 된다는 건 생각보다 편합니다 :-))&lt;br /&gt;&lt;br /&gt;이런 필요들이&amp;nbsp;모여서&amp;nbsp;만들어진 API&amp;nbsp;라우트&amp;nbsp;구조는&amp;nbsp;이렇습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;app/api/&lt;br /&gt;├─ [...path]/route.ts&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;larr; catch-all 프록시&lt;br /&gt;└─ auth/&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;├─ set-tokens/route.ts&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;larr; 토큰 저장 (쿠키 관리)&lt;br /&gt;&lt;span&gt;&amp;nbsp; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;├─ refresh/route.ts&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;larr; 토큰 갱신&lt;br /&gt;&lt;span&gt;&amp;nbsp; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;├─ me/route.ts&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;larr; 사용자 정보 조회&lt;br /&gt;&lt;span&gt;&amp;nbsp; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;└─ logout/route.ts&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;larr; 로그아웃&lt;/p&gt;
&lt;pre id=&quot;code_1773932458515&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;async function proxyRequest(
  request: NextRequest,
  params: Promise&amp;lt;{ path: string[] }&amp;gt;,
  method: string,
) {
  const { path } = await params;
  const accessToken = request.cookies.get(&quot;access_token&quot;)?.value;
  if (!accessToken) {
    return NextResponse.json({ error: &quot;Unauthorized&quot; }, { status: 401 });
  }

  // 경로 조합: /api/example/123 &amp;rarr; 백엔드의 /test-api/example/123
  const { searchParams } = new URL(request.url);
  const queryString = searchParams.toString();
  const apiPath = path.join(&quot;/&quot;);
  const url = `${API_BASE}/admin/${apiPath}${queryString ? `?${queryString}` : &quot;&quot;}`;
  const body = method !== &quot;GET&quot; &amp;amp;&amp;amp; method !== &quot;DELETE&quot; ? await request.text() : undefined;
  const response = await fetch(url, {
    method,
    headers: {
      Authorization: `Bearer ${accessToken}`,
      &quot;Content-Type&quot;: &quot;application/json&quot;,
    },
    body,
    signal: controller.signal,
  });

  const data = await response.json();
  return NextResponse.json(data, { status: response.status });
}
// 모든 HTTP 메서드를 동일한 함수로 처리
export async function GET(req, { params }) {
  return proxyRequest(req, params, &quot;GET&quot;);
}

export async function POST(req, { params }) {
  return proxyRequest(req, params, &quot;POST&quot;);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;httpOnly 쿠키에서 access_token을 꺼낸다.&lt;/li&gt;
&lt;li&gt;요청 경로 앞에 /test-api/을 붙여 백엔드 URL을 조합한다.&lt;/li&gt;
&lt;li&gt;Authorization 헤더에 토큰을 실어 백엔드로 전달한다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 2: 백엔드 URL이&amp;nbsp;환경마다 다르다&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;관리자 백엔드는 localhost:8001(개발)과 프로덕션 서버가 다릅니다. 클라이언트에서 직접 호출하면 이 URL이 브라우저에 그대로 노출되는데 관리자 API의 주소가 외부에 드러나는 건 보안상 좋지 않아 서버 사이드에서 URL을 결정하면, 보안상의 문제도 해결할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1773932474949&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 환경변수로 백엔드 URL 결정 (서버 사이드에서만 접근)

const API_BASE =
  process.env.API_BASE_URL ||
  process.env.NEXT_PUBLIC_API_BASE_URL ||
  &quot;http://localhost:8001&quot;;&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;br /&gt;문제 3: 인증 토큰을 안전하게 관리해야 한다&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;관리자 사이트는&amp;nbsp;Google&amp;nbsp;OAuth로&amp;nbsp;로그인합니다. 백엔드에서 받은 JWT&amp;nbsp;토큰을 어디에&amp;nbsp;저장할&amp;nbsp;것인가의&amp;nbsp;문제가&amp;nbsp;있었습니다.&amp;nbsp;localStorage에&amp;nbsp;넣으면 XSS에 취약하고, 일반 쿠키는 JavaScript에서 접근&amp;nbsp;가능합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;결국 httpOnly 쿠키를 사용하게 되었는데 이 쿠키는 브라우저 JavaScript에서 읽을 수 없으므로, 서버에서 꺼내 백엔드로 전달하는 중간 레이어가 필요해졌습니다. 이것이 API 프록시 레이어가 필요한 가장 직접적인 이유였습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;프록시 서버를 이용한 장점 1 : 코드가 깔끔해진다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;클라이언트 코드의 단순함입니다. 백엔드 URL도 모르고, 토큰 관리도 신경 쓸 필요가 없습니다.토큰 전달도 없이 그냥 /api/로 호출하여 간단히 작성했습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1773932486848&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;export const getTextAPI = async (params): Promise&amp;lt;TTextListResponse&amp;gt; =&amp;gt; {
  const response = await fetch(`/test-api/test?${searchParams.toString()}`, {
    credentials: &quot;include&quot;,  // 쿠키 자동 전송
  });
  return response.json();
};

export const patchTextAPI = async (id, data) =&amp;gt; {
  const response = await fetch(`/test-api/test/${id}/`, {
    method: &quot;PATCH&quot;,
    credentials: &quot;include&quot;,
    headers: { &quot;Content-Type&quot;: &quot;application/json&quot; },
    body: JSON.stringify(data),

  });
  return response.json();
};&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;/api/test &amp;rarr; catch-all이 /test-api/test로 변환 &amp;rarr; 쿠키에서 토큰 꺼내서 Authorization 헤더에 주입 &amp;rarr; 백엔드로 전달. 이 모든 과정이 프록시 레이어 안에서 자동으로 일어납니다.&amp;nbsp;새 기능이 추가될 때도 클라이언트에서 /api/test2를 호출하는 함수만 추가하면 되고 프록시 쪽은 건드릴 필요가 없어 좋습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;프록시 서버를 이용한 장점 2&amp;nbsp;: OAuth&amp;nbsp;콜백&amp;nbsp;흐름&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;인증 전체 흐름을 보면 프록시 레이어의 역할이 좀 더 명확졌던 것 같습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 &quot;Google 로그인&quot; 클릭&lt;/li&gt;
&lt;li&gt;백엔드(admin-api)의 OAuth URL로 이동&lt;/li&gt;
&lt;li&gt;Google 인증 완료 &amp;rarr; 백엔드가 콜백 처리&lt;/li&gt;
&lt;li&gt;백엔드가 프론트엔드로 리다이렉트 (URL에 토큰 포함)&lt;br /&gt;&amp;rarr; /auth/callback/google?access_token=xxx&amp;amp;refresh_token=yyy&lt;/li&gt;
&lt;li&gt;콜백 페이지에서 /test-api/test-auth/tokens 호출 (BFF)&lt;br /&gt;&amp;rarr; httpOnly 쿠키에 토큰 저장&lt;/li&gt;
&lt;li&gt;/test-api/test-auth/is-admin 호출해서 관리자 권한 확인&lt;/li&gt;
&lt;li&gt;대시보드로 이동&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;토큰이 URL 파라미터로 잠깐 노출되긴 하지만, 곧바로 httpOnly 쿠키에 저장되고 URL에서 사라집니다. 이후 모든 요청은 쿠키가 자동 전송되므로, 클라이언트 코드에서 토큰을 직접 다룰 일이 없습니다.&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;마치며&lt;/h1&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;사실 이 API 프록시 레이어는 &quot;좋은 아키텍처를 설계하겠다&quot;는 의도보다, 보안이나 CORS 같은 실무적인 문제를 풀기 위해 자연스럽게 만들어진 결과물이었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Next.js App Router를 사용하고 계신다면, API Routes가 단순한 서버리스 함수가 아니라 프론트엔드와 백엔드 사이의 유용한 중간 레이어가 될 수 있다는 점을 한번 고려해 보시면 좋겠습니다. 특히 [...path] catch-all 라우트 하나로 일반 프록시를 처리하고, 보안이 필요한 라우트만 개별로 분리하는 패턴은 코드 양 대비 꽤 실용적이었다고 생각합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;읽어주셔서 감사합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;이 글은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://tech.pxd.co.kr/post/Next-js-App-Router%EC%97%90%EC%84%9C-%ED%94%84%EB%A1%9D%EC%8B%9C-%EB%A0%88%EC%9D%B4%EC%96%B4%EB%A5%BC-%EB%91%94-%EC%9D%B4%EC%9C%A0-337&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://tech.pxd.co.kr/&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;&amp;nbsp; 에서도 보실 수 있습니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>UX Engineer 이야기</category>
      <author>seonju.lee</author>
      <guid isPermaLink="true">https://pxdstory.tistory.com/1889</guid>
      <comments>https://pxdstory.tistory.com/1889#entry1889comment</comments>
      <pubDate>Mon, 6 Apr 2026 10:00:17 +0900</pubDate>
    </item>
    <item>
      <title>GEONIQ Integrated Insight Report &amp;mdash; 여행&amp;middot;숙박 플랫폼 (Vol.3 선택이 이어지는 구조 조건 분석)</title>
      <link>https://pxdstory.tistory.com/1894</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #000000;&quot;&gt;리포트는 GEO(AIEO)와 SEO를 한 번에 통합 분석해주는 GEONIQ의 진단 기준에 따라 국내 주요 여행&amp;middot;숙박 플랫폼의 페이지 구조와 정보 구성 방식을 분석하고 AI&amp;middot;검색 환경에서 숙소 상품이 선택 단계로 이어지기 위해 필요한 구조적 조건을 관찰&amp;middot;정리한 분석 보고서이다.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; 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-filename=&quot;thumbnail-10.png&quot; data-origin-width=&quot;1297&quot; data-origin-height=&quot;306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OpYcG/dJMcagES1TI/ZNSUihPohiahAwH2yGvlQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OpYcG/dJMcagES1TI/ZNSUihPohiahAwH2yGvlQ0/img.png&quot; data-alt=&quot;좌측부터 우측 방향으로 네이버 여행, 야놀자, 여기어때 메인 페이지 이미지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OpYcG/dJMcagES1TI/ZNSUihPohiahAwH2yGvlQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOpYcG%2FdJMcagES1TI%2FZNSUihPohiahAwH2yGvlQ0%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;1297&quot; height=&quot;306&quot; data-filename=&quot;thumbnail-10.png&quot; data-origin-width=&quot;1297&quot; data-origin-height=&quot;306&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;좌측부터 우측 방향으로 네이버 여행, 야놀자, 여기어때 메인 페이지 이미지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1) 이번 분석의 관점과 범위&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Vol.1에서는 숙소 정보가 AI검색(GEO) 환경에서 어떤 단위로 인식되는지를 살펴봤다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Vol.2에서는 그 인식이 왜 선택으로 이어지지 않는지를 선택 시도&amp;ndash;비교&amp;ndash;검증 흐름을 기준으로 관찰했다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 Vol.3에서는 앞선 두 편의 관찰을 전제로 선택이 실제로 이어지기 위해 필요한 구조적 조건을 정리한다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 조건은 특정 기능이나 UI의 문제가 아니라 여러 플랫폼에서 반복적으로 확인되는 구조적 패턴을 기준으로 도출된다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2)&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;AI검색(GEO) 관점에서의 선택&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 리포트에서 말하는 선택은 단순한 예약 행위를 의미하지 않는다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;AI검색(GEO) 관점에서의 선택은 여러 숙소가 동일한 기준 위에서 연결되고, 그 중 하나가 상대적 맥락 안에서 판단되는 상태를 의미한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GEO(AIEO) 환경에서는 숙소 간 관계가 구조적으로 드러날 때 선택이 형성된다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3)&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;핵심 발견 (Key Findings)&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Key Finding 1&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택은 &amp;lsquo;후보 집합&amp;rsquo;이 형성될 때 시작된다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;현재 구조에서는 숙소가 개별 정보 단위로 분리되어 인식된다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 결과 여러 숙소가 존재하더라도 하나의 선택 후보 집합으로 묶이지 않는다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택은 개별 정보가 아니라 서로 비교 가능한 후보 집합이 형성될 때 시작된다.&lt;/span&gt;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Key Finding 2&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택은 &amp;lsquo;비교 기준이 구조로 드러날 때&amp;rsquo; 형성된다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가격, 평점, 위치와 같은 정보는 대부분 존재하지만, 이 정보들이 동일 기준 위에서 정렬된 구조로 표현되지 않으면 비교는 형성되지 않는다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택은 정보의 양이 아니라 비교 기준이 구조로 표현될 때 발생한다.&lt;/span&gt;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Key Finding 3&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택은 &amp;lsquo;흐름이 유지되는 구조&amp;rsquo;에서 이어진다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용자는 여러 숙소를 탐색하고 비교한다. &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러나 상세 페이지 진입 이후 다른 후보와의 연결이 단절되면 선택 과정은 반복적으로 끊긴다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택은 단일 페이지에서 완결되지 않는다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;후보 간 이동과 비교가 유지되는 흐름 안에서 이어진다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4) &lt;span style=&quot;color: #000000;&quot;&gt;구조적 조건으로 본 선택 가능 상태&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GEONIQ 진단 결과를 기준으로 보면 AI검색(GEO) 환경에서 선택이 형성되기 위해서는 다음 조건이 함께 충족되어야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242;&quot;&gt;①&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 후보 집합 구조&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여러 숙소가 단순 나열이 아니라 동일 조건 기반의 후보 집합으로 묶여 있어야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;동일 지역&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;동일 일정&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;동일 인원 조건&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 조건이 구조적으로 유지될 때 숙소는 비교 가능한 단위로 인식된다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242;&quot;&gt;②&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 비교 기준 구조&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;각 숙소의 정보는 개별적으로 존재하는 것이 아니라 동일 기준 위에서 정렬 가능한 형태로 표현되어야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가격&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;평점&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위치&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예약 가능 여부&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 기준이 구조로 드러날 때 비교는 자연스럽게 형성된다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242;&quot;&gt;③&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 흐름 유지 구조&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;하나의 숙소를 확인한 이후에도 다른 후보와의 관계가 유지되는 흐름이 필요하다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;유사 숙소 연결&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;동일 조건 기반 후보 이동&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이전 후보 집합으로의 복귀 흐름&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 흐름이 유지될 때 선택은 단절되지 않고 이어진다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5)&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;구조 관점에서의 정리&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 분석을 통해 확인된 것은 여행&amp;middot;숙박 플랫폼의 기능 부족이 아니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다음 요소들은 이미 충분히 갖춰져 있다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소 정보는 충분히 제공된다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용자 탐색 흐름은 안정적으로 설계되어 있다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;SEO 관점에서의 노출 구조도 확보되어 있다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러나 동시에 다음 조건이 함께 나타난다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소가 후보 집합으로 묶이지 않는다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;비교 기준이 구조로 표현되지 않는다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;탐색 이후 흐름이 유지되지 않는다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 구조에서는 정보는 충분하지만 선택은 이어지지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 70px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;text-align: center; height: 19px; width: 99.3023%;&quot; colspan=&quot;3&quot;&gt;&lt;b&gt;지오닉 검증 결과 바로가기&lt;/b&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;text-align: center; width: 31.1628%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/589babf7-630d-466a-868d-b35ac5c905b0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;네이버 여행 메인&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 34.8837%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/e764bdcc-2870-419f-969f-0a8d5eec4cb2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;야놀자 메인&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 33.2558%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/00f91f0c-b1f1-4ddb-a725-50548ffa3227&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;여기어때 메인이자 목록&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;text-align: center; width: 31.1628%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/1371fdbd-a834-478b-bd4f-8e29913a753f&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;네이버 여행 목록&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 34.8837%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/7031d31c-9cfb-437d-8ea2-7338da002d59&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;야놀자 목록&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 17px; width: 33.2558%;&quot;&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;text-align: center; width: 31.1628%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/248e6296-67aa-4926-bace-938852ce3792&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;네이버 여행 상세&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 34.8837%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/edab976a-be93-4882-af12-761e5338d4ef&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;야놀자 상세&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 33.2558%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/50b48614-5ec3-4bea-83fd-617afeaafd1c&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;여기어때 상세&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;pxdAX 관찰 노트 (종합)&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 여행&amp;middot;숙박 플랫폼 연재에서 확인된 것은 정보의 부족이 아니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Vol.1에서는 숙소가 어떻게 인식되는지를 살펴봤다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소는 분명히 보이고 있었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Vol.2에서는 그 다음 단계를 확인했다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택은 시작되지만 구조적으로 이어지지 않았다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Vol.3에서는 그 이유를 구조의 관점에서 정리했다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택은 정보의 양이 아니라 구조적 조건이 형성될 때 비로소 발생한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소는 이미 충분히 설명되어 있다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러나 그 정보는 사람의 탐색을 기준으로 배열되어 있을 뿐, AI검색(GEO) 환경에서 선택으로 이어지는 구조로 정리되어 있지는 않다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 결과 보이는 것과 선택되는 것 사이에는 간극이 남는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 간극은 기능으로 채워지지 않는다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 간극은 구조로만 연결된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정보는 이미 충분하다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;보이는 것과 선택되는 것의 차이는 정보의 양이 아니라 구조의 문제이다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택은 더 많은 정보를 통해 만들어지는 것이 아니라 비교와 흐름이 가능한 구조가 형성될 때 비로소 발생한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제 필요한 것은 정보를 더하는 것이 아니라&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택이 이어지는 구조를 만드는 일이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GEONIQ 서비스 바로가기&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;GEONIQ Integrated Insight Report는&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.geoniq.ai/insight/여행&amp;middot;숙박-플랫폼-Vol-3-선택이-이어지는-구조-조건-분석-350&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GEONIQ&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://pxdstory.tistory.com/1894&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;pxd story&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://tech.pxd.co.kr/post/GEONIQ-Integrated-Insight-Report-&amp;mdash;-여행&amp;middot;숙박-플랫폼-Vol-3-선택이-이어지는-구조-조건-분석-350&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;xe group tech blog&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;에서 동시 발행 됩니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>pxd AI툴 이야기</category>
      <category>AIEO</category>
      <category>Geo</category>
      <category>GEONIQ</category>
      <category>pxdax</category>
      <category>SEO</category>
      <category>네이버여행</category>
      <category>숙소예약</category>
      <category>야놀자</category>
      <category>여기어때</category>
      <category>여행플랫폼</category>
      <author>GEONIQ</author>
      <guid isPermaLink="true">https://pxdstory.tistory.com/1894</guid>
      <comments>https://pxdstory.tistory.com/1894#entry1894comment</comments>
      <pubDate>Mon, 6 Apr 2026 07:50:27 +0900</pubDate>
    </item>
    <item>
      <title>GEONIQ Integrated Insight Report &amp;mdash; 여행&amp;middot;숙박 플랫폼 (Vol.2 선택 구조와 비교 흐름 분석)</title>
      <link>https://pxdstory.tistory.com/1891</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #000000;&quot;&gt;본 리포트는 GEO(AIEO)와 SEO를 한 번에 통합 분석해주는 GEONIQ의 진단 기준에 따라 국내 주요 여행&amp;middot;숙박 플랫폼의 페이지 구조와 정보 구성 방식을 분석하고 AI&amp;middot;검색 환경에서 숙소 상품이 선택 단계로 어떻게 이어지거나 단절되는지를 관찰&amp;middot;정리한 분석 보고서이다.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; 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-filename=&quot;thumbnail-10.png&quot; data-origin-width=&quot;1297&quot; data-origin-height=&quot;306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OpYcG/dJMcagES1TI/ZNSUihPohiahAwH2yGvlQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OpYcG/dJMcagES1TI/ZNSUihPohiahAwH2yGvlQ0/img.png&quot; data-alt=&quot;좌측부터 우측 방향으로 네이버 여행, 야놀자, 여기어때 메인 페이지 이미지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OpYcG/dJMcagES1TI/ZNSUihPohiahAwH2yGvlQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOpYcG%2FdJMcagES1TI%2FZNSUihPohiahAwH2yGvlQ0%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;1297&quot; height=&quot;306&quot; data-filename=&quot;thumbnail-10.png&quot; data-origin-width=&quot;1297&quot; data-origin-height=&quot;306&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;좌측부터 우측 방향으로 네이버 여행, 야놀자, 여기어때 메인 페이지 이미지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1) 이번 분석의 관점과 범위&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Vol.1에서는 SEO 이후 단계인 GEO(AIEO) 환경에서 숙소 정보가 어떤 단위로 인식되는지를 살펴봤다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소 정보는 충분히 존재하지만, 상품 단위로 구조화되어 있지 않다는 점이 확인되었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 Vol.2에서는 그 다음 단계인 &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택 구조&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;를 다룬다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;즉, 인식 이후 사용자의 선택 시도가 어떤 흐름을 거쳐 이어지거나 끊기는지를 구조적으로 살펴본다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;분석은 다음 흐름을 기준으로 진행한다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택 시도&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;비교 형성&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;검증 및 확정&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 세 단계가 웹 구조 내에서 어떻게 연결되거나 단절되는지를 GEONIQ 진단 기준으로 관찰한다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2)&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;선택 시도는 어떻게 시작되는가&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용자는 일정, 인원, 지역, 가격과 같은 조건을 기반으로 숙소 탐색을 시작한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 조건들은 플랫폼 내에서 잘 반영되어 있으며, SEO 유입 이후에도 자연스럽게 탐색 흐름으로 이어진다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;검색 결과에서 특정 숙소나 지역 페이지로 유입된 이후에도 탐색은 중단되지 않는다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;즉, 선택 시도 자체는 구조적으로 문제없이 발생하나, 이 흐름은 다음 단계에서 구조적 제약을 받는다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3)&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;비교는 어떻게 제한되는가&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택이 이어지기 위해서는 여러 후보를 동일 기준 위에 놓고 비교할 수 있어야 한다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GEONIQ 진단 결과, 다음과 같은 구조가 반복적으로 관찰된다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소 목록은 존재하지만 비교 기준이 명시적으로 정렬된 구조로 표현되지 않는다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가격, 평점, 위치 등의 정보는 존재하지만 동일 기준으로 배열된 비교 구조는 제한적이다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;유사 숙소 또는 대체 선택지로 이어지는 관계 구조가 명확히 드러나지 않는다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 결과 사용자는 여러 숙소를 확인할 수는 있지만 &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;동일 기준 위에서 후보를 비교하는 구조는 형성되지 않는다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;SEO 관점에서는 다양한 숙소 페이지가 노출되지만, &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GEO(AIEO) 환경에서는 이 숙소들이 비교 가능한 집합으로 묶이지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4) 검증 단계에서 흐름이 끊기는 이유&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;비교 이후에는 선택을 확정하기 위한 검증 단계가 이어져야 한다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 단계에서 사용자는 다음과 같은 정보를 확인한다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실제 예약 가능 여부&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가격 및 조건&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;객실 유형&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;리뷰 및 평점&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 정보들은 각 숙소 상세 페이지에 충분히 제공된다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러나 구조적으로 다음과 같은 흐름이 나타난다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특정 숙소 상세 페이지 진입 이후 다른 후보와의 연결이 약화된다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;상세 페이지는 단일 숙소 중심의 정보 소비 구조로 완결된다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이전에 탐색하던 후보 집합으로 다시 연결되는 흐름이 제한된다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 결과 하나의 숙소를 깊게 이해할 수는 있지만&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여러 후보를 비교한 상태에서 선택을 확정하는 흐름은 유지되기 어렵다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5)&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;선택은 어디에서 완결되는가&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이러한 구조에서 선택은 플랫폼 내부에서 자연스럽게 이어지지 않는다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용자는 다음과 같은 방식으로 선택을 이어간다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여러 숙소 페이지를 반복적으로 이동하며 비교한다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;별도의 비교 환경(앱, 검색 결과, 개인 메모 등)을 활용한다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개인 기준으로 정보를 재정리한다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;즉, 선택은 플랫폼 내부의 구조가 아니라 사용자의 외부 판단 과정에서 완결되는 흐름을 보인다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;6)&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;구조 점검 관점에서 본 Actionable Signals&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GEONIQ 진단 결과를 종합하면 선택이 이어지지 않는 이유는 선택 기준의 부족이 아니라 선택 흐름이 구조적으로 연결되지 않은 상태로 관찰되기 때문이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아래 항목은 GEO(AIEO) 관점에서 구조가 어디에서 끊기는지를 점검하기 위한 포인트이다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소가 선택 후보 집합으로 묶이지 않고 개별 정보 단위로 분리되어 있다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;후보 간 비교 기준이 명시적으로 정렬된 구조로 표현되지 않는다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;유사 숙소 또는 대체 선택지로 이어지는 관계 구조가 제한적이다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;상세 페이지 진입 이후 다른 후보로 이어지는 흐름이 단절된다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;SEO 유입 이후 정보 소비 단계에서 흐름이 종료된다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이러한 조건에서 선택은 플랫폼 내부가 아니라 사용자 판단 과정에서 완결되는 경향을 보인다.&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 70px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;text-align: center; height: 19px; width: 99.3023%;&quot; colspan=&quot;3&quot;&gt;&lt;b&gt;지오닉 검증 결과 바로가기&lt;/b&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;text-align: center; width: 31.1628%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/589babf7-630d-466a-868d-b35ac5c905b0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;네이버 여행 메인&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 34.8837%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/e764bdcc-2870-419f-969f-0a8d5eec4cb2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;야놀자 메인&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 33.2558%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/00f91f0c-b1f1-4ddb-a725-50548ffa3227&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;여기어때 메인이자 목록&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;text-align: center; width: 31.1628%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/1371fdbd-a834-478b-bd4f-8e29913a753f&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;네이버 여행 목록&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 34.8837%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/7031d31c-9cfb-437d-8ea2-7338da002d59&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;야놀자 목록&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 17px; width: 33.2558%;&quot;&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;text-align: center; width: 31.1628%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/248e6296-67aa-4926-bace-938852ce3792&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;네이버 여행 상세&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 34.8837%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/edab976a-be93-4882-af12-761e5338d4ef&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;야놀자 상세&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 33.2558%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/50b48614-5ec3-4bea-83fd-617afeaafd1c&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;여기어때 상세&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;pxdAX 관찰 노트&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Vol.1에서는 숙소가 어떻게 인식되는지를 살펴봤다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정보는 충분하지만, 상품 단위로 구조화되어 있지는 않았다.&lt;/span&gt;&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;Vol.2에서는 그 다음 흐름을 확인했다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택은 시작되지만 구조적으로 이어지지 않는다.&lt;/span&gt;&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;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;문제는 그 기준을 적용할 수 있는 구조가 형성되어 있지 않다는 점이다.&lt;/span&gt;&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;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정보는 충분하지만 선택은 이어지지 않는다.&lt;/span&gt;&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;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;보이는 것과 선택되는 것은 동일한 문제가 아니다.&lt;/span&gt;&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;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 구조는 다음 단계에서 더 명확히 드러난다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택은 기준이 많아서 발생하는 것이 아니라 비교가 가능한 구조가 형성될 때 비로소 이어진다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다음 Vol.3에서는 이 선택이 실제로 이어지기 위해 어떤 구조적 조건이 필요한지를 정리한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GEONIQ 서비스 바로가기&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;GEONIQ Integrated Insight Report는&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.geoniq.ai/insight/%EC%97%AC%ED%96%89%C2%B7%EC%88%99%EB%B0%95-%ED%94%8C%EB%9E%AB%ED%8F%BC-Vol-2-%EC%84%A0%ED%83%9D-%EA%B5%AC%EC%A1%B0%EC%99%80-%EB%B9%84%EA%B5%90-%ED%9D%90%EB%A6%84-%EB%B6%84%EC%84%9D-348&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GEONIQ&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://pxdstory.tistory.com/1891&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;pxd story&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://tech.pxd.co.kr/post/GEONIQ-Integrated-Insight-Report-&amp;mdash;-여행&amp;middot;숙박-플랫폼-Vol-2-선택-구조와-비교-흐름-분석-348&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;xe group tech blog&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;에서 동시 발행 됩니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>pxd AI툴 이야기</category>
      <category>AIEO</category>
      <category>Geo</category>
      <category>GEONIQ</category>
      <category>pxdax</category>
      <category>SEO</category>
      <category>네이버여행</category>
      <category>숙소예약</category>
      <category>야놀자</category>
      <category>여기어때</category>
      <category>여행플랫폼</category>
      <author>GEONIQ</author>
      <guid isPermaLink="true">https://pxdstory.tistory.com/1891</guid>
      <comments>https://pxdstory.tistory.com/1891#entry1891comment</comments>
      <pubDate>Thu, 2 Apr 2026 07:50:54 +0900</pubDate>
    </item>
    <item>
      <title>[pxd talks] 계산기 말고 엑셀처럼... AI와 함께 일하는 &amp;lsquo;언러닝&amp;rsquo;의 기술</title>
      <link>https://pxdstory.tistory.com/1872</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;pxd talks는 여러 분야의 연사님을 초빙해 인사이트를 나누는 시간입니다. pxd 구성원들이 더 넓은 시야로 무언가를 새롭게 발견하거나 자신을 성장시킬 수 있는 기회를 얻을 수 있도록 말이죠. 그리고 그 경험은 [pxd talks] 아티클로 기록합니다. pxd 구성원들이 함께 보고 듣고 느끼고 배운 것들이 사라지지 않고 pxd story에 남아 더 넓은 세상으로 뻗어갈 수 있기를 바랍니다.&lt;/blockquote&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-filename=&quot;IMG_0055.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2934&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kxV2o/dJMcadm1I6W/hFXuBOau8hwhREBhDqNKsk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kxV2o/dJMcadm1I6W/hFXuBOau8hwhREBhDqNKsk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kxV2o/dJMcadm1I6W/hFXuBOau8hwhREBhDqNKsk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkxV2o%2FdJMcadm1I6W%2FhFXuBOau8hwhREBhDqNKsk%2Fimg.jpg&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;4032&quot; height=&quot;2934&quot; data-filename=&quot;IMG_0055.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2934&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다들 일할 때 AI 많이 사용하시나요? 이제 AI 없는 일터는 상상하기 어려운데요. 새로운 아이디어를 얻고 싶거나 참고자료를 찾을 때, 중요하지 않지만 손이 많이 가는 작업이 필요할 때 AI를 찾곤 하죠. 단순히 &amp;lsquo;일할 때 AI를 쓴다&amp;rsquo;를 넘어, AI 중심으로 업무 방식을 재구성하고 조직 문화, 운용 구조에 반영하는 &amp;lsquo;AI 전환(AI Transformation. AX)&amp;rsquo;을 목표로 하는 기업도 늘어나고 있어요.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그중 삼양라운드스퀘어 DXT팀은 성공적인 AX 사례를 보여주는 조직이에요. 올해 성과를 내야 하는데 개발자는 없고, 채용도 외주도 어렵다면?&amp;nbsp; 막막한 상황에 처한 DXT팀이 선택한 건 바로 'AI 주도 개발(AI-Driven Development)'이었어요. 기존의 성공 방정식을 과감히 버리고 AI와 함께 전 팀원이 바이브 코더(Vibe Coder)가 된 DXT팀의 실험과 도전, 그 생생한 이야기를 PM 최동운 님과 pxd talks로 만나볼게요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;용기로 뗀 첫걸음 &amp;ldquo;일단 해보자!&amp;rdquo;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_0042.jpg&quot; data-origin-width=&quot;3480&quot; data-origin-height=&quot;2360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Uyl0w/dJMcaaw79Rw/hHZjPM5sRDeTbU1a1XS2j1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Uyl0w/dJMcaaw79Rw/hHZjPM5sRDeTbU1a1XS2j1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Uyl0w/dJMcaaw79Rw/hHZjPM5sRDeTbU1a1XS2j1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUyl0w%2FdJMcaaw79Rw%2FhHZjPM5sRDeTbU1a1XS2j1%2Fimg.jpg&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;3480&quot; height=&quot;2360&quot; data-filename=&quot;IMG_0042.jpg&quot; data-origin-width=&quot;3480&quot; data-origin-height=&quot;2360&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;lsquo;불닭볶음면&amp;rsquo;으로 전 세계 입맛을 사로잡은 삼양스퀘어라운지의 다음 스텝은 IT 신사업이었어요. 하지만 추가 채용이나 적절한 외주 업체를 찾는 건 쉽지 않은 일이었죠. 소수의 팀원이 단기간에 성과를 보여야 하는 상황에서 DXT팀은 &amp;lsquo;바이브 코딩&amp;rsquo;이라는 돌파구를 발견했다고 해요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&amp;ldquo;모두가 코딩을 해보자는 마음으로 시작했어요. 힘들겠지만, 어쩌면 기회일 수도 있다고 생각했죠.&amp;rdquo;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;DXT팀은 &amp;lsquo;우리의 아이디어를 프로토타이핑해 보자&amp;rsquo;를 목표로 챗GPT와 레플릿(Replit)를 적극 활용했어요. 챗GPT로 요구사항을 정리하고 레플릿으로 배포하기까지, 단 4시간이면 충분했죠.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;노션(Notion), PPT, 피그마(Figma)를 동원해 자료를 공유하고 관계자를 설득해야 했던 기존 방식과 비교하면 획기적인 효율이었어요. 최동운 님은 이 프로토타입 덕분에 경영진과 수월하게 소통할 수 있었고 빠르게 다음 단계로 진입할 수 있었다고 해요.&lt;/span&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;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;코딩을 AI가 하면, 사람은?&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2486&quot; data-origin-height=&quot;1629&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zkXlg/dJMcajn018n/pY72I510j7M0gUtOhu6751/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zkXlg/dJMcajn018n/pY72I510j7M0gUtOhu6751/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zkXlg/dJMcajn018n/pY72I510j7M0gUtOhu6751/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzkXlg%2FdJMcajn018n%2FpY72I510j7M0gUtOhu6751%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;2486&quot; height=&quot;1629&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;2486&quot; data-origin-height=&quot;1629&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실제 제품 개발에 들어가면서 DXT팀의 개발 풍경은 완전히 달라졌어요. 실험적 성격의 프로토타입과 달리 높은 완성도를 확보해야 했거든요. 개발 초기에는 모든 팀원이 AI 에이전트 클로드 코드(Claude Code)와 커서(Cursor)를 활용해 코드를 썼죠.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이러한 환경에서 사람의 역할은 &amp;lsquo;실행&amp;rsquo;에서 &amp;rsquo;결정&amp;rsquo;으로 옮겨갔어요. 최동운 님은 &amp;ldquo;마치 주니어와 일할 때처럼&amp;rdquo; AI가 만든 결과에 대해 취향과 판단력을 발휘해 좋고 싫음, 맞고 틀림을 정해야 한다고 강조했어요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;문제는 작업량이 늘어나서면서 발생했는데요. 팀원 각자가 AI와 쓴 코드들이 서로 충돌하고, 맥락을 놓친 AI가 &amp;ldquo;헛소리&amp;rdquo;를 늘어놓으면서 점점 결과의 품질이 하락하기 시작했다고 해요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;ldquo;AI 천국인 줄 알았는데 지옥이었어요. 다시 피그마, 지라(Jira)로 돌아가고 싶은 유혹에 시달렸습니다.&amp;rdquo;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;lsquo;바이브 코더&amp;rsquo;인 팀원들은 코드를 꼼꼼히 살펴보며 AI에 피드백을 줄 수 없었고, 방대한 코드를 매번 다른 동료나 제미나이, 챗GPT에 물어볼 수도 없는 노릇이었어요. 이때 최동운 님의 머릿속에 불현듯 한 단어가 떠올랐어요. 바로 &amp;lsquo;맥도날드&amp;rsquo;!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;전 세계 어디서든 같은 맛을 내는 맥도날드처럼&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_0062.jpg&quot; data-origin-width=&quot;3327&quot; data-origin-height=&quot;2459&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RJps0/dJMcafkTOCV/dPXzJG4sqH9rMZTIukd5tk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RJps0/dJMcafkTOCV/dPXzJG4sqH9rMZTIukd5tk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RJps0/dJMcafkTOCV/dPXzJG4sqH9rMZTIukd5tk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRJps0%2FdJMcafkTOCV%2FdPXzJG4sqH9rMZTIukd5tk%2Fimg.jpg&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;3327&quot; height=&quot;2459&quot; data-filename=&quot;IMG_0062.jpg&quot; data-origin-width=&quot;3327&quot; data-origin-height=&quot;2459&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;맥도날드가 전 세계 매장에서 동일한 품질을 유지하듯, DXT팀에도 &amp;lsquo;일관성&amp;rsquo;과 &amp;lsquo;예측가능성&amp;rsquo;이 필요했다고, 최동운 님은 설명했어요. 그러기 위해서는 일의 기준을 명확히 정의하고 동일한 방식으로 실행하게 만드는 시스템과 규칙을 갖춰야 했죠. 최동운 님은 맥도날드의 본사, 지점장, 알바생의 역할을 아래와 같이 정의하고 DXT팀에 내재화했어요.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color: #1f1f1f;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;본사(테크 리드): 운영 매뉴얼과 레시피 (워크플로, 콘텍스트, 프롬프트)를 정의. 위생 관리처럼 반드시 지켜야할 항목은 프롬프트 대신 자동화된 스크립트로 관리.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color: #1f1f1f;&quot;&gt; &amp;zwj; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;지점장 (프로덕트 빌더): 본사 레시피와 규칙 안에서 각자 직원들에게 작업을 지시하고 관리. 메뉴 또는 레시피에 대한 피드백 본사에 제공.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color: #1f1f1f;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;직원 (코딩 에이전트): 표준화된 지시에 따라 성실하게 코드를 짜고 작업을 수행.&lt;/span&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: #000000;&quot;&gt;먼저, 모든 회의를 녹음하고 녹취록을 노트북LM(Notebook LM)에 저장했어요. 문서화 과정에서 왜곡 가능성을 줄이고 모두와 일관된 콘텍스트를 공유했죠. 가이드와 프롬프트 등은 깃허브(Github)에 업로드해 모두가 확인할 수 있도록 했고요.&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;콘텍스트를 바탕으로 요구사항을 정의할 때도 AI를 적극 활용했어요. 여러 AI에 사용자, 디자이너, 임원&amp;nbsp; 등 다양한 관점에서 어떻게 생각할지를 질문해 토론 시뮬레이션을 돌려보고 논리적 허점을 발견해 보완하거나 인사이트를 도출했죠. 최종적으로는 사람이 직접 컨펌했고요.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;템플릿을 만들어 디자인을 표준화할 때는 아스키 아트와 같은 로우파이 와이어프레임을 그려 AI 코딩 에이전트에 학습시켰어요. 커서, 클로드 코드 등 AI가 생성한 코드는 또 다른 AI인 코드 래빗(CodeRabbit)이 검토해 사람의 부담을 덜어줬고요.&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이러한 방식 덕에 DXT팀은 불필요한 의사소통을 줄이고, 일관된 품질 기준을 유지하며 빠르게 합의하고 실행하는 AI 기반 업무 문화를 구축할 수 있었다고 해요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;새로움을 가능케 한 &amp;lsquo;언러닝&amp;rsquo;&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_0034.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2767&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQ6ARK/dJMcabv2lyU/KDx2Ocxi8bYUoQjskII8Y1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQ6ARK/dJMcabv2lyU/KDx2Ocxi8bYUoQjskII8Y1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQ6ARK/dJMcabv2lyU/KDx2Ocxi8bYUoQjskII8Y1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQ6ARK%2FdJMcabv2lyU%2FKDx2Ocxi8bYUoQjskII8Y1%2Fimg.jpg&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;4032&quot; height=&quot;2767&quot; data-filename=&quot;IMG_0034.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2767&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;최동운 님은 과거의 경험, 작업 방식을 잊는 &amp;lsquo;언러닝(Unlearning)&amp;rsquo;이 필요하다고 강조했어요. DXT팀이 시행착오를 감수하며 실험을 이어간 결과, 이전에는 상상할 수 없었던 변화와 성과를 얻을 수 있었던 것처럼요. 최동운 님은 &amp;lsquo;AI가 나보다 더 나을 수 있다&amp;rsquo;는 생각으로, 막히는 부분이 생긴다면 주저 말고 AI에 물어보는 태도가 중요하다고 전했어요.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&amp;rdquo;우리가 두려워해야 할 것은 실패가 아니라, 망설이다 기회를 놓치는 것입니다.&amp;rdquo;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;제한적인 조건 안에서 다소 무모하게 보일 수 있었던 DXT 팀의 실험은, AI와 함께 일하는 새로운 업무 방식을 가능하게 만들었어요. DXT팀의 경험은 지금 많은 조직이 고민하고 있는 &amp;lsquo;미래의 일&amp;rsquo;에 대한 실마리를 보여준다고 볼 수 있어요. 기술 변화를 기민하게 받아들이고 AI를 적극 활용해 새로운 일 문화를 구축해 낸 DXT팀의 이야기가 pxd를 비롯한 여러 회사 또는 팀에 많은 영감을 줄 것이라고 확신해요.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;글. 김슬기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;편집. 임현경&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>pxd talks</category>
      <author>seulgeekim</author>
      <guid isPermaLink="true">https://pxdstory.tistory.com/1872</guid>
      <comments>https://pxdstory.tistory.com/1872#entry1872comment</comments>
      <pubDate>Mon, 30 Mar 2026 07:50:01 +0900</pubDate>
    </item>
    <item>
      <title>GEONIQ Integrated Insight Report &amp;mdash; 여행&amp;middot;숙박 플랫폼 (Vol.1 숙소 상품 인식 구조 분석)</title>
      <link>https://pxdstory.tistory.com/1890</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;본 리포트는 GEO(AIEO)와 SEO를 한 번에 통합 분석해주는 GEONIQ의 진단 기준에 따라 국내 주요 여행&amp;middot;숙박 플랫폼의 페이지 구조와 정보 구성 방식을 분석하고 AI&amp;middot;검색 환경에서 숙소 상품이 어떤 단위로 인식되는지를 관찰&amp;middot;정리한 분석 보고서이다.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&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-filename=&quot;thumbnail-10.png&quot; data-origin-width=&quot;1297&quot; data-origin-height=&quot;306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OpYcG/dJMcagES1TI/ZNSUihPohiahAwH2yGvlQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OpYcG/dJMcagES1TI/ZNSUihPohiahAwH2yGvlQ0/img.png&quot; data-alt=&quot;좌측부터 우측 방향으로 네이버 여행, 야놀자, 여기어때 메인 페이지 이미지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OpYcG/dJMcagES1TI/ZNSUihPohiahAwH2yGvlQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOpYcG%2FdJMcagES1TI%2FZNSUihPohiahAwH2yGvlQ0%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;1297&quot; height=&quot;306&quot; data-filename=&quot;thumbnail-10.png&quot; data-origin-width=&quot;1297&quot; data-origin-height=&quot;306&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;좌측부터 우측 방향으로 네이버 여행, 야놀자, 여기어때 메인 페이지 이미지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1) 이번 분석의 관점과 범위&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;본 분석은 네이버 여행, 야놀자, 여기어때 3개 플랫폼을 대상으로 진행하였다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;각 플랫폼은 다음 3개 유형의 페이지를 기준으로 GEONIQ 진단을 수행하였다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;메인 및 숙소 탐색 페이지&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소 목록 페이지&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소 상세 페이지&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Vol.1에서는 이 구조를 기준으로 숙소가 AI검색(GEO) 환경에서 어떤 단위로 인식되는지를 중심으로 살펴본다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;선택과 비교, 판단 흐름은 Vol.2에서 다룬다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2)&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;숙소 &amp;lsquo;상품&amp;rsquo;의 정의&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여행&amp;middot;숙박 플랫폼에서 숙소는 단순한 장소 정보가 아니라 예약 가능한 단위로 구성된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실제 선택이 발생하는 기준은 객실 유형, 일정(체크인&amp;middot;체크아웃), 인원 수가 결합된 상태이다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;즉 하나의 숙소는 단일 상품이 아니라 조건에 따라 분기되는 다수의 상품 집합으로 구성된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;본 리포트에서는 이 결합 단위를 기준으로 숙소를 &amp;lsquo;상품 단위&amp;rsquo;로 정의한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;b&gt;&lt;/b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3)&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;AI검색(GEO) 관점에서의 &amp;lsquo;인식&amp;rsquo;이란 무엇인가&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 리포트에서 말하는 인식은 사람이 정보를 읽고 이해하는 과정을 의미하지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;AI검색(GEO) 관점에서의 인식이란 특정 대상이 독립된 단위로 구분되고, 그 속성과 상태가 구조적으로 해석 가능한 상태를 의미한다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;SEO 관점에서는 개별 페이지 단위의 노출이 가능하나, GEO(AIEO) 환경에서는 다음 조건이 함께 충족되어야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;대상이 명확한 단위로 정의되어야 한다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;해당 단위의 속성이 구조화되어 있어야 한다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다른 대상과 구분 가능한 형태로 표현되어야 한다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 조건이 충족되지 않으면 정보는 존재하더라도 인식 가능한 단위로 해석되기 어렵다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4)&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;핵심 발견 (Key Findings)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Key Findings&lt;span&gt;&amp;nbsp;&lt;/span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소 정보는 존재하지만, AI검색(GEO)이 상품 단위로 인식할 수 있도록 구조화되어 있지는 않다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Product schema가 존재하지 않거나 Hotel&amp;middot;장소 단위 중심으로만 구조화되어 있으며,&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;객실&amp;middot;일정&amp;middot;인원과 같은 실제 예약 단위가 독립된 상품으로 분리되어 표현되지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 결과 숙소는 개별 정보로는 인식되지만, 예약 가능한 상품 단위로 구분되는 구조는 형성되지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Key Findings&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소 간 관계를 통해 비교 대상으로 묶는 구조는 형성되지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소 목록은 존재하지만 비교를 전제로 한 정렬 기준이나 리스트&amp;middot;표 형태의 구조는 제한적으로 나타나며,&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;유사 숙소 간 관계나 대체 선택지로 이어지는 연결 또한 구조적으로 명시되지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 결과 개별 숙소 정보는 인식되지만, 상품 간 상대적 위치를 판단하는 비교 맥락은 형성되지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Key Findings&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가격&amp;middot;재고&amp;middot;날짜와 같은 변동 정보의 기준 시점이 구조적으로 명시되지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여행&amp;middot;숙박 상품은 시간에 따라 상태가 변화하는 특성을 가진다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러나 대부분의 페이지에서 정보의 기준 시점이나 업데이트 흐름이 구조적으로 드러나지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 결과 동일한 정보라도 어떤 시점을 기준으로 한 것인지 판단하기 어려우며,&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;AI검색(GEO) 환경에서 상태 정보를 안정적으로 해석하기 위한 조건은 형성되지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5)&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;플랫폼별 구조 관찰 요약&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;네이버 여행&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정보 탐색 중심 구조가 강하게 나타난다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;콘텐츠 구성은 풍부하지만 상품 단위 구조화는 제한적이다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;비교 관계를 드러내는 구조는 확인되지 않는다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;야놀자&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소 목록과 상세 정보는 명확하게 제공된다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개별 페이지 단위 완결성은 높다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러나 상품 단위 구조화와 비교 구조는 형성되지 않는다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여기어때&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;성능 및 사용자 경험 측면에서는 안정적인 구조를 보인다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;메인과 목록이 통합된 구조로 탐색 흐름은 단순하다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러나 상품 단위 정의, 비교 구조, 상태 정보 표현은 제한적으로 나타난다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;6)&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;구조 점검 관점에서 정리&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 분석에서 확인된 것은 특정 플랫폼의 기능적 완성도 문제가 아니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여행&amp;middot;숙박 플랫폼 전반에서 공통적으로 나타나는 구조는 다음과 같다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소 정보는 충분히 제공된다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개별 페이지 단위의 완결성은 높다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용자 탐색 흐름은 잘 설계되어 있다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;동시에 다음 조건이 함께 나타난다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;상품 단위 구조가 명확히 정의되지 않는다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소 간 관계를 통한 비교 구조가 형성되지 않는다&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;시간 기반 상태 정보가 구조적으로 드러나지 않는다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 구조에서 숙소는 선택 가능한 상품이라기보다 정보 단위에 가까운 형태로 표현된다.&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 70px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;text-align: center; height: 19px; width: 99.3023%;&quot; colspan=&quot;3&quot;&gt;&lt;b&gt;지오닉 검증 결과 바로가기&lt;/b&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;text-align: center; width: 31.1628%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/589babf7-630d-466a-868d-b35ac5c905b0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;네이버 여행 메인&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 34.8837%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/e764bdcc-2870-419f-969f-0a8d5eec4cb2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;야놀자 메인&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 33.2558%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/00f91f0c-b1f1-4ddb-a725-50548ffa3227&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;여기어때 메인이자 목록&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;text-align: center; width: 31.1628%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/1371fdbd-a834-478b-bd4f-8e29913a753f&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;네이버 여행 목록&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 34.8837%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/7031d31c-9cfb-437d-8ea2-7338da002d59&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;야놀자 목록&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 17px; width: 33.2558%;&quot;&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;text-align: center; width: 31.1628%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/248e6296-67aa-4926-bace-938852ce3792&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;네이버 여행 상세&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 34.8837%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/edab976a-be93-4882-af12-761e5338d4ef&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;야놀자 상세&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 33.2558%; height: 17px;&quot;&gt;&lt;a href=&quot;https://www.geoniq.ai/result/50b48614-5ec3-4bea-83fd-617afeaafd1c&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;여기어때 상세&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;pxdAX 관찰 노트&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 분석에서 확인된 것은 정보의 부족이 아니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여행&amp;middot;숙박 플랫폼은 이미 충분한 정보를 제공하고 있으며 사용자는 필요한 내용을 대부분 확인할 수 있다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러나 그 정보는 사람의 탐색과 이해를 기준으로 배열되어 있을 뿐 AI검색(GEO) 환경에서 상품 단위로 인식될 수 있도록 구성되어 있지는 않다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 결과 숙소는 보이지만 하나의 선택 가능한 단위로 분리되거나 다른 상품과 비교 가능한 관계로 묶이지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 지점에서 하나의 질문이 남는다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;숙소를 &amp;lsquo;정보로 충분히 설명되는 대상&amp;rsquo;으로 유지할 것인가,&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아니면 &amp;lsquo;선택 가능한 상품 단위&amp;rsquo;로 구조화할 것인가.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #e6f5ff; color: #0070d1; text-align: center;&quot; href=&quot;https://www.geoniq.ai/&quot;&gt;GEONIQ 서비스 바로가기&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;GEONIQ Integrated Insight Report는&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.geoniq.ai/insight/%EC%97%AC%ED%96%89%C2%B7%EC%88%99%EB%B0%95-%ED%94%8C%EB%9E%AB%ED%8F%BC-Vol-1-%EC%88%99%EC%86%8C-%EC%83%81%ED%92%88-%EC%9D%B8%EC%8B%9D-%EA%B5%AC%EC%A1%B0-%EB%B6%84%EC%84%9D-344&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GEONIQ&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://pxdstory.tistory.com/1890&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;pxd story&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://tech.pxd.co.kr/post/GEONIQ-Integrated-Insight-Report-&amp;mdash;-여행&amp;middot;숙박-플랫폼-Vol-1-숙소-상품-인식-구조-분석-344&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;xe group tech blog&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #1a1a1a; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;에서 동시 발행 됩니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>pxd AI툴 이야기</category>
      <category>AIEO</category>
      <category>Geo</category>
      <category>GEONIQ</category>
      <category>pxdax</category>
      <category>SEO</category>
      <category>네이버여행</category>
      <category>숙소예약</category>
      <category>야놀자</category>
      <category>여기어때</category>
      <category>여행플랫폼</category>
      <author>GEONIQ</author>
      <guid isPermaLink="true">https://pxdstory.tistory.com/1890</guid>
      <comments>https://pxdstory.tistory.com/1890#entry1890comment</comments>
      <pubDate>Mon, 23 Mar 2026 14:00:38 +0900</pubDate>
    </item>
    <item>
      <title>AI 에이전트의 시대, 우리는 어떤 개발자가 되어야 할까?</title>
      <link>https://pxdstory.tistory.com/1885</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;들어가며&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;개발 생태계의 변화가 무섭습니다.&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;이제는 단순한 '도구의 진화'를 넘어섰죠.&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;AI 에이전트가 코드를 짜는 수준을 넘어 직접 PR을 올리고 작업을 수행하는 모습을 보며, 바이브 코딩을 곁들인 &lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;대'딸깍'의 시대&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;가 된 것 같아요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;이제 개발자가 고민해야 하는 것은 &quot;어떻게 코드를 짤 것인가&quot;가 아니라 &lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&quot;어떤 문제를 정의하고, AI가 내놓은 답을 어떻게 검증할 것인가&quot;&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;라는 본질적인 질문에 대한 답일거에요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;좁아진 취업문&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;요즘 시장은 기묘한 양극화를 보이고 있습니다. 하버드 연구에 따르면 AI 도입 이후 주니어 채용은 약 10% 감소한 반면, 시니어 수요는 여전하다고 해요. &quot;가르쳐야 하는 신입보다 AI 에이전트가 가성비 좋다&quot;는 냉혹한 논리가 현장을 지배하기 시작한 것 같아요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;이제는 문턱이 매우 높아졌어요.&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;이제는 '배우러 온 신입'이 아니라, AI를 동료 삼아 1인분 이상의 생산성을 즉각 증명하는 &lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;'실전형 엔지니어'&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;만이 살아남는 시대가 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;'코드 작성자'에서 '시스템 지휘자'로&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;과거에는 알고리즘을 얼마나 효율적으로 구현하느냐가 실력이었습니다.&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;하지만 개발자의 84%가 AI를 쓰는 지금, 단순 구현 능력은 더 이상 희소 가치가 없습니다.&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;생산성 또한 이젠 더이상 경쟁력이 아니에요. 더 좋은 품질을 만들어내야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;오히려 AI가 쏟아내는 수많은 코드 속에서 &lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;미묘한 보안 취약점을 찾아내고, 전체 아키텍처의 정합성을 맞추는 판단력&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;이 핵심이 되었습니다.&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;이제 개발자는 벽돌을 쌓는 조적공보다, 여러 AI 워커들에게 업무를 배분하고 조율하는 &lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;'총괄 감독'&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;이나 &lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;'오케스트라 지휘자'&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;에 가까워지고 있습니다. 창작의 즐거움이 리스크 관리의 압박으로 바뀔 수도 있겠지만, 이는 우리 역할이 더 가치 있는 전략적 영역으로 이동하고 있다는 신호이기도 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;T자형 인재와 학습의 재정의&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;이런 환경에서 가장 강력한 생존 모델은 &lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;'T자형 인재'&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;입니다.&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;자신만의 깊은 전문성(Depth)을 하나 갖추되, AI를 활용해 인접 분야까지 유연하게 넘나드는 확장성을 가진 분들이죠.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;백엔드 개발자가 AI 도움으로 UI를 뚝딱 만들고, 프론트엔드 개발자가 인프라를 직접 만지는 것이 일상이 되었습니다.&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;학벌이나 학위는 이제 크게 중요하지 않다고 생각해요. &lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&quot;어디서 배웠나&quot;보다 &quot;무엇을 해결해봤나&quot;&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;가 더 중요한 증명 수단입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;마치며&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;미래가 어떻게 변하든 변하지 않는 본질이 있습니다. 바로 &lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;비판적 사고와 도메인에 대한 깊은 이해&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;입니다.&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;AI는 웹 앱을 눈 깜짝할 새 만들어낼 순 있지만, 그 서비스가 사용자에게 정말 필요한지, 윤리적으로 문제는 없는지 판단하지 못합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;실제 문제 해결에 기술을 적용하는 엔지니어&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;에 대한 수요는 항상 존재해왔고 기술을 지속적으로 업데이트하고 역량을 확장하며, &lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;창의성&amp;middot;비판적 사고&amp;middot;협업&lt;/span&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt; 같은 인간 고유의 강점에 집중할수록 흐름에서 이탈하지 않을 수 있을거에요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a1a1a;&quot;&gt;감사합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;이 글은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://tech.pxd.co.kr/post/AI-%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8%EC%9D%98-%EC%8B%9C%EB%8C%80-%EC%9A%B0%EB%A6%AC%EB%8A%94-%EC%96%B4%EB%96%A4-%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B0%80-%EB%90%98%EC%96%B4%EC%95%BC-%ED%95%A0%EA%B9%8C-331&quot;&gt;https://tech.pxd.co.kr/&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;&amp;nbsp; 에서도 보실 수 있습니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>UX Engineer 이야기</category>
      <author>doworld</author>
      <guid isPermaLink="true">https://pxdstory.tistory.com/1885</guid>
      <comments>https://pxdstory.tistory.com/1885#entry1885comment</comments>
      <pubDate>Mon, 16 Mar 2026 07:50:38 +0900</pubDate>
    </item>
    <item>
      <title>[HCI KOREA 2026] AI와 알고리즘을 이용한 정성 조사 스케일업과 시각화</title>
      <link>https://pxdstory.tistory.com/1886</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;리서처라면 한 번쯤 해 봤을 작업이 있습니다. 인터뷰 내용을 포스트잇에 옮겨 적고, 비슷한 것끼리 모으고, 패턴을 찾는 일인데요. 손으로 하나하나 붙이다 보면 어느새 벽 한 면이 가득 차 있죠. 그런데 데이터가 200개, 2000개가 되면 어떨까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;올해 HCI KOREA에서 pxd가 던진 질문이 바로 이것이었습니다. 학회 주제는 &lt;span data-token-index=&quot;0&quot;&gt;&lt;b&gt;&quot;AI, 일상(日常), 이상(理想), 상상(想像)&quot;&lt;/b&gt;으로, AI가 우리의 일상과 경험을 어떻게 바꾸는지 탐구하는 자리였는데요. pxd는 그 답을 리서치 현장에서 찾았습니다. 오래된 방법론에 AI를 결합해, 정성 조사의 스케일을 완전히 바꿔보고자 하는 시도를 공유합니다.&lt;/span&gt;&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-filename=&quot;IMG_0706.JPG&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/egMr7g/dJMcaaRYqNU/QTDR2Gmph9QKNPtUoiH5NK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/egMr7g/dJMcaaRYqNU/QTDR2Gmph9QKNPtUoiH5NK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/egMr7g/dJMcaaRYqNU/QTDR2Gmph9QKNPtUoiH5NK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FegMr7g%2FdJMcaaRYqNU%2FQTDR2Gmph9QKNPtUoiH5NK%2Fimg.jpg&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;4032&quot; height=&quot;3024&quot; data-filename=&quot;IMG_0706.JPG&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;AI와 알고리즘을 이용한 정성조사 스케일업과 시각화: 어피니티 다이어그램, 퍼소나 자동화 (pxd UX Tech Lab 한상택 소장)&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;AI와 알고리즘으로 대규모 정성 데이터에서 인사이트를 도출하고 시각화하는 방법을 소개한다.&lt;br /&gt;&lt;br /&gt;기존 정성조사는 소수 사용자 대상의 수작업 분석에 의존해 왔다. 정성조사의 주요 분석 도구인 어피니티 다이어그램과 퍼소나 방법은 모두 '클러스터링 기반 세분화'라는 공통 구조를 가진다. 기존에는 직관과 경험 중심의 분석을 하였으나, 텍스트 임베딩, 클러스터링, LLM을 활용한 알고리즘을 통해 체계적이고 재현 가능한 방식으로 전환할 수 있다. 이는 단순한 시간 절약을 넘어 다양한 관점의 탐색과 더 깊은 인사이트 도출을 가능하게 한다. 이렇게 도출된 계층적 정보를 직관적으로 전달하는 시각화 방법도 함께 다룬다.&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;MBTI와 사용자 조사의 공통점?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MBTI와 사용자 조사의 작동 원리가 똑같다면, 믿어지시나요? MBTI에서 외향/내향, 감각/직관처럼 사람을 나누는 기준을 만들고, 그 기준에 따라 유형을 분류하는 작업은 사실 사용자 유형을 세분화하는 작업과 같은데요. 이 기준을 UX에서는 &lt;b&gt;&quot;행동 변수&quot;&lt;/b&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-filename=&quot;Screenshot 2026-02-24 at 11.33.20 AM.png&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1131&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/E4uG1/dJMcaiboB75/ZANJzk7h388Dp6aPh57Quk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/E4uG1/dJMcaiboB75/ZANJzk7h388Dp6aPh57Quk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/E4uG1/dJMcaiboB75/ZANJzk7h388Dp6aPh57Quk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FE4uG1%2FdJMcaiboB75%2FZANJzk7h388Dp6aPh57Quk%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;1508&quot; height=&quot;1131&quot; data-filename=&quot;Screenshot 2026-02-24 at 11.33.20 AM.png&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1131&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Screenshot 2026-02-24 at 11.33.26 AM.png&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1131&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b09YFe/dJMcaiboB8D/2yl3kaJWod8GBeFoqe0h80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b09YFe/dJMcaiboB8D/2yl3kaJWod8GBeFoqe0h80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b09YFe/dJMcaiboB8D/2yl3kaJWod8GBeFoqe0h80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb09YFe%2FdJMcaiboB8D%2F2yl3kaJWod8GBeFoqe0h80%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;1508&quot; height=&quot;1131&quot; data-filename=&quot;Screenshot 2026-02-24 at 11.33.26 AM.png&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1131&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&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;군집화는 미리 정해진 기준 없이, 데이터 스스로 패턴을 드러내게 하는 방법입니다. 기계는 데이터 간의 거리를 계산해서 가까운 것끼리 묶습니다. 텍스트 데이터라면, 텍스트 임베딩 기술로 의미를 숫자로 변환한 뒤, 비슷한 의미끼리 묶어내는 것입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Screenshot 2026-02-24 at 11.41.31 AM.png&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1131&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/B6E8N/dJMcachV3Hx/ui3oggBk3kavRQkk9qUI00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/B6E8N/dJMcachV3Hx/ui3oggBk3kavRQkk9qUI00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/B6E8N/dJMcachV3Hx/ui3oggBk3kavRQkk9qUI00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FB6E8N%2FdJMcachV3Hx%2Fui3oggBk3kavRQkk9qUI00%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;1508&quot; height=&quot;1131&quot; data-filename=&quot;Screenshot 2026-02-24 at 11.41.31 AM.png&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1131&quot;/&gt;&lt;/span&gt;&lt;/figure&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;예를 들어, 미국인의 하루 24시간 활동 데이터를 분석한 결과, 은퇴자&amp;middot;직장인&amp;middot;학생 등 생활 유형이 뚜렷하게 구분되었습니다. 또한 GA와 트랜잭션 데이터를 군집화해 감에 의존하지 않는 Data-driven Personas를 도출한 사례도 있었습니다. 단순히 평균값이나 개별 지표만 보았을 때는 차이가 명확히 보이지 않았는데요. 사용자 행동을 벡터화한 뒤 군집화를 적용하면, 하나의 패턴으로 드러납니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;1_l-AQVlc-fHaMT1irb-48Ig.gif&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;426&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqfWYI/dJMcafeGQMl/AlKdoZK72QGKfBFYn58o91/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqfWYI/dJMcafeGQMl/AlKdoZK72QGKfBFYn58o91/img.gif&quot; data-alt=&quot;출처: A Day in the Life of Americans, Nathan Yau&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqfWYI/dJMcafeGQMl/AlKdoZK72QGKfBFYn58o91/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/cqfWYI/dJMcafeGQMl/AlKdoZK72QGKfBFYn58o91/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;600&quot; height=&quot;426&quot; data-filename=&quot;1_l-AQVlc-fHaMT1irb-48Ig.gif&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;426&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처: A Day in the Life of Americans, Nathan Yau&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Screenshot 2026-03-03 at 6.20.15 PM.png&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1131&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lq29m/dJMcadgPJs6/hjtwkPWsKsEe5AbvZCy7b1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lq29m/dJMcadgPJs6/hjtwkPWsKsEe5AbvZCy7b1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lq29m/dJMcadgPJs6/hjtwkPWsKsEe5AbvZCy7b1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flq29m%2FdJMcadgPJs6%2FhjtwkPWsKsEe5AbvZCy7b1%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;1508&quot; height=&quot;1131&quot; data-filename=&quot;Screenshot 2026-03-03 at 6.20.15 PM.png&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1131&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;h2 data-ke-size=&quot;size26&quot;&gt;사용자 조사 실무, AI Multiplier로서의 어피니티버블&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pxd는 이 군집화 기술을 리서치 업무에 직접 적용했습니다. 그렇게 만들어진 툴이 &lt;b&gt;어피니티버블&lt;/b&gt;(&lt;a href=&quot;http://affinitybubble.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;affinitybubble.com&lt;/a&gt;)입니다.&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;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWKvel/dJMcafyYpvF/e7hclHAs9UZrAwPeE5kQ8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWKvel/dJMcafyYpvF/e7hclHAs9UZrAwPeE5kQ8k/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1288&quot; data-origin-height=&quot;700&quot; data-filename=&quot;Screenshot 2026-02-24 at 12.09.07 PM.png&quot; style=&quot;width: 57.309%; margin-right: 10px;&quot; data-widthpercent=&quot;57.98&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWKvel/dJMcafyYpvF/e7hclHAs9UZrAwPeE5kQ8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWKvel%2FdJMcafyYpvF%2Fe7hclHAs9UZrAwPeE5kQ8k%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;1288&quot; height=&quot;700&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qHlOT/dJMcabi2QfR/kFTkhOHosSmA01bSqv8EF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qHlOT/dJMcabi2QfR/kFTkhOHosSmA01bSqv8EF0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1131&quot; data-filename=&quot;Screenshot 2026-02-24 at 12.00.06 PM.png&quot; style=&quot;width: 41.5282%;&quot; data-widthpercent=&quot;42.02&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qHlOT/dJMcabi2QfR/kFTkhOHosSmA01bSqv8EF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqHlOT%2FdJMcabi2QfR%2FkFTkhOHosSmA01bSqv8EF0%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;1508&quot; height=&quot;1131&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;왼쪽: Nielsen Norman Group / 오른쪽: Affinity Bubble&lt;/figcaption&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;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&quot;빨리 하는 게 중요한 게 아니라, 다양한 관점을 보고 인사이트의 질을 높이는 게 중요합니다.&quot;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10배 빠르게 작업할 수 있다면, 같은 시간 안에 10배 많은 관점으로 탐색할 수 있습니다. 어피니티버블이 AI Multiplier로 불리는 이유입니다. 앱 리뷰를 분석하더라도 사용자 행동 목표 기준으로 볼 수도 있고, 긍부정 기준으로 볼 수도 있고, 시간대별로 볼 수도 있습니다. 관점을 바꿀 때마다 새로운 인사이트가 나옵니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1022&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crg3nI/dJMcafTglfA/vBf4KjApI2R7uCIliQ9TuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crg3nI/dJMcafTglfA/vBf4KjApI2R7uCIliQ9TuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crg3nI/dJMcafTglfA/vBf4KjApI2R7uCIliQ9TuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcrg3nI%2FdJMcafTglfA%2FvBf4KjApI2R7uCIliQ9TuK%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;1508&quot; height=&quot;1022&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1022&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Screenshot 2026-02-24 at 12.13.26 PM.png&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1131&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1oHhZ/dJMcaiboCL8/OLyd8Z4wzhoWEvhpKTB8P0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1oHhZ/dJMcaiboCL8/OLyd8Z4wzhoWEvhpKTB8P0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1oHhZ/dJMcaiboCL8/OLyd8Z4wzhoWEvhpKTB8P0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1oHhZ%2FdJMcaiboCL8%2FOLyd8Z4wzhoWEvhpKTB8P0%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;1508&quot; height=&quot;1131&quot; data-filename=&quot;Screenshot 2026-02-24 at 12.13.26 PM.png&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;1131&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재는 사용자 세분화에 집중한 퍼소나 도구도 개발 중인데요. 행동 변수를 자동으로 추출하고 맵핑해 주는 툴로, 리서처가 행동 변수를 &quot;마음의 눈으로 보라&quot;는 말에 의존하지 않아도 되는 날이 머지않은 것 같습니다.&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;마치며&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_0739.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HJ6O0/dJMcahcsw7F/f1qJuO1Fn7r54NPWw1J8D0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HJ6O0/dJMcahcsw7F/f1qJuO1Fn7r54NPWw1J8D0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HJ6O0/dJMcahcsw7F/f1qJuO1Fn7r54NPWw1J8D0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHJ6O0%2FdJMcahcsw7F%2Ff1qJuO1Fn7r54NPWw1J8D0%2Fimg.jpg&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;4032&quot; height=&quot;3024&quot; data-filename=&quot;IMG_0739.jpeg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;발표가 끝난 후 수집한 청중 반응도 흥미로웠습니다. &quot;질적 인터뷰에서 인사이트 뽑는 시간이 단축될 것 같다&quot;, &quot;회사에서 아직 아날로그 방식을 쓰는데 새로운 방식이 필요했다&quot;는 이야기가 나왔는데요. 기술 개념을 퍼소나 도출, 시각화라는 실무 맥락에 연결해서 와닿았다는 반응도 있었습니다.&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;&lt;a href=&quot;https://affinitybubble.com/affinitybubble&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;어피니티버블 사용해보기&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>pxd AI툴 이야기</category>
      <author>yewon.jang</author>
      <guid isPermaLink="true">https://pxdstory.tistory.com/1886</guid>
      <comments>https://pxdstory.tistory.com/1886#entry1886comment</comments>
      <pubDate>Thu, 12 Mar 2026 07:50:59 +0900</pubDate>
    </item>
  </channel>
</rss>