作业要求¶
本文是本次 AI Agent 大作业的规格说明,包括作业要做什么、有哪些硬性要求、交什么、怎么评分。想了解作业为什么这样设计,先看作业背景;想知道一步步怎么完成,看快速入门。
一、作业目标¶
你要从自己的真实生活或学习场景出发,找到一个具体的、适合用 AI Agent 自动化、但现有通用 Agent 解决不好的痛点,然后为它设计并实现一个高度场景定制化的 AI Agent 工具。不能拿一个通用 Agent 凑数:方案必须针对某一个具体实际的场景,并且包含至少两项针对该场景的专门优化或定制逻辑,让它在这个场景下明显好于通用 Agent,或者做到通用 Agent 做不到的事。
二、场景选题参考¶
下面四类选题仅供参考,鼓励原创。
学习科研辅助¶
- 数学证明辅助 Agent:输入高等数学或线性代数题目,自动求解,可调用 Lean 或 Mathematica 等工具,对推理过程做形式化验证,最终生成带逐步解释的 LaTeX 解题文档。也可以扩展成命题探索:针对某个猜想自动搜索反例(比如近期备受关注的 Jacobian 猜想),或者辅助特定定理的证明。
- 论文梳理与复现 Agent:针对你关心的具体课题(比如“基于扩散模型的图像编辑”),自动爬取 arXiv 或顶会/顶刊论文,提取核心创新点和性能数据,生成综述和对比表格;还能自动克隆官方代码、配置隔离环境、运行验证,把复现结果和论文宣称的数值交叉比对,输出复现可信度评估报告,并基于研究空白提出潜在方向。
- 模拟答辩 Agent:根据你的论文或课题内容,收集往届答辩常见问题,生成模拟答辩;扮演答辩委员会提问、追问,根据你的回答点评并指出薄弱点,答辩前自动生成准备清单。
生活资料管理¶
- 相册管理 Agent:对本地图片和视频建立多维索引(EXIF 信息、人脸识别与聚类、CLIP 语义向量),支持自然语言精确检索(比如“找出 2024 年暑假在清华拍的所有有树的照片”),还能按事件或时间线自动生成精选相册,或生成表情包。
- 记账 Agent:自动从邮箱或 App 里识别提取账单和银行流水(支持 PDF/CSV/XLSX 等格式),按你自定义的规则分类(如“餐饮”“交通”“游戏”),生成结构化账本(比如 Beancount 格式),提供可视化报表和理财建议。支持自然语言对话式查询,比如“我上个月在游戏上花了多少钱?”。
- 旅行行程 Agent:输入目的地和时间,自动抓取天气、景点开放时间、门票、交通等信息,收集各平台攻略提炼口碑,按偏好和预算生成分日行程并同步日历;出发前提醒需要准备什么,遇到临时闭园还能给出替代方案,生成带配图的攻略。
特定领域工作流¶
- 代码迁移和重构 Agent:受 Bun 启发,针对特定语言或框架间的迁移(比如 C++/Zig -> Rust、React -> Vue),自动解析源项目 AST,做语义级别的代码转换,并生成配套单元测试验证迁移正确性,大幅降低人工重构的风险和工作量。
- 智能运维 Agent:把运维需求(如安全漏洞修复、软件版本升级、服务异常排查等)自动转化为能在服务器上安全执行的命令序列,带执行监控和回滚机制,实现常见运维问题的自动诊断与修复,同时保证可靠性。
- 价格监控 Agent:定时抓取关注的商品、机票、游戏折扣等价格,记录历史走势,跌破心理价位时自动提醒;结合大促规律和评测口碑判断“现在是不是真的便宜”,给出购买建议,定期生成降价报告。
娱乐体验增强¶
- 游戏助手 Agent:针对竞技类游戏,自动分析对局回放和玩家操作数据,识别失误和决策瓶颈,生成个性化的提升建议报告;对抽卡类游戏,结合抽卡历史与卡池概率模型,为资源分配提供数据驱动的参考;对比赛观赛,自动生成赛况总结和评价。
- 追剧 Agent:基于你的观影偏好画像,从网络资源中检索推荐新旧影视作品,支持资源获取、整理与内容摘要,生成二创视频,还能梳理剧里的人物关系帮你磕 CP;也可以让 Agent 自动拉片,分析影片的故事背景和镜头细节。
- 音乐口味 Agent:根据听歌记录分析口味偏好,推荐新歌、生成歌单并解释理由,支持跨平台导入记录;还能按场景(通勤、自习、运动)生成歌单,为歌单生成封面配图。
三、固定功能要求(必选项,占基础分)¶
无论选什么场景,下面六个模块都需要完整实现。
R1. 核心逻辑用 Rust 实现¶
核心业务逻辑(数据处理、算法流程、API 调用编排)必须用 Rust 写。允许调用其他语言的库(比如 Python 的 PyTorch),但主控流程必须在 Rust 里。
R2. 用户交互界面¶
至少提供以下之一:Web 界面、CLI 交互式终端、桌面 App、手机 App。界面必须能触发 Agent 任务,并展示结果。
R3. 可自定义模型配置¶
Agent 的用户必须能自由修改大模型的 API Endpoint 和 API Key(比如在 OpenAI 和本地模型之间切换),既可以通过配置文件(.env 或 config.toml),也可以通过 UI/CLI 设置页这类用户友好的界面。此外还要能配置上下文长度、思考模式、API 价格等。
R4. 实时进度渲染和打断功能¶
执行时间超过 3 秒的任务,UI/CLI 必须实时渲染进度,并且允许用户打断。比如处理照片时显示“已处理 45/120 张”,数学证明时显示“正在尝试证明引理...”。Web 端可以用 SSE/WebSocket 等技术,CLI 端可以用进度条库。
R5. 上下文历史管理¶
Agent 必须能管理多轮对话或任务状态的历史记录。用户能查看历史任务,也能保存/加载某次会话的完整上下文(比如存成 JSON 文件)。也就是说,用户能看到 Agent 任务背后实际的工作流程(如 DeepSeek Harness 的轨迹显示),而不是把它当成一个黑盒。
R6. Token 用量与价格统计¶
系统必须精确统计每次 API 调用的输入 token 数和输出 token 数(这两个数字在 API 响应里就能拿到),并根据你配置的模型价格(或预设价格表)实时换算成本。统计信息必须在界面上清晰展示。允许设置 token 预算,用量到预算时自动中断,免得月底看着账单流泪。
四、提交物清单¶
除源代码提交到清华 Git 外,其余内容提交到网络学堂对应作业:
- 完整设计文档(PDF),包含四部分:
- 痛点分析:为什么这是痛点?现有工具为什么解决不好?举一些具体例子。
- 场景定制方案:你为这个场景做了哪些专门优化和定制?(至少 2 点,解释技术实现)
- 系统架构图:模块划分、数据流、关键数据结构。
- 技术选型:各个模块用了哪些关键 crate,为什么这么选?
- 项目源代码:提交到清华 Git,需包含 README,说明怎么编译、怎么配置(Endpoint/Key)、怎么运行,附演示用例。
- AI 对话历史(完整原始记录):开发过程中和 AI 助手的全部对话,格式为 Markdown/JSON/PDF。
- AI 开发开销明细表(Excel):按阶段(需求分析、架构设计、Rust 核心逻辑编写、UI 开发、测试调试等)统计:
- 该阶段消耗的人时(小时)
- 该阶段的 API 调用次数、总 Token 数、总花费(USD/CNY)
- 使用的模型名称
- 使用的 AI 开发工具
统计 AI 开发开销,是为了让你对 AI 开发成本心里有数:将来拿它做项目、接私活或打比赛,如果自费的大模型调用费用比收入还高,那就得不偿失了。
五、时间节点与评审流程¶
作业分三个阶段:选题确认与互相评论、公开展示与互相试用、分课堂展示与互相评分。
第一阶段:选题确认与互相评论¶
第一阶段,在网络学堂“Agent 大作业选题”讨论区发布你的选题,简要描述场景和痛点,同时至少给其他 3 位同学的选题写评论,比如这个选题是不是也解决了你的痛点、你期待它有什么功能。助教和老师也会在网络学堂评论,帮你确认选题。发布以后,依然可以修改选题,所以发布得越早,获得反馈也越早,调整的空间就越大。选题允许“撞车”,但实现不许雷同。
时间安排:
- 8.30 23:59:59 之前,在网络学堂“Agent选题确认”讨论区发布选题
- 9.1 23:59:59 之前,给至少其他 3 位同学的选题发布评论,只评论不打分
第二阶段:公开展示与互相试用¶
实现基本功能后,在网络学堂“Agent 大作业展示”讨论区发布你的设计文档摘要和项目链接(需开放访问)。你需要至少试用 3 位其他同学的作品,并在对应帖子下提交反馈。收到反馈后,再根据反馈改进。试用的过程,也是互相学习的过程。
时间安排:
- 9.6 23:59:59 之前,在网络学堂“Agent公开展示”讨论区发布设计文档摘要和项目链接
- 9.8 23:59:59 之前,至少试用 3 位其他同学的作品,并提交反馈,不打分
第三阶段:分课堂展示与互相评分¶
所有选课同学会被随机分到不同的分课堂。每人有 5 分钟展示,介绍自己的 Agent 并做功能演示;之后有 2 分钟左右的提问时间,助教和老师会针对作业提问。同学之间互相评分,最终分数综合互评和助教、老师的打分评定。
时间安排:9.10 上午第二大节,随机分配到四个分课堂
六、评分标准(总分 100 分)¶
| 评分项 | 分值 | 考察内容 |
|---|---|---|
| 场景独特性与痛点分析 | 10 分 | 场景是否真实、具体?痛点分析是否深刻?是否避免了“通用型 Agent”? |
| 场景定制化设计 | 10 分 | 是否为该场景做出了明确、有技术挑战的定制优化? |
| Rust 核心逻辑实现 | 10 分 | Rust 代码的质量、安全性、模块化程度。 |
| 功能完整性 | 30 分 | R1–R6 每项 5 分,按实现完整度和用户体验给分。 |
| 设计文档质量 | 10 分 | 逻辑清晰度、图表规范性、技术描述深度,经过人手。 |
| 评论与试用参与度 | 5 分 | 是否按时完成对其他 3 位同学选题的评论,以及作品的试用和反馈。 |
| 课堂展示表现 | 25 分 | 由同学互评和助教、老师共同打分,评价标准为 Agent 能否解决实际问题,现场展示的效果,问答环节回答效果,Agent 功能和完成度,技术方案合理性 |
七、作弊与学术诚信¶
- 严禁直接复制他人的代码或设计。引用开源库必须在文档里注明。
- AI 辅助编程被鼓励,但你必须理解提交的每一行 Rust 代码。分课堂展示时,如果助教或同学深入询问实现细节,你解释不清楚,将按抄袭处理。
- 提交的“AI 对话历史”必须是真实原始记录,不得伪造或篡改时间戳和内容。
违反以上要求,按课程抄袭与查重相关规定处理。
八、Q&A 常见问题¶
Q1:必须完全用 Rust 写 Web UI 吗?¶
不用。Web UI 可以用 TypeScript/React 等成熟前端技术栈,但 Agent 核心逻辑(任务调度、状态管理、API 调用编排)必须由 Rust 实现,可以编译为 WASM 供前端调用,也可以作为独立后端服务。
Q2:Token 统计只针对 LLM 调用吗?如果还调用了其他 AI 模型怎么办?¶
所有外部 AI API 调用都要统计用量和费用,包括 Embedding、语音识别与合成、文生图、文生视频等模型,按 Token 或 Credit 计费的(如有)都算上。
Q3:一定要用 API 调用 AI 吗?本地推理是否可行?¶
本地推理是可行的,但得先想清楚一个问题:你的 Agent 要在别的同学设备上跑,人家的机器不一定有 GPU,可能根本跑不起来。如果模型比较小(比如体积不到 1GB),又能靠 CPU 完成推理,那对用户环境的要求就低很多。最稳妥的做法,是让用户在配置里自由选择:本地推理,还是调用 API。
Q4:我没有任何 AI 基础怎么办?¶
这正是这次大作业的训练目标之一。鼓励你结合 AI 工具边学边写,先从简单的 CLI 版本开始,再迭代加 UI。完整流程见快速入门。
Q5:我想到的需求已经有现有 Agent 实现了怎么办?¶
可以先试用该 Agent 并且找到它做的不够好的地方,然后在你的设计文档里分析它的不足,提出改进方案。只要能证明你的 Agent 在这个场景下明显好于现有 Agent,或者做了现有 Agent 做不到的事,就可以作为选题。此外,请从零开始构建 Agent 而非二次开发。
Q6:怎么判断一个场景已经足够具体?¶
一个场景足够具体,指的是它“只做这一件事情”:你的 Agent 只服务这一个场景,而不是像通用 Coding Agent 那样什么都能做。当然,这个场景也可以允许用户做一些定制,比如改改提示词、换换模型。如果你发现自己的“场景”本质上就是一个通用 Agent 换了一层皮,那说明它还不够具体。
Q7:需要和现有软件或通用 Agent 做正式的对比实验吗?¶
不需要。在写痛点分析时,你要讲清楚现有软件或通用 Agent 在这件事上有哪些体验或功能上的不足,以此说明你做的东西有价值,但这些只是背景,是什么启发你去做这件事。这不是发论文,不用跑对比实验,也不用给出现有的量化指标,当然你要做也不拦着。你可以先试用一下现有的 Agent,找到它做得不够好的地方,把那些“做不到/做不好”的点写进设计文档。
Q8:“至少两项专门优化或定制逻辑”有最低实现标准吗?¶
没有统一的技术门槛或标准答案。考察点在于:在标准 Agent Loop(见Agent 架构)的基础上,你是否真的为这个场景引入了专属设计。比如针对数据源设计的工具调用、为场景设计的 Skills 或知识库、引入工作流、结构化输出校验、定制提示词工程等。简单说,就是体现“专用”:通用 Agent 需要用户一步步把话讲清楚,而你的 Agent 把这些步骤固化成了针对该场景的代码和配置。
Q9:本地模型、图片/语音模型,或不返回 Usage 字段的第三方服务,Token 和费用怎么统计?¶
有啥统计啥,至少可以统计调用次数。能拿到 Token 就统计 Token,能拿到 Credit 就统计 Credit;拿不到具体数值的,就在文档里标明该服务的计费方式。重点是“有统计、有记录”,而不是每个服务都非得还原成精确的 Token 数。
Q10:使用 ChatGPT Plus/Pro 这类订阅套餐(不按 API 单价计价),开发开销表怎么填?¶
订阅版工具的 Usage 字段依然会返回 Token 数,所以照常统计总共用了多少 Token。开销表里,因为你是套餐订阅、没有按 API 单价扣费,可以说明:一共用了多少 Token,由于是套餐制,实际花费表现为占用了多少套餐额度(比如用了套餐额度的百分之几),给个大致的开销即可。这一项的目的是让你对 AI 开发成本形成概念:如果做一件事,AI 投入的成本已经超过收益(比如拿 1000 元奖金却花 5000 元调用费),就该改进你的 AI 开发流程了。
Q11:交互式 CLI 可以满足界面要求吗?¶
可以。R2 中“界面”这一项允许 CLI 交互式终端。不过,如果项目天然需要图形化呈现(比如图片处理、可视化报表),那么 GUI 或 Web 界面会更有意义,CLI 画图会比较受限。选哪种界面,以能最好地呈现你的 Agent 结果为标准。
Q12:会提供测试用例或参考实现,帮助判断 R1-R6 是否达标吗?¶
不会提供参考实现,因为大家的代码都是自己从零开始与 AI 协同写出来的。判断 R1–R6 是否达标,是助教对照代码和实际运行来核对的;这些基本要求本身不难判断。它们更多是保证大家确实写的是一个 Agent。
Q13:评分标准很主观,不同项目也难以横向比较,有没有更详细的说明?¶
评分的几个角度已经写在评分标准的表格里,但每一项具体高低的判定是主观的。事实上,往年大作业的评分也包含主观部分,只是今年主观比例有所上升。随着 AI 的发展,过去那种靠自动化测试就能一锤定音的客观评分方式已经不太适用,现实中往往也是如此,不同项目之间因此确实难以直接横向比较。在 AI 时代,竞争的不只是技术本身,你的展示、你的表达、你的 idea 能否吸引别人,会越来越重要。你也可以把这当作一次锻炼表达与展示能力的机会。