본문으로 건너뛰기
cccskills
무료GitHub에 공개

ai-python-serverless-execution

Use when building serverless AI SDK for Python endpoints, handling hook approvals, deferring hooks, or resuming runs across requests.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md2.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

ai-python-serverless-execution

Use this when working in a serverless setup, e.g. Vercel Fluid Compute.

The only major difference in serverless is processing tool approvals and other hooks. Since you can't keep the hook future alive, you need to stop the run, save messages, then start a later request with the hook resolution pre-registered.

Tool Approval

Mark approval-gated tools with require_approval=True:

@ai.tool(require_approval=True)
async def delete_file(path: str) -> str:
    return f"Deleted {path}"

First Request

When a deferred hook appears, send it to the client and call ai.defer_hook(...).

Keep draining the stream. Do not break after the first hook. This lets sibling tools finish or get marked deferred, and makes stream.messages complete.

deferred_hooks = []

async with agent.run(model, messages) as stream:
    async for event in stream:
        if (
            isinstance(event, ai.events.HookEvent)
            and event.hook.status == "pending"
        ):
            deferred_hooks.append(event.hook)
            ai.defer_hook(event.hook)

        yield event

saved_messages = [
    message.model_dump(mode="json")
    for message in stream.messages
]
save_messages(saved_messages)
save_deferred_hook_ids([hook.hook_id for hook in deferred_hooks])

Resume Request

Load the saved messages, pre-register hook resolutions, then call agent.run.

messages = [
    ai.messages.Message.model_validate(message)
    for message in load_messages()
]

for approval in approvals:
    ai.resolve_hook(
        approval.hook_id,
        ai.tools.ToolApproval(
            granted=approval.granted,
            reason=approval.reason,
        ),
    )

async with agent.run(model, messages) as stream:
    async for event in stream:
        yield event

save_messages([
    message.model_dump(mode="json")
    for message in stream.messages
])

Call ai.resolve_hook(...) before agent.run(...). Do not ask the model to make the tool call again.

Agent.run prepares saved interrupted messages for replay. Completed sibling tool results are reused, deferred hooks receive the pre-registered resolution, and replay-only events are hidden from the caller.

Rules

  • Use normal agent.run(...); serverless resume usually does not need a custom loop.
  • If you do write a custom loop, use context.resolve(...), ToolRunner, and context.add(...) so approvals and replay keep working.
  • For custom hooks, pre-register with ai.resolve_hook(hook_id, data, payload=PayloadType).
  • For AI SDK UI clients, use ai-python-ui-adapter for message conversion, approval responses, and SSE.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Use for AI SDK for Python basics. Configure a model, make messages, stream, declare tools, build a basic agent.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vercel-labs/seal82026년 10월 7일 업데이트

Use when building custom agent loops. Modify tool dispatch, history management, hooks, control flow.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vercel-labs/seal82026년 10월 7일 업데이트

Use for implementing custom providers in AI SDK for Python.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vercel-labs/seal82026년 10월 7일 업데이트

Use when adding durable execution to AI SDK for Python, building durable agent loops, or serializing messages across workflow steps.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vercel-labs/seal82026년 10월 7일 업데이트

Use for AI SDK for Python async-generator tools, streaming tool output, subagent tools, PartialToolCallResult events, and custom tool aggregation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vercel-labs/seal82026년 10월 7일 업데이트

Use for the subagent-as-a-tool pattern.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vercel-labs/seal82026년 10월 7일 업데이트

vercel-labs의 스킬 모두 보기

이 스킬의 문제 신고