AI 结对、真实仓库、评审闭环:拆解这份爆火作业集每道题背后的『AI 协作』设计
AI 结对、真实仓库、评审闭环拆解这份爆火作业集每道题背后的『AI 协作』设计【免费下载链接】modern-software-dev-assignmentsAssignments for CS146S: The Modern Software Dev (Stanford University Fall 2026/2025)项目地址: https://gitcode.com/GitHub_Trending/mo/modern-software-dev-assignments如果一份大学课程的作业仓库能冲上 GitHub Trending那它教的必然不是怎么写代码。modern-software-dev-assignments是斯坦福 CS146S《现代软件开发者》The Modern Software Developer, 2026 秋季的作业集三周作业的主题分别是把 Claude Code 的真实会话放到代理后面抓包解剖、为第三方 API 亲手写一个 MCP Server、为一个可复用工作流编写 Agent Skill。没有一道题是请实现一个排序算法。每一道题都在训练同一种能力——和 AI 结对干活而不是向 AI 抄答案。本文将从题目设计出发拆解这套作业如何在AI 结对、真实仓库、评审闭环三个支点上把一次作业变成一场可验证的工程训练。从传统结对编程到 AI 结对差异在哪要理解这套作业的激进之处先看软件工程教育此前的标准答案。国内大量现代软件工程课程脱胎于邹欣《构建之法》的教学体系其核心是做中学在 16 周内通过个人、结对与团队三层项目覆盖软件过程、需求分析、设计开发、测试维护与创新管理。社区中流传甚广的课程作业汇总2021 年一篇获收藏 4 次的总结专门讨论过如何从数据、需求、用户和软件构建等维度增加作业丰富性以及如何防抄袭。而到了 2025 年围绕《构建之法》的学生提问作业里AI 工具对软件工程的冲击AI 在软件测试中的潜力已经成为最高频的问题——学生开始在问而课程还没开始答。这正是 CS146S 切入的缝隙它把AI 协作从讨论对象变成了训练对象。传统结对编程是两个工程师共享一个键盘一个写一个审靠的是人的实时反馈。AI 结对则完全不同你的搭档是一个只看到你写的 schema 和 docstring、其他什么都看不到的模型。这意味着协作的界面不再是对话本身而是你为 AI 暴露的接口。CS146S 的作业设计者显然深谙此道——三周作业层层递进恰好对应 AI 结对的三层能力Week 1读懂搭档。把 Claude Code 的真实请求抓下来逐字段解剖系统提示词与工具 schemaWeek 2给搭档造接口。为 AI 消费方设计 MCP 工具让模型能选对工具、调对参数、出错能自己恢复Week 3给搭档写手册。把重复性工作流编码成 Skill让模型在该触发的时候触发跑起来不出岔子。逐题拆解题目如何逼你调用 AI 而非抄答案Week 1解剖一次真实的 Claude Code 会话week1/assignment.md 的开篇定调非常直白You are not building anything new. You are reading someone elses production system at the level of detail where its design decisions become visible.——不写新东西而是把别人的生产系统读到设计决策显形为止。这道题的第一层设计是强制真实。捕获会话必须同时满足四个硬性条件多文件、至少失败一次、长到足以让 Agent 显式做计划、且必须是你自己的仓库。注意至少失败一次不是偶然要求——题目直接给出建议Breaking a test on purpose is the reliable way to get one.故意弄坏一个测试来诱发错误恢复序列。这是把AI 会犯错从新闻里的抽象概念变成你亲眼观察过的具体数据点。第二层设计是证据纪律。Part IV 要求每个行为分析结论必须标注[OBSERVED]或[INFERRED]并引用证据第几个请求、第几条消息、哪个工具调用observed 意味着你能在抓包里指出它inferred 意味着你从定义推断但没亲眼看到。两者都接受不标注不得分。同时作业明确要求脱敏Never paste raw flows or HTTP headers因为x-api-key就藏在那里请求体也可能回放.env里的密钥引用前必须检查工具结果。这三条合起来训练的是 AI 时代最稀缺的素养对模型输出的每一个断言都能追溯到证据对每一条要外发的数据都知道它可能包含什么。第三层是从 schema 学接口设计。Part III 要求先报数字多少工具、内置/MCP/延迟搜索各多少、会话中如何变化再选两个差异足够大的工具做接口设计分析为什么是这套参数、哪些被刻意不暴露、描述里哪句话只因为模型老做错事才存在——题目原话是 Tool descriptions in a mature agent are largely accumulated scar tissue成熟 Agent 的工具描述大多是累积的伤疤组织。能读懂伤疤才懂得接口设计本质上是与错误的历史博弈。Week 2为 AI 消费方设计接口如果说 Week 1 是读别人的接口week2/assignment.md 就是写自己的接口而且点明了评分重心The API work is the easy part. What is graded is agent ergonomics.——Agent 人机工程学。这道题提出了五条可操作的接口设计准则每一条都是反直觉的约束进 schema不要进散文。题目原话sort: Literal[stars, forks]beatssort: strplus a docstring sentence.如果 schema 和 docstring 互相矛盾模型会收到它无法解释的校验失败。塑形你的输出。不要把第三方 API 的原始 JSON 直接透传只保留 Agent 需要的字段——Raw payloads are token-heavy and couple your contract to someone elses API。错误是数据不是 traceback。一道 traceback 会终结 Agent 的回合而{error: rate limited, retry after 42s}能让它继续。错误信息必须足以让模型区分不要重试ID 错误和重试限流、网络抖动。Docstring 就是契约。要写明 ID 从哪来the numeric ID fromlist_templates让工具能链式调用。写工具要装刹车。读工具加readOnlyHint注解不可逆操作要么给dry_run参数要么拆成预览-确认两步。再加上 OAuth 部分的最小化 scope令牌第一版就只从环境变量读、绝不进仓库以及token 会话中途失效时不能弹浏览器、要返回可操作的错误——这些约束放在一起就是在模拟真实生产环境里把内部 API 交给 AI 使用的全部卫生标准。作业还要求提交一份你看了 Agent 误用工具后改了什么的记录把观察驱动迭代写进了评分表。Week 3把判断力编码进可复用的 Skillweek3/assignment.md 把 AI 结对推进到第三层Agent 已经会干活了怎么让它稳定地、正确地干活答案是 Skill——the checklist you would otherwise paste into chat every time。这道题最锋利的地方在于区分了步骤和判断单条固定命令只是 shell alias不是 SkillSkill 必须至少包含一个真实的决策点。题目给出的候选工作流issue 转实施计划、PR 评审、bug 复现、依赖升级、截图转实现每一个都内含判断比如 bug 复现要求先构建最小复现、形成假设、跑定向测试、最后才提修复方案。Part II 明确要求Judgment, not just steps——遇到歧义时如何决策、以及不该做什么A restatement of the tool documentation teaches nothing。最值得称道的是 Part III 的触发测试三个应该触发 Skill 的 prompt加一个几乎触发但不应触发的 near-miss然后报告实际结果——If the near-miss fired it, your description is too broad.把提示工程从玄学变成了可证伪的实验。这一部分本质上是在训练工程师对模型何时会错误调用工具的敏感性是 Week 1 抓包分析的镜像练习。评审与反馈环节如何闭环这套作业的闭环设计藏在每个 writeup 模板和评分细则里。三份 writeup.mdweek2、week3都以 TODO 占位符铺满整个模板提交前唯一的自检动作是⌘F搜索 TODO找不到才算完成——把自查程序化杜绝了我以为我写完了的模糊状态。评审粒度则细到可审计Week 1的 rubric 按五部分 15/25/25/25/10 分配并有两条明确扣分项引用的片段里出现未脱敏的凭证、以及把推断冒充观察claims presented as observation that your trace does not support。这等于把证据链完整变成了可执行的评分规则。Week 2要求展示一段真实的端到端 transcriptprompt → 哪些工具以什么参数触发 → 结果外加一个被刻意诱发的失败路径还必须有一个走 MCP 协议而非直接调用 Python 函数的测试。失败演示与成功演示等权这在作业设计里相当罕见。Week 3的触发测试本身就是反馈环near-miss 触发说明描述过宽触发失败说明描述过窄测试结果直接驱动你重写 description。值得注意的是三份作业都要求把mihail911、isaackann、vdaita三个助教添加为仓库协作者再通过 Gradescope 提交。也就是说评审者看的是你的提交记录、你的抓包证据、你的失败演示而不是一份看起来对的总结。同时 Week 1 反复强调session.flows不能进任何 git 仓库、用后删除.claude/settings.json里的ANTHROPIC_BASE_URL——作业的闭环还包括用完之后干净离场。这套设计对在职工程师的复用价值抛开课堂这套作业其实是三份可以直接迁移到日常工作的能力清单把 AI 当搭档先学会读它的接口。大多数工程师对 AI 编程助手的使用停留在描述需求→粘贴结果出了问题只能归因于模型太笨。Week 1 训练的是另一种归因方式看请求结构、看工具 schema、看系统提示词的分段与顺序结构、语气、何时不行动、环境上下文、看system-reminder为何要在对话中途注入。看懂这些你才具备诊断一次失败的 AI 会话的能力。给自己团队的内部系统写AI 卫生标准。Week 2 的五条准则——schema 级约束、输出塑形、结构化错误、可链式调用的 docstring、写工具刹车——可以直接复用到任何把内部 API 暴露给 LLM的场景。团队里如果有人在给 Copilot 或自建 Agent 接内部服务这份作业就是现成的接口审查清单。把团队 SOP 编码成 Skill并用 near-miss 测试验证。很多团队有代码评审 checklist上线前检查单但从来没人验证过AI 会不会在错误的时机触发它。Week 3 的触发测试三个应触发 一个不应触发是成本最低的验证手段而判断力而非步骤的要求则提醒我们能被编码进 Skill 的应该是那些你愿意让 AI 替你反复执行的决策框架。CS146S 这套作业真正的价值不在于教会学生使用某个具体工具而在于它把AI 协作从一句口号拆解成了可训练、可评分、可复用的工程能力。GitHub Trending 上的热度或许来自斯坦福开课教 Claude Code的新鲜感但能留下来的是 Week 1 的证据纪律、Week 2 的接口卫生、Week 3 的可证伪触发测试——这三样东西在任何一家 AI 辅助开发已经常态化的公司里都是稀缺技能。【免费下载链接】modern-software-dev-assignmentsAssignments for CS146S: The Modern Software Dev (Stanford University Fall 2026/2025)项目地址: https://gitcode.com/GitHub_Trending/mo/modern-software-dev-assignments创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Jeff 的 3 种问题类型一次看懂:choice、noul、score 零基础详解

