一个面向高校场景的 AI Agent 项目
最近我在做一个面向高校场景的 AI Agent 项目叫 农林小林 ZafuGPT。一开始很多人听到“校园 AI 助手”会自然联想到查课表、看通知、问校历、宿舍报修。这些当然是校园 AI 可以做的事但这并不是我最想解决的问题。我真正想探索的是能不能用 AI Agent 打通学校内部多个系统让它成为一个“校园大脑”辅助处理校园范围内的复杂事务和决策问题换句话说这个项目不是为了做一个只面向学生的问答机器人而是想做一个连接教务、学工、后勤、通知、人员、活动、场馆、工单等系统的智能调度层。它的价值不只是“帮学生查信息”而是让学校里的复杂事务能够被 AI 理解、拆解、调度和规划。为什么高校需要“校园大脑”现在大多数高校其实已经有很多信息化系统了。比如教务系统学工系统后勤系统图书馆系统场馆预约系统通知公告系统报修工单系统一卡通系统学生画像系统各学院自己的管理平台表面上看系统很多功能也不少。但问题是系统越多信息反而越分散。不同系统之间往往是割裂的。比如一个学院想组织一场 200 人的讲座需要考虑哪些学生有空哪些时间段没有大面积课程冲突哪些报告厅能容纳 200 人场地是否已经被预约是否和学校其他大型活动冲突是否需要后勤保障是否需要保卫处审批通知应该发给哪些人活动结束后如何收集反馈这些信息可能分别散落在教务系统、场馆系统、学工系统、通知系统、后勤系统里。管理者真正的工作量不只是做决策而是先花大量时间收集信息、对齐资源、协调部门。这就是我觉得 AI Agent 有价值的地方。它不只是一个聊天入口而是可以成为多个系统之间的“智能中间层”。我想做的不是聊天机器人而是校园智能调度层ZafuGPT 的目标不是取代现有校园系统而是把它们连接起来。可以把它理解成一个运行在校园各类业务系统之上的 AI Agent 调度层。用户用自然语言提出一个复杂目标Agent 负责理解目标拆解任务查询相关数据选择合适工具调用不同系统汇总结果生成方案给出决策建议比如用户输入下周三下午想办一场 200 人左右的学院讲座帮我规划一下时间、场地、通知和后勤安排。一个真正有用的校园大脑不应该只回答建议你提前预约场地。而应该进一步做这些事查询下周三下午课程安排判断目标学生群体是否有课查询可用报告厅和教室检查场地容量是否满足 200 人判断是否和校级活动冲突生成多个备选时间和地点给出后勤保障建议生成通知文案生成活动执行清单标注需要人工确认的审批环节这才是我想做的“校园大脑”。项目的核心架构目前 ZafuGPT 采用的是一个 Agent 编排架构。整体链路大概是用户自然语言输入 ↓ 学生 / 校园画像上下文 ↓ Task Planner 任务规划 ↓ Tool Selector 工具选择 ↓ Skill / Tool 执行 ↓ 结果汇总与冲突判断 ↓ Response Generator 生成方案 ↓ 输出给用户其中几个模块比较关键。完整的思考链路1. Task Planner把复杂事务拆成任务校园事务往往不是单步问题。比如“帮我安排一场活动”背后可能包含时间规划场地查询人群分析通知发布物资准备后勤保障风险检查审批提醒所以 Agent 的第一步是做任务规划。它需要把一个模糊目标拆成多个可执行任务而不是直接生成一段泛泛的回答。这一步决定了系统能不能从“问答机器人”升级成“事务处理助手”。2. Tool Selector选择合适的系统能力任务拆出来以后系统要判断应该调用什么能力。比如查课程冲突 → 调用课表 Skill查通知 → 调用通知 Skill查学生背景 → 调用学生画像查场地 → 调用场馆系统查后勤需求 → 调用报修 / 后勤系统查地图位置 → 调用地图工具生成通知 → 调用文本生成能力这就是 Tool Selector 的作用。它会在本地 Skill 和外部 MCP Tool 之间选择合适能力。3. Skill System把校园系统封装成可插拔能力我在项目里设计了一个 Skill 机制。每个 Skill 都是一个独立能力包包含这个能力适合什么场景需要哪些输入参数输出什么结构化结果具体如何执行是否有 mock 数据或本地参考文档目前已经接入了一些基础 Skillcourse-schedule课表查询这个 Skill 可以查询不同专业、年级、班级的课表。它不只是简单查“某门课”而是可以结合学生画像自动补全专业年级班级例如用户说查一下我周二的课。系统会根据画像知道这是“计算机科学与技术 / 2023级 / 计科2301班”的学生然后自动检索该班课表。虽然这是一个很小的功能但它验证了一个关键点AI 不应该每次都问用户是谁而应该能利用上下文进行个性化调度。campus-notice校园通知查询这个 Skill 用于查询校园通知例如奖学金申请教务公告活动通知安全检查图书馆开放安排未来它可以进一步做通知总结、待办提取、对象匹配和截止时间提醒。student-profile学生画像项目中目前使用一份 mock 学生画像文档包含姓名学号学院专业年级班级导师校区宿舍联系方式画像会被注入到 Agent 的 prompt 中帮助系统理解当前用户所处的身份和场景。当然这类信息涉及隐私所以 prompt 中也加了约束画像只作为上下文使用不主动完整复述除非用户明确询问否则不输出手机号、宿舍等敏感字段。这也是校园大脑必须考虑的问题 不仅要能打通数据还要知道哪些数据不该随便暴露。一个典型场景统筹一场校园活动我认为“活动统筹”是最能体现校园大脑价值的场景之一。假设用户输入下周三下午帮我安排一场 200 人左右的学院讲座主要面向 2023 级计科学生地点尽量在东湖校区。理想中的 Agent 应该这样工作第一步理解目标活动类型学院讲座规模约 200 人对象2023 级计算机相关学生时间偏好下周三下午地点偏好东湖校区第二步拆解任务查询目标学生课表检查时间冲突查询可用场地筛选容量合适的报告厅检查校级活动冲突生成活动方案生成通知文案列出后勤和审批事项第三步调用工具课表系统场馆预约系统校园通知系统后勤服务系统学生画像系统第四步输出方案方案 A 时间下周三 15:30-17:00 地点东湖校区报告厅 B201 优点目标学生课程冲突较少容量满足 风险需要提前申请设备支持 方案 B 时间下周三 18:30-20:00 地点信息楼 A 阶梯教室 优点晚间学生空闲率更高 风险需要确认楼宇开放时间然后继续生成通知文案物资清单部门协同清单待确认事项这比“给我一些活动建议”有价值得多。因为它实际减少了管理者的信息收集和方案比较成本。校园大脑的意义减轻决策负担高校管理中有很多事务并不难但很繁琐。难点不在于某一个系统没有功能而在于信息分散流程割裂部门协同成本高人工判断依赖经验决策前需要查太多数据校园大脑要解决的不是“有没有系统”而是“系统之间能不能协同”。AI Agent 的价值在于把多个系统的能力组合起来围绕一个目标自动形成执行路径。它可以帮助管理者回答这个活动安排在哪个时间最合适哪些学生群体会受影响哪些资源已经被占用哪些部门需要协同有哪些风险需要提前处理有没有更优的替代方案这不是简单问答而是辅助决策。当前 Demo 已经完成什么目前这个项目还是原型mvp阶段但已经完成了一些基础能力Next.js 前端聊天界面FastAPI 后端SQLite 会话存储Agent 任务规划Tool / Skill 选择本地 Skill 注册机制课表查询 Skill校园通知 Skill学生画像 mock 文档学生画像注入 prompt基于学生画像的课表查询多专业课表 mock 数据Tool / Skill 能力面板这些功能本身还比较基础但它们构成了一个校园大脑的最小闭环自然语言目标 → 任务规划 → 工具调度 → 数据查询 → 结果整合 → 输出方案。后续计划接下来我更想扩展的不是“多加几个问答功能”而是围绕复杂事务做能力增强。比如1. 活动统筹 Agent支持输入一个活动目标自动完成时间推荐场地推荐人群冲突检测通知文案生成后勤清单生成审批事项提醒2. 宿舍报修与后勤调度不只是学生报修而是进一步支持故障分类自动派单SLA 判断催单升级维修资源调度维修数据分析3. 校园运行状态看板把工单、通知、活动、课表、场馆等数据汇总起来让管理者能问这周校园里有哪些高频问题 哪些楼栋报修最多 哪些活动可能发生资源冲突4. 多系统真实接入目前很多数据是 mock 的后续可以对接真实系统教务系统学工系统后勤系统场馆系统OA 审批系统消息通知系统5. 更强的权限控制校园大脑必须处理权限问题。学生、教师、辅导员、学院管理员、校级管理员能看到的数据范围应该不同。未来需要加入用户角色数据权限操作审计敏感信息保护工具调用日志总结我现在越来越觉得校园 AI 的价值不应该只停留在“做一个会聊天的助手”。真正值得做的是让 AI Agent 成为高校复杂事务的智能调度层。它不是替代教务系统、学工系统、后勤系统而是把这些系统连接起来让数据和能力围绕具体目标自动协同。学生查课表、看通知只是最基础的入口。更大的价值在于活动统筹资源调度跨部门协同校园运行分析决策辅助如果把高校看成一个复杂系统那么校园大脑要做的事情就是让分散的数据、系统和流程能够被 AI 理解、调度和组合。ZafuGPT「农林小林」目前还是一个 Demo但它已经验证了一个方向AI Agent 不只是校园服务入口也可以成为校园治理和运行决策的智能中枢。