伐谋 - 任务定义与评估器生成
交互式引导用户完成 FaMou 进化任务的完整流程:先通过结构化澄清循环产出 `problem.md`,再实现并验证 FaMou 实验的三个输入物料(`init.py`、`evaluator.py`、`prompt.md`)。当用户提到以下任意情形时触发:定义/澄清/创建 FaMou 任务、帮我写 problem...
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 0 · 54 · 0 current installs · 0 all-time installs
byFaMou@zhaoM0
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name and description match the SKILL.md: it claims to clarify a task and produce three artifacts; all declared requirements are empty and the instructions only reference generating/validating those artifacts. There are no unrelated environment variables, binaries, or installs requested.
Instruction Scope
The runtime instructions explicitly direct the agent to inspect project files (data, code, README, configs), run an interactive clarification loop, write problem.md/evaluator.py/init.py/prompt.md, and execute the evaluator to test init.py. Reading workspace files and executing validation runs is coherent for this task but means the agent will access and run code in the user's project directory.
Install Mechanism
Instruction-only skill with no install spec and no code files. No packages or external downloads are requested.
Credentials
No environment variables, credentials, or config paths are requested. The skill's needs are proportional to producing and validating the described artifacts.
Persistence & Privilege
always is false and the skill does not request persistent privileges or modify other skills or system-wide settings. It will create/overwrite problem.md and generate code artifacts in the working directory as expected.
Assessment
This skill is coherent for its stated purpose, but be aware it will: (1) read files in your project workspace (data, code, README, configs), (2) create/overwrite problem.md, evaluator.py, init.py, and prompt.md, and (3) run the generated evaluator which executes the provided init.py (i.e., will run Python code). Only run it on projects and code you trust or in a sandboxed environment. Review generated evaluator/init code before executing if you have any security concerns, and do not supply secrets or credentials to this skill.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.1
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
FaMou 进化任务问题定义
端到端指导:从模糊想法 → 任务说明文档 problem.md → 评估器和初始解的实现与验证。
两阶段流程:
- 阶段一(澄清):通过结构化问答,然后构建产出任务说明文档
problem.md - 阶段二(实现):根据
problem.md生成并验证init.py、evaluator.py、prompt.md
FaMou 进化任务的三个输入:
init.py— 候选解脚本(单文件,可直接运行)evaluator.py— 评估逻辑(固定接口,见下方)prompt.md— 进化引导(角色、任务、数据、解法参考;≤100 行)
阶段一:澄清阶段
第一步 — 理解项目现状
- 检查数据文件、代码脚本、README、配置,能从中回答的问题不再提问。
- 如果有数据,分析和理解数据,例如数据等格式、问题分布等,如果数据复杂,调用 famou-data-analysis 技能 辅助。
第二步 — 信息缺口分析
识别填写任务模板所需的全部信息,用 Plan 或者 TODO 工具建立 TODO 列表:
核心指引
- 可以从文档/数据中回答的条目直接标记为已解决,不再提问。
- 如果条目的答案相对明晰,或者非关键问题,直接标记成已解决。
必填 TODO(按依赖顺序逐一解决,不得跳过或乱序):
- 核心问题描述与优化目标
- 输入/输出规格(命令行参数、数据文件、标准输出/生成文件)
- 数据来源(路径、结构/模式、字段定义、访问方式)
- 各类约束及其验证方法
- 评估器评分逻辑(如何区分不同质量等级)
- 初始解方案或基线策略
可选 TODO(有则填,无则跳过):
- 补充参考信息
第三步 — 主动澄清循环
重复直到所有必填 TODO 解决:
- 选取一个未解决的必填 TODO。
- 构造澄清问题,辅助模型收集必要的上下文信息(使用
ask_uer类型的工具):- 注明单选或多选。
- 提供 至少4个选项,最后一项始终为**"其他(请说明)"**。
- 等待用户输入。
- 验证回答:
- 若无效或无关,提示用户重新选择,返回第 3 步
- 若有效,记录信息,进入第 5 步。
- 判断当前 TODO 信息是否充分:
- 充分 → 标记该 TODO 为已解决,返回第 1 步。
- 不充分(尤其是硬约束、软约束等信息量大的条目)→ 针对剩余信息缺口继续构造追问,返回第 2 步,不得跳到下一个 TODO。
所有必填 TODO 解决后,或用户明确确认任务已清晰,退出循环。
约束类 TODO 澄清指引:约束澄清通常涉及多个维度,每轮只问一个维度,逐步收集完整后再标记完成。
第四步 — 综合规格并写入 problem.md
按下方任务模板填写所有章节,规则:
- 明确澄清的信息覆盖已有
problem.md内容。 - 若
problem.md已存在,合并后完整覆盖写入。 - 保持简洁,不冗余。
第五步 — 评审确认
"请查阅
problem.md。问题定义现在是否清晰完整?"
- 是 → 提示用户进入实现阶段生成评估器和初始解。
- 否 → 返回第二步(仅当有新缺口可识别时)。
阶段二:实现
基于任务说明文档 problem.md,生成并验证 FaMou 进化框架所需要的 evaluator.py、init.py 和 prompt.md。
第六步 — 物料实现
evaluator.py(先实现,因为 init.py 验证依赖它)
- 严格遵守下方接口定义(READONLY)。
- 严格遵守系统级约束(READONLY)。
- 评分必须能区分质量等级:崩溃/违反约束 → 0;低质量 → 低分;高质量 → 高分。
init.py
- 单文件,直接可运行,满足所有硬约束。
- 实现
problem.md中指定的基线策略或初始解方向。
prompt.md(≤100 行)
- 包含四个部分:(1) 角色,(2) 任务描述,(3) 数据描述,(4) 可行解参考。
- 前三部分内容来源于
problem.md,不得添加新假设。 - 文档内容不能包含任何emoj的表情
第七步 — 验证
运行评估器验证 init.py:
python evaluator.py <path_to_init.py>
必须同时满足:
validity == 1combined_score为数值且!= 0error_info == ""
若任一检查失败,分析原因,修改对应产物,重新验证,直至全部通过。
任务模板(problem.md 结构)
## 目标
<!-- READONLY:为 FaMou 进化任务准备 init.py、evaluator.py 和 prompt.md -->
## 1. 任务定义
- 核心问题描述
- 输入:(命令行参数 / 数据文件)
- 输出:(标准输出 / 生成文件)
- 主要优化目标
- 关键指标及计算公式
## 2. 数据描述
- 数据来源(文件/表名、结构/模式、字段定义)
- 访问方式(路径、格式)
## 3. 评估器
### 接口(READONLY)
def evaluate(path_user_py: str, task_name: str = "default", timeout: int = 3600) -> dict:
return {
"validity": float, # 0 或 1;1 表示满足所有硬约束
"combined_score": float, # 为可行解打分,0表示无效解,低分表示低质量解,高分表示高质量解
"cost_time": float, # 评估花费时间
"error_info": str, # 成功时为 ""
}
### 参考执行流程
1. 创建所需中间目录和文件
2. 配置候选解运行参数
3. 执行候选解脚本
4. 捕获执行结果(完成 / 错误 / 异常)
5. 检查硬约束和软约束
6. 计算 combined_score
### 硬约束
<!-- 精确规则、验证方法、违反后果 -->
### 软约束
<!-- 优化目标、度量方法、对分数影响 -->
### 系统级约束(READONLY)
- 无论 init.py 是否与 evaluator.py 同目录,评估器必须能正确执行
- 如果使用 subprocess 调用子进程,必须将 cwd 设置为 evaluator.py 所在目录
- 不得依赖临时目录作为工作目录
## 4. 初始解
<!-- 单文件 init.py;方案、基线策略或求解方向;必须满足所有硬约束 -->
## 5. 进化提示(prompt.md,≤100 行)
<!-- (1) 角色 (2) 任务描述 (3) 数据描述 (4) 可行解参考 -->
## 6. 补充信息(可选)
<!-- 参考资料、备注 -->
注意事项
- 澄清循环每轮只提一个问题,不得并行提问。
- 无效回答必须被拒绝,不得假设未解决的 TODO。
- 实现阶段必须运行验证,不得跳过。
- 若用户希望跳过澄清直接实现,尊重其选择,将已知信息缺口在
problem.md中标注为假设后直接进入阶段二。
Files
1 totalSelect a file
Select a file to preview.
Comments
Loading comments…
