Stony · 上海

王正

写了 20 年代码,做过城市大脑、票据 OCR 和银行 LLM PoC;现在把 AI 编程当成日常工具,而不是演示。

← 回到终端stonyw@gmail.com上海交通大学 · 计算机学院(原软件学院)更新于 2026-10

about

第一人称,原文照录。

2006 年从上海交通大学软件工程专业毕业,第一份工作是在微软的外包团队里测 Visual Studio、Office 和 Windows。那段时间我学会了一件后来一直受用的事:先把验收条件写清楚,再动手。写依赖检查工具时也是这个顺序,工具后来进了微软官方的 Power Pack。

之后六年做移动端:触宝的输入法和拨号器、EXFE 的 Android 与 iOS 双端、篱笆网、阿里巴巴 1688 的 iOS 客户端,再到伦敦的 SwiftKey 做厂商可配置的兼容层。1688 的旺旺消息模块我做完就离职了,八年后才有人做了小改版,这大概是我收到过最实在的评价。

2016 年到 2024 年在天壤智能,做流量自动竞价、杭州城市大脑的大屏、票据 OCR、社区微脑和银行的大语言模型 PoC。角色在变:写代码、做项目经理、去现场做实施,哪一段缺人就补哪一段。

2024 年底开始自己做 AI 咨询和定制开发(OPC)。2025 年接过一个十几万的 MES 定制,投入了至少四个人月,最后客户没用起来。代码不是瓶颈,流程才是——这件事我写在下面的复盘里,因为它比成功案例更能说明我现在怎么做判断。

现在我的工作方式很固定:需求先讲清楚,验收先写出来,然后让 AI 承担重复的实现和重构,我负责判断、取舍和兜底。AI 让交付变快,但它不会替你把需求想明白。

timeline

2005 年实习到今天。

projects

共 10 个精选项目,按经历顺序排列。

01 · VSTO 依赖检查工具

2006 – 2010 · 微软外包 · 微软 DevDiv · VSTO Vendor Team · 自动化测试工程师(Vendor)

VSTO 插件依赖关系容易漏检,测试团队需要一个能自动发现缺失依赖的小工具。

  • 用 MAUI(微软 UI 自动化类库)搭建 Visual Studio、Office、Windows 的自动化测试
  • 在测试之外写了一个依赖检查工具,直接对接 Redmond 研发团队过用例

技术栈:C# / .NET / MAUI / VSTO

  • 依赖检查工具在微软官方 Power Pack 公开发布
  • 团队评价持续保持第一档

02 · EXFE 社交工具 · 双端 App

2012 – 2013 · EXFE · EXFE · 上海 · 移动端开发(独立完成双端)

一个社交工具需要 Android 与 iOS 两端同时从零做到可用。

  • 独立完成 Android 与 iOS 的全部 App 功能
  • 把界面层、数据层与业务层拆开,抽象出可复用的 App 架构

技术栈:Android / iOS / Objective-C / Java

  • 双端完整功能交付
  • 架构沉淀为可复用的分层结构

03 · 1688 iOS · 登录与旺旺消息

2014 – 2015 · 阿里巴巴 · 阿里巴巴 · 中国交易(1688)· 杭州 · iOS 开发 · P6+

登录与消息是电商交易链路的关键路径,大促期间压力集中,交互细节直接影响客服效率。

  • 维护 1688 iOS 客户端的登录模块与消息模块
  • 负责过年营销模块攻坚,保证大促期间可用
  • 把旺旺消息的滚动、输入与状态反馈逐帧打磨

技术栈:iOS / Objective-C / IM / 大促稳定性

  • 消息模块体验被长期沿用,离职 8 年后才做了小改版
  • 过年营销模块按期交付

04 · SwiftKey · 厂商兼容配置

2015 – 2016 · 英国伦敦 · SwiftKey(TouchType)· 伦敦 · 移动端开发

输入法要在不同手机厂商的系统上保持一致体验,厂商差异需要一层可配置的兼容逻辑。

  • 负责厂商可配置的兼容配置开发
  • 按厂商与系统差异拆分配置项,减少分支代码
  • 完整参与英国公司的研发流程,日常以 git 协作

技术栈:Android / Java / 配置化 / Git

  • 兼容配置覆盖多厂商差异
  • 完整实践海外团队研发流程

05 · 广告流量自动竞价平台

2016 – 2024 · 天壤智能 · 天壤智能 · 上海 · 研发 / 数据分析 / 项目管理

流量买卖需要自动化决策,人工盯盘覆盖不了量级,也看不出流量结构的变化。

  • 写爬虫采集流量数据
  • 用 Python / Java 做后端服务
  • 用 React 搭数据大屏,Pandas + scikit-learn 做流量分析与推荐
  • 承担项目管理,协调数据、研发与投放节奏

技术栈:Python / Java / React / Pandas / scikit-learn / 爬虫

  • 采集、分析、推荐、竞价串成一条可持续运行的链路

06 · 杭州城市大脑 · 展示大屏

