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

ai-python-custom-loop

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

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

설치 방법 보기

포함된 파일(1)

  • SKILL.md1.9 KB

SKILL.md(원문)

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

ai-python-custom-loop

Keep the default shape unless you must change control flow:

class MyAgent(ai.Agent):
    async def loop(self, context: ai.Context):
        while context.keep_running():
            async with (
                ai.stream(context=context) as stream,
                ai.ToolRunner() as runner,
            ):
                async for event in ai.util.merge(stream, runner.events()):
                    yield event

                    if isinstance(event, ai.events.ToolEnd):
                        runner.schedule(context.resolve(event.tool_call))

                context.add(stream.message)
                context.add(runner.get_tool_message())

Rules:

  • Call context.keep_running() at the top of each turn.
  • Use ai.stream(context=context) so model, messages, tools, output type, and params stay together.
  • Yield events from the loop. Agent.run hides replay events from callers.
  • On ToolEnd, use context.resolve(event.tool_call). It handles validation, approval gates, and cached replay results.
  • Do not call tool.fn directly unless you also handle validation, approvals, and cached results.
  • Schedule resolved calls with ToolRunner.schedule(...).
  • ToolRunner.schedule(...) also accepts a zero-arg async callable that returns ai.events.ToolCallResult.
  • If you make a result yourself, use runner.add_result(ai.tool_result(...)).
  • Add stream.message, then runner.get_tool_message(). context.add(...) skips replay messages.
  • Every tool call must get one tool result.
  • For hooks, let context.resolve(...) build the gated call. Use ai-python-serverless-execution for request boundaries.
  • For durable calls, keep this shape and wrap only model or tool I/O. Use ai-python-durable-execution.

리뷰

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

댓글

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

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

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. 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 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 when building serverless AI SDK for Python endpoints, handling hook approvals, deferring hooks, or resuming runs across requests.

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

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의 스킬 모두 보기

이 스킬의 문제 신고