AI

133 posts
Cloudflare OS: AI 에이전트를 위한 운영체제

Cloudflare OS: AI 에이전트를 위한 운영체제

에이전트에게 작업을 맡겨두고 커피를 타러 다녀온 적 있으신가요? 돌아와 보면 첫 단계에서 승인 창을 띄워놓고 얌전히 기다리고 있죠. 😅 이런 일이 몇 번 반복되면 손이 가는 곳은 대체로 정해져 있습니다. 자동 승인을 켜거나, 권한 설정을 통째로 건너뛰는 옵션을 쓰거나. 안전하게 쓰라고 만든 장치가 오히려 위험한 선택을 부추기는 셈인데요. 개인이 쓰는 코딩 에이전트에서도 이런데, 회사 전체가 에이전트에 GitHub, Google Docs, Slack을 물려준다고 생각하면 문제는 훨씬 커집니다. Cloudflare가 2026년 8월에

Agent Plugins: 스킬과 MCP를 한 패키지로 묶기

Agent Plugins: 스킬과 MCP를 한 패키지로 묶기

에이전트용 스킬을 하나 잘 만들어 두면 여기저기서 쓰고 싶어집니다. 팀 동료는 클로드 코드 대신 Codex를 쓰고, 다른 동료는 Cursor를 쓰니까요. 스킬만 나눠주는 거라면 방법은 이미 있습니다. skills.sh의 npx skills add에 -a '*'를 붙이면 지원하는 코딩 에이전트 전부에 같은 스킬을 한 번에 설치해 주거든요. 진짜 문제는 스킬이 혼자 굴러가지 않을 때 드러납니다. 배포 상태를 조회하는 MCP 서버가 있어야 동작하는 스킬이라면, 서버 설정은 여전히 도구마다 손으로 넣어야 하죠. 스킬과 도구가 한 몸인데 배

Herdr: AI 코딩 에이전트를 위한 터미널 멀티플렉서

Herdr: AI 코딩 에이전트를 위한 터미널 멀티플렉서

AI 코딩 에이전트 하나를 터미널에서 돌릴 때는 별문제가 없습니다. 그런데 버그 수정은 Codex에 맡기고, 테스트 실패 원인 조사는 Claude Code에 시키고, 옆에서는 개발 서버까지 띄우기 시작하면 상황이 달라져요. 터미널 탭을 돌아다니며 누가 작업 중인지, 누가 권한 승인을 기다리는지 계속 확인해야 합니다. 일은 에이전트들이 하는데 정작 사람은 터미널을 순찰하느라 바쁜 셈이죠. 🤔 Herdr는 이 문제를 풀기 위해 만든 터미널 멀티플렉서(terminal multiplexer)입니다. 화면을 나누고 세션을 유지하는 데서 그

코딩을 덜 하게 된 우리는 에이전트를 제대로 감독할 수 있을까요?

코딩을 덜 하게 된 우리는 에이전트를 제대로 감독할 수 있을까요?

요즘 이런 말을 자주 듣습니다. 이제 개발자는 코드를 직접 짜기보다 코딩 에이전트를 지휘하고 감독해야 한다고요. 저도 개발자의 역할이 바뀌고 있다는 큰 흐름에는 동의합니다. 다만 여기에는 조심해야 할 역설이 있습니다. 과연 직접 구현을 할 수 없는 개발자가 에이전트를 감독할 수 있을까요? 문법을 빠르게 떠올리고 코드를 입력하는 속도는 조금 느려져도 괜찮습니다. 하지만 요구 사항을 파악하고, 코드의 동작을 예측하고, 실패 원인을 추적하는 능력까지 잃는다면 이야기가 달라집니다. 에이전트가 만든 결과물을 판단할 기반도 함께 사라지기 때문

Cloudflare Agents SDK로 상태 있는 AI 에이전트 만들기

Cloudflare Agents SDK로 상태 있는 AI 에이전트 만들기

AI 채팅을 하나 만들었다고 해볼까요? 사용자가 목표를 알려주고 대화를 나누는 동안에는 제법 그럴듯하게 동작합니다. 그런데 브라우저를 닫았다가 다시 열면 이전 목표를 잊습니다. "30분 뒤에 다시 알려줘"라고 해도 그때까지 프로세스를 붙잡아 둘 방법이 마땅치 않고요. 여러 기기에서 같은 대화에 접속하면 상태가 서로 어긋나기도 합니다. 🤔 대형 언어 모델(large language model, 이하 LLM)을 호출하는 것만으로는 이런 문제를 해결할 수 없습니다. 모델 밖에서 사용자별 상태를 저장하고, 실시간 연결을 관리하고, 정해진

