海外からのアクセス:www.kdjingpai.com
Ctrl + D このサイトをブックマークする
現在の場所図頭 " コース情報

12ファクター・エージェント 8.コントロール・フローをコントロールする。

2025-07-22 36

制御フローをコントロールできれば、多くの興味深い機能を実装できる。

12ファクター・エージェント 8.コントロール・フローをコントロールする - 1

特定のユースケースに適合するカスタム制御構造を構築する。具体的には、ある種のツール呼び出しは、ループから飛び出したり、人間が応答するのを待ったり、別の長時間実行タスク(例えばトレーニングパイプライン)を待ったりする理由になるかもしれない。また、以下の機能のカスタム実装を統合したい場合もあるでしょう:

  • ツール呼び出し結果の要約またはキャッシュ
  • 構造化出力のためのLLM-as-judge(ジャッジとしての大規模言語モデル
  • コンテキスト・ウィンドウの圧縮またはその他 メモリ管理
  • ロギング、トラッキング、メトリクス
  • クライアント側のレート制限
  • 持続的ハイバネーション/サスペンド/"イベント待ち"

次の例は、3つの可能な制御フローパターンを示している:

  • request_clarification:モデルが詳細情報を要求し、ループを中断して人間の応答を待つ
  • fetch_git_tags: モデルがgitタグのリストをリクエストし、タグを取得し、コンテキストウィンドウにアタッチし、直接モデルに渡します。
  • deploy_backend:モデルがバックエンドのデプロイを要求する。
def handle_next_step(thread: Thread):
while True:
next_step = await determine_next_step(thread_to_prompt(thread))
# 为清晰起见,此处为内联代码 - 实际上你可以把它
# 放在一个方法里,使用异常来控制流程,或任何你喜欢的方式
if next_step.intent == 'request_clarification':
thread.events.append({
type: 'request_clarification',
data: nextStep,
})
await send_message_to_human(next_step)
await db.save_thread(thread)
# 异步步骤 - 中断循环,我们稍后会收到一个 webhook
break
elif next_step.intent == 'fetch_open_issues':
thread.events.append({
type: 'fetch_open_issues',
data: next_step,
})
issues = await linear_client.issues()
thread.events.append({
type: 'fetch_open_issues_result',
data: issues,
})
# 同步步骤 - 将新的上下文传递给 LLM 以确定下一步的行动
continue
elif next_step.intent == 'create_issue':
thread.events.append({
type: 'create_issue',
data: next_step,
})
await request_human_approval(next_step)
await db.save_thread(thread)
# 异步步骤 - 中断循环,我们稍后会收到一个 webhook
break

このモードでは、より自然な対話とワークフローを生み出すために、必要に応じてインテリジェンスの流れを中断したり再開したりすることができる。

典型例 - 市場に出回っているすべてのAIフレームワークについて、私が最も見たい機能は、特にツールにおいて、作業中のインテリジェンスを中断し、後で再開する機能である。 オプション ツール 各論 この2つの瞬間の間に。

このレベルの回復可能性/粒状性がなければ、ツールコールを実行する前にレビュー/承認する方法がない:

  1. 実行時間の長いタスクの終了を待つ間、メモリ上のタスクを一時停止する(例えば while...sleepプロセスが中断された場合、ゼロから再スタートしなければならない。
  2. リサーチやアブストラクトなど、リスクが低く重要度の低いコールのみにインテリジェンスの許可を制限する。
  3. インテリジェンスに、より重要で有用なタスクを実行する権限を与え、それが単なる運(ヨロ)によって間違わないことを期待する。

とは違うことにお気づきだろうか。 要素5 - 実行状態とビジネス状態の調和 歌で応える 要素6 - シンプルなAPIによる開始/中断/再開 密接に関連しているが、独立して実現することもできる。

おすすめ

AIツールが見つからない?こちらをお試しください!

キーワードを入力する アクセシビリティこのサイトのAIツールセクションは、このサイトにあるすべてのAIツールを素早く簡単に見つける方法です。

受信箱

お問い合わせ

トップに戻る

ja日本語