Post-Quantum Cryptography Migration at Meta: Framework, Lessons, and Takeaways (새 탭에서 열림)

양자 컴퓨터의 발전은 기존의 공개키 암호화 체계를 무력화할 수 있으며, 특히 현재 데이터를 수집해 미래에 복호화하는 '선저장 후복호화(SNDL)' 공격은 지금 당장 대비가 필요한 보안 위협입니다. 메타(Meta)는 이러한 위협에 대응하기 위해 다년간의 포스트 양자 암호(PQC) 전환 계획을 수립하고, NIST 표준(ML-KEM, ML-DSA) 도입과 함께 조직의 준비 상태를 평가할 수 있는 'PQC 성숙도 단계'를 제안합니다. 이를 통해 기업들은 성능 저하를 최소화하면서도 경제적이고 체계적으로 양자 내성 보안 환경으로 이행할 수 있습니다. ### PQC 전환의 핵심 원칙과 동기 * **SNDL(Store Now, Decrypt Later) 대응:** 양자 컴퓨터가 상용화되기 전이라도 적대 세력이 현재의 암호화된 데이터를 수집해둘 수 있으므로, 장기적 데이터 보호를 위해 즉각적인 PQC 도입이 필요합니다. * **전환 원칙:** 양자 공격에 대한 실질적인 '유효성', 표준화에 맞춘 '적시성', 시스템 부하를 최소화하는 '성능', 그리고 리스크와 투자 사이의 균형을 맞추는 '비용 효율성'을 4대 원칙으로 삼습니다. * **글로벌 표준 협력:** 메타는 NIST에서 선정한 HQC 알고리즘 등의 공동 저자로 참여하며 업계 전반의 보안 강화를 주도하고 있습니다. ### PQC 성숙도 단계 (Maturity Levels) 조직의 각 애플리케이션이나 유스케이스가 양자 위협에 얼마나 준비되었는지 측정하기 위해 5단계의 모델을 제안합니다. * **PQ-Enabled (최종 목표):** PQC 솔루션이 실제로 구현 및 배포되어 양자 보호가 활성화된 상태입니다. 메타는 이미 내부 트래픽의 상당 부분에 이 단계를 적용 중입니다. * **PQ-Hardened:** 가용한 모든 PQC 기술을 적용했으나, 아직 효율적인 양자 내성 OPRF(망각 프록시 함수) 같은 특정 원천 기술이 업계에 존재하지 않아 완벽한 방어가 지연되는 상태입니다. * **PQ-Ready:** 기술적 구현은 완료되었으나 비용이나 우선순위 문제로 아직 활성화하지 않은 상태로, 필요 시 즉시 가동할 수 있는 준비 단계입니다. * **PQ-Aware:** 위협을 인지하고 초기 리스크 평가를 마쳤으나 아직 구체적인 설계나 구현에는 착수하지 않은 단계입니다. * **PQ-Unaware:** 양자 위협에 대한 인식이 전혀 없는 가장 취약한 상태입니다. ### 메타의 체계적인 마이그레이션 전략 단순한 암호 교체를 넘어 전사적인 인프라를 보호하기 위한 단계적 접근법을 취합니다. * **암호화 인벤토리 구축:** 조직 내에서 어떤 암호화 기술이 어디에 사용되고 있는지 전수 조사하여 리스크가 있는 지점을 파악합니다. * **우선순위 정의:** 오프라인 공격(SNDL)에 취약한 공개키 암호화 및 키 교환 알고리즘을 사용하는 애플리케이션을 '고우선순위'로 분류합니다. * **외부 의존성 및 하드웨어 해결:** PQC 표준 준수 여부와 더불어 PQC를 지원하는 HSM(하드웨어 보안 모듈) 등 하드웨어 가용성을 확인합니다. * **가드레일(Guardrails) 설정:** 암호화 표준 지침을 변경하고, 취약한 구식 API 사용이나 새로운 구식 키 생성을 금지하는 정책적 제어 장치를 도입합니다. 기업들은 먼저 자산의 인벤토리를 확보하고 데이터의 민감도와 수명에 따라 우선순위를 설정해야 합니다. 특히 장기 보존이 필요한 데이터는 지금 당장 PQC를 적용하지 않더라도 최소한 'PQ-Ready' 수준의 설계 역량을 확보하는 것이 미래의 대응 시간을 단축하는 핵심입니다.

Introducing Anthropic’s Claude Opus 4.7 model in Amazon Bedrock | Amazon Web Services (새 탭에서 열림)

Amazon Bedrock에 Anthropic의 가장 지능적인 모델인 Claude Opus 4.7이 정식 출시되었습니다. 이 모델은 코딩, 장기 실행 에이전트, 전문 지식 작업 전반에서 이전 모델보다 뛰어난 성능을 발휘하며, Bedrock의 차세대 추론 엔진을 통해 기업급 인프라와 보안성을 보장합니다. 사용자는 이를 통해 복잡한 모호성을 해결하고 더 정교한 자율적 문제 해결 능력을 워크플로우에 도입할 수 있습니다. ### Claude Opus 4.7의 주요 성능 향상 - **에이전트 코딩 능력**: 자율적인 시스템 엔지니어링 및 복잡한 코드 추론 능력이 대폭 강화되었습니다. SWE-bench Verified(87.6%)와 Terminal-Bench 2.0(69.4%) 등 주요 벤치마크에서 업계 최고 수준의 성적을 기록했습니다. - **고도화된 지식 업무**: 금융 분석 및 다단계 연구 워크플로우에 최적화되었습니다. 모호한 요청에 대해 합리적인 가정을 스스로 세우고 출력을 자가 검증(Self-verify)함으로써 첫 단계부터 높은 품질의 결과물을 생성합니다. - **장기 작업 및 컨텍스트 처리**: 100만 토큰의 넓은 컨텍스트 윈도우 전체에서 일관성을 유지합니다. 긴 호흡의 작업 중에도 목표를 벗어나지 않고 모호한 상황을 추론하며 안정적으로 과업을 수행합니다. - **시각 지각 능력 강화**: 고해상도 이미지를 지원하여 차트, 밀집된 텍스트 문서, 정밀한 화면 UI 등 미세한 디테일이 중요한 시각 자료 분석 정확도가 개선되었습니다. ### 차세대 추론 엔진과 엔터프라이즈 보안 - **동적 용량 할당**: 새로운 스케줄링 및 확장 로직을 도입하여 워크로드 수요에 따라 용량을 동적으로 할당합니다. 이는 서비스 가용성을 높이고 급격한 트래픽 증가에도 유연하게 대응하게 해줍니다. - **제로 오퍼레이터 액세스**: 고객의 프롬프트와 응답 데이터에 대해 Anthropic이나 AWS 운영자가 접근할 수 없도록 설계되어, 민감한 데이터를 다루는 기업의 프라이버시를 철저히 보호합니다. - **효율적인 수요 관리**: 수요가 급증하는 시기에는 요청을 즉시 거절하는 대신 큐(Queue)에 대기시켜 처리합니다. 기본적으로 리전당 계정별 분당 최대 10,000건(RPM)의 요청을 즉시 처리할 수 있는 성능을 제공합니다. ### 개발자 편의 기능 및 활용 방법 - **적응형 사고(Adaptive Thinking)**: 요청의 복잡도에 따라 모델이 스스로 '사고 토큰(Thinking tokens)' 예산을 동적으로 할당합니다. 이를 통해 복잡한 논리 구성이 필요한 질문에 대해 더 깊은 추론 과정을 거칠 수 있습니다. - **다양한 API 선택지**: 대화형 인터페이스를 위한 Converse API, 직접 제어가 가능한 Invoke API, 그리고 Anthropic SDK를 통한 Messages API 등을 지원하여 기존 환경에 쉽게 통합할 수 있습니다. - **즉각적인 시작**: Amazon Bedrock 콘솔의 플레이그라운드에서 바로 테스트할 수 있으며, OpenAI 호환 API를 사용하거나 AWS CLI를 통해 프로그래밍 방식으로 모델을 호출하는 것도 가능합니다. 현재 Claude Opus 4.7은 미국 동부(버지니아 북부), 아시아 태평양(도쿄), 유럽(아일랜드, 스톡홀름) 리전에서 즉시 사용할 수 있습니다. 복잡한 코딩 에이전트를 구축하거나 고도의 추론이 필요한 엔터프라이즈 애플리케이션을 개발 중이라면, 이전 버전인 4.6에서 프롬프트를 미세 조정하여 Opus 4.7의 향상된 성능을 극대화해 보시기 바랍니다.

