博客· 理念
设计就是一段文本:为什么 .lens 是 AI 原生的地基
一个镜头的全部状态就是一段 .lens 文本。AI 读得懂、写得出,每次修改都是一段看得见的 diff。
LensBench 团队2026 年 10 月 17 日 · 2 分钟读完
在 LensBench 里,一个镜头的全部状态就是一段 .lens 文本:
title "Cooke Triplet"
aperture EPD 10
field angle 0, 14, 20
wave F, d*, C
surf OBJ T=inf
surf 1 R=22.01359 T=3.25896 glass=SCHOTT:N-SK16
surf 2 R=-435.76044 T=6.00755
surf 3 R=-22.21328 T=0.99997 glass=SCHOTT:F2
surf 4 stop R=20.29192 T=4.75041
surf 5 R=79.6836 T=2.95208 glass=SCHOTT:N-SK16
surf 6 R=-18.39533 T=solve(marginal_height, 0)
surf IMA
var R1..R6表格(LDE)、文本、命令三者实时同步:你在表格里改一个半径,文本里只变那一个数;AI 用命令改,也只动那一个数,注释和排版原样保留。
为什么这对 AI 重要
- AI 读得懂、写得出。 专有格式的工程文件,AI 只能隔着接口去摸;一段文本,它能完整读进上下文,也能直接写出一个补丁。
- 改动天然可审阅。 AI 的每次修改都是一段 diff,和代码评审一样,看得见到底改了哪几个数。
- 能放进 git、能发给同事。 版本对比、回滚、分享,都不需要专门的工具。
- 写错了有兜底。 语法写错时,诊断会给出错误码、行列位置和修法建议——AI 看得懂,通常能自己改对。
说 Zemax 的话
面号 OBJ=0…IMA,glass 写的是面后介质,长度 mm、波长 µm、点列图 µm,操作数用 Zemax 的名字(EFFL、TOTR……)。对你来说是熟悉的口径;对 AI 来说,大模型学过的大量 Zemax 知识可以直接用上,不必重新学一套词汇。和 Zemax 口径不同的地方都在内核里换算,并有回归测试守着。逐项对照见 Zemax → LensBench 对照。
玻璃只做精确匹配
牌号按「厂商:牌号」精确匹配,绝不模糊替换成另一块玻璃;同名的牌号有多家厂商时,会提示你写全。AI 写错牌号会直接报错,而不是悄悄换成别的材料。
完整语法见 .lens 指南。
继续阅读
- 理念
LensBench 的设计理念:为 AI 原生工作流而生
它和别的光学软件最大的不同,不是多了一个聊天框,而是从数据模型开始,就按「人和 AI 一起改设计」来设计。
LensBench 团队2026 年 10 月 17 日 · 2 分钟读完
- 理念
一张命令表:AI 能做的,就是你能做的
同一条命令,同时是桌面端的一个动作、命令行的一个子命令、AI 调用的一个工具。AI 没有隐藏通道。
LensBench 团队2026 年 10 月 17 日 · 2 分钟读完
- 理念
先看 diff,再动设计:确认键始终在你手里
让 AI 改设计,最怕它悄悄改了你没注意到的地方。所以所有修改先预演:改了哪几个数、指标怎么变,你确认后才写入。
LensBench 团队2026 年 10 月 17 日 · 2 分钟读完