Jeff 的 3 种问题类型一次看懂:choice、noul、score 零基础详解

Jeff 的 3 种问题类型一次看懂:choice、noul、score 零基础详解 【免费下载链接】jeff Millisecond decisions, any domain: a 0.8B open "System 1" model that picks between your options with calibrated probabilities. One base, swappable LoRA ad…

2026/10/9 18:20:12 阅读更多 →
1853张带标签人脸数据YOLO训练全流程:从格式转换到部署避坑

1853张带标签人脸数据YOLO训练全流程:从格式转换到部署避坑

简介:本资源为面向YOLO系列算法的人脸检测数据集,适合目标检测初学者与需要快速验证模型的研究者使用,可直接用于训练与测试,省去自行标注与划分数据集的繁琐流程。压缩包共2000个文件,以1646个xml标注文件和354个txt标…

2026/10/9 18:19:12 阅读更多 →
CHB-MIT数据集实战:EDF解析、滑窗建样本与癫痫发作检测

CHB-MIT数据集实战:EDF解析、滑窗建样本与癫痫发作检测

简介:CHB-MIT数据集是癫痫脑电图研究领域的经典公开数据,由麻省理工学院与波士顿儿童医院合作采集,适合生物医学信号处理、机器学习和模式识别方向的研究者,用于癫痫发作检测、分类及长期监测等任务。资源包共145个文件&#xff0…

