T

腾讯云试题批改Agent

AI 智能体v1.0.3
作者:u_1fa34ba4✓ 认证发布者:腾讯科技(深圳)有限公司更新于 2026-10-01tencentcloud-ocr-questionmarkagent@tencent-adm/tencentcloud-ocr-questionmarkagent
工具调用

据 AlphaMoat 统计,截至 2026-09,腾讯云试题批改Agent 累计下载 2,662 次、获 3 个星标,在全部 5,078 个 AI 技能中排名第 3,972 位,在「AI 智能体」分类(969 个)中排名第 796 位。

累计安装
235
累计下载
2,662
星标
3
全站排名
#3,972
全站前 79% · 「AI 智能体」前 83%
平台累计安装累计下载星标评论
SkillHub ↗2352,6623—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

该技能封装腾讯云 OCR 试题批改 Agent 接口(SubmitQuestionMarkAgentJob / DescribeQuestionMarkAgentJob),面向 K12 教育场景:支持整卷自动切题批改与单题直接批改(可传参考答案),识别手写答案并输出正误判定、答案对比、错误分析、知识点与手写坐标等结构化结果。采用异步双接口模式(Submit 计费提交拿 JobId,Describe 轮询至 DONE/FAIL),支持 PNG/JPG/PDF 等多格式输入、可选深度思考模式与 QuestionConfigMap 配置,需 Python 3.6+ 与腾讯云密钥环境变量,默认并发限制 10 题/分钟。

资料发布于 2026-10-27

可以用来做什么

  • 对整张试卷图片或 PDF 自动切题并逐题批改,返回结构化批改结果
  • 对单道题目批改并传入参考答案,获取正误判定与错误分析
  • 配置输出题目知识点、正确答案与手写答案坐标

什么时候用

  • 当用户需要对试卷/试题图片或 PDF 进行自动批改时
  • 当需要识别手写答案并判断正误、分析 K12 试题时
  • 当需要获取试题知识点、正确答案或涉及切题与试题解析时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

批改这张试卷照片,输出每道题的对错和知识点
这是一道单题图片,参考答案是 x=2,帮我批改一下
批改这份 PDF 试卷的第 2 页,开启深度思考模式

月度数据趋势

累计下载2,662
3421,5882,8342026-03 · 累计下载 5142026-05 · 累计下载 9152026-06 · 累计下载 1,1372026-07 · 累计下载 1,7002026-08 · 累计下载 2,0272026-09 · 累计下载 2,66226-0326-09
星标3
0232026-03 · 星标 -2026-05 · 星标 -2026-06 · 星标 12026-07 · 星标 32026-08 · 星标 32026-09 · 星标 326-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。 该技能有同名的其他版本,调整前的数据归属当前下载量最大的这一个。

月份累计下载环比星标
2026-092,662—3
2026-082,027+19.2%3
2026-071,700+49.5%3
2026-061,137+24.3%1
2026-05915—-
2026-03514—-

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

11 KB · SkillHub v1.0.3
---
name: tencentcloud-ocr-questionmarkagent
description: 腾讯云试题批改Agent(SubmitQuestionMarkAgentJob/DescribeQuestionMarkAgentJob)接口调用技能。当用户需要对试卷图片或试题图片中的K12试卷或试题进行自动批改、手写答案识别、知识点分析时,应使用此技能。支持整卷图片批改和单题图片批改,提供题目切题、正误判定、答案对比、错误分析、知识点输出等结构化评估结果。异步接口,先提交任务再轮询查询结果。
---

# 腾讯云试题批改Agent (SubmitQuestionMarkAgentJob / DescribeQuestionMarkAgentJob)

## 用途

调用腾讯云OCR试题批改Agent接口,面向K12教育场景的试题批改产品,支持整卷/单题端到端处理(试卷切题+题目批改+手写坐标回显),聚焦试题批改(含手写答案)和试题解析(不含手写答案)。精准输出题目、正误判定、答案对比、错误分析及知识点等结构化评估结果。低年级算式批改效果优于线上数学作业批改。
展开全部(共 253 行)

核心能力:
- **异步双接口模式**:Submit 提交任务获取 JobId → Describe 轮询查询结果(DONE/FAIL 时完成)
- **整卷批改**:自动切题后逐题批改,返回每道题目的批改信息
- **单题批改**:跳过切题环节,直接对单题进行批改,支持传入参考答案
- **深度思考**:可选开启深度思考模式,进行更深层次推理分析(速度更慢)
- **知识点输出**:可配置输出题目关联的知识点信息
- **正确答案输出**:可配置输出题目的正确答案
- **手写答案坐标**:可配置输出手写答案在原图中的坐标位置
- **多格式输入**:支持 PNG、JPG、JPEG、BMP、GIF、WEBP、HEIC、TIFF、HEIF 及 PDF 格式

官方文档:
- 提交任务:https://cloud.tencent.com/document/api/866/128273
- 查询任务:https://cloud.tencent.com/document/api/866/128274

## 使用时机

当用户提出以下需求时触发此技能:
- 需要对试卷图片/PDF进行自动批改
- 需要识别手写答案并判断正误
- 需要对K12试题进行批改分析
- 需要获取试题的知识点信息
- 需要获取试题的正确答案
- 需要对单道题目进行批改(含参考答案)
- 涉及试卷切题、试题解析的任何场景

## 环境要求

- Python 3.6+
- 依赖:`tencentcloud-sdk-python`(通过 `pip install tencentcloud-sdk-python` 安装)
- 环境变量:
  - `TENCENTCLOUD_SECRET_ID`:腾讯云API密钥ID
  - `TENCENTCLOUD_SECRET_KEY`:腾讯云API密钥Key

## 使用方式

运行 `scripts/main.py` 脚本完成试题批改。该接口为**异步接口**,脚本会自动提交任务并轮询查询结果。

### 请求参数

#### 提交任务 (SubmitQuestionMarkAgentJob) 参数

| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| ImageBase64 | str | 否(二选一) | 图片/PDF的Base64值,编码后不超过10M,分辨率建议600*800以上,支持PNG/JPG/JPEG/BMP/PDF格式 |
| ImageUrl | str | 否(二选一) | 图片/PDF的URL地址,下载时间不超过3秒。都提供时只使用ImageUrl。建议存储于腾讯云 |
| PdfPageNumber | int | 否 | PDF页码,仅支持单页识别,默认1 |
| BoolSingleQuestion | bool | 否 | 是否单题批改(跳过切题),默认false |
| EnableDeepThink | bool | 否 | 是否开启深度思考(更深层推理,速度更慢),默认false |
| QuestionConfigMap | str | 否 | 题目信息输出配置(JSON字符串),可选key:KnowledgePoints(输出知识点)/TrueAnswer(输出正确答案)/ReturnAnswerPosition(输出手写答案坐标) |
| ReferenceAnswer | str | 否 | 单题批改时的参考答案,仅单题时有效,多题时不生效 |

#### 查询任务 (DescribeQuestionMarkAgentJob) 参数

| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| JobId | str | 是 | 任务唯一ID,由Submit接口返回,长度不超过32字符 |
| **UserAgent** | **str** | **否** | **请求来源标识(可选),不传时自动探测平台** |

### 输出格式

识别成功后返回 JSON 格式结果:

**格式化输出模式(默认)**:
```json
{
  "任务ID": "1410885500986064896",
  "任务状态": "DONE",
  "切题数量": "2",
  "旋转角度": 0.0,
  "批改结果": [
    {
      "题号": 1,
      "题干": "1. 小琪在做作业时发现有一道题的一部分被墨水遮住了...",
      "子题": [
        {
          "题号": "1-1",
          "题干": "(1)小琪猜测,墨水遮住的内容是"2a",请你根据小琪的猜测完成计算;",
          "答案列表": [
            {
              "手写答案": "\\frac{2}{a-1}...",
              "是否正确": false,
              "答案分析": "首先将除法转化为乘法,对分子分母因式分解后约分...",
              "正确答案": "...",
              "知识点": ["分式运算", "因式分解"],
              "答案坐标": [113, 648, 558, 648, 558, 698, 113, 698]
            }
          ]
        }
      ]
    }
  ],
  "RequestId": "xxx"
}
```

**原始输出模式(--raw)**:
```json
{
  "JobId": "1410885500986064896",
  "JobStatus": "DONE",
  "ErrorCode": "",
  "ErrorMessage": "",
  "Angle": 0.0,
  "MarkInfos": [
    {
      "MarkItemTitle": "1. 小琪在做作业时...",
      "AnswerInfos": [],
      "MarkInfos": [
        {
          "MarkItemTitle": "(1)小琪猜测...",
          "AnswerInfos": [
            {
              "HandwriteInfo": "\\frac{2}{a-1}...",
              "IsCorrect": false,
              "AnswerAnalysis": "首先将除法转化为乘法...",
              "RightAnswer": "",
              "KnowledgePoints": [],
              "HandwriteInfoPositions": [113, 648, 558, 648, 558, 698, 113, 698]
            }
          ],
          "MarkInfos": []
        }
      ]
    }
  ],
  "RequestId": "xxx"
}
```

### 响应数据结构说明

#### SubmitQuestionMarkAgentJob 响应

| 参数 | 类型 | 说明 |
|------|------|------|
| JobId | str | 任务唯一ID,用于查询结果 |
| QuestionInfo | list of QuestionInfo | 切题题目边框坐标列表(BoolSingleQuestion=true时为空) |
| QuestionCount | str | 切题数量,作为计费题目数总量 |
| RequestId | str | 唯一请求ID |

#### DescribeQuestionMarkAgentJob 响应

| 参数 | 类型 | 说明 |
|------|------|------|
| JobStatus | str | 任务状态:WAIT(等待中)/RUN(执行中)/FAIL(失败)/DONE(成功) |
| ErrorCode | str | 任务执行错误码(非FAIL时为空) |
| ErrorMessage | str | 任务执行错误信息(非FAIL时为空) |
| Angle | float | 图片旋转角度(角度制),水平方向为0,顺时针为正 |
| MarkInfos | list of MarkInfo | 试题批改信息 |
| RequestId | str | 唯一请求ID |

**MarkInfo 结构(嵌套递归):**

| 字段 | 类型 | 说明 |
|------|------|------|
| MarkItemTitle | str | 题目的题干信息 |
| AnswerInfos | list of AnswerInfo | 批改答案列表(按从左到右、从上到下排列) |
| MarkInfos | list of MarkInfo | 嵌套子题信息(无子题则为空) |

**AnswerInfo 结构:**

| 字段 | 类型 | 说明 |
|------|------|------|
| HandwriteInfo | str | 手写答案内容(如选择题的手写选项、填空题的手写内容) |
| IsCorrect | bool | 答案是否正确 |
| AnswerAnalysis | str | 答案分析结果 |
| HandwriteInfoPositions | list of int | 答案区域4角点坐标(长度8数组:左上/右上/右下/左下),需配置ReturnAnswerPosition。可能返回null |
| RightAnswer | str | 正确答案内容,需配置 QuestionConfigMap 的 TrueAnswer 为 true |
| KnowledgePoints | list of str | 知识点内容,需配置 QuestionConfigMap 的 KnowledgePoints 为 true。可能返回null |

**QuestionInfo 结构:**

| 字段 | 类型 | 说明 |
|------|------|------|
| Angle | float | 旋转角度 |
| Height | int | 预处理后图片高度 |
| Width | int | 预处理后图片宽度 |
| ResultList | list of ResultList | 文档元素(可能返回null) |
| OrgHeight | int | 输入图片高度 |
| OrgWidth | int | 输入图片宽度 |
| ImageBase64 | str | 预处理后的图片base64编码 |

### 错误码说明

| 错误码 | 含义 |
|--------|------|
| FailedOperation.DownLoadError | 文件下载失败 |
| FailedOperation.ImageDecodeFailed | 图片解码失败 |
| FailedOperation.ImageSizeTooLarge | 图片尺寸过大,请确保编码后不超过10M |
| FailedOperation.OcrFailed | OCR识别失败 |
| FailedOperation.PDFParseFailed | PDF解析失败 |
| FailedOperation.UnKnowError | 未知错误 |
| FailedOperation.UnKnowFileTypeError | 未知的文件类型 |
| FailedOperation.UnOpenError | 服务未开通,请先在腾讯云控制台开通试题批改Agent服务 |
| InvalidParameterValue.InvalidParameterValueLimit | 参数值错误 |
| LimitExceeded.TooLargeFileError | 文件内容太大 |
| ResourceUnavailable.InArrears | 账号已欠费 |
| ResourceUnavailable.ResourcePackageRunOut | 账号资源包耗尽 |
| ResourcesSoldOut.ChargeStatusException | 计费状态异常 |

### 重要业务逻辑

1. **异步双接口模式**:Submit 提交任务 → Describe 轮询,JobStatus 为 DONE/FAIL 时完成
2. **Submit 计费,Describe 不计费**
3. **ImageBase64 和 ImageUrl 必须提供其一**,都提供时只使用 ImageUrl
4. 支持格式:PNG/JPG/JPEG/BMP/GIF/WEBP/HEIC/TIFF/HEIF 及 PDF
5. PdfPageNumber 必须为正整数,仅支持单页识别
6. BoolSingleQuestion=true 时跳过切题,直接单题批改
7. QuestionConfigMap 示例:`{"KnowledgePoints":true,"TrueAnswer":true,"ReturnAnswerPosition":false}`
8. ReferenceAnswer 仅单题时有效,多题时不生效
9. JobId 长度不超过32字符
10. **默认接口请求并发限制:10题/分钟**
11. 建议图片存储于腾讯云COS以获得更高的下载速度和稳定性
12. MarkInfo 为递归嵌套结构,可能存在多层子题

### 调用示例

```bash
# 通过URL进行整卷批改(输出知识点和正确答案)
python scripts/main.py --image-url "https://example.com/exam_paper.jpg" \
  --question-config '{"KnowledgePoints":true,"TrueAnswer":true}'

# 通过URL进行单题批改(带参考答案)
python scripts/main.py --image-url "https://example.com/single_question.jpg" \
  --single-question --reference-answer "x=2"

# 开启深度思考模式
python scripts/main.py --image-url "https://example.com/exam.jpg" --enable-deep-think

# 通过文件路径进行批改(自动Base64编码)
python scripts/main.py --image-base64 ./exam_paper.png

# 批改PDF试卷(指定页码)
python scripts/main.py --image-base64 ./exam.pdf --pdf-page-number 2

# 输出原始JSON响应
python scripts/main.py --image-url "https://example.com/exam.jpg" --raw

# 指定地域和自定义轮询参数
python scripts/main.py --image-url "https://example.com/exam.jpg" \
  --region ap-beijing --poll-interval 3 --poll-timeout 300```

「AI 智能体」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。