2016 – 2024 · 天壤智能 · 杭州 / 沈阳 / 上海徐汇 · 项目主程序员 → 项目经理

城市大脑要打通各部门数据,为“最多跑一次”提供统一视图;大屏是最先被看见、也最容易被检验的部分。

  • 作为项目主程序员负责若干前端展示大屏
  • 产出项目模板,指导其他供应商研发
  • 后续以项目经理身份参与沈阳城市大脑、上海徐汇城市大脑
  • 在副市长挂帅、政数局通报的推进机制下协调各方

技术栈:React / 数据可视化 / 政务数据 / 项目管理

  • 为“最多跑一次”打下数据展示基础
  • 大屏模板被其他供应商复用
  • 从单点开发扩展到多城市项目推进

07 · 农商行票据 OCR

2016 – 2024 · 天壤智能 · 昆山农商行 · 江苏多家农商行 · 项目经理(年度创新项目)

柜面票据、财务报表、发票种类多,混合手写字段是识别难点,客户对准确率有明确预期。

  • 协助昆山农商行推进年度创新项目,监督模型训练与评估
  • 推动江苏多家农商行落地,覆盖柜面票据、财务报表、发票等模型
  • 把 PoC 的评估口径固定下来,再逐项提升字段准确率

技术栈:OCR / 模型评估 / 项目管理 / 银行交付

  • 混合手写字段准确率从 PoC 78% 提升到 90%
  • 最高单类票据达到 94%
  • 江苏多家农商行完成 OCR 项目落地

08 · 社区微脑 · 疫情人口排摸

2016 – 2024 · 天壤智能 · 上海徐汇 / 田林街道 / 湖北宜昌 / 江川路 · 项目经理兼实施(FDE)

疫情期间社区人口排摸压力大,基层需要当天就能上手、口径统一的工具。

  • 在上海徐汇(含田林街道)、湖北宜昌落地实施
  • 在江川路街道驻场,现场确认数据口径与操作流程
  • 把现场问题带回研发,按天迭代

技术栈:政务系统 / FDE / 现场实施 / 项目管理

  • 支撑徐汇、田林、宜昌的人口排摸
  • 江川路项目后成为闵行区的供应商
  • 闵行总包方在多个方案讨论中参考我的意见,多次点名要求我保障项目

09 · 零售银行客服消息 LLM PoC

2016 – 2024 · 天壤智能 · 某零售银行 · 方案设计与 PoC 推进

客服消息分类准确率不够,银行希望在不改动现有流程的前提下把准确率提上来。

  • 先构造评估集,把“好”定义成可重复比较的指标
  • 用基于概率的技巧处理长尾类别,配合合理的评估手段迭代
  • 连续推进两轮 PoC,对比不同方案

技术栈:LLM / 语义分类 / 评估集 / Python

  • 分类准确率从 60%+ 提升到 80%+
  • 两轮 PoC 均取得第一名

10 · 建筑审图流程系统化

2024 – 至今 · OPC · 建筑审图公司 · 咨询 + 定制开发(OPC)

审图公司的任务流转靠人盯,任务发布与反馈没有固定入口,配置变更也依赖开发者。

  • 先把流程固化到平台,再谈功能
  • 推动一把手工程:从定制采购转为免费平台,任务发布和反馈必须经过平台
  • 前期配合客户的计算机专业项目经理,后期由他维护配置变更,难题回到我这里

技术栈:流程配置 / AI 辅助开发 / 权限与任务流

  • 流程从口头流转变成平台必经
  • 客户侧可以自行维护配置变更

skills

按使用场景分组,不是标签墙。

语言

换语言不是门槛,换问题才是。

  • Java / Kotlin
  • C# / VB.NET
  • Python
  • Objective-C / Swift
  • JavaScript / TypeScript
  • C / C++
  • SQL
  • Dart
  • Pascal / Delphi
  • batch / shell

移动端

从输入法到电商客户端,做过 C 端交互,也扛过大促。

  • iOS(Objective-C / Swift)
  • Android(Kotlin / Java / Dart)
  • 触宝输入法与拨号器
  • 1688 iOS 登录与旺旺消息
  • SwiftKey 厂商兼容配置
  • EXFE Android + iOS 双端

后端与数据

能把数据采回来,也能让它在业务里跑起来。

  • Spring Boot
  • Django
  • 爬虫
  • Pandas
  • scikit-learn
  • 流量分析与推荐
  • 数据大屏服务端接口

前端

大屏不是拼图表,是让人三秒内看懂哪里出了问题。

  • React
  • 数据可视化大屏
  • HTML / CSS / JavaScript
  • 微信小程序
  • Cocoa / Cocoa Touch

桌面与工程化

从 Windows 桌面到 macOS,从手写测试到自动化。

  • Windows / Linux / macOS
  • Qt / Tk / Tcl
  • WPF / WinForms(.NET)
  • MAUI 自动化测试
  • Git 协作与代码评审
  • VSTO / Office 插件

AI 与工程实践

