今年国庆,我去了趟新疆。
从喀什到帕米尔高原,沿着中巴友谊公路一路向西,白沙湖、卡拉库里湖、慕士塔格峰,雪山、湖泊、草原、公路,风景实在漂亮。
出发之前,我特意带上了自己的尘封已久的索尼 ZV-E10 相机,打算好好拍些照片。
但我是个摄影新手。
虽然买相机已经有一段时间了,但对于光圈、快门、ISO 这些摄影参数,理解始终比较浅显。知道大概是什么意思,却不太能在实际拍摄时熟练运用。所以我决定,在这趟新疆之旅中,借机好好练习练习,掌握一下相机摄影的技术。
每天拍照片的时候,一会儿调整光圈,一会儿调整快门,看到什么都想拍两张。
但很快,我就发现了两个问题。
第一,照片拍了不少,但摄影技术好像没什么进步。
很多时候,我能够看出来一张照片拍得好不好,却不知道它为什么好,为什么不好。同样的人物风景,为什么这张过曝,另一张又过暗?
第二,照片实在太多了。
同一个场景,我可能会用不同的参数、不同的构图,连续拍摄好几张照片。等到回到电脑上选片,就需要一张一张地打开、关闭、比较,实在麻烦。
然后我就在想,有没有一款软件,能够把这两件事一起解决?
- 一边选照片,一边复盘每张照片的拍摄参数,因为只有在复盘中,才能知道哪些参数适合哪些场景;
- 遇到相似的照片,还能直接放在一起比较,快速筛选、整理。
反正自己也是做产品经理出身,索性自己设计一款。有了AI之后,这种没软件可用的苦,完全没有必要让自己硬吃。
6号回到北京,我打开了 Codex,一个下午之后,一款完成度极高、足以称得上商业化程度的摄影复盘软件,就真的诞生了,跟我最初想象的样子,几乎没什么差别。
我给它起了个名字,叫 Lightwise,光的智慧。
01我想要一款什么样的摄影软件?
其实,我的需求很简单。
首先,我希望自己能够通过复盘照片,真正提高摄影技术。
摄影是一个很依赖实践的技能。
尤其对于新手而言,看教程后,知道大光圈能够虚化背景,快门速度决定运动物体会不会模糊,ISO 可以调整感光度。
但这些知识如果不跟具体的照片联系起来,其实很容易停留在理论层面。
比如这次在新疆,我经常会遇到这样的情况:面对远处连绵起伏的雪山,前景还有草地和湖泊。如果使用 F2.8 的大光圈,景深相对较浅,可能出现近处清晰、远处模糊的情况,但如果将光圈缩小到 F8,就更容易让画面从近到远都保持清晰,要是再小一点到F12,可能直接画面就过暗了。
同一种场景,不同的参数,带来的视觉效果是不同的。最关键的是,并不能说某个场景下,某种参数一定好,如果想要表达“黑云压城城欲摧”的感觉,更暗的画面反而更有感觉。
光圈、快门和 ISO 之间,还存在相互制约的关系。缩小光圈意味着进光量减少,如果不想让照片变暗,就需要适当放慢快门,或者提高 ISO。而放慢快门可能带来模糊,提高 ISO 又可能增加噪点。
所以,只有更好理解不同场景在不同参数下的效果,才能得心应手地在拍摄中找到体感,这种体感,必须靠多拍,多看,多复盘。
虽然构图、光线和审美同样重要,但对于初学者来说,理解这些参数与最终成像之间的关系,几乎是绕不开的一课。
那张照片为什么不够清晰?是不是快门太慢了?
为什么有一张照片背景虚化得很好,另一张却没有?
为什么两张照片的画质有差异?是不是因为 ISO 设置不同?
这些问题,其实都值得在选片的时候顺手复盘。
相机已经记录了这些参数信息,它们就保存在每一张照片的 EXIF 数据中。
但问题是,普通的照片浏览工具,并没有很好地把照片查看和参数复盘结合起来。想查看详细参数,往往还需要额外打开文件信息,或者在不同的界面之间切换,这就很容易打断选片的过程。
我想要的,是把照片和拍摄参数放在同一个界面里。看到一张照片的同时,就能知道当时用的是什么光圈、快门、ISO 和焦距,结合AI解读,很容易让一个新手,了解如此成像的原因。
这样,每一次选片,其实也就变成了一次摄影复盘。
另一个问题,是选片效率。
尤其在旅行中,遇到一个漂亮的场景,我往往会连续拍摄多张照片;还有拍人像,想要出片,核心要义就是多拍。
连续好几张照片,可能只有一点点区别,构图略有不同、人物姿态略有不同,或者对焦位置不太一样。
这些细微差异,在单独看某一张照片的时候,其实很难判断。
但如果能把几张照片放在一个界面里,同时进行对比,问题就简单多了。
所以,我希望软件能有连续照片的宫格浏览、双图对比,以及快速标记保留和淘汰的能力。
最后,还能把照片自动整理到不同文件夹,选中或淘汰,都自动放到另一个专门的文件夹里,看照片的过程,也就是自然的分类整理过程,减少重复操作。
想清楚以后,我发现自己真正需要的,其实并不是 Lightroom 或 Photoshop 那样功能全面的专业软件。我不需要它进行复杂的修图,也不需要太多与选片无关的功能。
我需要的,只是一款足够简单、足够顺手,能够把摄影复盘和照片筛选结合起来的小工具。
而且,最好完全符合我自己的使用习惯。
02一个下午,我是怎么把它做出来的?
有了这个想法之后,我并没有立刻让 AI 开始写代码。
因为做过产品经理,我很清楚一件事情:需求如果没有被定义清楚,开发得再快,也可能做出一个完全不符合预期的东西。这一点在VibeCoding中更为突出,AI写代码太快了,需求不明确的话,很快就能造出一大坨 shi 山,后面还不好改。
所以,我做的第一件事,是先跟 ChatGPT 讨论产品需求。实际上,我在新疆铁屁股之旅的车上,就已经在做这件事情了,和网页版的ChatGPT经过了多次沟通,定义清楚要解决的两个核心问题,然后开始拆解软件应该具备的功能。
最后,我们确定了一套非常简洁的产品结构,这是我的产品哲学,能够简单就不要复杂。刚开始AI给了我一大堆复杂花哨的功能,但最终我还是把功能收束在核心能力上。这是AI coding中常见的坑,AI会给一大堆看起来很有趣很厉害的功能建议,但是功能越多,产品定位越模糊,架构越臃肿。
能够克制的决策哪些不要,是人类的价值。
整个界面分成三个区域。
- 左边是照片列表,用来浏览、筛选和管理照片。
- 中间是照片预览区域,尽可能大地展示图片,并提供标记、对比等操作。
- 右边则是摄影参数面板,展示当前照片的光圈、快门、ISO、焦距等 EXIF 信息,方便随时复盘;同时我接入了大模型的API,让AI基于参数和画面,提供分析并给出建议,AI很擅长干这类事情。
另外,还有一些辅助功能。比如,连续拍摄的照片可以通过宫格快速比较;需要仔细挑选时,可以切换到双图对比模式;选片完成后,可以自动整理已选和淘汰的照片;插入相机储存卡即可自动识别;开启井字格,简单看看构图。
这些功能其实都不复杂,但组合在一起,刚好就解决了我最初遇到的两个问题。
需求讨论好之后,我让网页版的AI写了一个精炼的产品功能概括,不是传统软件那种PRD,而就是简明扼要的功能点描述。
回到北京后,这个功能清单,交给Codex,正好GPT-6.1 Sol发布,那这活儿就交给它。
实际上,GPT-6.1 Sol是给了我惊喜的,很简洁,很省心,我与他明确了技术架构和设计框架。
技术实现上,我自己并不是专业的软件工程师,但好在过去做产品经理的时候,我有充分的和研发讨论技术方案的经验,所以在我让AI给出几种技术方案的情况之下,我能够判断出哪些适合当下的需求,哪些并不合适,最终收敛成一个可行的、精简的技术架构。
然后,我开始跟它讨论另一件我特别在意的事情:设计。设计其实包含两个方面,交互和UI。
我不希望这是一款看起来很粗糙的个人工具。相反,即使只有我自己使用,我也希望它尽可能漂亮、简洁,有好的交互体验。
我给它定义了一套设计原则。整体采用深色主题,尽可能减少视觉干扰,让照片本身成为整个界面的视觉中心;功能不要堆砌,常用操作应该尽量直接,最好通过少量按钮和快捷键就能完成;左右两侧的面板可以折叠,需要专注看照片时,就把空间还给照片;参数展示也不应该是一大串难以阅读的元数据,而是把最重要的几个摄影参数提取出来,用清晰、直观的方式呈现。
我希望它看起来更像一款经过认真设计的现代桌面软件,而不是一个临时拼凑出来的工具。
这些要求,其实很难完全通过功能清单来描述,它更接近一种设计哲学。
但让我有些意外的是,GPT-6.1 Sol 对这些抽象要求的理解和落实也相当不错。它能够理解我希望界面呈现的视觉层次,以及为什么要做这样的设计取舍。
最终呈现出来的软件,已经相当接近我脑海中的样子。
03从使用软件,到创造软件
当然,这个过程中也少不了实际运行、检查和调整。我需要不断确认功能是否符合预期,界面是否顺手,一些交互细节是否需要修改。但与过去最大的区别是,这些反馈能够很快进入下一轮实现。
我不用再把想法整理成一份正式的需求文档,交给研发排期,然后等待下一次交付。
发现问题,描述问题,调整实现,再次验证。
整个过程非常直接。我所热爱的产品经理岗位,在这一刻获得了真正的、前所未有的释放。
到了下午结束的时候,我已经有了一款真正能够运行的软件。以上截图中所能看到的这个软件,我真正开发的周期,不过3个小时。
照片可以导入、浏览、筛选,拍摄参数可以同步查看,也能够进行照片对比和整理。
从设计美学,到软件完成度,到AI功能的嵌入,都足以称得上一款商业级的软件。
我做过很多年互联网产品经理。过去,一个产品从想法变成现实,通常需要经历需求分析、产品设计、技术评估、开发排期、测试上线等一系列环节。这套流程当然有它的必要性。
因为商业软件需要考虑用户规模、工程质量、系统稳定性、长期维护,以及不同团队之间的协作。
但与此同时,它也意味着相当高的开发成本。
很多需求,即使真实存在,也未必值得开发,比如我这次遇到的摄影复盘问题。
它确实困扰着我,但这个需求有多大市场?到底有多少用户愿意为它付费?能不能支撑一个商业产品?不知道。
如果放在传统的软件开发模式下,可能很难有人专门为这样一个小需求投入资源。
我自己大概也不会。
因为无论是招聘工程师,还是花几周、几个月去学习编程,成本都明显高于这个需求本身能够带来的价值。
最后的结果,大概率就是继续使用现有的软件,忍受那些不那么顺手的操作。
本质上,我们是在适应软件。
但 AI 改变了这件事的成本结构。
当开发一款小软件的成本,从过去可能需要几周甚至几个月的人力投入,降低到一个下午的个人尝试,很多过去不值得做的事情,突然就值得做了。
不是因为需求变得更有价值了,而是因为满足需求的成本变得足够低了。
我觉得,这是 AI 编程真正有意思的地方。
我们可以直接按照自己的想法,创造一款软件。功能不够,就加一个功能;界面不喜欢,就重新设计;交互不顺手,就调整交互;甚至不需要考虑这些需求能不能服务成千上万的用户。
它只需要服务好我自己,就已经有了存在的价值。
国庆去新疆,本来只是想多拍点照片,顺便提高一下摄影技术。
没想到,旅行结束之后,照片还没选,我最先折腾出来的,居然是一款摄影软件。
真是一个创造的好时代啊。
热门跟贴