Cloudflare의 AI 플랫폼: 에이전트를 위해 설계된 추론 레이어 (새 탭에서 열림)

클라우드플레어는 AI 에이전트 개발의 복잡성을 해결하기 위해 여러 제공업체의 모델을 하나의 인터페이스로 통합한 '통합 추론 계층(Unified Inference Layer)'을 선보였습니다. 개발자는 단 한 줄의 코드 수정만으로 70개 이상의 다양한 모델을 교체하며 사용할 수 있으며, 이를 통해 비용 관리, 신뢰성 확보, 레이턴시 최적화 문제를 동시에 해결할 수 있습니다. 특히 여러 모델을 체이닝하여 사용하는 에이전트 환경에서 발생하기 쉬운 연쇄적 실패와 성능 저하를 방지하는 데 최적화되어 있습니다. **단일 엔드포인트를 통한 모델 통합 관리** * `AI.run()` 바인딩을 통해 Workers AI뿐만 아니라 OpenAI, Anthropic, Google 등 12개 이상의 제공업체가 제공하는 모델을 동일한 방식으로 호출할 수 있습니다. * 코드 한 줄로 모델을 교체할 수 있어 특정 서비스 제공업체에 종속되는 현상(Vendor lock-in)을 방지하고 유연한 아키텍처를 유지합니다. * 텍스트 모델 외에도 이미지, 비디오, 음성 등 멀티모달 모델 지원이 확대되어 복합적인 애플리케이션 구축이 가능해졌습니다. * REST API 지원을 통해 Workers 외부 환경에서도 클라우드플레어의 전체 모델 카탈로그에 접근할 수 있습니다. **중앙 집중식 비용 분석 및 사용량 모니터링** * AI Gateway를 통해 여러 제공업체에 분산된 AI 사용량과 지출 비용을 한곳에서 통합 모니터링할 수 있습니다. * 요청 시 커스텀 메타데이터를 포함할 수 있어, 유료/무료 사용자별 또는 특정 워크플로우별로 정밀한 비용 분석이 가능합니다. * 통합된 크레딧 시스템을 통해 여러 업체와의 개별 결제 번거로움 없이 AI 자원을 효율적으로 관리할 수 있습니다. **사용자 정의 모델 지원 (Bring Your Own Model)** * Replicate의 Cog 기술을 활용하여 사용자가 직접 파인튜닝하거나 최적화한 모델을 컨테이너화하여 Workers AI에서 실행할 수 있습니다. * `cog.yaml`과 Python 스크립트를 통해 복잡한 CUDA 의존성이나 라이브러리 설정을 추상화하여 배포 과정을 간소화했습니다. * GPU 스냅샷(GPU Snapshotting) 기술을 적용하여 커스텀 모델의 고질적인 문제인 콜드 스타트(Cold Start) 시간을 획기적으로 단축할 예정입니다. **에이전트 성능 및 신뢰성 최적화** * 전 세계 330개 이상의 도시에 분포한 엣지 네트워크를 활용하여 사용자와 추론 엔드포인트 간의 거리를 좁히고, 첫 번째 토큰 생성 시간(TTFT)을 최소화합니다. * 업스트림 서비스 장애 시 자동 재시도(Automatic Retries) 기능을 제공하여 에이전트의 다단계 작업 연쇄가 중단되지 않도록 보장합니다. * 상세한 로깅 제어 기능을 통해 복잡한 에이전트 추론 과정의 병목 현상을 투명하게 진단하고 최적화할 수 있습니다. 다양한 AI 모델을 조합하여 고성능 에이전트를 구축하려는 개발자라면, 클라우드플레어의 통합 추론 계층을 통해 운영 부담을 줄이고 서비스의 확장성과 안정성을 동시에 확보할 것을 권장합니다.

초거대 언어 모델 구동을 위한 기반 구축 (새 탭에서 열림)

Cloudflare의 Workers AI는 Kimi K2.5와 같은 초대형 언어 모델(LLM)을 효율적으로 구동하기 위해 소프트웨어와 하드웨어의 균형을 맞춘 최적화된 인프라를 구축하고 있습니다. 특히 에이전트 기반 서비스에서 발생하는 긴 컨텍스트와 반복되는 입력을 처리하기 위해 입력(Prefill)과 출력(Decode) 단계를 분리하고 캐싱 효율을 극대화하는 전략을 취했습니다. 이를 통해 기존 대비 추론 속도를 3배 향상시키고 지연 시간의 변동성을 대폭 줄이는 성과를 거두었습니다. ### Prefill과 Decode 단계의 분리 (PD Disaggregation) * LLM 추론의 두 단계인 'Prefill'(입력 토큰 처리, 연산 중심)과 'Decode'(출력 토큰 생성, 메모리 대역폭 중심)를 별도의 서버에서 독립적으로 수행하도록 아키텍처를 설계했습니다. * 단일 GPU에서 두 단계가 서로를 방해(Blocking)하며 자원 효율을 떨어뜨리는 문제를 해결하여 GPU 활용도를 극대화했습니다. * 토큰 인식 부하 분산(Token-aware load balancing) 기술을 적용해 각 서버의 처리량을 실시간으로 추정하고 부하를 균등하게 배분합니다. * 이 구조를 통해 첫 토큰 생성 시간(TTFT)의 편차를 줄이고, 토큰 당 생성 시간을 기존 100ms에서 20~30ms 수준으로 개선했습니다. ### 프롬프트 캐싱 및 세션 어피니티 (Prompt Caching) * 에이전트형 서비스의 특성상 시스템 프롬프트나 이전 대화 기록 등 반복되는 긴 입력이 많다는 점에 착안하여 프롬프트 캐싱을 최적화했습니다. * `x-session-affinity` 헤더를 도입하여 동일한 세션의 요청이 이전 입력 텐서가 계산된 리전으로 라우팅되도록 유도했습니다. * 이러한 세션 고정 라우팅을 통해 피크 시간대 입력 토큰 캐시 히트율을 60%에서 80%까지 끌어올렸으며, 전체적인 처리량을 크게 향상시켰습니다. * 사용자가 캐싱을 적극적으로 활용하도록 캐시된 토큰에 대해 할인된 가격을 제공하는 경제적 유인책을 병행합니다. ### KV 캐시 최적화 및 Mooncake 엔진 활용 * 초대형 모델은 여러 GPU에 걸쳐 실행되므로, GPU 간에 KV 캐시(입력 텐서 저장 공간)를 효율적으로 공유하는 것이 필수적입니다. * Moonshot AI의 'Mooncake' 전송 엔진을 활용해 NVLink 및 NVMe over Fabric과 같은 RDMA 프로토콜 기반의 직접 메모리 전송을 구현, CPU 개입 없이 데이터를 빠르게 전달합니다. * LMCache 및 SGLang HiCache를 사용하여 클러스터 내 모든 노드가 캐시를 공유하므로, 특정 노드에 종속되지 않고 캐시를 재사용할 수 있습니다. * 캐시 저장소를 GPU VRAM에서 NVMe 스토리지로 확장하여 세션 유지 시간을 늘리고 더 많은 트래픽을 효율적으로 수용합니다. ### 결론 및 제언 Cloudflare Workers AI에서 대규모 모델을 사용하는 개발자라면 `x-session-affinity` 헤더를 반드시 사용하여 프롬프트 캐싱 혜택을 받는 것이 권장됩니다. 이는 단순한 속도 향상을 넘어 토큰 비용 절감으로 이어지며, 특히 긴 대화 맥락을 유지해야 하는 AI 에이전트 서비스에서 성능 차이를 만드는 핵심 요소가 됩니다.