不只会调 API:评估集、落地、交付,一个都不能少。

  • LLM 应用 PoC 与评估集设计
  • OCR 模型训练监督与准确率提升
  • 语义分类与长尾处理
  • TRAE SOLO / Codex 辅助开发
  • AI 编程(Vibe coding)工作流
  • UI 自动化与可验证性设计

项目管理

在一线待过,所以知道每个环节会在哪里出问题。

  • 售前支持与方案设计
  • 多项目并行交付
  • FDE 现场实施
  • 需求与流程梳理
  • 客户沟通与验收
  • 5 人 PM 团队 / 20 人研发团队

ai / vibe coding

讲“我怎么用”,不讲“我会用”。

用 TRAE SOLO 跑通一个客户项目的全流程

工具
TRAE SOLO
环节
设计 → 实现 → 重构
变化
客户原来的纯网页项目,升级成前后端完整的服务。
  • 先把现有页面、数据结构、接口约定整理成一份上下文交给它,而不是直接扔一句需求。
  • 按“一层一层交付”的方式推进:先跑通一个页面,再接后端,再补权限与错误处理。
  • 重构阶段让它先给出改动清单,我确认范围之后再改,避免它顺手改坏已经稳定的部分。

Codex 做重构与迁移,我做验收和回滚

工具
Codex
环节
重构 / 迁移 / 补测试
变化
重复的搬迁工作从“几天”压到“半天”,但每一次改动仍然可回滚。
  • 让它先读目录结构和调用链,说明准备改哪些文件、为什么,再开始动手。
  • 每一步只改一个关注点,改完立刻跑类型检查和关键用例。
  • 我保留否决权:涉及数据口径、权限和线上行为的改动,必须我确认。

审图流程配置:先写规则表,再让 AI 生成配置

工具
Codex + 结构化文档
环节
需求梳理 → 配置生成
变化
客户改流程时,配置能跟着改,不用每次回来找我改代码。
  • 把审图环节、角色、流转条件写成一张可检查的表,先和客户对齐。
  • 再让模型按表生成配置草稿,我逐条核对边界条件。
  • 最终把配置权交回客户的计算机专业项目经理,他只在下发不了的难题上找我。

银行 LLM 分类 PoC:先有评估集,再谈模型

工具
Python + 评估集
环节
评估 → 调优 → 复现
变化
分类准确率从 60%+ 提到 80%+,两轮 PoC 都是第一。
  • 先把客服消息的类别、样本和判定标准固定下来,避免“感觉变好了”。
  • 用基于概率的技巧处理长尾类别,每一轮都跑同一套评估。
  • PoC 的价值不是演示效果,而是让客户相信这套结果是可复现的。

把 UI 自动化的老经验搬进 AI 编程

工具
MAUI 经验 → 截图对比 / 断言
环节
验收设计
变化
AI 写完的界面,不再靠“看起来对”来判断。
  • 早年在微软做 MAUI 自动化,习惯把界面行为写成可执行的断言。
  • 现在让 AI 实现之前,先把验收条件写成断言或截图对比。
  • 它写得越快,验收就越要硬——这是我这些年最没变的一条。

社区微脑现场:需求当天变,原型当天改

工具
AI 辅助原型 + 人工核口径
环节
现场实施(FDE)
变化
街道提出调整时,第二天就能拿出可点的新版本。
  • 在江川路街道驻场时,很多需求是现场聊出来的,没有完整文档。
  • 我用 AI 快速改原型和页面,但数据口径、统计规则一律人工复核。
  • 快是给客户的,准是给自己的,两者不能混。

MES 定制的教训:AI 加速不了不成熟的流程

工具
TRAE SOLO
环节
定制交付
变化
四个人月投进去,项目最终没有用起来——这段我保留在站上。
  • 代码层面 AI 确实帮了忙,但客户在项目期间一直改流程,需求没有稳定过。
  • MES 这类项目必须是一把手工程,中层推不动。
  • 流程先于电子化:先把成熟流程定下来,再谈系统。

我固定下来的四条方法:

  • 上下文先给全:现有代码、约束、验收标准,一次讲清楚,比追问十次有效。
  • 验收先写:先写断言或截图对比,再让 AI 写实现。
  • 小步提交:一次只改一个关注点,随时可回滚。
  • 人做判断:数据口径、权限、线上行为,不交给模型决定。

工具:TRAE SOLO · Codex · 结构化文档与规则表 · 评估集与断言

2025 · MES 定制:一次没跑起来的项目

十几万的项目,分给兼职约九万,我自己投入至少四个人月,最后客户没有真正用起来。

教训一:一把手工程。MES 这类管理项目,一个中层自己是推不动的。

教训二:流程先于电子化。客户在项目期间一直改流程,我们等于在给一个还没定型的流程做电子化,越做越难收口。

所以现在我接定制项目,先问流程是否已经稳定、谁是一把手;这两个问题答不上来,代码写得多快都没有意义。

github

实时数据 · @stonyw

热力图来自 GitHub 公开贡献日历:最近一年滚动窗口,保留每日提交次数与 0–4 强度分级。 · 更新于 2026-11-13 12:49