使用 cc cli + deepseek 进行 AutoCAD 二次开发交流

hlpt_cf 2026-06-02 21:20 1

使用 cc cli + deepseek 进行 AutoCAD 二次开发交流


佬们,不知道有没有搞土木设计的。最近我在用 cc cli + deepseek 开发 AutoCAD 图库插件,基本是纯 vibe coding。之前也用 AI 写过一些 .lsp 脚本,能做点小功能,但这次算是第一次正儿八经上 harness,做一个对我这种非科班来说还算有点复杂的项目。中间踩了不少坑,也有一些心得,拿出来跟佬们交流学习一下。




前言


先简单说下开发环境和框架:











































软件 版本 用途
AutoCAD 2016 (64-bit) 运行环境
Visual Studio 2022 IDE 和编译
.NET Framework 4.7.2 SDK 目标框架(随 VS2022 安装)
System.Data.SQLite NuGet SQLite 数据库驱动
Newtonsoft.Json NuGet JSON 序列化
xUnit NuGet 单元测试框架



一些痛点


1. 修 bug 很费劲


AutoCAD 版本多,API 也多,而且很多行为还挺反常识的,所以 AI 很容易出现这些问题:




  • 胡乱假设,尤其是不查文档就直接脑补 API 行为。




  • 不太爱主动查日志。




  • 很容易急着找一条路就开干,结果越修越深,最后变成在同一个层面上不停打补丁。




  • 一个 bug 反复修不好之后,感觉模型会越来越蠢,同一个会话后面修好的概率明显下降。




很多时候不是“模型不会”,而是“上下文已经被污染了”,后面它就开始顺着错误方向继续编。


2. 测试链路太重


AutoCAD 这类东西,很多操作层面没法像普通 Web 项目那样自动化测试。AI 改完代码+自动构建部署以后,一般还是要:




  • 启动 CAD




  • NETLOAD 加载插件(这一步也可改注册表自动加载)




  • 人工操作测试




效率很低。更麻烦的是,测试结果还得靠工程师转述给模型。这个过程里信息很容易失真,模型又只能根据转述去猜,debug 难度高。


说白了,就是编码 → 测试 → 编码 这个循环里,反馈层太依赖人了。


3. UI/UX 还挺折磨


这点我觉得主要是 DeepSeek 的锅。因为不能直接截图给它看,所以 UI 经常做不出我想要的感觉。很多时候得靠文字描述,很费劲,也容易跑偏。挺期待 ds4.1 以后补上多模态,不然做界面是真的麻烦。




一些优化思路


在这个过程中,我也一直在摸索。现在感觉很明显的一点是:模型能力不变的情况下,优化 harness 的收益最大


我看了不少论坛上的 context / harness 相关帖子,也学了 Claude Code 官方最佳实践,确实挺有帮助的。佬们也可以看看:


https://code.claude.com/docs/zh-CN/best-practices


1. 最大杠杆还是“带验证过程”


官方说得很对,最有用的不是“让模型想办法”,而是每个提示都要带明确的验证过程。比如:




  • 编译通过




  • 测试通过




  • 部署后通过




  • 和图片 / 现象比照




  • 尽量解决根因,而不是只修表面症状




没有验证过程,AI 很容易自嗨;有验证过程,它才会更像在做工程,而不是在猜谜。


2. 上下文管理特别重要


前面说的“反复修不好一个 bug,模型越来越蠢”,我现在越来越怀疑很多时候不是模型退化,而是上下文已经乱了。


所以我现在比较注意这几件事:




  • /compact 的时候就压缩,但要控制好范围和重点。




  • 和当前任务关系不大的内容,直接 /clear 清掉。




  • 查文档、读 API 这种事情,尽量丢给 subagents,让它们保留独立上下文,避免主会话被污染。




这个点真的很关键。


3. CLAUDE.md 别塞太满


我之前的 CLAUDE.md 也是典型误区:觉得什么都重要,结果一路塞到 200 多行。实际用下来发现,内容一多,模型的遵循能力反而下降,尤其在上下文复杂的时候更明显。


