| name | academic-assignment-assistant |
| description | 用于处理大学课程作业。当用户提供老师发的作业文件(PDF 或 Word),或描述"帮我做作业"、"分析这份作业要求"、"生成作业文档"、"写课程论文"、"完成实验报告"、"读书报告"、"案例分析"、"课程设计"等学术作业场景时使用。会先解读作业的显性/隐性要求、评分点与重点,然后按学科(理工科 / 文科)以多版本多视角的方式生成满足老师要求的 Word 文档。无论用户是否明确提到"作业"二字,只要上下文涉及课程任务文件+需要交付文档,都应触发此 skill。 |
学术作业助手
帮助大学生处理课程作业的端到端工作流:读取作业文件 → 解读需求 → 按学科生成多版本 Word 作答。
核心价值在于"先理解、再作答":老师布置的作业往往有很多隐性要求(评分偏好、预期深度、引用规范、暗含的理论框架),学生直接开写容易偏题或浅尝辄止。这个 skill 强制先做需求解读,再按学科特点展开多维度作答。
工作流程
第 1 步:提取作业内容
如果用户提供了 PDF 或 Word 文件,使用 scripts/extract_assignment.py 抽取文本:
python scripts/extract_assignment.py <path-to-assignment-file>
该脚本支持 .pdf / .docx / .doc(尽力而为),输出纯文本到 stdout。如果用户是直接粘贴文字描述作业,跳过此步。
第 2 步:解读作业需求
阅读 references/analysis.md,按该模板对作业做一次结构化解读,输出给用户看的包括:
- 作业类型:论文 / 实验报告 / 读书报告 / 案例分析 / 课程设计 / 习题 / 其他
- 显性要求:字数、截止日期、文件格式、章节要求、引用格式(APA / GB/T 7714 / MLA 等)
- 隐性要求与评分点:推测老师看重什么(理论深度?批判性思考?数据支撑?原创观点?)
- 重点与难点:哪些是核心得分项,哪些容易被忽略
- 学科归属:理工科 / 文科 / 交叉(用于下一步选择作答策略)
把这份解读先展示给用户确认再往下写——这是最关键的一步,偏题的代价远高于几轮澄清。
第 3 步:按学科展开多版本作答
根据学科归属,读取对应的参考文件:
- 理工科(数学/物理/工程/计算机/实验类)→ 读
references/stem.md
- 文科(文学/历史/哲学/法学/管理/社科/思政)→ 读
references/humanities.md
- 交叉学科(如计算社会科学、数字人文、经济计量)→ 两份都读,取对应侧重
凡是课程论文类作业,无论学科,都额外读 references/citations.md(负责参考文献生成与格式化)。
"多版本多视角"的含义取决于作业类型,常见做法:
- 论述题 / 论文:提供 2-3 个不同论点角度或理论框架的版本(例如:功能主义视角 vs 冲突论视角)
- 开放性设计 / 方案类:给出保守方案 + 创新方案
- 分析报告:先给核心答案,再给拓展延伸层
- 习题集:同一题给出"标准解法 + 更优解法/另辟蹊径"
默认生成 2 个版本;如果用户要求更多或更少,按用户意愿调整。每个版本都要独立完整,而不是互相依赖的半成品。
第 3.5 步:参考文献生成(课程论文必做)
当作业类型是课程论文 / 读书报告 / 文献综述 / 案例分析等需要文献支撑的形式时,必须阅读并按 references/citations.md 执行:
- 询问/确认引用格式:GB/T 7714(中国高校默认)/ APA / MLA / Chicago / IEEE。如作业文件未说明,主动问用户学校或院系的规范。
- 契合原文:每条参考文献都必须对应正文里一处具体论断,不允许"列了没引"或"引了没列"。
- 不编造:无法确认真实性的文献用
〔引用待核实:<检索建议>〕 占位,不要瞎造作者、期刊、页码、DOI。
- 引用密度:本科论文 8-15 条,研究生 15-30 条,均匀分布在文献综述与论证主体。
- 正文内编号/作者-年份标注要与文末列表严格一致。
生成时在 build_docx.py 的 config 里:
citation_style 指定格式
references 列表按该格式逐条填写
- 正文
paragraphs 中直接嵌入 [1] 或 (Smith, 2020) 等标注
第 4 步:生成 Word 文档
使用 scripts/build_docx.py 生成最终 Word 文件。脚本支持常见学术排版:封面、目录、正文分级标题、图表、公式占位、参考文献。
python scripts/build_docx.py --config <json-config-path> --output <output.docx>
config 的结构见 scripts/build_docx.py 的 --help。如果用户未指定,默认生成:
- 封面(课程名、作业题目、学生姓名占位、日期)
- 目录(2 级标题)
- 正文
- 参考文献(按检测到的引用格式)
如果作业含多个版本,生成一个 Word 文件,内部用分节符/分页符隔开,在目录中标注"版本 A:xxx视角" / "版本 B:xxx视角",方便学生挑选或组合使用。
关键原则
让学生能直接交,但学生还是作者。 作答内容要扎实、规范、符合老师要求,但在关键论点处保留可替换的括注(例如"〔此处可结合你自身经历补充 1 段〕"),鼓励学生注入个人思考。这既是学术诚信的考虑,也能让老师看到"真人痕迹"。
不要编造数据和引用。 理工科的实验数据、文科的文献引用,如果用户没提供原始材料,就在文档中明确标注"〔需补充真实数据〕"或"〔此处引用待核实〕",不要随意捏造文献。虚假引用是学术作业的重灾区,老师一查就露馅。
多版本的目的是给选择权,不是注水。 如果作业本身只适合一个答案(如数学计算题),就老老实实给一个最优解加简要的"解法思路说明",不要为了凑"多版本"硬拆。
与用户的交互节奏
- 拿到文件后,先给出需求解读,问用户:"解读是否准确?有没有要补充的(比如老师课上特别强调了什么、班里以往得高分的作业是什么风格)?"
- 用户确认后,再产出作答大纲(每个版本的核心论点/解题思路),再问一次:"这个方向可以吗?"
- 用户认可大纲后,再生成完整 Word。
这个节奏看似慢,但能避免"写了 8000 字结果方向错了"的悲剧,总体更省时间。如果用户明确说"不用问了直接写",则一口气做完。