返回案例库

精选案例 · Agent / 实践案例

这个案例围绕「shares/shuzhangqing」记录了一条真实 AI 实践线索,适合先按任务意图阅读再判断复用。

可读标题 · 基于原文内容整理

原题:shares/shuzhangqing

这个案例围绕「shares/shuzhangqing」记录了一条真实 AI 实践线索,适合先按任务意图阅读再判断复用。

案例速读

README 标题「shares/shuzhangqing」下已经出现运行/配置路径、脚本或接口线索、结果证据,比纯概念介绍更适合进入精选阅读流。 这篇案例的阅读价值在于,它把真实任务、模型辅助过程和可迁移做法放在同一个上下文里,读者可以从 正文中的目标、方法、过程和复盘 进入正文。

  • 建议重点看 可参考其中的运行与配置路径、包含可迁移的命令、脚本或接口线索、已有结果或观测证据可用于判断复用价值。结合 Agent / 实践案例 和「任务驱动用户、AI 实践者」这一受众定位,它更适合作为任务检索后的精读材料,而不是只看一句短摘要后快速跳过。
  • 正文目录和原始材料仍然是判断依据;导读只帮助你更快定位阅读重点。
看点
Agent / 实践案例
读者
任务驱动用户、AI 实践者
复用
可参考其中的运行与配置路径
结构
等待补充目录

原文内容

当传统系统遇上 AI:用科大词元打造一个智能高校博士指标分配系统

一、项目背景与需求

“博士指标分配” 是连接国家战略需求、高校资源配置与导师招生资格的关键环节。这项工作通常遵循“国家导向、学校统筹、学院实施、质量优先”的原则,旨在将有限的招生计划精准投放至优势学科、高水平团队和前沿研究领域。本系统是根据某高校实际运用需求设计开发,统计科研项目、论文积分等数据,对符合博导资格的教师进行排名,并为每个项目设置可获得的博士招生指标。 这个系统看似只是一张表格,背后却聚集了复杂的业务规则,需符合当前高校追求高质量发展和精细化管理的要求:

  • 项目积分:国家级项目得分(不含课题和子课题),项目课题到账超过 >=200 万的需特殊计分;
  • 论文积分:按作者排序及是否通讯作者采用不同权重(1/n 或 2/n),取近三年得分最高的前三篇;
  • 排序算法:往年已获指标但无论文的教师被排在最后;其余按项目类型(按重要度排序)、往年已获指标数升序、项目积分+论文积分(【项目+论文1】降序 → 【项目+论文1+2】降序 → 【项目+论文1+2+3】降序)、项目金额等条件多级排序;
  • 年度指标管理:支持按年度设置指标,页面需同时展示本年度指标和历史已获指标总计;
  • 历史快照:可将任意时刻的排名结果存档,支持随时切换查看和导出为 Excel。

采用 PHP + MySQL 架构,整体架构简单,需求目标清晰,引入 AI 辅助开发 和 科大模型 API,以数倍于传统方式的效率完成了全部功能。

二、技术栈与架构

  • 后端:PHP 8.1,采用 RESTful API 风格
  • 数据库:MySQL 8.0,利用窗口函数处理复杂排序
  • 前端:Bootstrap 3 + jQuery,Ajax 交互
  • 认证:JWT (JSON Web Token) 实现无状态身份校验
  • AI 辅助:中国科学技术大学 LLM API(兼容 OpenAI 格式)

整体采用前后端分离架构:前端通过 Ajax 请求 PHP API,API 层使用 PDO 连接 MySQL,JWT 中间件进行权限过滤。所有业务逻辑集中在后端,前端只负责渲染和交互。

三、AI 开发协作模式

实际开发工作中并没有把项目全部交给 AI,而是制定了一套 “人定策略,AI 负责实现” 的协作流水线:

  • **需求结构化:**将业务方的口述规则转换成清晰的功能描述和数据结构。
  • **AI 生成代码骨架:**向大模型描述接口功能、表结构和业务逻辑,让它生成 PHP 控制器、模型、SQL 语句。
  • **人工校验与修复:**运行生成的代码,遇到错误时直接将报错信息反馈给 AI 进行二次修正。
  • **迭代优化:**从性能、安全性到 UI 细节,持续通过 AI 进行增补和优化。 AI 承担了约 70% 的编码工作,人类则专注于架构设计和逻辑验证。

