ADI Decision Engine
Core promise
Turn a messy tradeoff problem into a structured, auditable multi-criteria decision and return a ranked recommendation with confidence and explanation.
When to use this skill
Use this skill when the user needs structured decision support rather than open-ended brainstorming. Typical triggers include:
- - multi-criteria decision analysis
- weighted scoring or option ranking
- vendor selection or procurement
- route planning with explicit tradeoffs
- hiring shortlist ranking
- tool or platform comparison
- policy-driven or auditable agent decisions
Input modes
This skill supports exactly two input modes.
1. Structured mode
The user already has a decision request with:
- - INLINECODE0
- INLINECODE1
- optional INLINECODE2
- optional INLINECODE3
- optional evidence, confidence, or context
Use scripts/validaterequest.py first if request quality is uncertain, then scripts/runadi.py to execute it.
2. Freeform mode
The user provides a natural-language tradeoff problem.
First use scripts/normalize_problem.py to produce a request skeleton. Do not pretend the request is complete if important fields are missing. If the skeleton is not ready, ask for the missing inputs instead of inventing scores or constraints.
Output contract
If ADI runs successfully, the final answer must contain:
- - INLINECODE4
- a short rationale for why it won
- top-ranked alternatives
- confidence summary
- constraint impact summary
- sensitivity or stability summary when available
- explicit assumptions
If the request is not complete enough to run, return a request-completion prompt rather than a fabricated ranking.
Workflow
- 1. Determine whether the user input is structured or freeform.
- For freeform input, normalize it into a request skeleton using scripts/normalizeproblem.py.
- Validate candidate requests with scripts/validaterequest.py.
- Run complete requests with scripts/run_adi.py.
- Present the ADI result in clear decision-support language:
- recommendation first
- strongest tradeoff second
- caveats and sensitivity after that
Decision hygiene rules
- - Never rank options without explicit criteria.
- Never silently invent hard constraints.
- If criterion direction is ambiguous, stop and clarify.
- Normalize vague goals into named criteria before scoring.
- Prefer a small, explicit criteria set over many overlapping criteria.
- Keep the policy choice visible:
balanced, risk_averse, or exploratory.
Output quality rules
- - Show the top recommendation first.
- Explain why it won.
- Mention the strongest tradeoff.
- Call out eliminated or constraint-violating options.
- Include confidence caveats when evidence is weak.
- Use a compact comparison table or structured bullet list when comparing several options.
Safety and honesty rules
- - No hidden math.
- No fake scores.
- No fabricated evidence.
- Do not claim ADI ran if the runtime dependency is missing.
- Do not request API keys.
- Do not require network access for the core workflow.
- Do not tell the user to trust the ranking if the request is under-specified.
Runtime requirements
- - INLINECODE8
- either an importable
adi-decision package or the adi CLI on INLINECODE11
If the ADI runtime is unavailable, stop with a clear error and explain that the dependency must be installed locally.
References
Examples
ADI 决策引擎
核心承诺
将混乱的权衡问题转化为结构化、可审计的多准则决策,并返回带有置信度和解释的排序推荐。
何时使用此技能
当用户需要结构化决策支持而非开放式头脑风暴时使用此技能。典型触发场景包括:
- - 多准则决策分析
- 加权评分或选项排序
- 供应商选择或采购
- 具有明确权衡的路线规划
- 招聘候选名单排序
- 工具或平台比较
- 政策驱动或可审计的代理决策
输入模式
此技能支持两种输入模式。
1. 结构化模式
用户已提供包含以下内容的决策请求:
- - options(选项)
- criteria(准则)
- 可选的 constraints(约束条件)
- 可选的 policy_name(策略名称)
- 可选的证据、置信度或上下文
如果请求质量不确定,请先使用 scripts/validaterequest.py 进行验证,然后使用 scripts/runadi.py 执行。
2. 自由格式模式
用户提供自然语言的权衡问题。
首先使用 scripts/normalize_problem.py 生成请求骨架。如果重要字段缺失,不要假装请求已完成。如果骨架未就绪,应询问缺失的输入信息,而非自行编造评分或约束条件。
输出约定
如果 ADI 成功运行,最终答案必须包含:
- - best_option(最佳选项)
- 简短的理由说明为何胜出
- 排名靠前的备选方案
- 置信度总结
- 约束条件影响总结
- 敏感性或稳定性总结(如可用)
- 明确的假设条件
如果请求不够完整无法运行,应返回请求补全提示,而非编造的排序结果。
工作流程
- 1. 判断用户输入是结构化还是自由格式。
- 对于自由格式输入,使用 scripts/normalizeproblem.py 将其规范化为请求骨架。
- 使用 scripts/validaterequest.py 验证候选请求。
- 使用 scripts/run_adi.py 运行完整的请求。
- 以清晰的决策支持语言呈现 ADI 结果:
- 首先给出推荐
- 其次说明最关键的权衡
- 最后说明注意事项和敏感性分析
决策卫生规则
- - 没有明确准则时绝不进行选项排序。
- 绝不擅自编造硬性约束条件。
- 如果准则方向不明确,停下来澄清。
- 在评分前将模糊目标规范化为命名准则。
- 优先选择小而明确的准则集,而非大量重叠的准则。
- 保持策略选择可见:balanced(平衡)、risk_averse(风险规避)或 exploratory(探索性)。
输出质量规则
- - 首先展示最佳推荐。
- 解释为何胜出。
- 提及最关键的权衡。
- 指出被淘汰或违反约束条件的选项。
- 当证据不足时包含置信度说明。
- 比较多个选项时使用紧凑的对比表格或结构化项目列表。
安全与诚实规则
- - 无隐藏计算。
- 无虚假评分。
- 无编造证据。
- 如果缺少运行时依赖,不要声称 ADI 已运行。
- 不请求 API 密钥。
- 核心工作流程不需要网络访问。
- 如果请求信息不足,不要告诉用户信任排序结果。
运行时要求
- - python3
- 可导入的 adi-decision 包或 PATH 上的 adi CLI
如果 ADI 运行时不可用,请停止并给出明确错误,说明必须本地安装该依赖。
参考资料
示例