我的体会是:




  • CLAUDE.md 要尽量精简




  • 真正需要强调的内容,用 @引用 或单独文件引入




  • 额外规则放到 skills 或 docs 里,不要全堆在主文件里




简单说就是:别把所有东西都写成“必须遵守”,最后就会变成没有什么真的必须遵守。


4. skill 也别贪多


我之前装了 superpowers 之类一堆 skills,后来发现用起来是真的重,而且很费 token。对企业级大项目可能挺合适,但对个人中小项目来说,有点杀鸡用牛刀了。


后来我就把其中一些能力拆出来,按自己的需求单独用。比如我把里面的 writing-planexecute-plan 拆出来单独用了,感觉效果反而更好,也更轻。


skill 不在多,适合自己最重要


5. 高智力模型适合做方向和 review


像 GPT-5.5 这种更强的模型,我现在主要拿来做:




  • 方案定方向




  • 架构 review




  • 关键问题判断




真正落地执行的时候,还是靠流程、上下文和 harness 配合。




总结


这个项目基本是下班和周末业余时间搞的,大概花了 5 天左右,成本大概 ¥40。缓存率基本能到 99%,感谢梁大善人。


整体做下来,DeepSeek我基本是满意的,AI 编程不是单纯比模型,更重要的是流程、上下文和验证链路。尤其像 AutoCAD 这种老系统、重交互、难自动化测试的场景,harness 的设计甚至比模型本身更关键。


以上就是一点个人记录,顺便拿出来和佬们交流一下。要是有同样在搞 AutoCAD 二开、或者也在用 cc cli +deepseek 的佬,欢迎一起聊聊经验。

最新回复 (11)
  • star228 06-02 22:39
    1

    佬,我工作也经常用到cad,但是我不是土木室内设计。前几天也是在试着看能不能用ai来辅助工作。现目前发现cad和ai的交互非常差,ai只能通过dxf来读图,读图效果很不好。可能在现有的生态下让ai能聪明的识别图纸是非常难的,它们只能靠图块名称、图层名称来间接读懂。

  • hlpt_cf 楼主 06-03 08:42
    2

    是的,本来想找些相关的mcp/skill的,看了一圈,目前来看一些cad的mcp还只是玩具。

  • joechvios 06-03 09:28
    3

    感觉工程软件都有这种问题,我是做revit相关的,有前端的修改也是要重新编译,重启软件,再测。现在主要是用MCP来做,插件里只有前端,后端都用python和mcp接进去,这样除了改了界面不需要重启,也比较好测试

  • hlpt_cf 楼主 06-03 11:00
    4

    佬,mcp是自己写的吗,revit是原生支持python么。

  • joechvios 06-03 13:04
    5

    MCP是自己写的,高版本的Revit好像才自带mcp。插件是用c#写的,里面调用python和MCP,revit应该也支持用python的pyRevit

  • hlpt_cf 楼主 06-04 11:45
    6

    ^-^C#调用Python,自己写MCP,向佬学习一下

  • Wei_Lan 06-04 11:49
    7

    同建筑行业,做了些 Rhino 的二开,热重启有时候还挺好用

  • xunxun 06-04 11:58
    8

    版本不同产生的api区别都要在上下文或者系统上下文里说 codex会严格遵循 cc总是忘记最好直接跟他说

  • hlpt_cf 楼主 06-04 20:45
    9

    搜了一下,AutoCAD 2016好像搞不了热重启,只能给构建的的dll加时间戳,相当于在不关闭cad的情况下不断加载新插件

  • hlpt_cf 楼主 06-04 20:46
    10

    是的,最好可以把API文档@在.CLAUDE文件里,有时上下文一多,模型还是会忘记,还是要做好上下文管理

  • DW_DROME 07-13 02:00
    11

    请问能否开源,想用来水本科的课设

* 帖子来源Linux.do
返回