AI 검색: 에이전트를 위한 검색 프리미티브 (새 탭에서 열림)

Cloudflare가 출시한 **AI Search**(구 AutoRAG)는 AI 에이전트가 방대한 데이터에서 필요한 정보를 제때 찾을 수 있도록 돕는 플러그 앤 플레이 방식의 검색 기본 요소(primitive)입니다. 개발자가 벡터 인덱스 구축, 데이터 파싱, 청킹, 동기화 로직을 직접 구현할 필요 없이 에이전트별로 독립적인 검색 인스턴스를 동적으로 생성하고 관리할 수 있게 해줍니다. 이 서비스는 하이브리드 검색과 관리형 스토리지를 결합하여 복잡한 인프라 설정 없이도 고성능 RAG(검색 증강 생성) 시스템을 구축할 수 있는 환경을 제공합니다. ### 하이브리드 검색과 결과 통합 * 단일 쿼리로 시맨틱 매칭(벡터 검색)과 키워드 매칭(BM25)을 동시에 수행합니다. * 벡터 검색과 키워드 검색이 병렬로 실행되며, 두 결과를 지능적으로 결합하여 최적의 검색 순위를 도출합니다. * 현재 Cloudflare의 공식 블로그 검색 엔진에도 이 기술이 적용되어 실질적인 성능을 증명하고 있습니다. ### 관리형 스토리지와 동적 인스턴스 관리 * 각 검색 인스턴스는 R2 기반의 자체 스토리지와 Vectorize 인덱스를 내장하고 있어, 외부 데이터 소스 연결이나 버킷 설정 없이 API를 통해 파일을 직접 업로드하고 인덱싱할 수 있습니다. * `ai_search_namespaces` 바인딩을 통해 Worker 실행 중에 런타임에서 인스턴스를 동적으로 생성하거나 삭제할 수 있습니다. * 이를 통해 고객별, 언어별, 또는 에이전트별로 개별 검색 컨텍스트를 즉시 할당할 수 있어 멀티테넌시(Multi-tenancy) 환경 구축이 용이합니다. * 문서에 메타데이터를 첨부하여 쿼리 시 특정 필드(예: 타임스탬프)를 기준으로 가중치를 조절(Boosting)하거나, 한 번의 호출로 여러 인스턴스를 동시에 검색하는 기능을 지원합니다. ### 고객 지원 에이전트에서의 실전 활용 * 공통 제품 문서(Shared Docs)와 개별 고객의 과거 상담 이력(Per-customer History)을 분리하여 관리할 수 있습니다. * 새로운 고객이 유입될 때 `env.SUPPORT_KB.create()` 메서드를 호출하여 해당 고객 전용의 검색 인스턴스를 즉석에서 생성합니다. * 상담이 종료될 때마다 해결책 요약본을 해당 인스턴스에 저장함으로써, 에이전트가 과거의 실패한 해결책을 반복하지 않고 맥락에 맞는 답변을 하도록 유도합니다. * Agents SDK와 결합하여 LLM이 `search_knowledge_base` 같은 도구를 사용해 공통 지식과 개인화된 이력을 동시에 조회하고 판단할 수 있는 지능형 워크플로우를 구현합니다. 복잡한 검색 파이프라인 구축에 시간을 쏟는 대신 AI Search를 활용하면 에이전트의 핵심 로직과 사용자 경험에 더 집중할 수 있습니다. 특히 멀티테넌트 SaaS 환경이나 사용자별 장기 기억(Memory)이 필요한 에이전트를 개발 중이라면, Cloudflare의 AI Search와 Agents SDK를 결합하여 인프라 부담 없이 확장 가능한 시스템을 구축해 보기를 권장합니다.

PlanetScale + Workers로 Postgres 및 MySQL 데이터베이스 배포하기 (새 탭에서 열림)

Cloudflare와 PlanetScale의 파트너십 강화를 통해 이제 Cloudflare Workers 사용자는 Postgres 및 MySQL 데이터베이스를 Cloudflare 대시보드 내에서 직접 생성하고 관리할 수 있게 되었습니다. 데이터베이스 사용료는 Cloudflare 계정으로 통합 청구되며, Cloudflare 스타트업 프로그램 크레딧이나 약정된 지불액(Committed Spend) 또한 PlanetScale 데이터베이스 결제에 활용 가능합니다. 이를 통해 개발자들은 별도의 인프라 관리 부담 없이 강력한 관계형 데이터베이스를 Cloudflare 생태계 안에서 완벽하게 통합하여 사용할 수 있습니다. **Cloudflare 대시보드를 통한 데이터베이스 통합 관리** - 사용자는 Cloudflare 대시보드 및 API를 통해 PlanetScale의 Postgres와 MySQL 데이터베이스를 즉시 배포할 수 있습니다. - 데이터베이스 사용 비용이 Cloudflare 청구서에 통합되어 단일한 결제 시스템으로 관리되므로, 셀프 서비스 및 엔터프라이즈 고객의 운영 효율성이 높아집니다. - pgvector와 같은 확장 기능을 지원하는 Postgres와 대규모 확장성을 제공하는 Vitess 기반 MySQL을 선택하여 애플리케이션 요구사항에 맞게 구성할 수 있습니다. **Hyperdrive를 활용한 고성능 연결 환경** - Cloudflare의 데이터베이스 연결 서비스인 Hyperdrive가 기본 통합되어 PlanetScale 데이터베이스와 Workers를 효율적으로 연결합니다. - Hyperdrive는 데이터베이스 커넥션 풀링(Connection Pooling)과 쿼리 캐싱을 자동으로 수행하여 쿼리 성능과 안정성을 대폭 향상합니다. - 개발자는 `wrangler.jsonc` 설정 파일에 간단한 바인딩 정보를 추가하고, 표준 Postgres 클라이언트(예: `pg` 라이브러리)를 사용하여 즉시 SQL 쿼리를 실행할 수 있습니다. **Smart Placement를 이용한 네트워크 지연 시간 단축** - Workers의 'Placement' 힌트 기능을 사용하여, Worker가 PlanetScale 데이터베이스와 가장 가까운 Cloudflare 데이터 센터에서 실행되도록 설정할 수 있습니다. - 기본적으로 Workers는 사용자 위치에서 실행되지만, 중앙 집중식 데이터베이스를 사용할 때는 DB 서버 근처에서 실행되도록 조정함으로써 네트워크 레이턴시를 획기적으로 줄일 수 있습니다. - 향후에는 데이터베이스 위치에 따라 자동으로 실행 위치를 최적화하여 지연 시간을 한 자릿수 밀리초(ms) 단위로 단축하는 기능이 제공될 예정입니다. 현재 Cloudflare 대시보드에서 PlanetScale 데이터베이스를 바로 연결하여 사용할 수 있으며, 다음 달부터는 Cloudflare를 통한 통합 결제가 정식으로 시작됩니다. 고성능 풀스택 애플리케이션 구축을 고려 중이라면, 전 세계 어디서나 빠른 응답 속도를 보장하는 Cloudflare Workers와 PlanetScale의 결합을 적극 활용해 보시기 바랍니다.