四、科大模型 API 集成实战 我们直接调用了科大提供的 LLM API(端点 https://api.llm.ustc.edu.cn/v1),其完全兼容 OpenAI 的调用格式,因此可以很方便地嵌入开发工具链。

1. 获取 API Key

在中国科学技术大学大模型公共服务平台https://llm.ustc.edu.cn申请 API 密钥,并设置为系统环境变量 USTC_LLM_KEY。

2. 本地辅助脚本 codegen.js

为了在日常开发中快速调用 API,我们编写了一个简单的 Node.js 脚本,通过命令行直接生成代码:

Javascript

const API_KEY = process.env.USTC_LLM_KEY;
async function generateCode(requirement) {
  const res = await fetch('https://api.llm.ustc.edu.cn/v1', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      model: 'deepseek-v4-flash-ascend',
      messages: [
        { role: 'system', content: '你是谁?。' },
        { role: 'user', content: requirement }
      ],
      temperature: 0.3,
      max_tokens: 2000
    })
  });
  const json = await res.json();
  return json.choices[0].message.content;
}
// 示例用法
generateCode("创建一个 PHP API,接收 DeID 和年度,将指标保存到 doctor_quota_yearly 表,存在则更新,使用 PDO 和 JWT 验证。")
  .then(console.log);

该脚本可集成到 VS Code 的任务或通过快捷键触发,实现选中文本即生成代码的流畅体验。

3. 典型应用场景

复杂 SQL 编写:用自然语言描述积分计算及排序逻辑,AI 输出包含多个 CTE 和窗口函数的完整 MySQL 查询。 API 批量生成:提供数据字典后,让 AI 一次性生成 CRUD 相关的完整 PHP 文件,包括输入验证和错误处理。 错误诊断:将 PHP 报错日志或 SQL 错误码发给 AI,它能在几秒内定位问题并给出修复代码。 测试数据构造:要求 AI “生成 200 条符合本项目积分规则的测试数据”,直接得到 INSERT 语句。

五、关键功能实现与 AI 参与实录

1. 积分排序引擎(核心 SQL)

这是整个系统最复杂的部分,涉及三个 CTE 和多级排序。我们将所有规则用中文描述发送给 AI,它立即生成了完整的 SQL 语句。在测试时发现一名教师因 UserID 为空被错误包含,AI 检查后添加了 AND IFNULL(dt.UserID,‘’) <> ‘’ 条件,问题立即解决。

2. 年度指标管理

前期从最初单一的历史已获指标改为按年度管理时,AI 协助完成了:

新建 doctor_quota_yearly 表(DeID,Year,Quota,唯一约束); 编写 INSERT … ON DUPLICATE KEY UPDATE 的保存逻辑; 修改查询 SQL,通过子查询获取本年度指标和合计; 生成前端弹窗表单(增加“年度”输入框)及对应的 JS 脚本; 整个过程仅 20 分钟,且代码可直接运行。

3. JWT 认证体系

为实现前后端分离,我们使用 Token 认证。AI 推荐使用 firebase/php-jwt 库,并生成了:

  • 登录接口(验证用户名密码,返回 Token);
  • JWT 验证中间件(解析请求头中的 Bearer Token,返回用户信息或拒绝访问);
  • 前端全局 Ajax 拦截器(自动附加 Token,401 时跳转登录页)。

4. 历史快照存档

存档功能需将当前排名结果完整冻结,并支持随时回溯。AI 为此设计了主从表结构,并生成了:

  • 存档创建接口:执行实时查询后,将结果批量插入明细表,采用事务保证一致性;
  • 查看接口:根据存档 ID 读取明细表数据;
  • 前端卡片式列表,支持悬停删除(调用删除接口时需验证管理员权限)。

同时,AI 建议用 MySQL 多行 INSERT 替代循环插入,使 1000 条数据的保存时间从 8 秒缩至 1.2 秒。

六、总结与展望

通过这次实践,验证了 PHP + MySQL + AI 辅助开发 模式的巨大潜力:

开发效率大幅提升:原本数周的工作量在 AI 辅助下两天内完成; 代码质量可控:AI 生成的代码结构规范,且容易通过反馈迭代修正; 技术门槛降低:开发者可更专注于业务逻辑和架构,细节编码由 AI 承担。 特别地,科大模型 API 的引入让我们能够将大模型无缝嵌入开发流水线,使“AI 辅助”不再是聊天框里的尝鲜,而是真实提高生产力的日常工具。

未来,可计划进一步将 AI 应用于自动化测试、性能监控日志分析、接口文档自动生成等环节,持续探索人机协作的软件开发新范式。

返回顶部