本文へ移動
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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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 のスキルをすべて見る

このスキルの問題を報告する