아티팩트: Git 방식으로 작동하는 버전 관리 저장소 (새 탭에서 열림)

AI 에이전트가 생성하는 코드와 데이터의 양이 기하급수적으로 증가함에 따라, 기존의 소스 제어 플랫폼은 인간의 작업 속도를 상회하는 대규모 수요를 감당하기 어려워지고 있습니다. Cloudflare는 이러한 문제를 해결하기 위해 AI 에이전트 중심의 분산 버전 관리 파일 시스템인 'Artifacts'를 출시했습니다. Artifacts는 익숙한 Git 프로토콜을 기반으로 하면서도 API를 통해 수백만 개의 리포지토리를 프로그래밍 방식으로 즉시 생성하고 제어할 수 있는 새로운 저장소 프리미티브를 제공합니다. ### AI 에이전트에 최적화된 Git 인터페이스 * AI 모델들이 이미 학습 데이터로 익숙하게 습득한 Git 프로토콜을 그대로 사용하여, 별도의 CLI나 기술 전파 없이도 에이전트가 즉시 소스 제어를 수행할 수 있습니다. * 에이전트 세션마다 독립적인 리포지토리를 할당하거나, 특정 시점에서 수만 개의 포크(Fork)를 생성하여 병렬적으로 작업을 수행하는 것이 가능합니다. * 서버리스 환경과 같이 표준 Git 클라이언트를 사용하기 어려운 곳을 위해 REST API와 네이티브 Workers API를 별도로 제공하여 커밋과 자격 증명 관리를 단순화합니다. ### 단순 소스 제어를 넘어선 상태 관리 도구 * Git의 데이터 모델을 코드 저장뿐만 아니라 세션 프롬프트 히스토리, 샌드박스 상태, 사용자별 설정(Config) 등 시간 흐름에 따른 상태 추적이 필요한 모든 곳에 활용합니다. * Cloudflare 내부적으로는 에이전트 세션마다 Artifacts 리포지토리를 할당하여, 블록 스토리지 없이도 파일 시스템 상태를 영구 저장하고 특정 시점으로의 타임트래블(복구) 기능을 구현하고 있습니다. * 세션 자체를 포크(Fork)하여 동료와 공유하거나, 특정 실험 단계에서부터 다시 작업을 시작하는 등의 협업 워크플로우를 데이터 계층에서 지원합니다. ### Durable Objects와 Zig 기반의 고성능 아키텍처 * Cloudflare의 Durable Objects를 기반으로 설계되어 수천만 개의 독립적인 상태 저장 인스턴스를 확장성 있게 관리할 수 있습니다. * 런타임 효율성을 극대화하기 위해 Git 구현체를 Zig 언어로 작성한 뒤 WebAssembly(Wasm)로 컴파일하여 Cloudflare Workers 환경에서 가볍고 빠르게 동작하도록 구축했습니다. * 기존 외부 Git 저장소(예: GitHub)에서 데이터를 가져오는 `.import()` 기능과 읽기 전용 포크 생성 기능을 통해 복잡한 코드 베이스 위에서도 에이전트가 안전하게 독립적인 작업을 수행할 수 있도록 돕습니다. AI 에이전트가 주도하는 소프트웨어 개발 환경을 구축하고 있다면, Artifacts는 대규모 상태 관리와 버전 제어를 위한 가장 강력한 인프라가 될 것입니다. 현재 유료 Workers 플랜 사용자를 대상으로 프라이빗 베타를 진행 중이며, 5월 초 공개 베타 전환이 예정되어 있으므로 에이전트 세션 관리나 동적 환경 구축이 필요한 팀은 도입을 적극 검토해 보시기 바랍니다.

신뢰 연습: 신뢰를 구축하기 위해 필요한 것 (새 탭에서 열림)

교육 현장에서 AI 도입의 핵심은 단순한 기술적 성능이 아닌 '신뢰'의 문제이며, 이 신뢰는 각 교육 단계의 책임 구조에 따라 다르게 정의됩니다. K-12와 고등교육 기관은 AI에 대해 서로 다른 위험 요소를 우선시하므로, 신뢰 형성을 위해서는 각기 다른 책임 모델에 맞춘 맥락 중심적인 접근이 필수적입니다. 단순히 보편적인 투명성을 제공하는 것을 넘어, 실질적인 책임 소재를 명확히 하고 각 교육자의 전문성을 존중하는 파트너십이 AI 거버넌스의 성패를 결정합니다. ## K-12 환경에서의 신뢰: 관리와 보호 (Stewardship) * K-12 단계에서 신뢰는 학생의 안전, 학부모의 기대, 그리고 학교의 '보호자적 의무'와 밀접하게 연결되어 있습니다. * 관리자와 교육자들은 AI 시스템이 학생을 안전하게 보호할 수 있는지, 그리고 예기치 못한 문제가 발생했을 때 기관을 방어할 수 있는지를 가장 중요하게 평가합니다. * 이 맥락에서 신뢰는 집단적이고 제도적인 성격을 띠며, 명확한 가이드라인과 책임 공유 모델이 제시될 때 강화됩니다. 반대로 데이터나 책임 소재가 모호할 경우 기술적 완성도와 상관없이 신뢰는 즉각적으로 무너집니다. ## 고등교육에서의 신뢰: 자율성과 전문성 (Autonomy & Credibility) * 대학 등 고등교육 기관에서 신뢰는 학문적 정직성, 저술 권한, 지적 소유권과 같은 개인적이고 전문적인 영역에 집중됩니다. * 교수진은 AI 도구가 학자이자 교육자로서의 자신의 역할을 지원하는지, 아니면 자신의 전문적 판단과 권위를 훼손하는지를 핵심 척도로 삼습니다. * K-12에서 안도감을 주던 강력한 통제나 보호 장치가 고등교육 환경에서는 오히려 자율성을 침해하는 위협으로 인식될 수 있다는 점에서 교육 단계별로 다른 접근이 필요합니다. ## 교육자들이 요구하는 실질적인 명확성 * 모든 교육 단계에서 공통적으로 요구하는 것은 단순한 위로나 안심이 아니라, 시스템 작동 방식에 대한 구체적인 '명확성'입니다. * 교육자들은 AI가 실제로 무엇을 수행하는지, 오류 발생 시 누가 책임을 지는지, 그리고 자신의 전문적 판단과 학생들의 학습 결과물에 어떤 영향을 미치는지를 알고자 합니다. * 투명성이나 설명 가능성 같은 추상적인 원칙보다, 교육자가 현장에서 마주하는 실제적인 책임과 시스템의 기능을 일치시키는 것이 신뢰 구축의 핵심입니다. ## 맥락 인식을 통한 AI 거버넌스 구축 * 신뢰는 한 번 설계하여 일괄적으로 배포할 수 있는 기능이 아니며, 각 교육 단계의 역할과 위험 요소에 민감하게 반응하는 '맥락 인식형(Context-aware)' 설계가 필요합니다. * 성공적인 AI 거버넌스를 구축하는 기관들은 기술적 결정을 내릴 때 그것이 기관의 가치를 어떻게 반영하는지, 그리고 누구를 신뢰하고 있는지를 대외적으로 명확히 전달합니다. * 결론적으로 AI 플랫폼과 파트너들은 교육 현장의 복잡성을 단순화하기보다 이를 존중하고, 사용자가 자신의 역할에 대해 느끼는 책임감을 기술 디자인에 반영해야 합니다.

