用Codex制作课程作业管理工具只需建【course-hw-manager】工作区、设submissions/等4个子目录、写AGENTS.md声明type,并在rubrics/中按编号+“分”字+“总分:100分”格式定义评分标准。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

用 Codex 制作一个能自动归类、打分、生成报告的课程作业管理工具,不需要写代码,只要选对文件夹结构、配好 AGENTS.md 规则、让 AI 理解你的评分标准和提交格式即可。
准备专属工作区
新建一个空文件夹,命名为 【course-hw-manager】,不要放在桌面或“下载”这种混杂目录里——Codex 会把整个父路径都当作可读范围,容易误扫无关文件。
进入该文件夹,手动创建以下子目录:submissions/(学生原始提交)、graded/(已批改文件)、reports/(Markdown/Excel 报告)、rubrics/(评分细则文本)。
在根目录下新建 AGENTS.md 文件,这是 Codex 的“项目说明书”,必须存在且首行写明任务类型:type: homework-manager。没有它,Codex 会按通用模式处理,无法启用作业专用技能。
定义评分规则与格式
把你的课程评分标准整理成纯文本,保存为 rubrics/intro-to-python.md,内容需包含三项硬性字段:
• 每项扣分点必须带编号,如“① 缺少函数文档字符串:-2 分”;
• 所有分数必须用阿拉伯数字+“分”字,不能写“扣2”“减2”“-2pts”;
• 最后一行必须是“总分:100 分”。Codex 依赖这个固定结尾识别满分值,否则无法自动计算得分率。
批量导入并初筛作业
把学生压缩包统一解压到 submissions/,确保每个子文件夹名含学号,例如 submissions/202600123_zhangsan/。
在 Codex 工作区对话中输入:“扫描 submissions/ 下所有含学号命名的文件夹,检查每个文件夹内是否有 main.py 或 homework.ipynb,把缺失关键文件的名单列进 reports/missing-files.md。”
这一步会触发 Codex 自动遍历目录、匹配文件名模式、生成缺失清单。如果学生交了 zip 但没解压,Codex 不会自动解压——【必须提前手动解压完毕】,否则它只看到压缩包,无法读取内部代码。
执行自动化批改
方法一:按规则逐项检查
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
输入指令:“读取 rubrics/intro-to-python.md,对 submissions/ 下每个学生文件夹运行三步检查:① 统计 main.py 中 def 关键字数量,低于3个则扣5分;② 检查是否含 # TODO 注释,每处未完成扣3分;③ 运行代码并捕获报错,首次报错即终止,记录错误类型到 graded/[学号]_feedback.md。”
方法二:调用 Python 脚本校验(适合有基础的教师)
先让 Codex 在 scripts/ 下生成 check_style.py,命令是:“写一个 Python 脚本,用 pylint 对每个 submissions/[学号]/main.py 执行检查,输出 score 和 error_count,结果存入 reports/pylint-summary.csv。”
脚本生成后,Codex 会自动执行它——前提是权限设为“自动审查”或“完全访问”,否则会在终端卡住等你点确认。
生成可视化成绩报告
第一步:汇总得分数据
输入:“从所有 graded/[学号]_feedback.md 中提取‘得分:X 分’字段,合并成表格,列名依次为学号、姓名、得分、评语,保存为 reports/score-summary.csv。”
第二步:转成 Markdown 报告
输入:“读取 reports/score-summary.csv,按得分降序排列,生成 Markdown 表格,头部加标题‘《Python导论》第3次作业成绩总览(共XX份)’,插入 reports/summary-20261010.md。”
第三步:画分布图(需本地装了 Python + matplotlib)
输入:“写一个 Python 脚本,读取 score-summary.csv 的‘得分’列,绘制直方图,保存为 reports/score-distribution.png。”
Codex 会立刻生成脚本并运行,图像直接出现在 reports/ 目录里,双击就能查看。

