TanStack Intent: 라이브러리와 함께 배포하는 에이전트 스킬

TanStack Intent: 라이브러리와 함께 배포하는 에이전트 스킬

AI 에이전트에게 라이브러리를 다루는 코드를 맡겼다가 한숨을 쉬어 본 적 있으신가요? 분명 최신 버전을 설치했는데 2년 전에 사라진 API를 자신 있게 써 놓거나, 이름만 남고 시그니처가 바뀐 함수를 옛날 방식으로 호출해 놓는 경우 말입니다. 모델이 게을러서가 아닙니다. 학습 데이터에 남은 옛 코드와 지금 node_modules에 설치된 코드가 다를 뿐이죠. 문제는 에이전트가 그 차이를 알 방법이 마땅치 않다는 데 있습니다. TanStack Intent는 이 간극을 조금 색다른 방식으로 메웁니다. 문서를 어딘가에 잘 정리해 두고 에

AI는 저에게 코드는 써주었지만, 저의 언어로 만들어주지는 못했습니다

AI는 저에게 코드는 써주었지만, 저의 언어로 만들어주지는 못했습니다

이직을 하고 Kotlin과 Rust라는 저에게 생소한 언어 두 개를 동시에 써야하는 기회가 생겼습니다. 마침 코딩 에이전트가 막 부상하던 시기였는데요. 공부를 하는 방법에도 변화를 주면 어떨까 싶었습니다. 그래서 두 프로그래밍 언어를 완전히 다른 방식으로 공부하는 실험을 시작했습니다. Kotlin 학습은 철저하게 AI 주도로 하기로 결심했습니다. 무조건 AI가 코드를 작성하게 하고, 코드를 이해할 때도 AI의 도움을 받았습니다. 모르는 문법이 나오면 바로 질문해서 답변을 얻고, 새로운 라이브러리를 만나면 핵심 용례만 빠르게 파악했습

클로드 코드 Dynamic Workflows: 수십 개 에이전트를 스크립트로 굴리기

클로드 코드 Dynamic Workflows: 수십 개 에이전트를 스크립트로 굴리기

클로드 코드를 쓰다 보면 어느 순간 이런 작업을 만나게 됩니다. "저장소 전체의 라우트 핸들러를 훑어서 인증 누락을 찾아줘", "컴포넌트 500개를 새 스타일 시스템으로 옮겨줘", "문서와 이슈를 여러 방향에서 조사한 뒤 서로 검증해서 보고서를 만들어줘" 같은 요청 말이죠. 이런 작업은 한 대화 안에서 차근차근 진행할 수도 있습니다. 하지만 파일이 많아지고 검증 단계가 늘어나면 컨텍스트가 금방 지저분해지고, Claude가 어느 파일을 봤는지, 어떤 결과를 검증했는지 사람이 계속 추적해야 합니다. 서브 에이전트를 여러 번 호출하는 방

WorkOS AuthKit으로 최신 MCP 인증 붙이기

WorkOS AuthKit으로 최신 MCP 인증 붙이기

원격 MCP 서버에 OAuth를 붙일 때 의외로 까다로운 부분은 로그인 화면이 아닙니다. 처음 만난 MCP 클라이언트를 인가 서버(Authorization Server)에 어떻게 등록할지가 더 큰 문제인데요. 데스크톱 앱, 코드 편집기, 에이전트 플랫폼을 인가 서버에 일일이 미리 등록할 수는 없기 때문입니다. 2025년 11월 25일 MCP 스펙은 이 문제를 풀기 위해 클라이언트 ID 메타데이터 문서(Client ID Metadata Documents, CIMD)를 권장 등록 방식으로 추가했습니다. 이전 스펙에서 사용하던 동적 클라

OpenRouter: 키 하나로 모든 LLM을 부르는 통합 API

OpenRouter: 키 하나로 모든 LLM을 부르는 통합 API

LLM 호출 한 줄을 코드에 붙이는 건 쉽습니다. 그런데 제공사가 둘, 셋으로 늘어나는 순간 이야기가 달라지죠. OpenAI SDK 깔고, Anthropic SDK 또 깔고, 키를 각각 발급받아 환경변수로 빼고, 비용은 대시보드 세 군데를 들여다봐야 하고요. 게다가 새 모델이 나올 때마다 "이거 한번 써볼까?" 하면 또 가입하고 결제 정보를 등록하는 일이 반복됩니다. 정작 하고 싶은 건 "프롬프트 보내고 답 받기" 한 줄인데 말이죠. 🤔 OpenRouter는 이 번거로움을 키 하나로 정리합니다. OpenAI, Anthropic,

