全人助手 ④:挫折 — Agent 时代,这个项目还有意义吗?

最近有点丧。

这几个月 AI Agent 和 Skill 的发展速度太快了——Gemini、Claude 这些模型已经能通过工具调用直接访问网页、读文件、执行代码。各种 MCP 协议、Agent Framework 层出不穷,感觉只要写一个 skill 接进去,AI 就能自己去 SIS 查课、读培养方案、帮你排课表。

那我花了几个月做的全人助手,是不是其实不如直接写成一个 skill,接进现成的 Agent 框架里就行了?


😔 被”新技术”冲击的感觉

说实话,第一次看到有人用 Agent + Skill 几行配置就搞定了一个类似功能的 demo,心里挺不是滋味的。我辛辛苦苦写爬虫、搞 PDF 解析、调 prompt、做前端,人家可能一个下午就能搭出差不多的东西。

而且从架构上看,Agent 的做法确实更”优雅”:

  • 不需要预先爬取和存储数据,Agent 实时去查就行
  • 不需要维护知识库,模型自己决定什么时候查什么数据
  • 不需要做上下文管理,Agent 框架帮你处理

这让我一度觉得自己的 RAG 方案是在”用旧方法解决新问题”。


😵 RAG 本身的困境:离散 vs. 连续

除了被 Agent 冲击之外,RAG 本身的问题也一直困扰着我。

核心矛盾在于:SIS 的数据是离散的,PDF 的数据是连续的,但 AI 需要把它们当成统一的知识来理解。

SIS 里的课程信息天然是结构化的碎片——每门课是一条独立记录,有课程代号、学分、开课时间、老师,彼此之间没有叙述上的连贯性。你可以精确地查到 CSC3100 在 2025-26 第一学期开了 3 个 section,但这些信息是”离散的点”。

而培养方案 PDF 恰好相反——它是连续的叙述:从大一到大四的课程安排有逻辑顺序、有先修依赖、有模块分组,课程之间有上下文关系。但 PDF 一旦被提取成文本,这些结构关系就很容易丢失。

问题就在这里:AI 擅长理解连续文本,但对离散碎片的整合能力有限。 你喂给它一堆 JSON 格式的课程数据,它能读懂每条记录,但很难自动理解”CSC1001 → CSC1002 → CSC3100”这条依赖链——因为这个关系存在于 PDF 的连续叙述中,而不是 SIS 的离散字段里。

反过来,如果你把整个 PDF 喂给它,它能理解课程体系的全貌,但又会在具体细节上犯错(比如分不清 STA2001 和 STA2001H)。

这种”离散”和”连续”的张力,是我目前 RAG 方案最大的瓶颈。


💪 但是,这个项目的价值还在

想了很久之后,我觉得这个项目还是有做下去的意义。原因很简单:

全人助手里的数据,是网上搜不到的。

你去 Google 搜”CUHK-SZ CSC3100 先修要求”,大概率搜不到准确结果。SIS 是校内系统、需要登录才能访问,培养方案 PDF 散落在各学院官网的角落里,而且每年都在更新。这些信息不在任何公开知识库里,ChatGPT 和 Gemini 的训练数据里也没有。

就算 Agent 技术再成熟,它也需要有人告诉它”去哪里找数据、怎么登录 SIS、怎么理解这份 PDF 的结构”。而这正是我这几个月做的事情——把这些分散的、私有的、非标准化的数据变成可用的知识库

Agent 是工具,但知识库是资产。工具可以被替代,资产不容易被替代。


🔭 接下来怎么办

与其纠结”要不要重写成 Agent skill”,不如把精力放在这个项目真正有壁垒的地方:数据质量和个性化算法

接下来想重点做的事情:

  • 个性化推荐算法:不只是”查课程信息”,而是根据学生的专业、年级、已修课程、GPA 等,给出真正个性化的选课建议。这不是通用 Agent 能做到的,因为它需要对 CUHK-SZ 培养方案的深度理解
  • 课程关系图谱:把 PDF 里隐含的先修依赖、模块归属关系抽取出来,建成结构化的图谱,解决”离散 vs. 连续”的问题
  • 历史数据积累:持续爬取多学期的 SIS 数据,积累开课规律(比如”这门课每年只在 Fall 开”),这些是实时查询拿不到的
  • 用户反馈闭环:让用户标记”这个建议有没有用”,逐步优化推荐的准确度

技术栈可以变、架构可以改,但只要数据和算法是独有的,这个项目就有存在的价值。


虽然现在有点迷茫,但也不至于放弃。先把能做的做好,边做边想。

Contact: 125090445@link.cuhk.edu.cn

Holistic Assistant: 一个面向 1500+ 学生的 RAG 学术顾问系统 — 从信息碎片化到结构化决策

TL;DR: 设计并实现了一个基于 Hybrid Context RAG 的学术顾问系统,整合分散在 36 份培养方案 PDF 和学校 SIS 系统的课程数据(1568 门课程 × 3 学期),为 CUHK-SZ 学生提供基于官方数据的 24/7 个性化课程咨询。核心技术挑战包括:PDF 非结构化数据提取(Gemini 去噪 + 正则候选)、SIS 反爬策略规避(会话持久化 + 节流)、上下文窗口管理(按学期分片 JSON)、以及 Windows 环境下的 multiprocessing 兼容性。

Read More

全人助手 MVP:从"培养方案 PDF"到 AI 驱动的学业规划(可行性验证)

TL;DR: 用 3 周时间完成了”全人助手”的第一个可用原型(MVP),验证了”用 AI 整合培养方案 PDF 做学业规划”的可行性。核心特性:Hybrid Context(本地 PDF + 内置权威资料)、Smart Routing(Flash 快速查询 + Pro 深度规划)、Orbit UI(行星轨道式交互)。227 行 Flask 后端 + 1189 行原生 JS 前端,无需数据库,支持 36 个专业的培养方案查询。

Read More