为 OI 设计的教学 Agent:Polaris
command_block · · 科技·工程
Read on Luogu | UOJ
各位 OIer 们好!
截止今天,LLM 在 OI 上的表现已经非常强大。我们预言,在半年到一年内,它将为 OI 的教学方式带来根本性变革。
考虑到 OI 社群优良的开源传统,我们不会被动地接受这一切,比起眩晕瘫坐,我们可以自己完成变革的工作。
由此,我们启动了一个基于 LLM 的 OI 教学智能体的开发计划。你可以叫它 Polaris。
Polaris 有什么?
Polaris 已经实现了什么有前景的功能?Polaris 能干什么?
以下是计划内容,在未来的开发进程中可能会有变动。
AI 驱动的内容库
OI 的公开资源主要是题目和文章。过去,它们孤立于 OJ 和博客中。
近五年出现了一些上层设施(如洛谷题单,OI-Wiki),然而,仅靠编写者个人的努力,难以穷尽公开资源,且无法做到持续更新,最终起到的效果仍比较有限。
经常出现的情况是,虽然存在十分适配的题目或文章,选手却极难找到。优质资源虽然公开,仍局限于口口相传。
为了解决这个长久以来的困境,我们希望建立一个内容库。它将收录所有值得一做的题目,所有值得一看的文章,并用 AI 对所有资料进行标注和管理。
我们希望能通过这种方式,充分利用目前已经很庞大的公开资源,同时建立一个更加高效和繁荣的内容社群。
初步测试表明,Polaris 的内容库在解决“求题”,“求文章”时能发挥出明显作用,进而能支持一些之前不可想象的刷题和学习策略。
针对教学任务的 Harness
如果你问过 ChatGPT 一些 OI 问题,尤其是那些比较宽泛的问题(而非精确的技术问题),你会遇到不少麻烦:
- 模型对你并不了解。它不知道你的能力,也不知道问题的语境,你需要准确完整地向它交代所有上文。这一步非常耗时,有时甚至难以完成。
- 模型不参照已有的资料,自行生成长篇回答,孤立于公开资源,难以融入目前主流学习范式。经常表现为,模型虽然正确完成了回答,却需要额外的解读工作。
相比于聊天机器人,Polaris 添加了一套针对 OI 教学任务的 Harness,解决了以上两个缺陷:
- Harness 管理每个用户的记忆。模型会在多轮交互中记得你刷了什么题,有什么能力,计划做什么等等,你无需反主动复交代。
- Harness 将 LLM 接到内容库上,它能借助整个社区内容库来工作。在合适的时机,它可以将用户引导到已有的优质资源,而不是自行临时生成。这能节约 Token 成本,也使得答案更容易被人类理解。
OI 学习全流程引导
在 Polaris Agent 系统之上,我们还将设计一套推荐的学习流程(任务和进度系统),以帮助用户使用 Polaris 稳步实现 OI 中的学习目标,并跟踪进展。当然,你也可以自行探索 Polaris 的使用方式。
实验网站
我们已经完成了初步的开发工作!实验版本已经发布,你可以访问 https://polaris.xinxingshe.cn/ 注册账号来体验 Polaris 的功能。
staff 们主要是本科学生,开发时间有限,网站的功能和外观目前还比较简陋。在未来会有较大的改进。
目前已经完成的工作
内容库:
- 已收录 1400 题和对应题解(题解来源:1. Staff 自行编写;2. 选手捐赠;3. AI 生成+人工审核)
- 已收录 OI-Wiki 和少数其他文章。
Harness:
- 内置了一些 Skill(如相关推荐)。
- 有初步的记忆系统,但比较简陋,只能看到刷过的题目。
开发人员 / Staff
企划发起人/主策:@一念之间、、(冯政玮)
开发者:
-
@command_block(杨宇辰)← 我
-
@c2020HXW(胡夏玮)
-
@gyh20(郭雨豪)
以上 staff 都是 3~4 年前毕业的 OIer,目前就读于清华大学姚班。
你可以(点击名字链接)查看 OIerDb 来了解我们。
还有很多负责工程开发的同学,他们并不是前 OIer,所以不便在此处列出。感谢他们的贡献。
支持方
-
指导教师-吕凯风教授(@vfleaking | Kaifeng Lyu):从人工智能研究和 OI 教学两个方向为项目提供指导。吕教授长期从事 AI 研究,也是资深 OI 大佬,曾主持开发和经营具有广泛影响力的 UOJ。对于经常混迹 U 群的 OIer 们来说,算是老熟人了ヘ(~ω~ヘ)
-
清华大学颠覆性创新人才培养计划(颠班):我们计划参与清华颠班的创业项目,希望借助这个平台,邀请校内具有不同背景的同学(例如:美术设计、产品设计等)参与工作。
-
信星社:提供服务器、Token 等基础资源,并从实际 OI 教学场景出发,为 Polaris 的产品和教学设计提供支持。
-
内容提供者们:感谢以下 OIer 的内容捐助!
- @yhx-12243(虞皓翔):OI 中转站
- @Alex_Wei(魏佳泽):cnblogs: Alex_Wei
当然,最不能遗漏的是 OI 社区的贡献。公开题目、题解、教程与长期积累的知识,是 Polaris 最重要的内容来源。
加入我们
用户群
如果你是一名现役 OIer(或 ICPCer),对 Polaris 的雏形有兴趣,想要试用,请加入我们的用户群:587390359(QQ)
我们会提供一定的免费额度,如果参与人数过多,服务可能会被挤爆。请确保你拥有充足的时间精力花在竞赛上面,再参与此次测试。
Polaris 目前仍有许多不足之处,我们鼓励大家提出任何改进建议。
开发者群
Polaris 将成为一个开源项目,如果你有兴趣直接参与:
- 工程开发
- 内容库的提供、审核和维护
- 和 LLM 相关的教学设计
- 功能测试
- 实际教学情境的详细调研
可以加入我们的开发者群:1105525343(QQ)
入群需要审核,限于 Staff 们的精力,目前只接受曾获得 NOI 奖牌的选手,或有意向参与项目的清华同学入群。这一标准在未来很快会放宽,如有特殊情况可向管理人员说明并具体商议。
Polaris 距离一个完善的工具还有很长的路要走,我们需要你的帮助!