2026/10/10 18:47:23 阅读更多 →

最新新闻

纯Java手写TopoJSON生成器:从GeoJSON到拓扑压缩的完整实践

纯Java手写TopoJSON生成器:从GeoJSON到拓扑压缩的完整实践

做 WebGIS 的同学这两年应该对 TopoJSON 不陌生,尤其当你需要把全省县级行政区划、全国路网这类动不动几十 MB 的 GeoJSON 塞进浏览器时,TopoJSON 几乎成了绕不开的选项。它的核心价值只有一句话:在拓扑关系上做文章,让共享边界只…

2026/10/10 20:47:31 阅读更多 →
Spring Boot+MyBatis Plus游戏分享网站毕设全流程实战解析

Spring Boot+MyBatis Plus游戏分享网站毕设全流程实战解析

每年的毕业设计季,总能看到一批同学被“选题”折磨得焦头烂额。游戏分享网站这种项目,听起来难度适中、事务清晰,特别适合拿来当计算机专业的毕设项目,但实际动起手来,从技术栈选型到功能模块拆解,再到部署…

2026/10/10 20:47:31 阅读更多 →
给 AI 生成 UI 上“护栏“:json-render 白名单配置从零到生产

给 AI 生成 UI 上“护栏“:json-render 白名单配置从零到生产

给 AI 生成 UI 上"护栏":json-render 白名单配置从零到生产 【免费下载链接】json-render The Generative UI framework 项目地址: https://gitcode.com/GitHub_Trending/js/json-render 2026 年初,Vercel Labs 开源的 json-render 在短…

2026/10/10 20:47:31 阅读更多 →
用NAS把收藏夹文章变成专属播客:搭建指南

用NAS把收藏夹文章变成专属播客:搭建指南

我猜你八成也有这么个毛病:看到一篇好文章先收藏,想着“回头认真读”,结果这个“回头”就是永远。收藏夹里堆了几百篇深度长文,从AI技术、投资分析到历史考据,什么都有,就是没有时间去读。直到有天我在通勤…

2026/10/10 20:47:31 阅读更多 →
把“留痕“当一等公民:金融智能体的审计设计为什么比模型能力更烧钱

把“留痕“当一等公民:金融智能体的审计设计为什么比模型能力更烧钱

把"留痕"当一等公民:金融智能体的审计设计为什么比模型能力更烧钱 【免费下载链接】financial-services 可将 Claude 转变为金融服务专家,适用于投资银行、股票研究等领域。提供核心及专项插件,支持端到端工作流,集成多…

2026/10/10 20:47:31 阅读更多 →
基于Java的校园二手智能交易平台APP开发全攻略

基于Java的校园二手智能交易平台APP开发全攻略

1. 项目到底在做什么:需求与定位拆解每年毕业设计季,“校园二手交易平台”这类题目都是常青树,但今年我带着学生把“基于Java的校园二手智能交易平台APP”完整做成可运行系统时,发现很多人对这个题目的理解还停留在十年前&#xf…

2026/10/10 20:46:30 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →