超强AI教学智能体!出题阅卷&教学分析一键搞定!
⑯在去除Markdown格式节点后添加已经定义好的mysql查询工具,host填写你要连接的数据库ip,user填写用户名,password填写密码,database填写数据库名称,port填写端口号,query选择去除Markdown格式节点的结果,不返回内容。利用我给你的已知信息,生成可执行的SQL插入到数据库,将已知信息基于表格字段格式要求自行转换格式,其次要把对应字段的完整内容插入数据库中
一、背景介绍
传统教学中,学生自测缺乏即时性、难定位薄弱点,教师需手动整理分析学情,效率低、反馈滞后。基于 AI 与数据库技术,在maxkb平台上,本方案构建 “学生自测” 与 “教师分析” 模块,打通全流程,解决上述痛点。
二、思路介绍
2.1. 学生知识点自测
1.学生输入 “开始出题” 触发流程,填写个人及知识点信息;
2.结合知识库与 AI 生成试卷,表单收集答案后,AI 自动批改打分;
3.生成 SQL 语句,将自测数据存入数据库。
2.2. 教师教学分析
1.教师提分析需求,AI 转化为 SQL,检索数据库中学生自测数据;
2.AI 分析数据,生成含得分、错题率及教学建议的报告,辅助教学决策。
三、工作流展示
3.1. 学生知识点自测

3.2 教师教学分析

四、详细操作步骤
4.1 学生知识点自测
①创建工具,名称填写:去除Markdown格式。添加输入参数:
参数名 数据类型 来源 input_str string 引用参数 split_str string 自定义 工具内容(Python):
import re
def main(input_str: str, split_str: str) -> str | None:
pattern = r'```'+split_str+'\s*\n(.*?)\n\s*```'
match = re.search(pattern, input_str, re.DOTALL)
if match:
# 提取内容,仅去除首尾的换行符(保留内部格式)
content = match.group(1).strip('\n')
return content
return None

②创建工具,名称填写:mysql查询。添加输入参数:
参数名 数据类型 来源 host string 自定义 user string 自定义 password string 自定义 database string 自定义 port int 自定义 query string 引用参数 工具内容(Python):
import pymysql from pymysql import Error def execute_mysql_query(host, user, password, database, port=3306, charset='utf8mb4', query=None): """ 连接 MySQL 数据库并执行查询 :param host: 数据库主机地址 :param user: 数据库用户名 :param password: 数据库密码 :param database: 数据库名称 :param port: 数据库端口(默认 3306) :param charset: 字符集(默认 'utf8mb4') :param query: 要执行的 SQL 查询 :return: 查询结果(如果是 SELECT 查询),否则返回 None """ connection = None try: # 连接数据库 connection = pymysql.connect( host=host, user=user, password=password, database=database, port=port, charset=charset ) print("Connected to MySQL database!") # 创建游标 with connection.cursor() as cursor: # 执行查询 cursor.execute(query) # 如果是 SELECT 查询,获取结果 if query.strip().upper().startswith("SELECT"): result = cursor.fetchall() print("Query executed successfully") return result else: # 如果是 INSERT、UPDATE、DELETE 等操作,提交事务 connection.commit() # 提交事务 print("Query executed successfully and transaction committed") return None except Error as e: print(f"The error '{e}' occurred") return None finally: # 关闭连接 if connection: connection.close() print("MySQL connection closed.") # # 示例用法 # if __name__ == "__main__": # # 数据库连接配置 # host = "<your ip>" # user = "root" # password = "<your password>" # database = "<your database>" # port = 3306 # charset = "utf8mb4" # # 1. SELECT 查询 # select_query = "SELECT * FROM user;" # select_result = execute_mysql_query(host, user, password, database, port, charset, select_query) # if select_result: # for row in select_result: # print(row) # # 2. INSERT 查询 # insert_query = "INSERT INTO your_table (name, age) VALUES ('Charlie', 28);" # execute_mysql_query(host, user, password, database, port, charset, insert_query)

③创建高级编排应用,在基本信息中更改开场白:
开场白示例:
您好,我是学生知识点自测小助手。
- 开始出题
④添加判断器,如果用户问题等于开始出题,则添加表单节点收集学生姓名与知识点,如果不等于则添加指定回复:如需学习请输入“开始出题”。


⑤在判断器的if条件添加表单收集节点,重命名为:学生姓名与知识点收集。在表单配置中添加参数:student_name,knowledge_point,class_num,course_name,course_teacher,stu_num共六个参数。显示名称填写各参数的中文名称,打开必填选项,组件类型选择文本框,默认值填写:请输入+各参数显示名称。
默认值示例:
请输入姓名

⑥在学生姓名与知识点收集节点后添加指定回复1节点,回复内容填写:开始出题。

⑦在指定回复1节点后添加知识库检索节点,选择已创建的知识库。参数设置:相似度高于0.100,引用分段数top为100,最多引用字符数10000。检索问题选择指定回复1的内容。

⑧在知识库检索节点后添加指定回复2节点,回复内容选择引用变量:全局变量的当前时间。

⑨在指定回复2节点后添加AI节点,重命名为:生成整张试卷。选择AI模型,系统角色填写:
你是一个擅长出题的考卷小助手。
提示词填写:
# 已知信息:
{{知识库检索.data}}
# 要求:
- 基于已知信息,出10道选择题
- 选择题此选择题具有ABCD选项,其中有一个选项为正确答案,其他三个选项为错误答案
- 按照“第一题”,“第二题”,“第三题”为题号,以此类推的顺序进行排序输出
- 题目编号加粗显示,题与题之间需要有明显的分割
- 只需要给出所有问题和选项,无需给出问题的答案
- 基于已知信息中的内容,出5道判断题
- 判断题包含一个正确选项和错误选项
- 接着选择题的顺序以此类推的顺序进行排序输出
- 题目编号加粗显示,题与题之间需要有明显的分割
- 只需要给出所有的判断题和选项,无需给出正确答案
- 基于已知信息中的内容,出3道问答题
- 接着判断题的题序,以此类推的顺序进行排序输出
- 题目编号加粗显示,题与题之间需要有明显的分割
- 只需要给出所有问题,无需给出问题的答案
历史聊天记录设置为0。

⑩在生成整张试卷节点之后添加三个表单收集节点。
1.收集学生选择题答案:
添加参数从one到ten,共十个参数,显示名称分别为第一题答案到第十题答案,打开必填选项,组件类型选择单行选项卡。选项值添加ABCD四个标签以及选项值。默认值选择A,取消勾选显示默认值。

2.收集学生判断题答案:
添加参数从one到five,共五个参数,显示名称分别为判断题第一题到判断题第五题,打开必填选项,组件类型选择单行选项卡。选项值添加正确、错误两个标签以及选项值。默认值选择正确,取消勾选显示默认值。

3.收集学生问答题答案:
添加参数从one到three,共三个参数,显示名称分别为问答题第一题到问答题第三题,打开必填选项,组件类型选择文本框。默认值填写:无,取消勾选显示默认值。

⑪在三个表单收集节点后添加AI节点,重命名为:批卷并打分。选择AI模型,系统角色填写:
你是一个擅长批卷的阅卷小助手。
提示词填写:
# 题目的批卷所需的答案的依据材料:
{{知识库检索.data}}
本次题目为:
{{生成整张试卷.answer}}
# 选择题部分:
- 学生选择题答案如下:
- {{收集学生选择题答案.one}}
- {{收集学生选择题答案.two}}
- {{收集学生选择题答案.three}}
- {{收集学生选择题答案.four}}
- {{收集学生选择题答案.five}}
- {{收集学生选择题答案.six}}
- {{收集学生选择题答案.seven}}
- {{收集学生选择题答案.eight}}
- {{收集学生选择题答案.nine}}
- {{收集学生选择题答案.ten}}
- 选择题总分:40分
# 判断题部分:
- 学生判断题答案如下:
- {{收集学生判断题答案.one}}
- {{收集学生判断题答案.two}}
- {{收集学生判断题答案.three}}
- {{收集学生判断题答案.four}}
- {{收集学生判断题答案.five}}
- 判断题总分:30分
# 问答题部分:
- 学生问答题答案如下:
- {{收集学生问答题答案.one}}
- {{收集学生问答题答案.two}}
- {{收集学生问答题答案.three}}
- 问答题总分:30分
# 批卷要求:
- 基于题目的批卷所需的答案的依据材料,给出学生选择题答案是否正确的结论,如果错误,给出判断依据以及正确的答案
- 基于题目的批卷所需的答案的依据材料,给出学生判断题答案是否正确的结论,如果错误,给出判断依据以及正确的答案
- 基于题目的批卷所需的答案的依据材料,给出学生问答题答案是否正确,还是部分正确的结论,如果错误,给出判断依据以及正确的答案
- 依次批改所有题目,给出最后学生此次选择题部分得分,判断题部分得分,问答题部分得分,以及此份考卷最后总分
- 基于学生的整体回答的答案和得分情况,给出相关学习的建议

⑫在批卷并打分节点后添加指定回复3节点,回复内容填写:阅卷完成,正在记录入库。

⑬在指定回复3节点后添加AI节点,重命名为:一句话总结学生自测情况。选择AI模型,系统角色填写:
你是一位博学多才的老师,擅长总结学生自测情况。
提示词填写:
# 已知信息:
{{批卷并打分.answer}}
# 要求
针对已知信息,输出关于学生知识点掌握情况的一句话总结,不需要任何其他内容。注意,是针对学生关于知识点的总结而不是针对其做题情况的总结。

⑭在一句话总结学生自测情况节点后添加AI节点,重命名为:生成SQL。选择AI模型,系统角色填写:
你是一名优秀的数据库工程师,擅长数据库相关操作,尤其擅长增删改查相关的SQL语句。
提示词填写:
# 已知信息:
学生学号stu_num为:{{学生姓名与知识点收集.stu_num}}
学生班号class_num为:{{学生姓名与知识点收集.class_num}}
学生姓名name为:{{学生姓名与知识点收集.student_name}}
本次学习的course_name为:{{学生姓名与知识点收集.course_name}}
本次学习的course_teacher为:{{学生姓名与知识点收集.course_teacher}}
本次学习的knowledge_point为:{{学生姓名与知识点收集.knowledge_point}}
本次学习的test_time为:{{指定回复3.answer}}
本次学习的question_record为{{生成整张试卷.answer}}
本次学习的marking_record为{{批卷并打分.answer}}
本次学习的summarize为{{一句话总结学生自测情况.answer}}
本次学习的score在mark_record的末尾,需要你自行提取出来
我的建表信息为
```sql
CREATE TABLE edu.interactions_record (
stu_num BIGINT NOT NULL,
name varchar(100) NOT NULL,
class_num varchar(10) NOT NULL,
course_name varchar(100) NOT NULL,
course_teacher varchar(100) NOT NULL,
knowledge_point varchar(100) NOT NULL,
test_time TIMESTAMP NULL,
question_record MEDIUMTEXT NULL,
marking_record MEDIUMTEXT NULL,
score INT NULL,
summarize MEDIUMTEXT NULL,
CONSTRAINT interactions_record_pk PRIMARY KEY (stu_num)
)
```
基于已知信息,生成一句SQL语句插入到我的数据库表中。
# 要求:
利用我给你的已知信息,生成可执行的SQL插入到数据库,将已知信息基于表格字段格式要求自行转换格式,其次要把对应字段的完整内容插入数据库中,除SQL语句以外不输出任何其他内容。下面是我给你的示例
# 示例:
```sql
INSERT INTO edu.interactions_record (
stu_num,
name,
class_num,
course_name,
course_teacher,
knowledge_point,
test_time,
question_record,
marking_record,
score,
summarize
) VALUES (
20250001,
'张三',
'大数据1902',
'数学基础',
'李老师',
'代数方程',
'2025-07-15 10:00:00',
'选择题:1+1=?; 答案:2',
'正确',
100,
'表现优秀,掌握扎实'
);
```

