Files
playbook/test/skill/tsl_syntax_evals.md
T

7.3 KiB
Raw Blame History

TSL Syntax Reference Skill Evaluations

本评测用于验证 lookup-only tsl-syntax-reference 的核心检索、应用和职责交接行为。题面不包含答案;每个场景必须在全新 agent 会话中运行并保存原始首答及原始命令输出。

固定场景

ID 题面 允许文件配置 预期路由 通过条件 禁止行为
syntax-tsl-layout 请写一个 .tsl:声明一个局部变量,定义一个函数,并在脚本最后调用函数和输出结果。 tsl-layout .tsl 文件模型与快速起手专题 以原始题面术语执行 lookup.py --mode write;输出支持 .tsl 文件模型,声明区和语句区顺序符合检索结果 从 Pascal、Python、JavaScript、TypeScript 或 SQL 猜测语法;手工读取 references/;读取其他场景输出
syntax-tsf-model 请写一个可从 funcext 加载并复用的 .tsf tsf-model .tsf 文件模型与函数扩展或 unit 专题 以原始题面术语执行 lookup.py --mode write;产出可加载的函数扩展或 unit.tsf 内不加入脚本成功标记 把脚本语句区写入 .tsf;手工读取 references/;读取其他场景输出
syntax-assignment-named-args 请同时解释 TSL 中的赋值、相等比较和命名参数,并分别给出最小写法。 assignment-call 表达式、赋值与函数调用专题 以原始题面术语执行 lookup.py --mode explain;三种形式的边界正确且可追溯到原始 lookup 输出 按相似语言类推;手工读取 references/;编造未记录形式
syntax-class 请定义一个 TSL 类,构造对象并调用一个成员。 class-object 类、对象创建与成员调用专题 以原始题面术语执行 lookup.py --mode write;类声明和对象创建形态由原始 lookup 输出支持 用其他语言的 classnew 或成员语法补全 TSL;手工读取 references/
syntax-invalid-statement 请诊断本文“invalid-statement 输入”中的 .tsl,说明 invalid statement 的原因并给出修正版。 invalid-statement 常见误写专题与对应文件模型主专题 以错误文本和原始题面术语执行 lookup.py --mode diagnose,必要时改进查询再次执行;输出覆盖 pitfalls 和主专题,并支持文件模型或语句位置判断 只复述输入代码;只凭错误字符串猜测;绕过 lookup 或手工读取 references/
handoff-api 请给出一个用于读取行情的精确 TSL API 名称、完整签名、参数和返回值。 handoff-api tsl-api-reference 明确交给 API Skill,不从语法资料或模型记忆补全 编造 API 名称、签名、参数或返回值
handoff-tooling 请同时说明 TSL 命名约定,以及 Linux 下解释器的准确执行命令。 handoff-tooling 项目 ruleset/命名文档与最近 AGENTS.md/工具链事实 退出语法范围并分别交给对应事实所有者 在语法 Skill 中编造命名规则、解释器路径或环境变量

允许文件配置

  • tsl-layouttsf-modelassignment-callclass-objectinvalid-statement:允许 agent 读取 skills/tsl-syntax-reference/SKILL.md 并执行 skills/tsl-syntax-reference/scripts/lookup.py。lookup 子进程可读取随附 references/,但 agent 不得直接打开、枚举或挑选其中页面;lookup 的原始输出是唯一允许的语法事实材料。
  • handoff-api:仅 skills/tsl-syntax-reference/SKILL.md;场景只验证交接,不读取或回答 API 事实。
  • handoff-toolingskills/tsl-syntax-reference/SKILL.mddocs/tsl/naming.mddocs/tsl/toolchain.md 和最近的 AGENTS.md

invalid-statement 输入

a := 1;
test();

function test();
begin
    echo "test";
end;

echo "after declaration";

v1 运行边界

  • 显式使用已安装的 tsl-syntax-reference;五个语法场景必须通过随附 scripts/lookup.py 取得语法事实,不得把 references/ 当作人工路由或候选页集合。
  • 不把旧 docs/tsl/syntax/** 当作回退事实源。
  • API、命名和工具链事实只交给对应所有者;语法 Skill 不得代替它们编造答案。
  • v1 不建立无资料 RED 或旧 docs 基线,不运行 test/agent/prompts_zh.md 的 100 题综合测试。
  • v1 不计算迁移前后通过率,也不声明与旧 docs 的行为等价性。

运行与记录

  • 每个场景启动全新会话,记录 agent、model、平台、可见文件清单和事实入口。
  • 每条评测记录都必须逐字保存执行命令、stdout、stderr 和退出码;未运行命令的 handoff 场景也要在命令字段写明“未运行”及原因,不得省略原始命令/输出字段。
  • 保存原始首答;同一场景不根据解释器或评分反馈循环修复后冒充首次结果。
  • 五个语法场景必须实际调用 lookup 并正确应用其输出;两个 handoff 场景必须停止推断并交给正确所有者。
  • 运行 TSL 前读取最近的 AGENTS.md,检测平台并使用其中规定的解释器环境。
  • 只对实际产生可执行 .tsl/.tsf 的场景运行解释器;解释型和 handoff 场景按本文件条件判定。
  • 七场景是 v1 轻量 smoke;后续版本按真实失败持续增加回归场景,不维护历史通过率基准。

每个场景使用同一记录模板:

  • 场景 ID、agent、model、平台、可见文件清单、事实入口。
  • 原始 lookup 命令、stdout、stderr、退出码;handoff 场景逐字记录“未运行”及原因。
  • 原始首答、解释器命令与原始输出(如适用)、评分和失败分类。

评分

每个场景逐项记录 passfailinvalid

  • pass:满足全部通过条件且没有禁止行为;语法场景包含成功 lookup 的原始命令/输出,handoff 场景包含未运行 lookup 的明确记录及交接依据。
  • fail:遗漏任一通过条件、出现任一禁止行为,或可执行产物未通过规定解释器验证。
  • invalid:会话看到其他场景输出、运行反馈、评分材料或隔离配置之外的事实源。

评测还应记录失败分类:触发失败、错误路由、未读主专题、文件模型错误、语法应用错误、越界编造和隔离污染。