Void AI: 라우트 핸들러에서 LLM을 타입 안전하게 호출하기

Void AI: 라우트 핸들러에서 LLM을 타입 안전하게 호출하기

앱에 AI 기능을 하나 붙이려고 마음먹으면, 정작 모델을 부르는 코드보다 그 주변을 차리는 일이 더 번거롭습니다. 어느 제공사를 쓸지 정하고, SDK를 설치하고, API 키를 환경변수로 빼고, 스트리밍 응답을 직접 파싱하고, 사용량이 얼마나 나왔는지 따로 추적하고… 정작 "프롬프트를 보내고 답을 받는" 본질은 한 줄인데 말이죠. Void는 이 주변 작업을 void/ai라는 클라이언트로 미리 차려둡니다. Cloudflare의 AI 게이트웨이 위에서 동작하는 타입 안전한 클라이언트인데, Void 라우팅에서 본 라우트 핸들러 안에서 모델

State of AI 2026 설문 결과로 본 개발자들의 AI 활용 트렌드

State of AI 2026 설문 결과로 본 개발자들의 AI 활용 트렌드

매년 자바스크립트 생태계를 정리해 주던 State of JS 설문, 한 번쯤 보신 적 있으실 텐데요. 그 설문을 만들던 팀이 이번에는 흐름을 완전히 갈아탔습니다. 2026년에는 자바스크립트가 아니라 AI를 주제로 State of AI 2026 설문을 진행한 건데요. 그만큼 지난 한 해 개발자들의 관심사가 어디로 쏠렸는지를 단적으로 보여주는 변화가 아닐까 싶습니다. 이번 설문에는 2026년 4월 8일부터 5월 8일까지 전 세계 개발자 7,258명이 참여했습니다. 단순히 "어떤 AI 도구를 쓰나요?" 정도를 묻는 가벼운 조사가 아니라,

Cloudflare AI Gateway로 AI 요청 캐싱하고 모니터링하기

Cloudflare AI Gateway로 AI 요청 캐싱하고 모니터링하기

앱에 LLM 호출 한 줄을 붙이는 건 쉽습니다. 그런데 그게 프로덕션에 올라가는 순간 이야기가 달라지죠. 같은 질문이 하루에도 수백 번 들어오는데 매번 돈을 내고 모델을 부르고 있진 않은지, OpenAI가 잠깐 흔들릴 때 서비스가 같이 멈추진 않을지, 이번 달 토큰 비용이 얼마나 나왔는지, 누가 우리 키로 폭주하고 있진 않은지… 정작 "프롬프트 보내고 답 받기"는 한 줄인데 그 주변을 지키는 일이 훨씬 많습니다. 게다가 Cloudflare Workers AI의 자체 모델로 시작했다가도, 복잡한 추론은 GPT나 Claude로 넘기고

Cloudflare Sandbox에서 안전하게 코드 실행하기

Cloudflare Sandbox에서 안전하게 코드 실행하기

AI 코딩 도구를 만들다 보면 결국 "생성한 코드를 어디서 실행할 것인가?"라는 문제를 만나게 됩니다. 단순히 코드를 문자열로 돌려주는 것만으로는 부족하거든요. 테스트도 돌려봐야 하고, 파일도 만들어야 하고, 때로는 개발 서버를 띄운 뒤 브라우저에서 확인할 수 있는 미리보기 URL도 필요합니다. 그렇다고 사용자의 코드를 내 서버에서 그대로 실행하기에는 부담이 큽니다. 코드는 파일 시스템을 건드릴 수도 있고, 오래 실행될 수도 있고, 의도치 않게 서버 자원을 많이 쓸 수도 있으니까요. 그래서 AI 에이전트나 코드 실행 서비스를 만들

1Password Service Account로 Touch ID 없이 시크릿 관리하기

1Password Service Account로 Touch ID 없이 시크릿 관리하기

얼마 전에 Discord MCP 서버를 클로드 코드에 붙여서 쓰고 있었는데요. 봇 토큰을 설정 파일에 평문으로 박아두기는 찜찜해서, 1Password CLI로 토큰을 주입하도록 바꿔뒀습니다. 그런데 그날부터 클로드 코드를 켤 때마다 화면 한가운데 "1Password Access Requested" 창이 뜨면서 Touch ID를 요구하기 시작했어요. 😅 하루에도 몇 번씩 터미널을 새로 여는데, 그때마다 손가락을 갖다 대는 건 생각보다 거슬립니다. 게다가 cron으로 돌리는 스크립트라면 아예 사람이 없으니 인증 자체가 불가능하죠. 이

