<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MCP on Ted Factory</title><link>https://tedfactory.com/tags/mcp/</link><description>Recent content in MCP on Ted Factory</description><generator>Hugo</generator><language>ko</language><lastBuildDate>Tue, 02 Jun 2026 00:38:27 +0900</lastBuildDate><atom:link href="https://tedfactory.com/tags/mcp/index.xml" rel="self" type="application/rss+xml"/><item><title>Ladder Pick 개발 계획서</title><link>https://tedfactory.com/apps/ladder-pick/plan/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0900</pubDate><guid>https://tedfactory.com/apps/ladder-pick/plan/</guid><description>&lt;h1 id="ladder-pick--chatgpt-app-개발-계획"&gt;Ladder Pick — ChatGPT App 개발 계획&lt;a class="anchor" href="#ladder-pick--chatgpt-app-%ea%b0%9c%eb%b0%9c-%ea%b3%84%ed%9a%8d"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;프로젝트명&lt;/strong&gt;: &lt;code&gt;ted-mcp-servers&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;앱 이름(App Directory 표시)&lt;/strong&gt;: Ladder Pick&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;앱 언어&lt;/strong&gt;: 영어 우선 (UI / 툴 description / 프라이버시 정책 모두 영어, 계획 문서만 한글)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="공식-개발자-문서-참고-링크"&gt;공식 개발자 문서 참고 링크&lt;a class="anchor" href="#%ea%b3%b5%ec%8b%9d-%ea%b0%9c%eb%b0%9c%ec%9e%90-%eb%ac%b8%ec%84%9c-%ec%b0%b8%ea%b3%a0-%eb%a7%81%ed%81%ac"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="핵심-문서필독"&gt;핵심 문서(필독)&lt;a class="anchor" href="#%ed%95%b5%ec%8b%ac-%eb%ac%b8%ec%84%9c%ed%95%84%eb%8f%85"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Apps SDK 홈&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk"&gt;https://developers.openai.com/apps-sdk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quickstart(Todo 예제 포함)&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/quickstart"&gt;https://developers.openai.com/apps-sdk/quickstart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP Server 개념&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/concepts/mcp-server"&gt;https://developers.openai.com/apps-sdk/concepts/mcp-server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP Apps in ChatGPT&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/mcp-apps-in-chatgpt"&gt;https://developers.openai.com/apps-sdk/mcp-apps-in-chatgpt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="설계--디자인"&gt;설계 / 디자인&lt;a class="anchor" href="#%ec%84%a4%ea%b3%84--%eb%94%94%ec%9e%90%ec%9d%b8"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;UX 원칙&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/concepts/ux-principles"&gt;https://developers.openai.com/apps-sdk/concepts/ux-principles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UI 가이드라인&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/concepts/ui-guidelines"&gt;https://developers.openai.com/apps-sdk/concepts/ui-guidelines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;디자인 컴포넌트&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/plan/components"&gt;https://developers.openai.com/apps-sdk/plan/components&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;툴 정의&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/plan/tools"&gt;https://developers.openai.com/apps-sdk/plan/tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;유스케이스 리서치&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/plan/use-case"&gt;https://developers.openai.com/apps-sdk/plan/use-case&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="빌드"&gt;빌드&lt;a class="anchor" href="#%eb%b9%8c%eb%93%9c"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MCP 서버 셋업&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/build/mcp-server"&gt;https://developers.openai.com/apps-sdk/build/mcp-server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ChatGPT UI 빌드&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/build/chatgpt-ui"&gt;https://developers.openai.com/apps-sdk/build/chatgpt-ui&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;상태 관리&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/build/state-management"&gt;https://developers.openai.com/apps-sdk/build/state-management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;인증&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/build/auth"&gt;https://developers.openai.com/apps-sdk/build/auth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;예제 앱 모음(GitHub)&lt;/strong&gt;: &lt;a href="https://github.com/openai/openai-apps-sdk-examples"&gt;https://github.com/openai/openai-apps-sdk-examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UI 라이브러리(GitHub)&lt;/strong&gt;: &lt;a href="https://github.com/openai/apps-sdk-ui"&gt;https://github.com/openai/apps-sdk-ui&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="배포--테스트--제출"&gt;배포 / 테스트 / 제출&lt;a class="anchor" href="#%eb%b0%b0%ed%8f%ac--%ed%85%8c%ec%8a%a4%ed%8a%b8--%ec%a0%9c%ec%b6%9c"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;배포 가이드&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/deploy"&gt;https://developers.openai.com/apps-sdk/deploy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;테스트 가이드&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/deploy/testing"&gt;https://developers.openai.com/apps-sdk/deploy/testing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ChatGPT 연결&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/deploy/connect-chatgpt"&gt;https://developers.openai.com/apps-sdk/deploy/connect-chatgpt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;앱 제출 및 유지보수&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/deploy/submission"&gt;https://developers.openai.com/apps-sdk/deploy/submission&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;앱 제출 가이드라인(정책 / 규칙)&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/app-submission-guidelines"&gt;https://developers.openai.com/apps-sdk/app-submission-guidelines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Developer Mode 설정&lt;/strong&gt;: &lt;a href="https://platform.openai.com/docs/guides/developer-mode"&gt;https://platform.openai.com/docs/guides/developer-mode&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="가이드--참고"&gt;가이드 / 참고&lt;a class="anchor" href="#%ea%b0%80%ec%9d%b4%eb%93%9c--%ec%b0%b8%ea%b3%a0"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;보안 &amp;amp; 프라이버시&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/guides/security-privacy"&gt;https://developers.openai.com/apps-sdk/guides/security-privacy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;메타데이터 최적화&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/guides/optimize-metadata"&gt;https://developers.openai.com/apps-sdk/guides/optimize-metadata&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;트러블슈팅&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/deploy/troubleshooting"&gt;https://developers.openai.com/apps-sdk/deploy/troubleshooting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API 레퍼런스&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/reference"&gt;https://developers.openai.com/apps-sdk/reference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;변경 로그&lt;/strong&gt;: &lt;a href="https://developers.openai.com/apps-sdk/changelog"&gt;https://developers.openai.com/apps-sdk/changelog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="일반-참고"&gt;일반 참고&lt;a class="anchor" href="#%ec%9d%bc%eb%b0%98-%ec%b0%b8%ea%b3%a0"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Apps in ChatGPT(Help Center)&lt;/strong&gt;: &lt;a href="https://help.openai.com/en/articles/12503483-apps-in-chatgpt-and-the-apps-sdk"&gt;https://help.openai.com/en/articles/12503483-apps-in-chatgpt-and-the-apps-sdk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;앱 디렉터리 제출(Help Center)&lt;/strong&gt;: &lt;a href="https://help.openai.com/en/articles/20001040"&gt;https://help.openai.com/en/articles/20001040&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;앱 디렉터리 브라우징&lt;/strong&gt;: &lt;a href="https://chatgpt.com/apps"&gt;https://chatgpt.com/apps&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="목표"&gt;목표&lt;a class="anchor" href="#%eb%aa%a9%ed%91%9c"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ChatGPT App Directory에 등록 가능한 &lt;strong&gt;&amp;ldquo;Ladder Pick&amp;rdquo;&lt;/strong&gt; 앱을 만듭니다.&lt;/li&gt;
&lt;li&gt;채팅 안에서 &lt;strong&gt;인터랙티브 위젯(iframe)&lt;/strong&gt; 을 통해 참가자 / 항목 입력 → 사다리(랜덤 매칭) 생성 → 결과 공개까지 완료할 수 있게 합니다.&lt;/li&gt;
&lt;li&gt;ChatGPT Developer Mode로 테스트 후, 최종적으로 &lt;strong&gt;App Directory 제출 / 승인 / Publish&lt;/strong&gt; 를 목표로 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="전제--범위"&gt;전제 / 범위&lt;a class="anchor" href="#%ec%a0%84%ec%a0%9c--%eb%b2%94%ec%9c%84"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MVP&lt;/strong&gt;: 인터랙티브 위젯(iframe UI) + MCP 툴 기반. 위젯에서 참가자 / 항목 입력, 결과 표시, 다시 섞기 등 핵심 인터랙션을 제공합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;비범위(초기)&lt;/strong&gt;: 로그인 / 결제, 실시간 멀티플레이, 복잡한 애니메이션, 외부 데이터 연동.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;인증 불필요&lt;/strong&gt;: 외부 서비스 연동이 없으므로 OAuth / 인증 플로우 없이 시작합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;안전 / 정책&lt;/strong&gt;: 외부 시스템에 쓰기(write) 동작 없음. 툴의 hint annotation:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;readOnlyHint: false&lt;/code&gt; — 내부 상태를 생성 / 변경하므로 true가 아님&lt;/li&gt;
&lt;li&gt;&lt;code&gt;destructiveHint: false&lt;/code&gt; — 되돌리기 어려운 외부 영향 없음&lt;/li&gt;
&lt;li&gt;&lt;code&gt;openWorldHint: false&lt;/code&gt; — 공개 인터넷 상태 변경 없음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="사용자-경험ux-시나리오"&gt;사용자 경험(UX) 시나리오&lt;a class="anchor" href="#%ec%82%ac%ec%9a%a9%ec%9e%90-%ea%b2%bd%ed%97%98ux-%ec%8b%9c%eb%82%98%eb%a6%ac%ec%98%a4"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="기본-흐름인터랙티브-위젯"&gt;기본 흐름(인터랙티브 위젯)&lt;a class="anchor" href="#%ea%b8%b0%eb%b3%b8-%ed%9d%90%eb%a6%84%ec%9d%b8%ed%84%b0%eb%9e%99%ed%8b%b0%eb%b8%8c-%ec%9c%84%ec%a0%af"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;사용자가 &lt;code&gt;@Ladder Pick&lt;/code&gt; 또는 &amp;ldquo;play a ladder game&amp;quot;처럼 입력합니다.&lt;/li&gt;
&lt;li&gt;ChatGPT가 &lt;code&gt;create_game&lt;/code&gt; 툴을 호출하고, &lt;strong&gt;Ladder Pick 위젯&lt;/strong&gt; 이 iframe에 표시됩니다.&lt;/li&gt;
&lt;li&gt;위젯 내에서:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Players&lt;/strong&gt; 리스트: 참가자 이름 추가 / 삭제 (기본 4명)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Items&lt;/strong&gt; 리스트: 결과 항목(상품 / 역할) 추가 / 삭제&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Options&lt;/strong&gt;: Reveal mode (All at once / One by one), Seed (auto / custom)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Pick!&amp;rdquo;&lt;/strong&gt; 버튼 클릭 → 매칭 결과 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;결과 영역:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;All at once&lt;/strong&gt;: 전체 매칭 표 즉시 표시&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;One by one&lt;/strong&gt;: &amp;ldquo;Reveal Next&amp;rdquo; 버튼으로 한 명씩 공개&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Reshuffle&amp;rdquo;&lt;/strong&gt; 버튼: 새 시드로 다시 섞기&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Export&amp;rdquo;&lt;/strong&gt; 버튼: 결과를 텍스트로 복사&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="텍스트-폴백"&gt;텍스트 폴백&lt;a class="anchor" href="#%ed%85%8d%ec%8a%a4%ed%8a%b8-%ed%8f%b4%eb%b0%b1"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;위젯 없이도 ChatGPT가 툴 호출 결과를 텍스트(표)로 보여줄 수 있습니다.&lt;/li&gt;
&lt;li&gt;예: &amp;ldquo;Ladder Pick, match A,B,C,D with 1st,2nd,3rd,4th&amp;rdquo; → 텍스트 표 응답&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="에러-케이스"&gt;에러 케이스&lt;a class="anchor" href="#%ec%97%90%eb%9f%ac-%ec%bc%80%ec%9d%b4%ec%8a%a4"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;참가자 &amp;lt; 2명 → 에러 메시지: &amp;ldquo;At least 2 players are required.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;항목 개수 ≠ 참가자 수 → 에러 메시지: &amp;ldquo;Number of items must match number of players. You have {n} players and {m} items.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;항목 비어있음 → 에러 메시지: &amp;ldquo;Items list cannot be empty.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="기능-요구사항"&gt;기능 요구사항&lt;a class="anchor" href="#%ea%b8%b0%eb%8a%a5-%ec%9a%94%ea%b5%ac%ec%82%ac%ed%95%ad"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="입력"&gt;입력&lt;a class="anchor" href="#%ec%9e%85%eb%a0%a5"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;참가자 목록(Players)&lt;/strong&gt;: 2~20명&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;결과 항목(Items)&lt;/strong&gt;: 참가자 수와 &lt;strong&gt;정확히 동일한 개수&lt;/strong&gt; (불일치 시 에러 반환)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;옵션&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Reveal mode: &lt;code&gt;all&lt;/code&gt; | &lt;code&gt;one-by-one&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Seed: 자동 생성 또는 사용자 지정(재현 가능성)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="출력"&gt;출력&lt;a class="anchor" href="#%ec%b6%9c%eb%a0%a5"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;매칭 결과&lt;/strong&gt;: Player ↔ Item 1:1 매핑&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;사다리 표현&lt;/strong&gt;: Canvas 기반 시각적 사다리(수직선 + 가로 발판 + 색깔별 경로 애니메이션) 구현&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="상태--저장"&gt;상태 / 저장&lt;a class="anchor" href="#%ec%83%81%ed%83%9c--%ec%a0%80%ec%9e%a5"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;모듈 레벨 &lt;code&gt;Map&amp;lt;gameId, GameState&amp;gt;&lt;/code&gt;으로 프로세스 내 인메모리 관리&lt;/li&gt;
&lt;li&gt;게임 생성 시 고유 ID 발급, 이후 reshuffle / reveal_next에서 해당 ID로 조회&lt;/li&gt;
&lt;li&gt;영구 저장 없음(서버 재시작 시 초기화됨, 초기에는 이 정도로 충분)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="기술-설계"&gt;기술 설계&lt;a class="anchor" href="#%ea%b8%b0%ec%88%a0-%ec%84%a4%ea%b3%84"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="아키텍처공식-구조-기반"&gt;아키텍처(공식 구조 기반)&lt;a class="anchor" href="#%ec%95%84%ed%82%a4%ed%85%8d%ec%b2%98%ea%b3%b5%ec%8b%9d-%ea%b5%ac%ec%a1%b0-%ea%b8%b0%eb%b0%98"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;ChatGPT Apps는 아래 두 요소로 구성됩니다:&lt;/p&gt;</description></item><item><title>AI 주요 개념 (2): Fine-tuning / RAG / Function Calling / MCP</title><link>https://tedfactory.com/books/ai-for-startup/ai-concepts-2/</link><pubDate>Fri, 02 Jan 2026 00:00:00 +0900</pubDate><guid>https://tedfactory.com/books/ai-for-startup/ai-concepts-2/</guid><description>&lt;h1 id="ai-주요-개념-2"&gt;AI 주요 개념 (2)&lt;a class="anchor" href="#ai-%ec%a3%bc%ec%9a%94-%ea%b0%9c%eb%85%90-2"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;이번 장에서는 미세 조정(Fine-tuning), RAG, Function Calling, MCP를 중심으로 “사전 학습된 LLM을 서비스에 붙여 쓸 때” 자주 마주치는 핵심 개념들을 정리합니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="미세-조정fine-tuning"&gt;미세 조정(Fine-tuning)&lt;a class="anchor" href="#%eb%af%b8%ec%84%b8-%ec%a1%b0%ec%a0%95fine-tuning"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;미세 조정(Fine-tuning)은 사전 학습된(Pre-trained) 모델을 특정 목적에 더 잘 맞도록 추가로 학습시키는 과정입니다. 오픈 소스 문화 덕분에 학습용 데이터셋과, 그 데이터셋으로 사전 학습된 모델이 공개되는 경우가 많고, 이를 바탕으로 성능을 향상시키거나 특정 분야에 더 특화시키기 위해 미세 조정을 적용할 수 있습니다. 예를 들어 의류를 판매하는 전자상거래 시스템에서 AI 챗봇을 만들 때 공개 모델을 그대로 사용하면, 일반적인 대화는 가능하더라도 해당 서비스의 상품/정책 같은 내부 정보를 모르기 때문에 제품 문의에 대해 만족스러운 답변을 못 할 수 있습니다. 이럴 때 미세 조정이 하나의 대안이 될 수 있습니다.&lt;/p&gt;</description></item><item><title>Ladder Pick in ChatGPT</title><link>https://tedfactory.com/apps/ladder-pick/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0900</pubDate><guid>https://tedfactory.com/apps/ladder-pick/</guid><description>&lt;h1 id="ladder-pick-in-chatgpt"&gt;Ladder Pick in ChatGPT&lt;a class="anchor" href="#ladder-pick-in-chatgpt"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="chatgpt-apps란"&gt;ChatGPT Apps란?&lt;a class="anchor" href="#chatgpt-apps%eb%9e%80"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://openai.com/index/introducing-apps-in-chatgpt/"&gt;&lt;strong&gt;ChatGPT Apps&lt;/strong&gt;&lt;/a&gt; 는 외부 서비스 제공자가 자신의 서비스를 ChatGPT에 통합할 수 있도록 OpenAI가 2025년 10월에 도입한 기능입니다. &lt;strong&gt;MCP(Model Context Protocol)&lt;/strong&gt; 를 기반으로 하고 있는데, MCP는 LLM이 외부의 기능(tools)을 호출할 수 있는 표준을 제공합니다. ChatGPT Apps는 여기서 한 단계 더 나아가, 외부 기능의 &lt;strong&gt;인터랙티브 UI와 로직까지&lt;/strong&gt; ChatGPT 채팅 화면 안에 통합될 수 있도록 확장한 것입니다. 즉, MCP를 통해 &amp;ldquo;LLM이 외부 기능을 사용하는 표준&amp;quot;이 마련되었고, 그 외부 기능의 범위가 단순한 데이터 조회나 실행을 넘어 사용자와 상호작용하는 UI까지로 넓어진 것이라 보면 됩니다. 여기에 더해 OpenAI는 &lt;a href="https://chatgpt.com/apps"&gt;App Directory&lt;/a&gt;라는 마켓플레이스를 열어, 다양한 앱을 많은 사람이 탐색하고 사용해 볼 수 있는 장을 마련했습니다. 개발자 입장에서는 자신이 만든 앱을 ChatGPT의 방대한 사용자 기반에 노출시키고, 앱을 통한 수익화를 기대해 볼 수 있는 환경이 된 것입니다.&lt;/p&gt;</description></item><item><title>노트북을 접어도 일하는 에이전트: Lightsail, Hermes, Discord로 만든 원격 개발 환경</title><link>https://tedfactory.com/notes/essays/hermes-remote-discord-development/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0900</pubDate><guid>https://tedfactory.com/notes/essays/hermes-remote-discord-development/</guid><description>&lt;h1 id="노트북을-접어도-일하는-에이전트-lightsail-hermes-discord로-만든-원격-개발-환경"&gt;노트북을 접어도 일하는 에이전트: Lightsail, Hermes, Discord로 만든 원격 개발 환경&lt;a class="anchor" href="#%eb%85%b8%ed%8a%b8%eb%b6%81%ec%9d%84-%ec%a0%91%ec%96%b4%eb%8f%84-%ec%9d%bc%ed%95%98%eb%8a%94-%ec%97%90%ec%9d%b4%ec%a0%84%ed%8a%b8-lightsail-hermes-discord%eb%a1%9c-%eb%a7%8c%eb%93%a0-%ec%9b%90%ea%b2%a9-%ea%b0%9c%eb%b0%9c-%ed%99%98%ea%b2%bd"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;2026-06-01&lt;/p&gt;
&lt;p&gt;&lt;img src="https://tedfactory.com/images/notes/hermes-remote-discord-development-cover.png" alt="Lightsail, Docker sandbox, Discord로 연결한 원격 Hermes 개발 환경" /&gt;&lt;/p&gt;
&lt;h2 id="문제는-노트북이-접히는-순간-시작되었습니다"&gt;문제는 노트북이 접히는 순간 시작되었습니다&lt;a class="anchor" href="#%eb%ac%b8%ec%a0%9c%eb%8a%94-%eb%85%b8%ed%8a%b8%eb%b6%81%ec%9d%b4-%ec%a0%91%ed%9e%88%eb%8a%94-%ec%88%9c%ea%b0%84-%ec%8b%9c%ec%9e%91%eb%90%98%ec%97%88%ec%8a%b5%eb%8b%88%eb%8b%a4"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;필자는 한동안 Hermes Agent를 로컬 노트북에 설치해서 사용했습니다. 로컬에서 바로 저장소를 열고, 파일을 수정하고, 테스트를 실행하는 경험은 빠르고 직관적이었습니다. 하지만 생활 패턴과 맞지 않는 문제가 있었습니다. 노트북을 접어서 가방에 넣는 순간 에이전트도 함께 멈췄습니다.&lt;/p&gt;
&lt;p&gt;AI 에이전트를 쓰는 이유는 사람이 자리를 비운 동안에도 일을 맡기기 위해서입니다. 그런데 실행 환경이 로컬 노트북에 묶여 있으면, 이동 중에는 모바일로 확인만 할 수 있고 실제 작업은 이어가기 어렵습니다. 특히 긴 테스트, 의존성 설치, 저장소 분석처럼 시간이 걸리는 작업은 노트북이 켜져 있어야만 진행됩니다.&lt;/p&gt;</description></item></channel></rss>