⑮在生成SQL节点后添加已经定义好的去除Markdown格式工具,input_str选择生成SQL节点的AI回答内容,split_str填写sql,不返回内容。

⑯在去除Markdown格式节点后添加已经定义好的mysql查询工具,host填写你要连接的数据库ip,user填写用户名,password填写密码,database填写数据库名称,port填写端口号,query选择去除Markdown格式节点的结果,不返回内容。

⑰最后在mysql查询节点后添加指定回复4节点,回复内容填写:入库成功!

4.2. 教师教学分析
①创建高级编排应用,在基本信息中更改应用描述和开场白:
描述示例:
教师通过该应用查询学生的学习情况。
开场白示例:
您好,我是教师教学分析小助手,您可以向我了解学生学习情况的相关问题。
- 张三的成绩如何?

②添加AI对话节点,重命名为:生成SQL。选择AI模型,系统角色填写:
你是一名数据库工程师,擅长增删改查相关的工作。
提示词填写:
# 已知信息:
我的建表信息为
```sql
CREATE TABLE edu.interactions_record (
stu_num BIGINT NOT NULL,
name varchar(100) NOT NULL,
class_num varchar(10) NOT NULL,
course_name varchar(100) NOT NULL,
course_teacher varchar(100) NOT NULL,
knowledge_point varchar(100) NOT NULL,
test_time TIMESTAMP NULL,
question_record MEDIUMTEXT NULL,
marking_record MEDIUMTEXT NULL,
score INT NULL,
summarize MEDIUMTEXT NULL,
CONSTRAINT interactions_record_pk PRIMARY KEY (stu_num)
)
```
course_name是指课程名称,knowledge_point是指知识点
# 用户问题
{{开始.question}}
# 要求
根据用户问题的自然语言生成查询SQL,除SQL语句以外不输出任何其他内容。如无特殊要求,一般不需要返回question_record和marking_record字段。下面是我给你的示例。
# 示例
```sql
SELECT name, course_name, score
FROM edu.interactions_record
WHERE knowledge_point='解析几何';
```
打开返回内容。

③在生成SQL节点后添加已经定义好的去除Markdown格式工具,input_str选择生成SQL节点的AI回答内容,split_str填写sql,不返回内容。

④在去除Markdown格式节点后添加已经定义好的mysql查询工具,host填写你要连接的数据库ip,user填写用户名,password填写密码,database填写数据库名称,port填写端口号,query选择去除Markdown格式节点的结果,不返回内容。

⑤在mysql查询节点后添加AI对话节点,选择AI模型,填写系统角色:
你是一名数据分析师,擅长对SQL查询的结果进行总结
填写提示词:
# 已知信息:
{{mysql查询.result}}
本次查询的sql语句为{{生成SQL.answer}}
用户问题是{{开始.question}}
# 要求
首先对查询结果进行完整的展示,展示效果需要优化,是阅读者可以方便的浏览各项信息。其次根据查询结果,输出你对查询信息的总结并回答用户问题。
打开返回内容。

五、演示效果
5.1. 学生知识点自测





5.2. 教师教学分析


六、总结
本方案通过 “学生知识点自测” 与 “教师教学分析” 两大模块的协同设计,有效解决了传统教学中 “学生自测低效” 与 “教师分析耗时” 的核心痛点,形成了 “自测 - 批改 - 存数 - 分析” 的教学数据闭环。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)