Discord MCP 서버로 AI에게 커뮤니티 운영 맡기기

Discord MCP 서버로 AI에게 커뮤니티 운영 맡기기

개발 커뮤니티나 팀의 소통 채널로 Discord를 운영하고 있으면 은근히 손이 가는 일이 많은데요. 새 버전을 릴리스하면 공지 채널에 변경 사항을 정리해서 올리고, 질문 채널에 쌓인 메시지를 읽고 답하고, 행사가 잡히면 이벤트를 등록합니다. 하나하나는 금방 끝나는 일이지만 매번 Discord 창을 열고 손으로 처리하다 보면 흐름이 자꾸 끊기죠. 😅 만약 코딩 중인 AI 도구에 "방금 머지된 PR 내용을 정리해서 #release 채널에 공지해줘"라고 말하면 그대로 처리해주고, "어제 질문 채널에 올라온 메시지 중에 아직 답이 없는

의미 검색(Semantic Search)은 어떻게 동작할까: 임베딩과 벡터 유사도

의미 검색(Semantic Search)은 어떻게 동작할까: 임베딩과 벡터 유사도

전에 BM25 랭킹 알고리즘을 다루면서 마지막에 숙제를 하나 남겨뒀는데요. "환불"로 검색하면 정작 "결제 취소"가 적힌 안내 문서를 찾지 못한다는 키워드 검색의 약점이었습니다. 두 표현은 사람이 보기엔 같은 뜻이지만, 글자가 하나도 겹치지 않으니 단어 일치에 기대는 검색은 둘을 연결하지 못해요. 😅 이 빈틈을 메우는 게 바로 의미 검색(Semantic Search)입니다. 글자가 아니라 "의미"를 기준으로 문서를 찾는 방식이죠. 요즘 챗봇, 추천, RAG(검색 증강 생성)의 바탕에 거의 빠짐없이 깔려 있는 기술이기도 합니다. 이

auth.md: AI 에이전트를 위한 회원가입 프로토콜

auth.md: AI 에이전트를 위한 회원가입 프로토콜

요즘 AI 에이전트가 단순히 질문에 답변만 하는 게 아니라, 실제로 사용자를 대신해서 외부 서비스를 호출하는 경우가 점점 늘고 있는데요. 예를 들어 코딩 에이전트한테 "Cloudflare에 새 워커를 배포해줘"라고 시키거나, 이메일 에이전트한테 "Resend로 뉴스레터 발송해줘"라고 부탁할 수 있습니다. 그런데 여기서 한 가지 문제가 생깁니다. 에이전트가 그 서비스에 가입되어 있어야 API를 호출할 수 있는데, 가입 자체가 사람을 전제로 만들어진 절차란 말이죠. 회원가입 폼, 이메일 인증, CAPTCHA, 대시보드 로그인 같은 단계

Cloudflare Vectorize로 엣지에서 벡터 검색 구현하기

Cloudflare Vectorize로 엣지에서 벡터 검색 구현하기

요즘 챗봇이나 검색 기능을 만들다 보면 "의미 기반 검색"이 거의 필수가 됐어요. 사용자가 "환불 받고 싶어요"라고 입력해도 "결제 취소 절차"가 적힌 문서를 찾아줘야 하잖아요. BM25 같은 키워드 검색은 단어가 정확히 일치해야 하기 때문에 이런 경우에 약한데, 그 빈틈을 메우는 게 바로 의미 기반 검색입니다. 이런 의미 기반 검색을 구현하려면 텍스트를 벡터로 바꿔 저장하고 비슷한 벡터를 빠르게 찾아주는 벡터 데이터베이스가 필요합니다. Pinecone, Weaviate, Qdrant 같은 전문 서비스도 좋지만 Cloudflare

AWS MCP 서버: AI 에이전트로 AWS 다루기

AWS MCP 서버: AI 에이전트로 AWS 다루기

AWS 콘솔에 들어가서 메뉴를 뒤져가며 EC2 인스턴스를 띄우거나 S3 버킷 정책을 만져본 경험이 있으실 텐데요. CLI에 익숙하더라도 200개가 넘는 서비스의 API를 다 외울 수는 없어서 결국 문서를 뒤지면서 작업하게 되죠. 이런 작업을 AI에게 자연어로 시킬 수 있다면 어떨까요? AWS가 2026년 5월 6일 AWS MCP 서버를 정식 출시하면서 그게 가능해졌습니다. "us-west-2 리전에 t3.micro 인스턴스 하나 띄워줘" 같은 요청을 클로드 코드나 Cursor에서 그대로 처리할 수 있어요. 이번 글에서는 AWS MC

Discord