Community코딩 & 개발github.com

pertamaxxx/agents

Cloudflare Durable Objects를 사용하여 상태 저장형, 지속성 있는 에이전트 워크로드를 관리하여 효율적이고 확장 가능한 실시간 통신 및 스케줄링을 지원합니다.

agents란 무엇인가요?

이 스킬은 Cloudflare Durable Objects를 활용하여 상태 저장형 에이전트 워크로드를 관리하는 방법을 제공합니다. Durable Objects는 단일 인스턴스로 실행되며 강력한 일관성(coordination)을 제공하므로, 여러 사용자나 이벤트 간에 상태를 공유해야 하는 에이전트(예: 채팅 봇, 게임 서버, 협업 도구)에 이상적입니다. 이 스킬을 통해 에이전트는 웹소켓을 통한 실시간 통신, Cron 트리거를 통한 지연된 작업 스케줄링, 그리고 영구 저장 기능을 활용할 수 있습니다. 개발자는 JavaScript/TypeScript로 작성된 Durable Object 클래스를 정의하고, Cloudflare Workers 환경 내에서 에이전트 인스턴스를 생성, 관리, 통신할 수 있습니다. 이를 통해 복잡한 분산 시스템의 복잡성을 줄이고, 확장 가능하고 신뢰할 수 있는 실시간 애플리케이션을 신속하게 구축할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add pertamaxxx/agents

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

agents은(는) 무엇을 하나요?

Cloudflare Durable Objects를 사용하여 상태 저장형, 지속성 있는 에이전트 워크로드를 관리하여 효율적이고 확장 가능한 실시간 통신 및 스케줄링을 지원합니다.

개요

이 스킬은 Cloudflare의 Durable Objects 기능을 기반으로 구축된 에이전트 시스템을 설명합니다. Durable Objects는 글로벌하게 분산된 환경에서도 강력한 일관성과 상태 저장형 처리를 제공합니다.

주요 기능

  • 상태 저장형 에이전트: 각 에이전트 인스턴스는 고유한 상태를 유지하며, 여러 요청 간에 지속성을 제공합니다.
  • 실시간 통신: WebSocket을 통해 클라이언트와 에이전트 간의 양방향 실시간 통신을 지원합니다.
  • 스케줄링: Cron 트리거를 사용하여 지연된 작업이나 주기적인 작업을 예약할 수 있습니다.
  • 확장성: Cloudflare의 글로벌 네트워크를 통해 자동으로 확장되며, 트래픽에 따라 인스턴스가 생성됩니다.

사용 방법

  1. wrangler.toml 파일에 Durable Object 바인딩을 추가합니다.
[[durable_objects.bindings]]
name = "MY_AGENT"
class_name = "AgentClass"
  1. Durable Object 클래스를 정의합니다.
export class AgentClass {
  constructor(state, env) {
    this.state = state;
    this.env = env;
  }

  async fetch(request) {
    // 요청 처리 로직
    return new Response("Hello from agent!");
  }
}
  1. Worker에서 에이전트 인스턴스를 생성하고 통신합니다.
export default {
  async fetch(request, env) {
    let id = env.MY_AGENT.idFromName("unique-agent-id");
    let stub = env.MY_AGENT.get(id);
    return stub.fetch(request);
  }
};

고급 기능

  • 상태 관리: state.storage를 사용하여 영구 데이터를 저장하고 검색합니다.
  • WebSocket 핸들링: fetch 핸들러 내에서 WebSocket 업그레이드를 처리합니다.
  • 알람: state.storage.setAlarm()을 사용하여 특정 시간에 작업을 트리거합니다.

자세한 정보

관련 스킬