name: code-data-analysis-scaffolds description: 使用于启动需要结构化方法的技术工作 - 编写测试前代码(TDD)、规划数据探索(EDA)、设计统计分析、澄清建模目标(因果与预测)或验证结果。当用户提及“为…编写测试”、“探索此数据集”、“分析”、“建模”、“验证”时,或当技术工作在执行前需要系统脚手架时调用。
代码数据分析脚手架
目录
目的
此技能为软件工程和数据科学中的技术工作提供结构化脚手架(框架、清单、模板)。它通过定义做什么、以什么顺序、以及在进行前验证什么,帮助您系统性地处理复杂任务。
何时使用此技能
当您需要时使用此技能:
- 系统编写测试 - TDD脚手架、测试套件设计、测试数据生成
- 严谨探索数据 - EDA计划、数据质量检查、特征分析策略
- 设计统计分析 - A/B测试、因果推断、假设检验框架
- 构建预测模型 - 模型选择、验证策略、评估指标
- 有信心重构 - 测试覆盖率策略、重构清单、回归预防
- 验证技术工作 - 数据验证、模型评估、代码质量检查
- 澄清技术方法 - 区分因果与预测目标、选择适当方法
触发短语:
- “为[代码/功能]编写测试”
- “探索此数据集”
- “分析[数据/问题]”
- “构建模型来预测…”
- “我该如何验证…”
- “为…设计A/B测试”
- “处理…的正确方法是什么”
何时不使用此技能
跳过此技能当:
- 只执行,不计划 - 用户想要立即的代码/分析,无需脚手架
- 脚手架已存在 - 用户有清晰计划,只需要执行帮助
- 非技术任务 - 使用适当技能进行写作、规划、决策
- 简单单行代码 - 无需脚手架处理琐碎任务
- 探索性对话 - 用户正在头脑风暴,尚未准备好结构化方法
这是什么?
代码数据分析脚手架为常见技术模式提供结构化框架:
- TDD脚手架:给定需求,在实现代码前生成测试结构
- EDA脚手架:给定数据集,创建系统性探索计划
- 统计分析脚手架:给定问题,设计适当的统计检验/模型
- 验证脚手架:给定代码/模型/数据,创建全面验证清单
快速示例:
任务:“编写认证函数”
TDD脚手架:
# 测试结构(先写这些) def test_valid_credentials(): assert authenticate("user@example.com", "correct_pass") == True def test_invalid_password(): assert authenticate("user@example.com", "wrong_pass") == False def test_nonexistent_user(): assert authenticate("nobody@example.com", "any_pass") == False def test_empty_credentials(): with pytest.raises(ValueError): authenticate("", "") # 现在实现authenticate()以通过测试
工作流程
复制此清单并跟踪进度:
代码数据分析脚手架进度:
- [ ] 步骤1:澄清任务和目标
- [ ] 步骤2:选择适当脚手架类型
- [ ] 步骤3:生成脚手架结构
- [ ] 步骤4:验证脚手架完整性
- [ ] 步骤5:交付脚手架并指导执行
步骤1:澄清任务和目标
询问用户任务、数据集/代码库上下文、约束和预期结果。确定这是TDD(先写测试)、EDA(探索数据)、统计分析(检验假设)还是验证(检查质量)。参见resources/template.md获取上下文问题。
步骤2:选择适当脚手架类型
基于任务选择脚手架:TDD(测试代码)、EDA(探索数据)、统计分析(假设检验、A/B测试)、因果推断(估计处理效果)、预测建模(构建ML模型)或验证(检查质量)。参见脚手架类型获取选择指导。
步骤3:生成脚手架结构
创建系统性框架,包括清晰步骤、验证检查点和每个阶段的预期输出。标准情况使用resources/template.md;高级技术参见resources/methodology.md。
步骤4:验证脚手架完整性
检查脚手架覆盖所有要求,包括验证步骤,明确假设,并提供清晰成功标准。使用resources/evaluators/rubric_code_data_analysis_scaffolds.json自我评估 - 最小分数≥3.5。
步骤5:交付脚手架并指导执行
呈现脚手架并明确下一步。如果用户需要执行帮助,系统遵循脚手架。如果脚手架揭示缺失(如缺失数据、不清需求),在继续前指出。
脚手架类型
TDD(测试驱动开发)
何时使用:编写新代码、重构现有代码、修复错误 输出:测试结构(测试用例 → 实现 → 重构) 关键元素:覆盖正常路径、边缘情况、错误条件的测试用例,测试数据设置
EDA(探索性数据分析)
何时使用:新数据集、数据质量问题、特征工程 输出:探索计划(数据概述 → 质量检查 → 单变量分析 → 双变量分析 → 洞察) 关键元素:数据形状/类型、缺失值、分布、异常值、相关性
统计分析
何时使用:假设检验、A/B测试、比较组 输出:分析设计(问题 → 假设 → 检验选择 → 假设检查 → 解释) 关键元素:零假设/备择假设、显著性水平、功效分析、假设检查
因果推断
何时使用:估计处理效果、理解因果关系不仅仅是相关性 输出:因果设计(DAG → 识别策略 → 估计 → 敏感性分析) 关键元素:混杂因素、处理/控制组、识别假设、效果估计
预测建模
何时使用:构建ML模型、预测、分类/回归任务 输出:建模流水线(数据准备 → 特征工程 → 模型选择 → 验证 → 评估) 关键元素:训练/验证/测试分割、基准模型、指标选择、交叉验证、错误分析
验证
何时使用:部署前检查数据质量、代码质量、模型质量 输出:验证清单(断言 → 边缘情况 → 集成测试 → 监控) 关键元素:验收标准、测试覆盖率、错误处理、边界条件
防护栏
- 脚手架前澄清 - 不要猜测用户需求;先问澄清问题
- 区分因果与预测 - 因果推断需要与预测不同的方法(如RCT/IV vs ML)
- 明确假设 - 每个脚手架都有假设(数据分布、用户行为、系统约束)
- 包括验证步骤 - 脚手架应包括验证每个阶段工作的检查点
- 提供示例 - 展示好样貌(样本测试、样本EDA可视化、样本模型评估)
- 早期发现缺失 - 如果脚手架揭示缺失数据/需求,立即标记
- 避免过早优化 - 从简单脚手架开始,仅在需要时添加复杂性
- 遵循最佳实践 - TDD:先测试,EDA:从数据质量开始,建模:基准模型先于复杂模型
快速参考
| 任务类型 | 何时使用 | 脚手架资源 |
|---|---|---|
| TDD | 编写/重构代码 | resources/template.md #tdd-scaffold |
| EDA | 探索新数据集 | resources/template.md #eda-scaffold |
| 统计分析 | 假设检验、A/B测试 | resources/template.md #statistical-analysis-scaffold |
| 因果推断 | 处理效果估计 | resources/methodology.md #causal-inference-methods |
| 预测建模 | ML模型构建 | resources/methodology.md #predictive-modeling-pipeline |
| 验证 | 交付前质量检查 | resources/template.md #validation-scaffold |
| 示例 | 查看好样貌 | resources/examples/ |
| 评分标准 | 验证脚手架质量 | resources/evaluators/rubric_code_data_analysis_scaffolds.json |