PDF 色彩保真工程实践【7】需求交给 GPT,实现交给 Copilot
本文是系列文章的最后一篇。前六篇讲清了做什么和怎么做这一篇跳出代码回答一个问题让这个功能快而准落地的其实是一条双 AI 流水线——我用一句意图加一条关键事实让 GPT 把它扩写成规格书myprompt.md再让 Copilot 按它逐阶段把工程实现出来。先还原真相一条双 AI流水线很多人以为 AI 写出这么一个保留 ICC 的 CMYK 无损插入工程靠的是跟它反复调教对话。真相是三方接力而我只在最前面做了两件小事。第 1 步人——写一句意图外加一条关键事实。我最初的话很短但补了一条自己已经踩出来的领域结论我想用福昕 SDK 向 PDF 插入 CMYK 的 TIFF并保持图像对象仍是 CMYK。我已经确定福昕 SDK 的高级图像导入接口不能保留 ICC Profile。目录下foxitpdfsdk_11_1_win是完整SDK 包……希望在cmykimage下放一个 vs2022 能直接编译运行的完整工程。这条高级接口保不住 ICC的事实就是整份规格书的锚点——后面所有约束都是围着它长出来的。第 2 步GPT——让它把我的意图续写成规格书。我没有自己手写那份长长的myprompt.md而是把上面这段话丢给 GPT只加了一句元指令我想在本地用 GitHub Copilot 实现完整功能已写的要求和提示词如下[上面那段意图]。请续写我后续需要给 AI 的提示词让我能顺序通过 Copilot 完成这样一个代码工程。GPT 就把它扩写成了那份带已确认前提 / 固定技术路线 / 目标对象结构 / API 纪律 /13 个执行阶段 / 22 条完成标准的规格书myprompt.md。第 3 步Copilot——执行规格书。最后我发给 Copilot 的聊天消息几乎只有一句真实原文AIASK.txt再加一句挂载……我希望用 vs2022 打开直接编译运行。请按照myprompt.md中的要求完成任务。聊天负责启动myprompt.md负责定义正确Copilot 负责逐阶段落地。 一句话结论真正的杠杆不在聊天框里反复措辞而是——先用一个 AI 把需求扩写成可执行、可验收的规格书再用另一个 AI 去执行它。你只需守住两个人类环节给出锚定正确性的关键事实以及审阅这份规格。一份好规格书长什么样拆解myprompt.mdmyprompt.md不长但它把容易翻车的地方全部前置说清了。它的骨架可以归纳成六块每一块都直接对应一类返工风险。① 已确认的前提——不让 AI 重新发现你已知的坑规格书开头就钉死了事实省掉 AI 试错福昕高级图像导入接口能插入 CMYK TIFF但不能保留内嵌 ICC插入后只会是/ColorSpace /DeviceCMYK。因此本工程不得使用foxit::common::Image/ImageObject::SetImage()/PDFPage::AddImage()也不需要再测试高级路径。把此路不通写死AI 就不会花半天证明一条你早知道走不通的路。② 固定的技术路线——给出唯一正式管线规格书直接画出从 TIFF 到已验证 PDF 的流水线不留你看着办的空间CMYK TIFF → libtiff 解析标签 → 提取 ICC → 解码 C/M/Y/K 四通道 → 用 PDF Object API 造 ICC Profile Stream → 造 [/ICCBased ref] → 造 Image XObject → 挂到页面 Resources/XObject → 更新 Contents → 保存 → 重新打开验证对象结构技术路线一旦固定后面每个阶段都只是填空而不是选路。③ 目标产物结构——把验收标准画成靶子这是整份规格书最值钱的部分。它不描述我要 CMYK而是直接贴出期望的 PDF 对象长相% ICC Profile Stream间接对象 /N 4 /Alternate /DeviceCMYK /Filter /FlateDecode /Length ... % ColorSpace [/ICCBased 10 0 R] % Image XObject /Type /XObject /Subtype /Image /Width 1253 /Height 865 /ColorSpace [/ICCBased 10 0 R] /BitsPerComponent 8 /Filter /FlateDecode ... % 像素排列 C M Y K | C M Y K | C M Y K ...有了这个靶子做对了没有从主观感觉变成逐字段比对。AI 知道往哪打你也知道怎么验。④ API 使用纪律——根治 SDK 幻觉对付大模型编造不存在的 SDK 接口规格书立了一条硬规矩以foxitpdfsdk_11_1_win为唯一依据用任何 API 前必须在 头文件 / API Reference /Sample 中确认禁止凭经验虚构每个用到的 API 记录命名空间、类名、函数签名、参数、返回值、所在头文件、在哪个 Sample 验证过。找不到就明说缺失不许编近似名字。这条规矩的直接产物就是仓库里那份FOXIT_OBJECT_API.md清单——既堵住幻觉又成了后续维护的活文档。⑤ 分阶段执行计划——把大任务切成可审的闸门规格书把工程拆成 13 个阶段分析 API → 设计方案 → 建工程 → 集成依赖 → TIFF 解码 →ICC 流 → ICCBased → Image XObject → 页面资源 → 内容流 → 控制台 → 验证器 → 编译实测并规定每完成一个阶段先汇报实际检查结果、修改文件、编译状态和未解决问题再进入下一阶段。这就是阶段闸门AI 每次只推进一小步你每一步都能 reviewbug 也永远只藏在最近一个阶段里第 6 篇那三个坑都能精确归位。⑥ 可判定的完成标准——一张能打勾的清单规格书结尾列了 22 条完成标准条条可判定例如ICC Stream/N 4/Alternate /DeviceCMYKImage XObject 使用/ICCBasedTIFF ICC 与 PDF ICC字节一致TIFF CMYK 像素与 PDF 解码数据一致验证器全部 PASS不使用高级图像导入接口不经过 RGB/RGBA/Bitmap。完成不再是感觉而是这张清单是否全部打勾。为什么规格书 短指令比反复对话更好可复现换个人、换台机器把同一份规格书喂给 AI结果趋同聊天记录做不到。可 review规格书是静态文档能像代码一样被评审、被 diff、被沉淀进仓库。成本低规格书由 GPT 续写人只需给出锚定事实并逐条审阅前提与完成标准——同样把哪里会翻车过了一遍却不必从零手写。自带文档任务做完规格书 FOXIT_OBJECT_API.mdTEST_RESULTS.md就是这份工程的说明书。一句话聊天是易失的规格书是可积累的资产。AI 与人的分工一张表说清环节AI 更擅长人必须把关写规格GPT 把一句意图续写成完整规格书给出锚定事实、审阅前提与完成标准方案列候选、比利弊技术取舍与拍板分解提出阶段划分确认粒度与闸门顺序编码Copilot 快速实现、按阶段推进逐阶段 review、合规验证写校验、跑测试、贴证据定义什么算对规律很清晰AI 负责把事做出来GPT 写规格、Copilot 写代码人负责定义什么算做对——给出那条锚定正确性的关键事实并守住验收标准。收尾即用先让 AI 生成规格再让 AI 执行规格第一步用一句元提示词让 GPT或任意强模型把你的需求续写成规格书你只需提供意图和你已知的关键事实我想在本地用 GitHub Copilot 实现一个完整功能。我的意图和已知前提如下 - 目标[一句话要做什么] - 我已确定的关键事实[能锚定正确性的领域结论例如某捷径接口不满足要求] - 环境与产物[SDK/版本、目录、能直接编译运行的工程等]。 请续写我后续需要发给 Copilot 的提示词整理成一份规格书包含已确认前提与禁止事项、 固定的技术路线、目标产物结构验收靶子、API 使用纪律禁止虚构记录出处、 分阶段执行计划每阶段先汇报再推进、逐条可判定的完成标准。第二步把生成的规格书另存为SPEC.md并通读审阅重点核对关键事实和完成标准它的骨架大致如下# 一、已确认的前提不必重新验证 - [已知结论例如某捷径接口无法满足要求]因此禁止使用 [接口名]也不必再测试。 # 二、固定的技术路线 [输入] → [步骤1] → [步骤2] → … → [产物] → [重新打开/复核] # 三、目标产物结构验收靶子 [贴出期望的对象结构 / schema / 输出样例越具体越好] # 四、API 使用纪律 - 以 [SDK 目录/版本] 为唯一依据用任何 API 前在 头文件/手册/Sample 确认 - 禁止虚构每个 API 记录 命名空间/类名/签名/参数/返回值/头文件/验证出处找不到就明说。 # 五、分阶段执行计划 1. [阶段1] 2. [阶段2] … N. [编译实测] - 每阶段完成后先汇报检查结果 改动文件 编译状态 未解决问题再进入下一阶段。 # 六、完成标准逐条可判定 - [ ] [结构性断言如 /N4] - [ ] [字节/数值一致如 SHA-256 相等] - [ ] [自动验收命令全部 PASS]第三步在 Copilot 里只说一句请按照SPEC.md完成任务然后逐阶段验收。四个支柱前提钉死、靶子明确、API 有出处、阶段可审。把它们写进规格书你就能只发一句话然后放心让 AI 逐阶段跑完——每一步都可审、每一条都可验。结语回头看这个 CMYK 无损插入功能真正的源代码其实有两份一份是仓库里的 C另一份是myprompt.md这样的规格书。前者是 Copilot 写的结果后者是 GPT 帮我写的、让结果快而准的原因。而我这个人类只做了两件事给出那条锚定正确性的关键事实以及审阅这份规格。当你学会用一个 AI 把需求扩写成可执行、可验收、可积累的规格再用另一个 AI 去执行它AI 辅助编程就不再是碰运气的对话而是一条可复现的工程流水线。福昕 PDF SDK 的底层对象能力提供了精确控制的地基这条双 AI 流水线提供了高效可靠的过程——这就是本系列想留给你的最后一条经验。完整源码已开源https://github.com/AmyLin2013/pdf-cmyk-image 也欢迎你把这套一个 AI 写规格、另一个 AI 写代码的模式套到自己的下一功能上看看它能不能同样帮你把 AI 用得又快又准。关于本系列 完整源码https://github.com/AmyLin2013/pdf-cmyk-image本系列文章专栏PDF 色彩保真工程实践 关于福昕 PDF SDK可以看开发者站点 版式文档基础软件与智能文档处理能力提供方试用免费。 免费试用申请https://developers.fuxinsoft.cn/free-trial/

