news 2026/11/5 14:31:48

x-cmd Score:为 AI Agent 打造“先问够、再打分、用证据决策“的加权评分框架

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
x-cmd Score:为 AI Agent 打造“先问够、再打分、用证据决策“的加权评分框架
  • CLI
  • 开发工具
  • AI Agent
  • 人工智能
  • 包管理器

【免费下载链接】x-cmd

Posix Shell 工具库

项目地址:https://gitcode.com/x-cmd/x-cmd
点击查看免费下载

导读

x-cmd的skill0/score(核心文档位于 SKILL.md)是一套面向 AI Agent 的加权维度评分决策框架,核心理念是"Don't guess. Score."——不要靠猜,要打分。它用一份可复用的评分标准(*.score.yml)与一份带证据的打分记录(*.score.tsv),把"从多个候选中选最优"这类主观决策,变成可校验、可复盘、可迭代的规则化流程。读完本文,你将掌握:如何用两文件模型定义决策标准、如何用x score compute/iter/refine/init/ls完成从打分到迭代的完整闭环,以及compute.py底层是如何校验与计算排名的。

一、核心哲学:三句话理解这个框架

SKILL.md开篇即给出三条使用铁律,决定了整个框架的行为方式:

  1. 先问够,再定标准(Understand first, score second):在定义维度之前必须问够问题。维度搞错了,分数再精确也没用——"Wrong dimensions → wrong scores, no matter the precision."
  2. 抛砖引玉,迭代优于空想(Draft then iterate):需求不清楚时,先做一版标准、打一版分、给出排名。用户对具体排名有天然反应——"这个权重不对"、"你漏了 X"。这些反馈就是信号,据此 refine 后重新打分。一轮迭代胜过十轮空想。
  3. Agent 是分析师,不是计算器(The agent is the analyst):compute之后要读 TSV,解释为什么 A 赢了 B、指出意外、建议调整。排名是对话的开始,不是结束。

二、核心流程与两文件模型

SKILL.md给出了五步核心流程:

① 了解需求 → ② 定义 score.yml → ③ 打分 score.tsv → ④ x score compute → ⑤ 汇报与迭代

配套的是两文件模型:

文件角色内容
*.score.yml可复用的评分标准维度(dimensions)、因子(factors)、评分描述(desc)
**.score.tsv目标 + 分数 +证据第一列为目标名(target),每个维度一列分数与一列证据

输出 TSV 的固定列顺序为target, total, rank, block, reason,随后是带权重百分比标注的维度列(如成本 (35%)),最后是evidence。总分 0–100,按total降序排列,rank = 1为最高分。

三、实战示例:协助用户做宣传口号决策

SKILL.md以"宣传口号方案决策"为例完整演示了工作流,本文补充了 CLI 细节:

Step 1:定义评价维度与标准,生成宣传口号.score.yml(维度 + 因子 + 0–10 的锚点描述)。

Step 2:打分。有两种路径:

  • 若已安装 x-cmd,可用x score assess -f "<宣传口号>.score.yml" [...targets-to-assess],自动生成带时间戳的<宣传口号>.<datetime>.score.tsv(如宣传口号.260605-194400.score.tsv);
  • 或手工执行等价步骤:把所有候选口号放进 TSV 第一列,让 AI 在每个维度上打分(0–10,并附evidence),此时total与rank留白,等待计算。

Step 3:计算排名。执行:

x score compute 宣传口号.score.yml 宣传口号.260605-194900.score.tsv

该命令自动填上total与rank。

Step 4:汇报与迭代。读取结果与用户讨论,调整分数或增删候选后重复 Step 2;也可以直接让 AI 根据反馈重打分:

x score iter -f 宣传口号.score.yml 宣传口号.260605-194900.score.tsv "<调整意见,或者增加候选>"

文件名仅为示意,实际可自行命名。更多场景示例参见 EXAMPLE.md(内含 Feature Priority、Vendor Selection 两个完整可运行示例)。

四、计算公式:因子是相对放大器

SKILL.md给出的公式如下:

total = Σ(factor × score) ÷ Σ(factor) × 10 → 0–100

三个核心量:

  • factor(因子):整数 1–10,基线 = 2。1 = 次要;4 = 2×;6 = 3×;8 = 4×;10 = 5× 重要度。因子是相对放大器,不需要求和——公式自动归一化。每个维度在输出 TSV 的列头会标注权重占比:factor ÷ Σ(factor) × 100。
  • score(分数):每个维度 0–10,必须由证据锚定(evidence-anchored)。
  • total(总分):加权总分,0–100。

从 compute.py 的实现可以看到对应逻辑:total = sum(f * s for f, s in zip(factors, scores)) / factor_sum * 10,权重百分比dim_pcts = [f / factor_sum * 100 for f in factors](compute.py),列头形如clarity (35%)。若factor_sum == 0会直接报错退出(退出码 64)。

五、输出列详解

列来源说明
target输入候选名称
total计算加权总分(0–100)
rank计算排名(1 = 最高)。X= 被 block 淘汰
block输入可选的硬过滤列。非空 = 该候选被淘汰,排到最后,rank 显示X
reason输入/输出可选:AI 标注评分的 nuance,用于 agent 之间传递备注
<维度> (X%)计算各维度分数,列头显示权重占比
evidence输入支撑每个分数的事实依据

block列是框架的"一票否决"机制:它处理的是非协商性条件(deal-breaker),而非偏好权重。例如"这种植物对猫有毒"应填block,而"这种植物难养"应作为低分维度处理。score-template-writer.md 对二者边界有明确区分。

六、评分刻度与五条规则

分数刻度

分数标签含义
9–10优秀完全符合维度标准
7–8良好符合标准,有微小差距
5–6及格方向正确,有明显不足
3–4差差距显著
1–2失败几乎没有达到
0不适用不适用

五条评分规则

  1. 证据锚定:每个分数必须有证据——事实,而非感觉。字母数、用户百分比、基准测试结果都是证据;"感觉不错"、"看起来对"不是。
  2. 用全范围:5 是中间点,不是默认分。0 分和 10 分少见但可以给。
  3. 因子是相对放大器:基线 = 2,因子 4 的影响力是因子 2 的两倍,因子不需要求和。
  4. 目标唯一且非空:*.score.tsv第一列每行必须有目标名,不可重复、不可为空。
  5. Agent 读结果、汇报、决策:compute 后读取排序 TSV 并向用户汇报;发现问题可重新打分、调整因子或增减候选。

七、x score 命令族:从模板到迭代的完整闭环

x score子命令由 mod/score/lib/ 实现,入口 main 分发到ls、compute、init、iter、refine五个操作,无参数时默认执行ls。

1.x score ls— 浏览模板库

列出skill0/score/template/下全部模板,支持--yml、--json、--tsv、--csv四种输出格式(默认 tsv)。实现见 ls:从每个*.score.yml的首行注释(# <name>.score.yml — <desc>)提取 desc,从title:提取标题。

2.x score init— 从模板或 AI 生成评分标准

  • 静态复制:x score init -t <name>将模板复制为<name>.score.yml;模板名解析规则见 init:score→score.score.yml,foo.yml→foo.score.yml,bar.score.yml原样使用。
  • AI 生成:x score init --prompt "<goal>" -o file.yml会调用x agent,依据用户目标设计 2–7 个维度、1–10 因子并写出描述(见 init)。

3.x score compute <score.yml> <score.tsv>— 核算校验

与python compute.py完全等价(SKILL.md)。x score compute实际就是定位skill0/score/compute.py后调用python3执行(compute)。

4.x score iter -f <score.yml> <score.tsv> "<feedback>"— 按反馈重打分

把评分标准、当前分数和用户反馈一起交给 AI,按完全相同的列结构重写 TSV(total/rank 留白,由 compute 再算),原文件自动备份为.bak(iter)。

5.x score refine <score.yml> --prompt "<feedback>"— 精调评分标准

按反馈增删维度、调整因子与描述,可-t指定参考模板;原文件同样备份.bak(refine)。

八、compute.py 的校验细节:从源码看严谨性

compute.py 是一个无第三方依赖的独立 Python 校验器,完整实现了SKILL.md的全部规则:

  • 标准解析:只解析title与dimensions -> name/factor的最小 YAML 子集(compute.py),不依赖外部 YAML 库;
  • 输入校验:要求 TSV 首列必须是target、TSV 必须包含标准中所有维度列、factor_sum不得为 0,否则均以退出码 64 拒绝(compute.py);
  • 目标唯一性:检测重复 target 立即报错退出(compute.py),落实"规则 4";
  • block 语义:非空block行被推到列表底部且 rank 记为X,但 total 仍照常计算——"即便必须选一个,也知道谁相对更好"(compute.py);
  • 输出保序:固定列 + 维度列(带权重% 表头)+ 其余输入列(如*_evidence)按原顺序输出(compute.py)。

九、模板库:35+ 现成评分标准

template/目录下预置了 35+ 个可直接使用的模板,覆盖命名、消费、家居、职业、出行等场景。以三个典型为例:

  • naming.score.yml:6 个维度(clarity=8、domain-fit=6、memorability=4、uniqueness=2、phonetic=2、brevity=1),每个 desc 都写明了 9-10 / 7-8 / 5-6 / 3-4 / 1-2 / 0 的完整锚点;
  • tech-stack.score.yml:技术选型,6 维度(project-fit=8、team-capability=6、ecosystem-maturity=6、maintenance=6、performance-scale=4、integration-cost=4);
  • travel.score.yml:出行目的地选择,文件头部注释直接给出了打分前应向用户提问的清单(季节/出行风格/预算/同行人/签证)。

模板不是死板的标准,而是引导 Agent 提问与调整的脚手架。撰写规范详见 score-template-writer.md:维度以 5–7 个为甜区、因子分配建议(最重要维度给 8 或 10,多数给 4 或 6)、desc 要"锚定 9-10 与 1-2 的可观察事实,控制在 200 字符内",并避免"所有因子都是 2"、"维度过多"、"描述模糊"等反模式。

十、Rule 与 Score:两个互补框架的边界

rule-vs-score.md 用一句话概括二者区别:Rule 回答"这个够不够好?",Score 回答"哪个最好?"。

RuleScore
目的发现问题——保证最低质量评价质量——选出最优项
类比质量闸门 / 检查清单排名 / 排行榜
输出每条规则的通过 / 不通过加权总分 + 排名
典型对象单个对象(一个文件、一个仓库)多个候选(3+ 个备选)
硬过滤level: error必须通过TSVblock列,rank = X

推荐组合用法:先用 Rule 淘汰不可行候选(硬闸门),再用 Score 对幸存者排名——例如先用 rule 过滤"对猫有毒"的植物,再用 score 按养护难度与观赏性给安全植物排名。边界是软的,判断标准是意图而非对象数量:问题若为"是否通过"→ rule;"相对备选有多好"→ score。

十一、文件清单与延伸阅读

本框架的核心文件(均位于 mod/skill0/lib/skill0/core/score/):

  • SKILL.md/SKILL.cn.md— 英文版 / 中文版框架说明,AI 读取后即可运行完整工作流;
  • compute.py— 独立 Python 校验与计算器(无第三方依赖);
  • template/*.score.yml— 35+ 模板,x score ls列出、x score init -t <name>复制;
  • EXAMPLE.md— 更多使用示例;
  • rule-vs-score.md— Rule 与 Score 的场景选择;
  • score-template-writer.md— 模板编写指南。

关联框架:rule(合规性检查的配对框架)、naming(候选命名在此评分)。

小结

x-cmd的 Score 框架把 AI Agent 的决策从"猜"变成"算":理解需求 → 定义加权标准 → 证据化打分 → compute 校验排名 → 汇报并迭代。标准文件与结果文件都是可存档、可复盘、可分享的普通文本,配合x score命令族与 35+ 模板,任何技能(skill)都能立刻拥有一套结构化的决策工作流。记住那句口号:Don't guess. Score.

  • CLI
  • 开发工具
  • AI Agent
  • 人工智能
  • 包管理器

【免费下载链接】x-cmd

Posix Shell 工具库

项目地址:https://gitcode.com/x-cmd/x-cmd
点击查看免费下载

相关推荐

上一篇:libSQL Hrana 协议规范(v1)深度解析:基于 WebSocket 的边缘端 SQLite 访问协议
下一篇:Wagtail 2.12.4 安全修复深度解析:富文本 XSS 漏洞 CVE-2021-29434 与数据库迁移稳定性改进

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/5 14:31:48

VUE社区健康服务平台开发全流程:从需求拆解到部署实现

基于VUE的社区健康服务平台需要什么&#xff1f;从需求拆解到落地实现这两年社区健康服务是个很实在的方向&#xff0c;无论是社区卫生站的信息化改造&#xff0c;还是居民健康档案的数字化管理&#xff0c;大家都有一个共识&#xff1a;缺一个轻量、好用、能快速上手的服务平台…

作者头像 李华
网站建设 2026/10/20 22:30:50

PostgreSQL vacuum详解:从MVCC到事务ID回卷的防坑指南

开工前先把话说清楚&#xff1a;如果你维护过PostgreSQL&#xff0c;并且某天发现数据库磁盘占用怎么都降不下来、查询越来越慢、或者收到“Transaction ID wraparound”这种告警&#xff0c;那多半就是vacuum没干好活。vacuum这个命令&#xff0c;名字叫“清理”&#xff0c;实…

作者头像 李华
网站建设 2026/10/22 21:49:56

集成电路封装:技术演进与产业挑战

摩尔定律放缓下的封装突围 随着半导体工艺制程逼近物理极限&#xff0c;单纯的晶体管微缩路径成本急剧上升&#xff0c;集成电路封装技术已成为延续摩尔定律、提升系统性能的关键突破口。封装不再仅扮演保护芯片与电气连接的角色&#xff0c;而是转向“系统级集成”与“功能扩展…

作者头像 李华