PTC 模式深度实战:测试驱动开发的 Agent 化
上周我接了个需求要给一个内部工具写个文件差异对比模块——就是那种对比两个文本文件然后高亮标出增删改的功能。说难不难说简单吧边界情况一堆大文件怎么办、编码不一致怎么办、二进制文件要不要跳过。我第一反应是直接开干。但转念一想这不正好拿 PTC 模式试试水吗PTC 是 Plan-Test-Code 的缩写翻译过来就是先规划、再写测试、最后写代码。听着是不是特别像 TDD测试驱动开发说实话我第一次看到 PTC 的时候也觉得这不就是 TDD 换个马甲嘛。但真正跑了一次之后我发现这玩意儿跟 TDD 是两码事——TDD 是人写测试驱动人写代码PTC 是人写测试驱动 AI 写代码。你定标准和验收条件Agent 去干活角色完全反过来了。我先把需求拆了拆对比模块需要支持行级 diff、输出统一格式类似 unified diff、能处理大文件流式读取、还要区分二进制和文本文件。放到 PTC 的 Plan 阶段就是让 Agent 先出一份实施方案。有意思的是Agent 给的 Plan 比我预想的细得多。它不光列了要做哪些函数还把每个函数的输入输出、异常处理、边界条件都写在了测试用例里。比如当两个文件完全相同时返回空 diff当文件不存在时抛出 FileNotFoundError——我本来只想了三个测试场景它一口气列了十几个。你别说看到这份 Plan 的时候我有点心虚。因为我自己写代码通常是想好主干逻辑就开始敲了边写边修边界。但 PTC 这种先写测试再写代码的流程逼着你在一开始就把所有可能出错的地方想清楚。这就像装修前先画施工图——你可以在图纸上改一百遍但上了墙再改成本就大了。然后进入 Test 阶段。Agent 开始基于 Plan 自动生成测试用例。这里有个坑——我第一次跑 PTC 的时候Agent 生成的测试代码依赖了它自己还没写的模块结果测试跑不起来。搞了半天才明白PTC 的 Test 阶段生成的不是能独立运行的测试而是描述预期的测试骨架。你得自己把骨架里的 mock模拟对象和 fixture测试夹具补全让它能真正跑起来。笑死我当时还在想不是说好 AI 帮我写测试吗怎么还得我动手。后来想通了——测试的价值在于你对需求的理解是否正确。如果测试全是 AI 写的你只是无脑说好通过那跟没测有啥区别PTC 的哲学是人定义正确AI 负责实现。补完测试骨架之后我跑了一遍——全红。正常因为还没写实现代码。Code 阶段才是真正惊艳我的地方。Agent 拿到测试用例之后开始逐个实现函数。每实现一个就跑一遍测试红了就改绿了就下一个。这个过程是自动进行的你可以盯着终端看它怎么自己跟自己较劲。我印象最深的是处理大文件那个场景。我写的测试用例要求超过 100MB 的文件不能一次性读入内存必须分块处理。Agent 第一次实现用的是readlines()直接读全部行——测试跑挂了。它自己看了错误信息换成readline()逐行读测试通过了。整个过程没人干预它自己 Debug 自己改。你想想这跟让一个 junior 工程师干活有啥区别你告诉他需求他写代码跑不通自己改。但 PTC 的 Agent 不会累、不会烦躁、不会先这样吧回头再修。我那个 diff 模块一共 7 个函数从 Plan 到全部测试通过大概花了 15 分钟。换我自己写光写测试就得半小时再写实现、调 bug一个上午下不来。当然PTC 也不是万事大吉。诚实地说有两个问题我到现在还没完全解决。一个是测试本身的维护成本。当你的测试用例从十几个涨到几十个每次改需求都得同步更新测试——这不光是 Agent 的事你作为定标准的人也得跟着改。我那个 diff 模块后来加了忽略空白符的功能结果有 7 个测试用例要调整。虽然不是不能接受但确实比直接改代码多了一步。另一个是复杂场景的测试覆盖。Agent 倾向于写路径最优的测试——正正常常输入、正正常常输出。那些刁钻的边界条件比如并发写入、文件锁、权限拒绝Agent 基本不会主动覆盖。你得自己补充这些坏心眼的测试用例。所以我的感受是PTC 不是把 TDD 自动化了而是把 TDD 的角色重新分了工。你负责坏心眼——想那些刁钻的、不常见的、用户可能瞎操作的情况。Agent 负责搬砖——把正常的、可预期的、文档里写清楚的功能实现好。你们两个合起来才算一个完整的小团队。你觉得这种人定标准、AI 实现的协作方式未来会不会成为主流还是说最终我们还是会走到AI 自己定标准、自己实现那一步

相关新闻

AI率达标有妙招?2026年亲测4大DeepSeek改写指令+5款降AI工具(附去AI痕迹全流程)

