返回案例库

精选案例 · Agent / 实践案例

AI 辅助高焓喷管 CFD 数据读取与论文级云图绘制

可读标题 · 基于原文内容整理

原题:陈文杰(cwj)

这个案例围绕「陈文杰(cwj)」记录了一条真实 AI 实践线索,正文重点集中在「AI 辅助编程经历」「几条让 agent 高效配合的习惯」,适合先按任务意图阅读再判断复用。

案例速读

README 标题「陈文杰(cwj)」下已经出现运行/配置路径、脚本或接口线索、结果证据,正文重点集中在「AI 辅助编程经历」「几条让 agent 高效配合的习惯」,比纯概念介绍更适合进入精选阅读流。 这篇案例的阅读价值在于,它把真实任务、模型辅助过程和可迁移做法放在同一个上下文里,读者可以从 「陈文杰(cwj)」、「AI 辅助编程经历」、「几条让 agent 高效配合的习惯」、「遇到的挑战和应对」 进入正文。

  • 建议重点看 可参考其中的运行与配置路径、包含可迁移的命令、脚本或接口线索、已有结果或观测证据可用于判断复用价值。结合 Agent / 实践案例 和「任务驱动用户、AI 实践者」这一受众定位,它更适合作为任务检索后的精读材料,而不是只看一句短摘要后快速跳过。
  • 正文目录和原始材料仍然是判断依据;导读只帮助你更快定位阅读重点。
看点
陈文杰(cwj)
读者
任务驱动用户、AI 实践者
复用
可参考其中的运行与配置路径
结构
11 个目录入口

原文内容

陈文杰(cwj)

工程科学学院 22 级 5 系本科生


AI 辅助编程经历

基于 2026-05-14 至 2026-05-18 在 Claude Code CLI 上 7 个独立会话的实际操作记录整理。背景任务是用 Python 读取高焓喷管 CFD 计算结果文件 flow.plt(Tecplot ASCII BLOCK,325 MB,多区块、混合 node/cell 存储),绘制论文级 Tt / Tv / u / Ma 云图,并做核心流、边界层等定量分析。

项目周期约 5 天,最终交付 3 个 Python 脚本(reader + v1 plotter + v2 plotter)、2 个输出目录(共 21 张 PNG)、1 套配套记忆文件。

几条让 agent 高效配合的习惯

1. 首条 prompt 写"完整规格",不挤牙膏

首条 prompt 一次性写清楚四类约束:

  • 功能要求(读 plt + 画 Tt/Tv 云图)
  • 工程约束(“脚本最好使用结构化的模块,方便后续添加新功能”)
  • 物理交付要求(“需要告知我画云图时每个点的数据是怎么处理的,是单元中心数据差值还是其他方式”)
  • 美学要求(“选取合适的颜色棒,符合标准美观的论文要求”)

这种"一次写满"比挤牙膏式提问效率高很多,agent 一次就能搭出合理骨架。

2. 视觉驱动的迭代修正

拿到第一张图后,所有后续指令都基于对图像的直接观察:

  • “在中间 90 度凸角(坐标 x=0,y 等于正负 112 mm)的位置……出现了不应该存在的三角形”
  • “画出来的等值线是断开的,这是不符合物理的”
  • “Tt、Tv 云图我放大看,发现非常的马赛克化”
  • “壁面的等值线标签都挤在一起”

每条反馈都带坐标 / 物理判据 / 视觉描述,agent 不需要猜你在指哪——这是高效迭代的关键。

3. 主动管理版本边界

当需要做较大功能扩展时,明确指示分版本:

“将原来的脚本复制一份后,在复制的脚本上修改,并将输出结果输出到一个新的文件夹中”

由此产生 v1 (plot_tt_tv.py + output_tt_tv/) 与 v2 (plot_tt_tv_v2.py + output_tt_tv_v2/) 的清晰分支,避免了"改坏了改回不来"的常见痛点。

4. 自行纠错 prompt

出现过两次主动撤回:“刚才的指令输入有误,y 的绘制范围应该是从 -112 mm 到 -92 mm” / “请继续执行我上面的指令”——不掩饰自己输错,而是直接更正,比让 agent 去猜你"真正想要的"更安全。

5. 用领域知识把"美学问题"翻译成可执行规则

不直接说"颜色棒不好看",而是给具体替代:“tecplot 这个软件中有一个 small rainbow 的颜色棒,如果你知道它的颜色组成,我希望你能参考这种颜色棒”。定义核心流时也是物理化的:“以原点 Tt 为基准,偏差 ≤5% 的区域”——agent 拿到这就是可写代码的判据。

6. 用模块化语言驱动增量开发

反复使用"再添加一个模块"“再补一个 Ma 的云图”——隐含的契约是:不破坏已有功能,只增量加新功能。这种说法直接对应 agent 该走的代码组织路径(新函数 / 新参数),比"改一下"更明确。

遇到的挑战和应对

挑战 1:大文件读取超时 / 进度不透明

flow.plt 325 MB,首次会话里 agent 卡了 30 秒没动静,连续追问"是否读取成功?““请不断尝试直到成功读取”。后来意识到这是 IO 时长问题,不是 agent 卡死。经验:超大输入要求 agent 先做"小规模试读 / 报告进度”。

挑战 2:跨会话记忆缺失

05-15 那天连开多个会话,反复问"刚才的聊天记录你还有记忆吗"——发现默认 agent 无跨会话记忆,最终主动开启 auto-memory。经验:长周期项目第一时间确认记忆机制;不依赖 agent “自然记得”。

挑战 3:模型 / API 切换

早期单独花一个会话排查"现在在调用哪个模型"“LLM BASE URL 是什么”,并尝试用 ccswitch 配置 deepseek。经验:先把环境(哪个模型、哪个 API)搞清楚再投入正式任务,避免在不可知环境下迭代。

挑战 4:技术细节用户难以直接判断

例如"区块边界等值线断开",agent 实际改了三个底层东西(per-zone 画图、节点网格、跨 zone 全局节点聚合),我没有逐项理解,而是通过最终图像是否解决视觉缺陷来验收。经验:复杂改动可以放权给 agent,只需用最终结果作为验收标准;但要保留一份说明性记忆(事后整理的 project_flow_plt_pipeline.md 那种)。

做对的关键动作

  1. 首条 prompt 写完整规格 → 节省 3-5 轮试错
  2. 每次反馈带具体坐标 / 物理判据 → 避免 agent 误判
  3. 版本分支用 v1/v2 隔离 → 保留 fallback
  4. 要求 agent 输出"数据处理方式"等解释性文字 → 留下可审计的物理推理链
  5. 开启持久记忆 → 跨会话不重新解释项目背景
  6. 后期主动让 agent 做自我总结 → 形成可查阅的工作档案

值得改进的方向

  1. 早期没设定 progress check 习惯:长任务可以约定 agent 每 N 秒输出一次"我在做什么",减少误判卡死
  2. 没有先建立"项目入口文档":若一开始就让 agent 写一个 CLAUDE.md 或 README,后续每个会话冷启动成本会更低
  3. 缺乏自动化验证:所有验收靠肉眼比图;可以让 agent 顺手写"区块边界连续性检查"等数值诊断,自动报告问题
  4. 物理结论分析推迟到最后:图都画完了才系统地做"能得出什么结论 / 还要分析什么"。如果穿插着做,可以更早发现"应当增加 Tv-Tt 差值图"这类需求

项目列表

项目 简介 跳转
🌬️ 高焓喷管 CFD 后处理 用 AI 辅助读取 Tecplot 大文件并绘制论文级云图 查看
🖥️ Claude 桌面版安装与进程排查 用 AI 定位 MSIX 打包路径、生成桌面快捷方式、梳理 Electron 多进程结构 查看

项目详情

高焓喷管 CFD 后处理

利用 Claude Code CLI 辅助完成高焓喷管 CFD 计算结果的可视化与定量分析全流程。

背景

CFD 计算输出文件 flow.plt 采用 Tecplot ASCII BLOCK 格式,体量 325 MB,包含多个区块、混合 node/cell 数据存储。目标是绘制论文级别的总温 Tt、振动温度 Tv、速度 u、马赫数 Ma 云图,并对核心流、边界层等区域做定量分析。

AI 辅助过程

  1. 结构化读取器:让 agent 搭建模块化 Tecplot reader,分别处理不同区块和数据存储类型,并要求其在代码中明确每个数据点是"单元中心插值"还是其他处理方式。
  2. 首版绘图脚本:基于 reader 输出绘制 Tt / Tv 云图,色阶参考 Tecplot 的 small rainbow 调色板。
  3. 视觉缺陷迭代:根据放大后的图像反馈(区块边界断开、马赛克化、等值线标签重叠等),由 agent 自主调整 per-zone 绘图、节点网格构造、跨 zone 全局节点聚合等底层实现。
  4. 版本隔离:v1 完成后将脚本复制为 v2,新增 u / Ma 云图、核心流(Tt 偏差 ≤5% 区域)识别等模块,输出独立目录。
  5. 工作档案沉淀:项目尾段让 agent 主动总结,产出 project_flow_plt_pipeline.md 留作后续会话的冷启动上下文。

交付

  • 3 个 Python 脚本:read_plt.pyplot_tt_tv.pyplot_tt_tv_v2.py
  • 2 个输出目录共 21 张论文级 PNG 云图
  • 1 套配套记忆文件,供跨会话沿用项目上下文

Claude 桌面版安装与进程排查

借助 Claude Code CLI 排查 Windows 上 Claude 桌面版的启动方式异常,定位真实安装路径并修复使用流程。

背景

桌面上只有一个 Claude Setup.exe,每次退出 Claude 桌面后只能双击它重新进入,而且要等一段加载时间。直觉上不正常——Squirrel 类安装器应当在首次安装后留下一个真正的 claude.exe 主程序,反复执行 Setup 意味着安装未落地或快捷方式缺失。

AI 辅助过程

  1. 路径定位:让 agent 在 %LocalAppData%\AnthropicClaude\Program FilesAppData\Roaming 等典型 Electron 安装位置搜索 claude.exe,结果一个都没找到——Squirrel 安装痕迹完全缺失。
  2. 进程取证:通过 Get-CimInstance Win32_Process 拉出所有 claude* 进程的完整路径和命令行,发现真正运行的桌面版是从 Microsoft Store(MSIX 打包) 安装的,路径在 C:\Program Files\WindowsApps\Claude_1.7196.1.0_x64__pzs8sxrjxfjjc\app\Claude.exe——也就是说桌面上那个 Setup.exe 是一个独立的、和已装版本毫不相干的安装包,每次双击都在重新跑安装流程。
  3. AppUserModelID 提取:用 Get-StartApps 拿到 Store 版 Claude 的 AUMID(Claude_pzs8sxrjxfjjc!Claude)。
  4. 桌面快捷方式生成:用 WScript.Shell COM 对象创建 .lnk 文件,TargetPath 设为 explorer.exe,Arguments 指向 shell:appsfolder\<AUMID>,图标指向 MSIX 安装目录里的 Claude.exe,0。之后点桌面图标直接启动,没有重复加载过程。
  5. 进程关系梳理:分析 11 个 claude* 进程的父子关系,确认其中 9 个是 Electron 的标准多进程架构(main + 3 renderer + GPU + NetworkService + AudioService + VideoCaptureService + crashpad),另 2 个分别是当前会话的 Claude Code CLI 和一个挂了 3 天的 npm 旧版孤儿进程。

收获

  • 一个能直接用的桌面快捷方式,省掉每次的重新安装/加载过程
  • 对 Windows 上 MSIX 与 Squirrel 两种 Electron 应用打包方式差异的具体认识
  • 一条排查思路:用进程命令行回溯安装来源,比从注册表 Uninstall 表入手更快定位实际可执行文件位置

技术栈

  • AI 工具:Claude Code CLI(Opus 4.7 / 1M 上下文)
  • 常用语言:Python(NumPy / Matplotlib)
  • 数据格式:Tecplot ASCII BLOCK (.plt)
  • 版本控制:Git / GitLab

返回顶部