Cloudflare Email Service: now in public beta. Ready for your agents (새 탭에서 열림)

Cloudflare Email Service가 퍼블릭 베타로 전환되며, AI 에이전트가 이메일을 주요 인터페이스로 활용할 수 있는 포괄적인 인프라를 제공합니다. 개발자는 이 서비스를 통해 별도의 API 키 관리나 복잡한 인증 설정 없이 Workers 내에서 직접 이메일을 수신, 처리 및 전송할 수 있는 환경을 구축할 수 있습니다. 결과적으로 이메일은 단순한 알림 수단을 넘어, 에이전트가 비동기적으로 복잡한 작업을 수행하고 사용자와 소통하는 독립적인 실행 채널로 진화하게 되었습니다. ### 이메일 전송 기능의 퍼블릭 베타 전환과 편의성 * **네이티브 Workers 바인딩:** Workers 내에서 `env.EMAIL.send`와 같은 간단한 코드로 이메일을 즉시 발송할 수 있으며, 복잡한 API 키나 시크릿 관리가 필요 없습니다. * **다양한 환경 지원:** Workers뿐만 아니라 REST API를 비롯해 TypeScript, Python, Go 언어용 SDK를 통해 어떤 플랫폼에서든 이메일 발송 기능을 연동할 수 있습니다. * **자동화된 도메인 인증:** 이메일 도달률의 핵심인 SPF, DKIM, DMARC 레코드를 Cloudflare가 자동으로 구성하여, 보낸 메일이 스팸으로 분류되지 않도록 관리합니다. * **글로벌 네트워크 활용:** Cloudflare의 전 세계적인 네트워크를 통해 지연 시간을 최소화하며 안정적인 전송 성능을 보장합니다. ### 이메일 기반 에이전트(Agentic Email)로의 진화 * **비동기적 작업 수행:** 실시간으로 즉시 응답해야 하는 챗봇과 달리, 에이전트는 이메일을 수신한 후 데이터를 처리하고 외부 시스템을 조회하는 등 장시간의 작업을 독립적으로 수행한 뒤 결과를 회신할 수 있습니다. * **Agents SDK 연동:** Agents SDK의 `onEmail` 훅을 사용하면 수신된 이메일을 기반으로 에이전트의 상태를 업데이트하거나 비동기 워크플로우를 트리거하는 것이 용이합니다. * **주소 기반 라우팅:** 특정 이메일 주소(예: support@example.com)를 특정 에이전트 인스턴스에 연결하는 주소 기반 리졸버를 통해 복잡한 로직 없이도 개별 에이전트에게 작업을 배분할 수 있습니다. ### 에이전트 구축을 위한 통합 툴킷 제공 * **새로운 도구 지원:** 효율적인 개발을 위해 Wrangler CLI용 이메일 명령어와 에이전트용 Email MCP(Model Context Protocol) 서버를 새롭게 도입했습니다. * **레퍼런스 앱 활용:** 오픈 소스로 공개된 'Agentic Inbox' 레퍼런스 앱을 통해 에이전트 전용 편지함과 워크플로우를 어떻게 구성하는지 구체적인 가이드를 얻을 수 있습니다. * **양방향 이메일 자동화:** 기존의 Email Routing(수신)과 신규 Email Sending(발신)을 결합하여, Cloudflare 플랫폼 내에서 이메일의 수신-처리-응답으로 이어지는 완전한 자동화 파이프라인을 완성했습니다. 기존의 복잡한 서드파티 이메일 API 연동이나 SMTP 설정에서 벗어나고 싶은 개발자에게 이번 퍼블릭 베타는 훌륭한 대안이 될 것입니다. 특히 고객 지원 시스템이나 인보이스 처리와 같이 비동기적인 워크플로우가 필수적인 AI 에이전트를 개발 중이라면, Cloudflare의 통합 개발 플랫폼을 활용해 인프라 관리 부담을 획기적으로 줄여보시길 추천합니다.

Apache Flink + RocksDB 튜닝으로 광고 Frequency Capping 실시간 집계를 일주일까지 확장하기 (새 탭에서 열림)

토스 데이터 서비스 플랫폼 팀은 광고 노출 집계의 정확성을 높이고 서빙 효율을 개선하기 위해, 기존 Airflow 배치와 Flink 스트리밍이 혼재된 시스템을 전면 Flink 기반의 실시간 슬라이딩 집계 시스템으로 전환했습니다. 1분부터 7일까지의 광범위한 집계 구간을 단일 Redis 조회로 제공하기 위해 집계 특성별로 Flink 앱을 분리하고, RocksDB 및 런타임 설정을 최적화하여 비즈니스 오차를 최소화했습니다. 이 과정에서 대규모 상태(State) 관리와 초기 데이터 적재의 정합성 문제를 해결하며 운영 신뢰성을 확보했습니다. ### 광고 노출 제어(Frequency Capping)의 중요성 * 광고주 예산 낭비를 막고 노출 기회 손실을 방지하기 위해 사용자별 광고 노출 횟수를 정확하게 카운트하고 제어하는 메커니즘입니다. * 광고 상품에 따라 '하루 3회', '7일간 1회' 등 집계 구간이 다양하므로, 1분부터 7일까지의 모든 구간에 대해 이벤트 단위의 정밀한 슬라이딩 윈도우 집계가 필요합니다. ### 기존 시스템의 한계와 개선 동기 * 기존에는 Airflow를 이용해 당일(Head), 과거(Mid), 경계 보정(Tail)의 3단계로 나누어 처리하는 배치 구조를 사용했으나, 유지보수해야 할 DAG가 너무 많고 구조가 복잡했습니다. * 서빙 시점에 구간별로 Redis를 최대 4회 조회해야 하는 구조적 번거로움이 있었으며, 실시간으로 변하는 슬라이딩 윈도우를 정밀하게 구현하는 데 한계가 있었습니다. ### 병목 패턴에 따른 앱 분리 및 아키텍처 * 집계 구간별 병목 현상이 다르다는 점에 착안하여 시스템을 **Minutes**(1~30분), **Hours**(최대 12시간), **Days**(최대 7일)의 3개 앱으로 분리했습니다. * **Minutes**: 빈번한 만료 처리로 인한 Write Stall이 주요 병목이며, RocksDB Write 경로 튜닝이 핵심입니다. * **Hours**: 대량의 광고 ID 누적으로 인한 Filter Block Cache Miss와 CPU 포화가 발생하여 Managed Memory 증설이 필요합니다. * **Days**: Savepoint가 230GB에 달하는 대규모 상태가 병목이며, Checkpoint I/O 문제를 해결하기 위해 Changelog State Backend를 활용합니다. * Flink State를 '단일 진실 공급원(SSOT)'으로 삼아, 장애 발생 시에도 Redis를 State로부터 언제든 다시 구성할 수 있도록 설계했습니다. ### 초기 적재와 전환 정합성 확보 * 7일치의 과거 데이터를 채우는 과정에서 '백필(카운트만 수행)'과 '캐치업(카운트와 만료 타이머 함께 등록)' 파이프라인을 분리하는 2단계 구조를 설계했습니다. * 백필 도중 만료 타이머가 미리 발화하여 집계가 틀어지는 문제를 방지하기 위해, 백필 완료 후 특정 시점부터만 Redis에 쓰기가 수행되도록 제어했습니다. * `withIdleness` 설정을 통해 특정 파티션의 지연이 전체 Watermark 진행을 막지 않도록 하고, `timerState`의 TTL을 윈도우보다 길게 설정해 지연 상황에서도 감소 로직이 누락되지 않도록 보장했습니다. ### RocksDB와 런타임 최적화 * **Minutes 앱**: Write Buffer Manager(WBM) 압박을 완화하여 RocksDB가 쓰기를 멈추는 Write Stall 현상을 방지했습니다. * **Hours 앱**: Bloom Filter 및 메모리 설정을 통해 캐시 미스를 줄여 CPU 효율을 높였습니다. * **Days 앱**: 거대한 SST 파일로 인한 체크포인트 부하를 줄이기 위해 레벨 최적화와 Changelog 메커니즘을 적용했습니다. 대규모 데이터를 다루는 실시간 집계 시스템에서는 모든 구간을 하나의 설정으로 처리하기보다, 데이터의 규모와 병목 지점에 따라 앱을 분리하고 각기 다른 RocksDB 튜닝 전략을 적용하는 것이 운영 안정성 측면에서 효과적입니다. 또한, 상태(State)를 시스템의 최상위 데이터 원천으로 관리하는 원칙을 지킬 때 장애 복구와 데이터 정합성 유지가 훨씬 용이해집니다.

GitHub Copilot CLI로 개인용 정리 커맨드 센터 구축하기 (새 탭에서 열림)

GitHub의 개발자 애드보커시 시니어 디렉터인 Cassidy는 소프트웨어 구축과 스타트업 자문, 그리고 개발자 교육을 통해 더 나은 개발 생태계를 만드는 데 주력하고 있습니다. 그녀는 기술적 리더십을 발휘하는 동시에 커뮤니티와 긴밀히 소통하며 개발자들이 실무 능력을 향상시킬 수 있는 다양한 자원을 제공합니다. 결론적으로 Cassidy는 지속적인 학습과 실전 문제 풀이를 통해 개발자가 기술적으로 성장할 수 있는 환경을 조성하는 데 기여하고 있습니다. **GitHub에서의 리더십과 개발자 지원** * GitHub의 개발자 애드보커시(Developer Advocacy) 시니어 디렉터로서 개발자들의 기술적 성장을 돕는 전략을 수립하고 실행합니다. * 단순히 소프트웨어를 개발하는 것에 그치지 않고, 스타트업을 대상으로 기술적 자문을 제공하며 업계 전반의 기술 역량을 높이는 데 집중합니다. **지속적 성장을 위한 교육 및 뉴스레터 운영** * 개인 뉴스레터(cassidoo.co)를 매주 발행하여 개발자들에게 최신 기술 업데이트와 실무 지식을 전달합니다. * 뉴스레터에는 정기적인 코딩 연습 문제와 유머를 포함하여, 개발자들이 즐겁게 학습하고 기술적 예리함을 유지할 수 있도록 돕습니다. 개발자로서 기술적 역량을 꾸준히 유지하고 최신 동향을 파악하고 싶다면, Cassidy의 뉴스레터를 구독하여 정기적인 코딩 연습과 커뮤니티 인사이트를 얻어보는 것을 추천합니다.

Browser Run: 에이전트에게 브라우저를 제공하세요 (새 탭에서 열림)

Cloudflare는 기존의 'Browser Rendering' 서비스를 'Browser Run'으로 재브랜딩하며 AI 에이전트가 웹과 상호작용하는 데 최적화된 강력한 브라우징 인프라를 공개했습니다. 이 서비스는 Cloudflare의 글로벌 네트워크에서 전체 브라우저 세션을 실행하고, 에이전트가 사이트 탐색, 데이터 추출, 폼 작성 등을 대규모로 수행할 수 있도록 지원합니다. 결과적으로 개발자는 인프라 관리 부담 없이 AI 에이전트에게 실시간 모니터링, 인간 개입, 세밀한 제어 기능을 갖춘 브라우저를 제공할 수 있게 되었습니다. **에이전트 중심의 확장된 브라우저 인프라** * **온디맨드 인스턴스 실행:** Cloudflare 글로벌 네트워크를 통해 헤드리스 크롬(Chrome) 인스턴스를 즉시 생성하며, 버전 관리나 서버 유지보수 없이 저지연 환경에서 브라우징 세션을 운영할 수 있습니다. * **대규모 동시성 지원:** 동시 실행 가능한 브라우저 한도를 기존 30개에서 120개로 대폭 늘려, 대량의 작업을 동시에 처리해야 하는 에이전트의 요구사항을 충족합니다. * **에이전트 SDK 결합:** Agents SDK와 연동하여 웹을 탐색하고 정보를 기억하며 자율적으로 행동하는 장기 실행(Long-running) 에이전트 구축이 가능합니다. **CDP 엔드포인트를 통한 정밀한 제어** * **직접적인 프로토콜 노출:** Chrome DevTools Protocol(CDP) 엔드포인트를 직접 노출하여 에이전트가 브라우저에 대해 최대 수준의 제어권을 가질 수 있게 합니다. * **효율적인 모델 통신:** Puppeteer나 Playwright 같은 고수준 라이브러리를 거치지 않고 원시 CDP 메시지를 모델에 직접 전달할 수 있어, 토큰 효율적인 브라우저 제어가 가능합니다. * **간편한 이관:** 기존에 자체 호스팅 크롬에서 실행하던 CDP 기반 자동화 스크립트를 코드 한 줄의 설정 변경(WebSocket URL 교체)만으로 Browser Run에서 실행할 수 있습니다. **실시간 모니터링과 인간 협업 기능** * **Live View:** 에이전트가 현재 무엇을 보고 어떤 동작을 하는지 실시간으로 확인하며, 작업 실패 시 원인을 즉각 파악할 수 있습니다. * **Human in the Loop:** 로그인이나 예상치 못한 예외 상황 발생 시 에이전트가 작업을 중단하는 대신 인간에게 제어권을 넘기고, 문제가 해결되면 다시 제어권을 받아 작업을 이어가는 워크플로우를 지원합니다. * **세션 녹화(Session Recordings):** DOM 변경, 사용자 상호작용, 페이지 탐색을 포함한 모든 세션을 녹화하여 사후 디버깅 및 분석에 활용할 수 있습니다. **생태계 확장 및 차세대 웹 표준 지원** * **MCP(Model Context Protocol) 지원:** Claude Desktop, Cursor, OpenCode와 같은 AI 코딩 에이전트들이 Browser Run을 원격 브라우저로 사용할 수 있도록 지원합니다. * **WebMCP 도입:** 웹사이트가 에이전트가 수행 가능한 액션을 직접 선언하게 함으로써, 인간 중심의 웹 구조에서 발생하던 에이전트의 탐색 오류를 줄이고 신뢰성을 높입니다. Cloudflare Browser Run은 단순한 브라우저 자동화 도구를 넘어 AI 에이전트의 '눈'과 '손' 역할을 하는 필수 인프라로 자리 잡고 있습니다. 특히 복잡한 로그인 처리나 실시간 디버깅이 필요한 에이전트 환경을 구축하려는 개발자에게 CDP 직접 노출과 Human-in-the-loop 기능은 매우 강력한 이점을 제공할 것입니다.

에이전트에 음성 추가하기 (새 탭에서 열림)

Cloudflare는 기존 Agents SDK에 실시간 음성 기능을 통합할 수 있는 실험적 라이브러리인 `@cloudflare/voice`를 공개했습니다. 이 도구를 사용하면 별도의 음성 전용 프레임워크로 옮길 필요 없이, 기존의 Durable Object 아키텍처와 WebSocket 연결 모델을 그대로 유지하면서 에이전트에 음성 인터페이스를 추가할 수 있습니다. 이를 통해 개발자는 텍스트와 음성 입력을 동일한 상태 공간에서 처리하고 SQLite를 통해 대화 이력을 영속적으로 관리하는 고도화된 음성 에이전트를 구축할 수 있게 됩니다. **@cloudflare/voice의 주요 구성 요소 및 기능** * **고차 에이전트 함수**: 전체 음성 대화를 지원하는 `withVoice(Agent)`와 음성을 텍스트로 변환하는 기능만 제공하는 `withVoiceInput(Agent)`을 통해 용도에 맞는 에이전트를 설계할 수 있습니다. * **React 및 클라이언트 지원**: React 앱에서 음성 상태와 전사 내용을 쉽게 관리할 수 있는 `useVoiceAgent`, `useVoiceInput` 훅과 프레임워크에 구애받지 않는 `VoiceClient`를 제공합니다. * **내장 Workers AI 제공자**: 외부 API 키 설정 없이도 즉시 시작할 수 있도록 Deepgram Flux 및 Nova 3(실시간 STT), Deepgram Aura(TTS) 등 Cloudflare Workers AI 기반의 엔진을 기본 지원합니다. * **개방형 인터페이스**: 특정 기술 스택에 종속되지 않도록 인터페이스를 작게 설계하여, 개발자가 필요에 따라 다양한 음성, 통신, 전송 계층 제공자를 선택하고 조합할 수 있습니다. **서버 및 클라이언트 구현 방식** * **서버 측 로직**: `Agent` 클래스를 `withVoice`로 감싸고, `onTurn()` 메서드 내에서 사용자 발화에 대한 응답 로직을 작성합니다. 이때 전사기(Transcriber)와 TTS 인스턴스를 설정에 추가하는 것만으로 음성 에이전트 서버가 완성됩니다. * **클라이언트 측 연결**: 단일 WebSocket을 통해 16kHz 모노 PCM 오디오 데이터를 스트리밍하며, 클라이언트 라이브러리는 통화 상태(status), 실시간 전사(transcript), 음소거(mute) 기능 등을 자동으로 관리합니다. * **통합 아키텍처**: 음성 기능이 추가되어도 동일한 Durable Object 인스턴스와 SQLite 기반의 대화 기록을 공유하므로, 기존 텍스트 기반 에이전트의 지식과 맥락을 그대로 활용할 수 있습니다. **실시간 음성 파이프라인의 작동 원리** * **지속적 전사 및 턴 감지**: 통화가 시작되면 에이전트는 지속적인 전사 세션을 생성하며, STT 모델이 사용자의 발화 종료 시점을 스스로 판단하여 안정적인 텍스트 결과(Turn)를 앱 로직에 전달합니다. * **문장 단위 스트리밍**: `onTurn()` 메서드가 텍스트 스트림을 반환하면, 파이프라인이 이를 문장 단위로 분할(Chunking)하여 각 문장이 준비되는 즉시 실시간으로 음성을 합성해 클라이언트로 전송합니다. * **데이터 영속성**: 모든 사용자 메시지와 에이전트의 응답은 SQLite 데이터베이스에 자동으로 기록되어, 네트워크 연결이 끊기거나 서버가 재배포되어도 끊김 없는 대화 경험을 보장합니다. 이 라이브러리는 음성 기능을 복잡한 별도의 서비스로 분리하지 않고 에이전트의 라이프사이클 내에 자연스럽게 통합했다는 점에서 매우 실용적입니다. 기존 Cloudflare Agents SDK를 사용 중인 개발자라면 추가적인 인프라 구축 없이 Workers AI의 성능을 활용해 지연 시간이 낮은 실시간 대화형 AI를 구축할 수 있으므로, 단순 텍스트 인터페이스를 넘어선 다중 모달(Multi-modal) 환경으로의 확장을 적극 고려해 보길 추천합니다.

Project Think: Cloudflare에서 차세대 AI 에이전트 구축하기 (새 탭에서 열림)

