详情

首页手游攻略 Workbuddy助力京牌:用京牌司法处置数据分析项目为例

Workbuddy助力京牌:用京牌司法处置数据分析项目为例

佚名 2026-07-18 08:57:55
> 本文档以一次真实对话为例,展示 WorkBuddy 作为 AI 工作伙伴的核心能力。

---

## 一、本次对话做了什么

我给出一个网址,说"看看这个网页"。从这一句话开始,WorkBuddy 自主完成了以下全部工作:

- 抓取了北交互联10期共**3864条**京牌小客车司法处置数据

- 逐个抓取3864个详情页,提取车辆全维度信息

- 分析了车辆特征与竞拍热度之间的关联性

- 构建了个性化推荐引擎,根据用户偏好推荐最佳竞拍标的

- 将整个流程封装成可复用的 Skill

- 经历了3轮代码审查和19个问题修复

- 生成可视化报告和完整项目文档

**整个过程只说了7句话。**

---

## 二、WorkBuddy 的核心能力

### 能力1:网页抓取与逆向分析

**用户说:** "查看这个网页 https://jpxkc.cbex.com/page/jpxkc/s/index.html"

![image.png](https://developer.qcloudimg.com/http-save/yehe-6649301/dd6c9ec3811b5d73273abefa0587b46b.png)

**WorkBuddy 做了什么:**

不是简单地把网页内容读出来,而是:

1. 访问网页,发现标的列表是动态加载的(页面源码里没有数据)

2. 分析 JavaScript 源码,找到隐藏的 API 端点 `/page/jpxkc/zc_prjs/prj_li`

3. 编写 Python 脚本,通过 API 分页抓取全部434条数据

4. 发现列表页缺少起始价,自动追加详情页抓取

5. 用10线程并发抓取,支持断点续传

**意味着什么:** WorkBuddy 能处理动态网站、逆向分析 API、编写并执行抓取脚本,不只是"看网页"。

![image.png](https://developer.qcloudimg.com/http-save/yehe-6649301/cc4fba8de80c55cbcdf73079e7583173.png)

---

### 能力2:大规模数据处理

**用户说:** "其它期的也都获取下"

**WorkBuddy 做了什么:**

1. 从首页源码中找到全部10个期次的 ID 映射

2. 编写批量抓取脚本,内置10期配置,一键运行

3. 15线程并发抓取3864个详情页,每200条自动保存中间结果

4. 处理过程中遇到网络超时自动重试

5. 输出标准 CSV 文件,带 BOM 编码方便 Excel 打开

**数据规模:**

- 10期 × 平均386条/期 = 3864条标的

- 每条标的的详情页文本约2000字

- 总数据量约9MB纯文本

**意味着什么:** WorkBuddy 不是"聊两句就完了",它能处理数千条数据的批量任务,并且有完善的错误处理和断点续传机制。

![image.png](https://developer.qcloudimg.com/http-save/yehe-6649301/1c7f843aaddd2f70ce5f1891e81f045f.png)

![image.png](https://developer.qcloudimg.com/http-save/yehe-6649301/1f6d2afa2f5f5de2b36290f3fa7ecd87.png)

---

### 能力3:非结构化文本解析

**用户说:** "根据标的物介绍和报价次数整理一份关联分析"

**WorkBuddy 做了什么:**

详情页的"标的物调查情况表"是纯文本,格式不统一,有人工填写的痕迹。WorkBuddy:

1. 分析文本结构,识别出四个段落(权证情况、标的现状、权利限制、标的物介绍)

2. 为每个段落编写正则表达式提取结构化字段

3. 处理多种日期格式(`2019/6/4`、`2016年 12月 13日`、`2014 - 03 - 07`)

4. 统一排放标准写法(国V/国Ⅴ/国五 → 国V)

5. 处理复杂文本(`拖运费用:1296元、停车费用2256...共计23352元`)

6. 最终从非结构化文本中提取出40 个结构化字段

**意味着什么:** WorkBuddy 能把"人读的文本"变成"机器可分析的数据",处理真实世界数据中的格式不一致

问题。

![image.png](https://developer.qcloudimg.com/http-save/yehe-6649301/f6d0b9ea805525c40018ec53d31bc20d.png)

---

### 能力4:数据分析与可视化

**用户说:** "整理一份关联分析"

**WorkBuddy 做了什么:**

1. 计算各维度与报价次数的 Pearson 相关系数

2. 按燃料类型、排放标准、车龄、违章记录等维度分组统计

3. 生成暗色主题的 HTML 可视化报告(Chart.js 图表 数据表格)

4. 发现关键洞察:

- 所有标的均以最高限价成交(成交价 = 起始价 × 1.5)

- 无违章车比有违章车多72%的报价次数

- 国III排放车平均116次报价,远超国VI的29次

- 三证齐全的车比缺失的车多2.6倍报价

**意味着什么:** WorkBuddy 不只是"执行命令",它能从数据中发现洞察,生成专业水准的分析报告。

---

### 能力5:迭代式问题修复

**用户说:** "车辆特征里包含了权利限制及瑕疵情况吗?"

**WorkBuddy 做了什么:**

发现原始数据中100%包含该段落,但之前的解析脚本遗漏了3个字段。于是:

1. 创建 `reparse_with_defects.py`,补充提取查封状态、查封法院、其他瑕疵

2. 重新生成分析报告(v2)

3. 用户继续追问"标的权证情况有没有?"

4. 再次发现遗漏,创建 v3 版本补充提取行驶证、登记证、车牌

5. 用户指出"展示的车龄、违章、停车费怎么都是0"

6. 深入排查发现3个正则匹配遗漏(日期带空格、停车费复杂格式、违章"无"格式)

7. 修复后提取率从84%提升至96.3%

**意味着什么:** WorkBuddy 能在对话中持续迭代,用户每指出一个问题就修复一个问题,不需要从头重来。

![image.png](https://developer.qcloudimg.com/http-save/yehe-6649301/ee31f7dfb1bdbc72dfac2cdcaadcac0f.png)

![image.png](https://developer.qcloudimg.com/http-save/yehe-6649301/602e5f3c5cb442f35f30c8b1c7570496.png)

---

### 能力6:智能推荐系统构建

**用户说:** "还要有用户给出自己的期望,然后给出推荐竞拍的标的物"

**WorkBuddy 做了什么:**

从零构建了一个完整的推荐引擎:

1. **筛选层**:根据用户设定的硬性约束(车龄上限、排放下限、违章上限等)过滤标的

2. **评分层**:三维评分模型

- 价值分(品牌30 车龄25 排放20 偏好15 燃料10 = 100)

- 安全分(违章30 权证20 停车费15 检验有效期15 抵押10 瑕疵10 = 100)

- 中标分(报价次数越少越容易中标)

3. **排序层**:按用户指定的权重加权计算综合得分

4. **输出层**:生成推荐列表 CSV 可视化 HTML 报告

**三种使用方式:**

- 交互式问答(逐项输入偏好)

- 预设策略一键运行(稳健/均衡/品质优先)

- JSON 配置文件(精细控制所有参数)

**意味着什么:** WorkBuddy 能构建有业务逻辑的系统,不只是写脚本。推荐引擎涉及评分模型设计、权重分配、品牌识别等领域知识。

![image.png](https://developer.qcloudimg.com/http-save/yehe-6649301/ec1b0265f44d2e32c34e10dd629be976.png)

![image.png](https://developer.qcloudimg.com/http-save/yehe-6649301/45edc5d840b1c4e4c948ab40317abe75.png)

---

### 能力7:代码审查与质量保证

**用户说:** "使用当前模型重新review下之前的所有过程以及最后的skills"

**WorkBuddy 做了什么:**

对全部5个脚本和3个文档进行系统审查,3轮共发现并修复19个问题:

**第一轮(8个问题):**

- P0: HTML报告事实错误("仅约半数有行驶证"实际93.7%有)

- P0: 所有脚本硬编码绝对路径

- P1: 冗余的v1解析代码

- P1: Referer设置在fetch之后(等于没设)

- P1: 文档段落计数矛盾

- P2: 未使用变量、缺少说明、__pycache__打包

**第二轮(5个问题):**

- P0: 日期正则不支持空格 → 提取率84%→96.3%

- P0: 停车费只匹配简单格式

- P0: 违章"无"格式不匹配

- P1: vehicle_age=0被误判为"新车"给高分

- P1: 负车龄显示为"-0.3年"

**第三轮(6个问题):**

- P1: SKILL.md多处描述过时

- P0: 4个脚本缺少 os.makedirs,首次运行崩溃

- P2: 残留未使用导入

**意味着什么:** WorkBuddy 能自我审查代码质量,发现逻辑错误、事实错误、健壮性问题,并自动修复。

---

### 能力8:技能封装与复用

**用户说:** "将上面的所有流程整理成一个skills"

**WorkBuddy 做了什么:**

1. 使用 skill-creator 初始化技能目录结构

2. 将5个脚本和3个参考文档组织成标准 Skill 结构

3. 编写 SKILL.md 主文档,包含工作流、策略建议、技术注意事项

4. 通过 skill-creator 验证并打包为 zip

5. 安装到用户级目录(`~/.workbuddy/skills/`),跨项目可用

**Skill 结构:**

```

jingpai-auction-analyzer/ (3253行代码/文档)

├── SKILL.md主文档

├── scripts/5个可执行脚本

│ ├── scrape_auction_list.py

│ ├── scrape_auction_details.py

│ ├── parse_and_analyze.py

│ ├── gen_trend_report.py

│ └── recommend.py

└── references/ 3个参考文档

├── website_structure.md

├── data_schema.md

└── recommendation_model.md

```

**意味着什么:** WorkBuddy 能把一次对话中积累的工作经验封装成可复用的技能,下次遇到类似任务时自动触发,不需要从头开始。

![image.png](https://developer.qcloudimg.com/http-save/yehe-6649301/cd57dc92f2d6423b1542895489ce5df6.png)

---

### 能力9:数据验证与质量保证

**用户说:** "用这个 https://jpxkc.cbex.com/jpxkc/prj/detail/580619.html 验证下"

**WorkBuddy 做了什么:**

1. 实时抓取该详情页

2. 逐字段对比网页原始数据与解析结果

3. 22个字段全部匹配(✓)

4. 用推荐引擎对该标的评分,验证评分逻辑合理性

5. 确认这辆高违章 缺登记证 254次报价的车被正确地排在推荐列表末尾

**意味着什么:** WorkBuddy 不只是"写完就交付",它能自己验证结果的准确性,用真实数据检验解析逻辑。

![image.png](https://developer.qcloudimg.com/http-save/yehe-6649301/a0dde28b3314c00b9c0943cf091d9fe6.png)

---

## 三、对话全程用户说了什么

| 序号 | 用户原话 | WorkBuddy 完成的工作 |

|------|---------|-------------------|

| 1 | "查看这个网页" | 逆向分析网站API,编写抓取脚本 |

| 2 | "获取202606期所有标的起始价、成交价、竞拍次数" | 抓取434条列表 详情页起始价 |

| 3 | "其它期的也都获取下" | 批量抓取全部10期3864条数据 |

| 4 | "根据标的物介绍和报价次数整理关联分析" | 解析详情文本,生成关联分析报告 |

| 5 | "车辆特征里包含了权利限制及瑕疵情况吗?" | 补充提取查封/法院/瑕疵字段 |

| 6 | "标的权证情况有没有?" | 补充提取行驶证/登记证/车牌字段 |

| 7 | "展示的车龄、违章、停车费怎么都是0" | 修复3个正则匹配遗漏 |

| 8 | "评估标准里有检验有效期止日期这一项吗?" | 新增检验有效期维度到安全评分 |

| 9 | "标的物介绍里的10个维度都要有" | 扩展解析到15个字段全覆盖 |

| 10 | "整理成一个skills" | 封装为可复用Skill(3253行) |

| 11 | "还要有用户给出期望,然后给出推荐标的" | 构建三维评分推荐引擎 |

| 12 | "用580619验证下" | 逐字段验证22项全部通过 |

| 13 | "重新review下" | 3轮审查修复19个问题 |

| 14 | "发布到skillhub" | 打包zip准备发布 |

skills地址:[京牌小客车司法处置数据抓取与分析](https://skillhub.cloud.tencent.com/skills/jingpai-auction-analyzer)

---

四、WorkBuddy 适合什么场景

### 适合

- **数据抓取与分析**:从网站抓取数据、清洗、分析、可视化

- **多步骤自动化**:需要编写多个脚本串联的复杂工作流

- **迭代式开发**:用户逐步提出需求,AI逐步完善

- **工具构建**:把一次性工作封装成可复用的技能

- **代码审查**:自我检查代码质量、发现逻辑错误

- **文档生成**:把工作过程自动沉淀为文档

### 不适合

- 需要人工登录认证的操作(如发布到需登录的平台)

- 需要物理世界交互的任务

- 需要实时性保证的在线服务

---

## 五、技术栈一览

本次对话中 WorkBuddy 使用的技术:

| 类别 | 技术 |

|------|------|

| 语言 | Python 3.13 |

| 网络请求 | urllib.request |

| 并发 | concurrent.futures.ThreadPoolExecutor |

| 文本解析 | re(正则表达式) |

| 数据处理 | csv, json, collections |

| 可视化 | Chart.js 4.4.0(生成HTML报告) |

| 统计分析 | Pearson相关系数 |

| 文件编码 | utf-8-sig(CSV)、utf-8(HTML) |

| 技能框架 | WorkBuddy Skill(SKILL.md scripts/ references/) |

---

## 六、关键数据

| 指标 | 数值 |

|------|------|

| 用户指令数 | 15条 |

| 抓取数据量 | 3864条标的 |

| 解析字段数 | 40 个 |

| 脚本总行数 | 2663行 |

| 文档总行数 | 590行 |

| 审查修复问题数 | 19个 |

| 字段验证通过率 | 22/22 = 100% |

| Skill总大小 | 45KB |

","createTime":1783238128,"ext":{"closeTextLink":0,"comment_ban":0,"description":"","focusRead":0},"favNum":0,"html":"","isOriginal":0,"likeNum":0,
点击查看更多
推荐专题
热门阅读