AI率达标有妙招?2026年亲测4大DeepSeek改写指令+5款降AI工具(附去AI痕迹全流程)

现在写论文最头疼的事儿是什么?不是挤不出思路,是好不容易写完,却被AI检测率、重复率死死卡住!来来回回改了又测,不到提交终稿的那一刻,根本不敢松半口气。这篇我不说虚的,前半段是我亲测有效的…

2026/8/23 23:04:27 阅读更多 →
模拟人生4 最新版本功能mod分享 正版非正版皆可用

模拟人生4 最新版本功能mod分享 正版非正版皆可用

通过网盘分享的文件:1.90—1.126 链接: https://pan.baidu.com/s/1huneubhMuJtdatarKRjHTQ 提取码: v7t7

2026/8/23 23:03:27 阅读更多 →
rtklib_java 配套可视化工具 GNSS‑VisView|自研 Java 版 RTKLIB 配套调试方案

rtklib_java 配套可视化工具 GNSS‑VisView|自研 Java 版 RTKLIB 配套调试方案

前言 本人完成 RTKLIB 2.5.0 纯 Java 移植项目 rtklib_java 之后,在项目落地与日常调试过程中发现了一个实际问题:整套解算内核全部基于 Java 实现,可用于信创平台、物联网后端、地质灾害监测等场景,能够完成 SPP、RTK、RTCM 解析…

2026/8/23 23:02:26 阅读更多 →

最新新闻

Morpeh Provider机制揭秘:让GameObject与ECS实体无缝协作的3种方式(完整指南)

Morpeh Provider机制揭秘:让GameObject与ECS实体无缝协作的3种方式(完整指南)

Morpeh Provider机制揭秘:让GameObject与ECS实体无缝协作的3种方式(完整指南) 【免费下载链接】morpeh 🎲 ECS Framework for Unity Game Engine and .Net Platform 项目地址: https://gitcode.com/gh_mirrors/mo/morpeh M…

2026/8/25 10:09:54 阅读更多 →
从列公司到画关系图:Chokepoint Atlas图谱引擎graph.json与Mermaid完整拆解

从列公司到画关系图:Chokepoint Atlas图谱引擎graph.json与Mermaid完整拆解

从列公司到画关系图:Chokepoint Atlas图谱引擎graph.json与Mermaid完整拆解 【免费下载链接】chokepoint-atlas 项目地址: https://gitcode.com/gh_mirrors/ch/chokepoint-atlas 如果你研究过 AI 产业链股票,多半经历过这样的困境:收…

2026/8/25 10:09:54 阅读更多 →
SaaS订阅支付全链路拆解:shadcn-nextjs-boilerplate中Stripe从Checkout到Webhook同步的完整指南

SaaS订阅支付全链路拆解:shadcn-nextjs-boilerplate中Stripe从Checkout到Webhook同步的完整指南

SaaS订阅支付全链路拆解:shadcn-nextjs-boilerplate中Stripe从Checkout到Webhook同步的完整指南 【免费下载链接】shadcn-nextjs-boilerplate Shadcn UI NextJS Boilerplate ⚡️ Free Open-source ChatGPT UI Admin Dashboard Template - Horizon AI Boilerplate …

2026/8/25 10:09:54 阅读更多 →
工业PDA H5扫码实战:WebView Bridge打通原生与Web通信

工业PDA H5扫码实战:WebView Bridge打通原生与Web通信

1. 项目概述:当工业级PDA遇上H5最近在做一个挺有意思的项目,客户那边有一批IData T1工业级PDA,他们希望能在设备自带的浏览器里,通过一个H5页面直接调用扫码功能,把扫到的条码或二维码数据回填到网页表单里。这个需求听…

2026/8/25 10:09:54 阅读更多 →
工业级PDA H5扫码方案:JSBridge打通Web与原生硬件

工业级PDA H5扫码方案:JSBridge打通Web与原生硬件

1. 项目概述:当工业级扫码终端遇上H5最近在做一个挺有意思的项目,客户那边有一批IData T1工业级PDA,他们希望能在设备自带的浏览器里,直接运行一个H5页面来完成扫码作业。听起来简单,不就是调用摄像头扫个码嘛&#xf…

2026/8/25 10:09:54 阅读更多 →
strfry数据库设计原理:PackedEvent零拷贝编码+LMDB复合索引如何榨干查询性能

strfry数据库设计原理:PackedEvent零拷贝编码+LMDB复合索引如何榨干查询性能

strfry数据库设计原理:PackedEvent零拷贝编码LMDB复合索引如何榨干查询性能 【免费下载链接】strfry a nostr relay 项目地址: https://gitcode.com/gh_mirrors/st/strfry strfry 是一个用 C 编写的高性能 nostr relay(中继服务器)&am…

2026/8/25 10:08:51 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →