[{"data":1,"prerenderedAt":513},["ShallowReactive",2],{"\u002Fblog\u002Fdeepseek-api-web-search\u002F:ko":3,"\u002Fblog\u002Fdeepseek-api-web-search\u002F-surround:ko":415,"blog-all-posts:ko":416},{"id":4,"title":5,"author":6,"body":10,"date":398,"description":399,"extension":400,"image":401,"locale":402,"meta":403,"minRead":213,"navigation":404,"original":405,"path":406,"pinned":405,"seo":407,"source":408,"sourceUrl":23,"stem":409,"tags":410,"updated":401,"__hash__":414},"blog\u002Fblog\u002Fdeepseek-api-web-search.ko.md","DeepSeek API에 내장된 웹 검색 — Responses API로 공식 검색을 공짜로 쓰자",{"name":7,"avatar":8},"Chen Dahuang",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":391},"minimark",[13,28,31,36,52,55,58,65,68,320,323,327,330,333,339,343,359,362,377,380,387],[14,15,16],"blockquote",{},[17,18,19,20,27],"p",{},"원문은 ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2084826975102030013",[25],"nofollow","X","에 게시되었습니다. 이 글이 불타올랐습니다. 조회수 23만, 좋아요 1000+. 여기서는 세부 내용을 풀어서 설명합니다.",[17,29,30],{},"좋은 걸 발견했다: DeepSeek가 API 안에 웹 검색을 직접 내장했다.",[32,33,35],"h2",{"id":34},"한-문장으로-정리하면","한 문장으로 정리하면",[17,37,38,42,43,47,48,51],{},[39,40,41],"strong",{},"Responses"," 인터페이스로 ",[44,45,46],"code",{},"deepseek-v4-flash"," 모델을 호출하고, 요청 파라미터에 ",[44,49,50],{},"web_search"," 도구만 선언하면 DeepSeek 서버 측 검색 능력을 바로 쓸 수 있다.",[17,53,54],{},"타사 검색 엔진을 연동할 필요도, 별도 검색 API 키를 신청할 필요도 없다. 검색 파이프라인 전체가 DeepSeek가 호스팅한다.",[32,56,57],{"id":57},"사용법",[17,59,60,61],{},"공식 문서: ",[21,62,63],{"href":63,"rel":64},"https:\u002F\u002Fapi-docs.deepseek.com\u002Fzh-cn\u002Fguides\u002Fresponses_api",[25],[17,66,67],{},"핵심은 그냥 도구를 선언하는 것뿐이다:",[69,70,75],"pre",{"className":71,"code":72,"language":73,"meta":74,"style":74},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const response = await fetch('https:\u002F\u002Fapi.deepseek.com\u002Fresponses', {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application\u002Fjson',\n    'Authorization': `Bearer ${process.env.DEEPSEEK_API_KEY}`\n  },\n  body: JSON.stringify({\n    model: 'deepseek-v4-flash',\n    tools: [{ type: 'web_search' }],\n    input: '2026년 8월 AI 업계에 무슨 큰일이 있었나?'\n  })\n})\n","js","",[44,76,77,120,141,151,173,211,217,238,254,287,303,312],{"__ignoreMap":74},[78,79,82,86,90,94,98,102,105,108,112,114,117],"span",{"class":80,"line":81},"line",1,[78,83,85],{"class":84},"spNyl","const",[78,87,89],{"class":88},"sTEyZ"," response ",[78,91,93],{"class":92},"sMK4o","=",[78,95,97],{"class":96},"s7zQu"," await",[78,99,101],{"class":100},"s2Zo4"," fetch",[78,103,104],{"class":88},"(",[78,106,107],{"class":92},"'",[78,109,111],{"class":110},"sfazB","https:\u002F\u002Fapi.deepseek.com\u002Fresponses",[78,113,107],{"class":92},[78,115,116],{"class":92},",",[78,118,119],{"class":92}," {\n",[78,121,123,127,130,133,136,138],{"class":80,"line":122},2,[78,124,126],{"class":125},"swJcz","  method",[78,128,129],{"class":92},":",[78,131,132],{"class":92}," '",[78,134,135],{"class":110},"POST",[78,137,107],{"class":92},[78,139,140],{"class":92},",\n",[78,142,144,147,149],{"class":80,"line":143},3,[78,145,146],{"class":125},"  headers",[78,148,129],{"class":92},[78,150,119],{"class":92},[78,152,154,157,160,162,164,166,169,171],{"class":80,"line":153},4,[78,155,156],{"class":92},"    '",[78,158,159],{"class":125},"Content-Type",[78,161,107],{"class":92},[78,163,129],{"class":92},[78,165,132],{"class":92},[78,167,168],{"class":110},"application\u002Fjson",[78,170,107],{"class":92},[78,172,140],{"class":92},[78,174,176,178,181,183,185,188,191,194,197,200,203,205,208],{"class":80,"line":175},5,[78,177,156],{"class":92},[78,179,180],{"class":125},"Authorization",[78,182,107],{"class":92},[78,184,129],{"class":92},[78,186,187],{"class":92}," `",[78,189,190],{"class":110},"Bearer ",[78,192,193],{"class":92},"${",[78,195,196],{"class":88},"process",[78,198,199],{"class":92},".",[78,201,202],{"class":88},"env",[78,204,199],{"class":92},[78,206,207],{"class":88},"DEEPSEEK_API_KEY",[78,209,210],{"class":92},"}`\n",[78,212,214],{"class":80,"line":213},6,[78,215,216],{"class":92},"  },\n",[78,218,220,223,225,228,230,233,235],{"class":80,"line":219},7,[78,221,222],{"class":125},"  body",[78,224,129],{"class":92},[78,226,227],{"class":88}," JSON",[78,229,199],{"class":92},[78,231,232],{"class":100},"stringify",[78,234,104],{"class":88},[78,236,237],{"class":92},"{\n",[78,239,241,244,246,248,250,252],{"class":80,"line":240},8,[78,242,243],{"class":125},"    model",[78,245,129],{"class":92},[78,247,132],{"class":92},[78,249,46],{"class":110},[78,251,107],{"class":92},[78,253,140],{"class":92},[78,255,257,260,262,265,268,271,273,275,277,279,282,285],{"class":80,"line":256},9,[78,258,259],{"class":125},"    tools",[78,261,129],{"class":92},[78,263,264],{"class":88}," [",[78,266,267],{"class":92},"{",[78,269,270],{"class":125}," type",[78,272,129],{"class":92},[78,274,132],{"class":92},[78,276,50],{"class":110},[78,278,107],{"class":92},[78,280,281],{"class":92}," }",[78,283,284],{"class":88},"]",[78,286,140],{"class":92},[78,288,290,293,295,297,300],{"class":80,"line":289},10,[78,291,292],{"class":125},"    input",[78,294,129],{"class":92},[78,296,132],{"class":92},[78,298,299],{"class":110},"2026년 8월 AI 업계에 무슨 큰일이 있었나?",[78,301,302],{"class":92},"'\n",[78,304,306,309],{"class":80,"line":305},11,[78,307,308],{"class":92},"  }",[78,310,311],{"class":88},")\n",[78,313,315,318],{"class":80,"line":314},12,[78,316,317],{"class":92},"}",[78,319,311],{"class":88},[17,321,322],{},"이게 전부다. 검색하고, 가져오고, 파싱하고, 인용하는 일은 전부 DeepSeek 서버 쪽에서 처리한다.",[32,324,326],{"id":325},"왜-중요한가","왜 중요한가",[17,328,329],{},"예전에는 AI에게 실시간 정보를 주려면 파이프라인을 직접 구축해야 했다: 검색 엔진을 고르고(SerpAPI, Bing Search 등) → API 키를 신청하고 → 가져오고 파싱하는 코드를 짜고 → 결과를 컨텍스트에 넣고 → 예산을 관리해야 했다.",[17,331,332],{},"이렇게 하면 최소 하루 이틀, 꼬이면 일주일도 걸리는데, 단계마다 돈이 들었다. 검색 API는 요청당 과금되고, 스크래핑은 안티봇과 싸워야 한다.",[17,334,335,336,338],{},"이제 DeepSeek가 그냥 내장해버렸다. 게다가 쓰는 모델은 터무니없이 싼 ",[44,337,46],{},"다. 검색과 생성이 하나의 파이프라인으로 이어져서, 수돗물 쓰듯 써도 될 만큼 싸다.",[32,340,342],{"id":341},"잘-맞는-시나리오","잘 맞는 시나리오",[344,345,346,350,353,356],"ul",{},[347,348,349],"li",{},"최신성이 중요한 글쓰기(업계 뉴스, 제품 비교, 정책 해설)",[347,351,352],{},"Agent 구축: 결정하기 전에 자료를 찾아봐야 하는 단계",[347,354,355],{},"고객 지원 \u002F Q&A 시스템: 답변하기 전에 최신 정보를 검색하는 경우",[347,357,358],{},"모델의 지식 컷오프가 발목을 잡는 모든 시나리오",[32,360,361],{"id":361},"주의사항",[363,364,365,371,374],"ol",{},[347,366,367,370],{},[39,368,369],{},"Responses 인터페이스를 쓸 것",", 옛 Chat Completions 인터페이스가 아니라. 옛 인터페이스에는 이 도구가 없다.",[347,372,373],{},"웹 검색의 세밀함과 인용 형식은 공식 문서에 나와 있으니, 한 번 실행해서 응답 구조를 확인해 보길 권한다.",[347,375,376],{},"캐시 할인 메커니즘이 있다. 긴 컨텍스트 시나리오에서는 적극 활용하자. 꽤 아낄 수 있다.",[17,378,379],{},"이건 진짜 공짜다. 공식 팀이 검색 인프라에서 가장 골치 아픈 부분을 그냥 선물로 줬다. 필요하면 그냥 이 숙제를 베껴 쓰면 된다.",[17,381,382,383],{},"관련 글: ",[21,384,386],{"href":385},"\u002Fblog\u002Fdeepseek-v4-flash-review","DeepSeek V4 Flash — 정식 버전 핸즈온 리뷰",[388,389,390],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":74,"searchDepth":122,"depth":122,"links":392},[393,394,395,396,397],{"id":34,"depth":122,"text":35},{"id":57,"depth":122,"text":57},{"id":325,"depth":122,"text":326},{"id":341,"depth":122,"text":342},{"id":361,"depth":122,"text":361},"2026-08-05","DeepSeek가 API 안에 웹 검색을 내장했다: Responses 인터페이스로 deepseek-v4-flash를 호출하고 web_search 도구만 선언하면 된다. 타사 검색 엔진 연동도, 검색 API 키도 필요 없다.","md",null,"ko",{},true,false,"\u002Fblog\u002Fdeepseek-api-web-search",{"title":5,"description":399},"x","blog\u002Fdeepseek-api-web-search.ko",[411,412,413],"DeepSeek","API","AI 도구","VthLStfbpRcujf5_ZToDFl9inGwTRQtvVQ7DjVneFh0",[401,401],[417,425,434,436,441,448,455,463,470,476,482,490,497,505],{"path":418,"title":419,"description":420,"date":421,"minRead":213,"tags":422},"\u002Fblog\u002Fagent-harness-selection","Pi Agent, OMP, Codex, ZCode를 이리저리 만져본 끝에, 내가 마지막으로 OpenCode + OpenChamber를 고른 이유","Agent Harness 선택 회고: GUI 경험, 벤더 종속, 2차 개발 자유도라는 세 가지 기준으로 Pi Agent, OMP, Codex, ZCode를 탈락시키고, 마지막으로 OpenCode 코어 + OpenChamber 인터페이스를 선택했다.","2026-08-06",[423,424],"AI Agent","도구 선택",{"path":426,"title":427,"description":428,"date":429,"minRead":213,"tags":430},"\u002Fblog\u002Fcloudflare-broke-stack","2026 인디 개발 베스트 프랙티스: Cloudflare 가난뱅이 올인원 스택","인디 개발자를 위한 무료 기술 스택: 코드는 Codex, 버전 관리는 GitHub, 결제는 Stripe, 프런트엔드는 TanStack Start, 백엔드는 Hono + Workers, 데이터베이스는 D1, 스토리지는 R2, 캐시는 KV — 전부 Cloudflare 위에서 돌아간다.","2026-06-15",[431,432,433],"Cloudflare","인디 개발","기술 스택",{"path":406,"title":5,"description":399,"date":398,"minRead":213,"tags":435},[411,412,413],{"path":385,"title":437,"description":438,"date":398,"minRead":219,"tags":439},"DeepSeek V4 Flash 정식 버전 핸즈온: 싸고, 빠르고, 1M 컨텍스트, 내장 검색","DeepSeek V4 Flash 정식 버전을 며칠간 깊게 써본 결과: 공격적으로 싸고, 번개처럼 빠르고, 1M 컨텍스트, 공식 내장 웹 검색, 완전 오픈소스. 유일한 약점은 멀티모달 — 하지만 다른 모델을 조합하면 메울 수 있다.",[411,440,413],"모델 리뷰",{"path":442,"title":443,"description":444,"date":429,"minRead":240,"tags":445},"\u002Fblog\u002Ffree-cloudflare","무료 사용자가 Cloudflare를 끝까지 짜먹는 법 — 무료 플랜이 실제로 어디까지 되나?","Cloudflare 무료 플랜이 개인 인터넷 인프라 전체를 지탱할 수 있다: DNS, CDN, Pages, Workers, KV, D1, R2, 이메일, Tunnel, AI Gateway 등.",[431,446,447],"무료 플랜","배포",{"path":449,"title":450,"description":451,"date":452,"minRead":240,"tags":453},"\u002Fblog\u002Fmodel-harness-decoupling","순정 Harness가 곧 버전 정답은 아니다: 오픈 모델 시대에는 모델과 Harness를 따로 골라라","Claude 쓰면 Claude Code? 오픈 모델 시대에는 이 직관을 업그레이드할 때다. 순정의 강점은 진짜지만, 좋은 모델을 만드는 일과 좋은 Harness를 만드는 일은 별개의 공학이다 — 이 글은 모델과 Harness를 분리해서 선택할 수 있게 된 이유와 다섯 가지 Harness의 포지셔닝 맵을 정리한다.","2026-09-09",[423,454,424],"Harness",{"path":456,"title":457,"description":458,"date":452,"minRead":240,"tags":459},"\u002Fblog\u002Fopencode-productive-stack","안정, 빠름, 고생산성, 저렴함: 내 AI Coding 스택 완전 기록","OpenCode + OpenChamber + DeepSeek V4 Flash 구독 두 장으로 15개 프로젝트를 동시에 돌려도 쿼터는 거의 안 줄었다. 이 글은 Context 프루닝, 계층 메모리, 데스크톱 자동화, 그리고 '역시 원래 조합'이라는 선택의 교훈까지, 내 전체 설정을 모두 까보는 글이다.",[460,461,462],"OpenCode","AI 코딩","설정",{"path":464,"title":465,"description":466,"date":467,"minRead":289,"tags":468},"\u002Fblog\u002Fproduct-faxin-principle","발심의 원리: 인디 개발자는 왜 버리는 법을 배워야 하나","왜 출발하는가? 누구를 위해 출발하는가? 도대체 어떤 문제를 풀고 싶은가? 제품의 날카로움은 감히 버리는 것에서 나온다.","2026-06-20",[469,432],"제품 사고",{"path":471,"title":472,"description":473,"date":467,"minRead":240,"tags":474},"\u002Fblog\u002Fproduct-pain-vs-itch","사용자가 '대박'이라 해도 들뜨지 마라: 통증 포인트와 가려움 포인트","입으로 하는 좋아함은 한 푼 가치도 없다. 수요를 판단하는 기준은 딱 하나다: 사용자가 무엇을 지불할 의향이 있는가.",[469,475],"수요 판단",{"path":477,"title":478,"description":479,"date":421,"minRead":175,"tags":480},"\u002Fblog\u002Fqwen-vision-for-deepseek","DeepSeek에 멀티모달 더하기: Qwen-3.7-Flash 비전 접근법","DeepSeek V4 Flash에는 멀티모달이 없다 — 이미지 이해는 어떻게 할까? 시장을 조사해 보니 현재 가장 가성비 좋은 방법은 Qwen-3.7-Flash다: 이미지 한 장을 인식하는 비용이 거의 들지 않고, V4 Flash와 조합하면 빈틈이 메워진다.",[411,481,440],"멀티모달",{"path":483,"title":484,"description":485,"date":486,"minRead":153,"tags":487},"\u002Fblog\u002Fsub-store-cloudflare","프록시 구독 통합을 Cloudflare로 옮겼다","여러 프록시 서비스와 자체 노드를 하나의 구독으로 합치고, 라우팅 규칙을 서버 쪽에서 설정 — 클라이언트는 그냥 구독만 하면 된다.","2026-06-28",[431,488,489],"우회","오픈소스 프로젝트",{"path":491,"title":492,"description":493,"date":452,"minRead":219,"tags":494},"\u002Fblog\u002Ftui-cognitive-bandwidth","TUI는 당신의 인지 대역폭을 죽이고 있다: AI Coding의 '긱 필터'는 깨질 때가 됐다","AI Coding Agent가 앞다투어 TUI를 올리면서 인터랙션을 80년대 터미널 패러다임으로 되밀어 놓고는 '몰입형', '프로그래머 존중'이라고 미화한다. 이 글은 TUI가 인지 대역폭을 체계적으로 떨어뜨리는 세 가지 메커니즘과, Web UI가 왜 정답인지를 해부한다.",[461,495,496],"인터랙션 디자인","에세이",{"path":498,"title":499,"description":500,"date":501,"minRead":213,"tags":502},"\u002Fblog\u002Fvalue-not-external","가치가 있는지 논하는 것 자체가 가치가 없다","우리의 가치는 누구도 정의하지 않는다. AI 시대에 인간은 도대체 어떻게 자신을 이해해야 하는가?","2026-06-18",[503,504],"AI 사고","인문 에세이",{"path":506,"title":507,"description":508,"date":509,"minRead":314,"tags":510},"\u002Fblog\u002Fx-growth-1000-followers","하루 조금 넘게 팔로워 1000+ 달성 — 내가 한 일","6월에 X 계정을 진지하게 운영해 하루 조금 넘게 팔로워 1000+를 달성했다. 이 글은 내가 한 일과 받은 피드백을 기록한다.","2026-06-16",[511,512],"X 운영","콘텐츠 성장",1789752317447]