Cloudflare는 차세대 AI 에이전트 구축을 위한 새로운 프레임워크인 'Project Think'를 공개했습니다. 이 프로젝트는 단순한 도구 모음을 넘어 내구성 있는 실행(Durable execution), 하위 에이전트 관리, 샌드박스 코드 실행 등을 포함한 강력한 프리미티브(Primitives)를 제공하여 에이전트가 중단 없이 장시간 작업을 수행할 수 있도록 돕습니다. 이를 통해 기존 에이전트의 높은 유지 비용과 확장성 문제를 해결하고, 인프라 수준에서 스스로 사고하고 동작하는 에이전트 환경을 구축하는 것을 목표로 합니다. ### 기존 에이전트 모델의 한계와 확장성 문제 * **로컬 및 고비용 환경의 제약:** 현재의 코딩 에이전트들은 주로 개인 노트북이나 비싼 VPS에서 실행되어 기기 간 협업이나 상태 공유가 어렵고, 사용하지 않을 때도 고정적인 비용이 발생합니다. * **1대1 서비스 구조의 비효율성:** 일반적인 앱은 하나의 인스턴스가 다수의 사용자를 처리하지만, 에이전트는 사용자 한 명당 하나의 인스턴스가 할당되는 '개인 셰프'와 같은 구조를 가집니다. 이는 수천만 명의 사용자를 대응할 때 기존 컨테이너 기반 방식으로는 비용 감당이 불가능함을 의미합니다. * **관리의 복잡성:** 의존성 설치, 업데이트 관리, 비밀번호 및 아이디 설정 등 수동으로 관리해야 할 요소가 많아 대규모 배포에 걸림돌이 됩니다. ### Durable Objects 기반의 지속성 아키텍처 * **액터 모델(Actor Model) 채택:** Cloudflare의 Durable Objects를 기반으로 각 에이전트에 고유한 식별자와 자체 SQLite 데이터베이스를 부여합니다. * **비용 최적화:** 에이전트가 활동하지 않을 때는 휴면(Hibernation) 상태로 전환되어 컴퓨팅 비용이 발생하지 않으며, 이벤트(HTTP, 이메일, 알람 등)가 발생할 때만 즉시 깨어나 상태를 로드합니다. * **자동 확장성:** 별도의 용량 관리 없이 수만 개의 에이전트를 동시에 운영할 수 있으며, 각 에이전트는 독립적인 상태와 로직을 유지합니다. ### Project Think의 핵심 기술 프리미티브 * **Fibers를 이용한 내구성 있는 실행:** `runFiber()` 함수를 통해 실행 중인 작업을 SQLite에 등록하고, `stash()`로 체크포인트를 설정하여 시스템 충돌이나 재시작 후에도 중단된 지점부터 작업을 재개할 수 있습니다. * **샌드박스 및 동적 실행:** Dynamic Workers를 활용해 에이전트가 안전한 격리 환경 내에서 직접 코드를 작성하고 실행할 수 있도록 지원하며, 런타임에 필요한 npm 패키지를 직접 해결합니다. * **계층 구조의 에이전트:** 하위 에이전트(Sub-agents)를 생성하여 복잡한 작업을 분담할 수 있으며, 이들은 각자의 SQLite 데이터베이스와 타입화된 RPC를 통해 부모 에이전트와 통신합니다. * **지능형 세션 관리:** 트리 구조의 메시지 기록, 포킹(forking), 컴팩션 및 전문 검색 기능을 제공하여 에이전트가 과거의 맥락을 정확하게 파악하고 활용할 수 있게 합니다. 프로젝트 Think는 에이전트를 단순히 '실행되는 프로그램'이 아니라 '지속되는 인프라'로 격상시킵니다. 대규모 사용자에게 맞춤형 AI 비서를 저렴한 비용으로 제공하고자 하는 개발자라면, Cloudflare Agents SDK의 내구성 있는 실행 모델과 액터 기반 아키텍처를 도입하여 복구 가능하고 확장성 있는 에이전트 서비스를 설계해 보시기 바랍니다.

에이전틱 시대를 위한 워크플로 컨트롤 플레인 재설계 (새 탭에서 열림)

Cloudflare의 워크플로우(Workflows) 컨트롤 플레인 재설계 과정을 다룬 이 글은, 인간 중심의 트리거에서 AI 에이전트 중심의 고속 트리거로 변화하는 기술 환경에 대응하기 위한 아키텍처 전환을 설명합니다. 기존의 중앙 집중식 구조에서 발생하는 병목 현상을 해결하기 위해 수평적 확장이 가능한 새로운 컴포넌트를 도입하였으며, 이를 통해 동시 실행 인스턴스 수를 기존 대비 10배 이상인 50,000개까지 확장하는 데 성공했습니다. 결과적으로 에이전트가 생성하는 방대한 양의 워크로드를 안정적이고 탄력적으로 처리할 수 있는 기반을 마련했습니다. ### 에이전트 시대의 워크로드 변화와 새로운 요구사항 * **트리거 주체의 변화:** 과거에는 사용자의 회원가입이나 주문 등 인간의 행동에 의해 워크플로우가 시작되었으나, 현재는 자율적인 AI 에이전트가 기계적인 속도로 워크플로우를 생성합니다. * **지속성 및 내구성의 중요성:** 에이전트가 며칠 동안 작업을 수행하거나 인간의 승인을 기다리는 동안, 워크플로우는 각 단계를 독립적으로 재시도하고 실패 시에도 진행 상황을 유지하는 내구성이 필요합니다. * **폭발적인 인스턴스 생성:** 단일 에이전트 세션이 수십 개의 워크플로우를 생성하고 수천 개의 인스턴스가 동시에 실행되는 환경에 대응하기 위해 더 높은 처리량이 요구됩니다. ### V1 아키텍처의 한계: 중앙 집중형 구조의 병목 * **단일 Durable Object(DO) 의존:** 모든 계정 레벨의 정보와 인스턴스 관리를 'Account'라는 단일 Durable Object가 담당하여 병목 현상이 발생했습니다. * **확장성 제약:** 인스턴스 생성, 업데이트, 조회 등의 모든 작업이 하나의 DO를 거쳐야 했으므로, 동시 실행 4,500개 및 10초당 100개의 생성 제한이라는 물리적인 한계에 부딪혔습니다. * **상태 불일치 가능성:** 워크플로우를 큐에 넣기 전 실제 실행 엔진(Engine)의 생성 여부를 확인하는 로직이 부족하여 비정상적인 상태가 발생할 가능성이 있었습니다. ### V2 아키텍처: 수평적 확장을 위한 재설계 원칙 * **엔진 중심의 진실 공급원(Source of Truth):** 특정 인스턴스의 존재 여부에 대한 권한을 해당 인스턴스의 실행 엔진(Engine)에만 부여하여 의존성을 분산했습니다. * **메타데이터의 최소화:** 계정 수준의 싱글톤(Singleton) 객체는 최소한의 메타데이터만 저장하고, 요청 수에 관계없이 일정한 성능을 유지하도록 설계했습니다. * **새로운 컴포넌트 도입:** 'Account' DO의 부하를 분산하기 위해 메타데이터와 생명주기 관리를 보조하는 **SousChef**와 동시성 제어 및 액세스를 담당하는 **Gatekeeper**를 새롭게 구축했습니다. ### 향상된 성능 지표 및 확장된 한계치 * **동시 실행 인스턴스:** 기존 4,500개에서 **50,000개**로 대폭 상향되었습니다. * **인스턴스 생성 속도:** 계정당 초당 100개에서 **초당 300개**로 향상되었습니다. * **대기열 용량:** 워크플로우당 대기 중인 인스턴스 수가 100만 개에서 **200만 개**로 두 배 늘어났습니다. AI 에이전트가 주도하는 애플리케이션을 구축하는 개발자라면, 이제 인프라의 한계에 구애받지 않고 고도로 병렬화된 워크플로우를 설계할 수 있습니다. Cloudflare Workflows의 V2 컨트롤 플레인은 대규모 자동화 인프라를 위한 강력하고 탄력적인 토대를 제공합니다.