360 Secure SkillHub
360 安全技能中心

utility

这是基于学术论文的代理编排决策框架,核心通过预期收益减去加权成本、不确定性、冗余度计算动作效用值,筛选最优动作,避免过度调用工具与提前终止。典型场景包括:决定调度代理/调用工具、管控昂贵工具调用、选择模型层级等。输入为任务状态与候选动作,输出为效用评分及最优动作建议,遵循终止条件,支持高收益规则override,不适用于单步明确动作等场景。

athola
athola
热度 62.86
最近更新 2026-08-26 21:17:34
分类:自动化依赖:纯提示词应用场景:自动化脚本 / 任务管理 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add nm-leyline-utility
Metadata
name
utility
description
Scores agent actions by expected gain, cost, uncertainty, and redundancy
version
1.9.8
triggers
["orchestration","cost-control","decision-making","agent-dispatch","deciding whether to dispatch an agent or invoke a tool"]
metadata
{"openclaw":{"homepage":"https://github.com/athola/claude-night-market/tree/master/plugins/leyline","emoji":"🦞"}}
source
claude-night-market
source_plugin
leyline

Night Market Skill — ported from claude-night-market/leyline. For the full experience with agents, hooks, and commands, install the Claude Code plugin.

Utility Skill

Overview

A decision framework for agent orchestration based on Liu et al., "Utility-Guided Agent Orchestration for Efficient LLM Tool Use" (arXiv:2603.19896). Each candidate action is scored by subtracting weighted costs from expected gain, producing a single utility value that guides action selection. The framework prevents over-calling tools and premature stopping by making both errors costly. Utility range is [-2.3, 1.0].

When To Use

  • Deciding whether to dispatch another agent or tool call
  • Gating expensive tool calls (search, code execution, delegation)
  • Selecting the right model tier for a sub-task
  • Continuation decisions after receiving partial results
  • Verification gating before writing or committing output

When NOT to Use

  • Single-step operations with one obvious action
  • Trivial tasks where cost of scoring exceeds benefit
  • Already-committed actions that cannot be undone

Action Space

A = {respond, retrieve, tool_call, verify, delegate, stop}

Action Description
respond Emit a final answer from current context
retrieve Fetch additional information (search, read, lookup)
tool_call Execute a tool (code runner, API, file write)
verify Check a prior result for correctness or completeness
delegate Spawn a sub-agent or hand off to a specialist
stop Terminate the loop and return current state

Utility Function

U(a | s_t) = Gain(a | s_t)
           - λ₁ · StepCost(a | s_t)
           - λ₂ · Uncertainty(a | s_t)
           - λ₃ · Redundancy(a | s_t)
Parameter Default Rationale
λ₁ 1.0 Cost baseline; all other weights relative to this
λ₂ 0.5 Weak empirical correlation with outcome (r=0.0131)
λ₃ 0.8 Redundancy pruning yields ~10% token savings

Utility range: [-2.3, 1.0]. Positive values indicate the action is worth taking. Values below the floor (-0.5 default) indicate the action should be skipped.

Termination Conditions

Stop the loop when any of the following is true:

  • (a) Selected action is stop
  • (b) Step budget exhausted (default: 10 steps)
  • (c) All non-stop actions score below the floor (default: -0.5)

High-gain override: If Gain >= 0.7 for any action, condition (c) may be overridden. Document the override and the gain value in your reasoning trace.

Quick Start

Minimal 4-step advisory pattern:

  1. Construct state -- gather task context per modules/state-builder.md
  2. Score candidates -- evaluate each action in A per modules/action-selector.md
  3. Prefer highest utility -- select the action with the maximum U(a | s_t), subject to termination conditions
  4. Log score and decision -- record the winning action, its utility value, and step count before executing

Detailed Resources

  • State Builder: modules/state-builder.md -- how to populate s_t from task context
  • Gain: modules/gain.md -- estimating expected information or progress gain
  • Step Cost: modules/step-cost.md -- token, latency, and monetary cost tables
  • Uncertainty: modules/uncertainty.md -- confidence estimation and calibration
  • Redundancy: modules/redundancy.md -- detecting duplicate or low-delta actions
  • Action Selector: modules/action-selector.md -- scoring loop and tie-breaking rules
  • Integration: modules/integration.md -- wiring utility scoring into existing orchestration loops

Exit Criteria

  • State constructed with task goal and prior steps
  • All six actions scored before selecting one
  • Termination condition checked after each step
  • Score and decision logged for each step taken
  • High-gain overrides documented with gain value