相关新闻

PSoC™6开发实战:从双核低功耗到无线安全,全面解析物联网MCU开发

PSoC™6开发实战:从双核低功耗到无线安全,全面解析物联网MCU开发

1. 项目概述:为什么PSoC™6值得你投入时间? 如果你正在寻找一款既能处理复杂应用逻辑,又能高效管理模拟信号和低功耗需求的微控制器,那么Cypress(现为Infineon旗下)的PSoC™6系列绝对是一个绕不开的选项。我…

2026/10/10 23:21:33 阅读更多 →
【CTF-CRYPTO-教学-RSA】第二节:共模攻击(gcd(e1, e2)=1且使用相同模数n时,无需私钥即可恢复明文m)

【CTF-CRYPTO-教学-RSA】第二节:共模攻击(gcd(e1, e2)=1且使用相同模数n时,无需私钥即可恢复明文m)

什么是共模攻击? 当同一个明文 m 被用相同的模数 n、不同的公钥指数 e1 和 e2 加密两次,得到两个密文 c1 和 c2 时,攻击者可以在不知道私钥的情况下恢复出明文 m。 加密原理 假设我们有: 模数 n 15(p3, q5&#x…

2026/10/11 13:16:17 阅读更多 →
MCX N236微控制器开发实战:从时钟配置到低功耗调试全解析

MCX N236微控制器开发实战:从时钟配置到低功耗调试全解析

1. 从MCU选型到MCX N236:为什么是它? 如果你最近在关注微控制器领域,尤其是那些面向工业和消费电子边缘应用的场景,大概率会听到“恩智浦MCX”这个名字。它不是某个单一型号,而是一个全新的、模块化的MCU产品组合系列。…

2026/10/11 13:59:02 阅读更多 →

最新新闻

基于SpringBoot+Vue的健身房会员管理系统:从需求到部署实战

基于SpringBoot+Vue的健身房会员管理系统:从需求到部署实战

做健身房管理系统这个项目之前,我其实已经帮朋友的小型健身工作室手工处理过会员台账,用Excel记会员卡片信息、课程消耗、到期时间,说实话每天都在跟“这卡到底哪天到期”“这节私教课用了没有”这类问题搏斗。后来有一个某健身房老板找到我&…

2026/10/11 14:01:16 阅读更多 →
Docker容器化部署避坑指南:从镜像构建到生产落地的完整闭环

Docker容器化部署避坑指南:从镜像构建到生产落地的完整闭环

写Docker容器化部署这么久,我最大的感触是:能用Docker把容器跑起来的人很多,但能真正把它部署得稳、部署得省心的人很少。我见过太多项目,镜像体积动辄1GB起步,构建一次要等好几分钟,部署到生产环境后跑不起…

2026/10/11 14:01:16 阅读更多 →
多任务CVRP相似性知识迁移算法:原理、实现与工程要点

多任务CVRP相似性知识迁移算法:原理、实现与工程要点

这篇工作前后做了大半年,终于以SEVC的SCI 2区论文形式落地。核心研究内容是面向多任务容量约束车辆路径问题(CVRP)的相似性知识迁移算法,说白了就是在同时求解一大批CVRP实例时,让不同任务之间互相“偷师”&#xff1a…

2026/10/11 14:01:16 阅读更多 →
2026靶场更新解读:从单点漏洞到链路化渗透实战

2026靶场更新解读:从单点漏洞到链路化渗透实战

1. 这次“好靶场更新”,到底更新了什么 每年开春都是靶场集中改版的时间段,尤其3月份,很多维护者会把前一年积累的问题集中修复,顺便塞进一批新场景。2026年3月7日这波更新我盯了一上午,整体看下来不是简单加几个漏洞环…

2026/10/11 14:01:16 阅读更多 →
变电站红外图像中的PT/CT检测:889张标注数据与YOLOv8实战

变电站红外图像中的PT/CT检测:889张标注数据与YOLOv8实战

简介:这份数据集面向电力设备巡检与目标检测算法开发者,提供变电站红外场景下的电压电流互感器等设备标注样本,可直接用于训练YOLOv5/YOLOv8、Faster R-CNN等主流检测模型。包内共2000个文件,以VOC格式xml标注、YOLO格式txt标注和…

2026/10/11 14:01:15 阅读更多 →
银行排队系统仿真实验:基于SimPy的M/M/c离散事件建模与参数分析

银行排队系统仿真实验:基于SimPy的M/M/c离散事件建模与参数分析

简介:银行排队系统实验报告是一份面向数据结构课程学习者的C语言实践项目,通过模拟多窗口银行客户到达、排队与离开过程,帮助掌握队列结构、随机事件生成和平均逗留时间计算等核心知识点。资源包内共1个doc文档,大小191KB&#xf…

2026/10/11 14:00:15 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →