引言
于前帖余撰新器,论及用人工智能,书此。include-tidy(整洁)之用者Libclang(Libclang), 一庠序吾未尝涉猎者。
何助焉数也 正使人工智能(严言之,乃大语言模型),特指 Google 之 Gemini(盖因吾吝啬,不欲为 Claude 购费,尤非为吾所无营利之私业)。虽吾或撰续篇博文以述吾之经历,然简言之,人工智能使我免于读繁文牍,览教程,发问于邮列或 Stack Overflow,及候答(若其有之)。
此乃前所言之续作博文也。尔若久涉人工智能,则下文所述,恐不足为奇。未用人工智能于Tidy之前,吾仅以之应微末之务,或询偏僻之问。用之Tidy,实为吾首度“大用”人工智能之时。
若尔初遇吾之博客或吾,或疑“此何人耶?吾何故当重其言?”吾于机事,已涉四十年余,既为之好,亦为职业也。. 世有码匠,尤以老辈为甚,多疑于智械——常呼之为“强化的自动更正”。虽此言有几分技理之实,然犹为可惊。
提示之术
吾以为“提示工程”之名及其相称之“提示工程师”之衔,甚为虚浮(后者近乎“清洁工程师”),尔须详尽而明確——犹若尔若于Stack Overflow呈问也。
异于Stack Overflow,问旧题者不遭责,不阅FAQ者亦无罪;人亦不询尔何故欲为此;不闻轻慢之辞,亦无鄙薄之语;尔亦不不可。得解;不数秒,解自至。
虽此言甚美,然所答或谬。数度间,Gemini尝言当用无此API函数,后我指之,方自纠其误。
复次,汝所获之答,亦常仅基于尔确凿疑问。若思用人工智能,当如用猿猴之爪,恐汝得应答,名实相副,然有不期之果。
举一例,吾初以示Gemini,欲成Tidy之命也。
撰一程式,以 clang 之 API,既得 C 或 C++ 之源文件,则列其上诸符(宏、常、函数、类型、变量等),并示其声于何文件、何行,或标“未知”若不可定之。
且显数屏之 C 代码,示 Libclang 之何文件所出。#include者,何功能以初始化及清理Libclang乎?又,如何解析源文件,遍历其抽象语法树乎?诚然,吾本可研读Libclang之教程,然Gemini之应,适吾所求。
固知其生成之程,远未周全。未措命令行之选,未理配置之文,未察谬误,未施色显,亦未遍析C、C++源码之偏微。此等事,当于来日数周内渐备。然吾已得善始矣.
寻常之事
用AI之便,尚有一善:可令其为吾辈行寻常之码,汝或可为之,然不欲为所扰,盖代码枯燥也。譬如,Tidy需预检命令行参数,察其前置者。-Xtidy欲分之为二数组:一为Tidy特有者,一为应原貌传于Libclang者。此乃吾所设之题也。
既予
argc且argv乃mainC程序中,选项有二:其一为(1)-Xtidy或可之选,此即或可之选也。-Xtidy前有之;二曰仅为一选项。"选项"者,短选项也,或长选项也。吾欲操弄之
argc且argv如此则凡前置之选项皆-Xtidy分而别之tiny_argv数组与tiny_argc去矣argv剥尽其所有-Xtidy且次选之。
且之方才已正之数秒之内,皆无需我调试所难免之一位之误,若我自撰此码。
体悟
若为资深码匠,观其生成之码,可速辨其是否合宜。故于资深码匠而言,AI实为良助;若为初涉编程者(抑或非码匠也),则吾料汝必受猿爪之困.
寻觅谬误
复有一事可为之,既毕某项.c之后,.cpp之文件,乃上传之,而问曰:“汝能于此代码中察得谬误否?”且其能。然则汝岂能知其察得悉谬误否?故仍当为之立单元及其他之试。
其固能报虚警,如吾所遇者。c_chan 之项目也。以为吾用某互斥锁之术非是。诚然,此用互斥锁之法颇异,或亦能惑人。然亦确察数实谬,如结构成员未初值,并觉 tv_nsec 之属 timespec 结构之 须宜在0至999999999之间,故需添码以验溢出。
人工智能未为之事
若夫众码之基,其大者非必直参乎码基之要旨。 tidy之例是也。
- 唯十八分涉乎扫描之事
#include指令与映射符号,以包含文件。 - 26% 乃“器用”之码也(小函数,使余事易成)。
- 25% 专为解析配置之文(句法析 TOML,义理解之,察谬误,示误文于行款)。
- 15% 为泛型之数据结构(动数组,红黑树)。
- 9% 为命令行解析。
- 8% 为试验。
吾以人工智能之术助之与(非)书之) 以Libclang编代码,非为工具代码亦非配置文件,唯于命令行稍用(以分参数),非为测试。
启示
吾此博客之志,唯欲述吾于AI之于软件开发之印象尔。吾吾料众议必询吾于软件开发之全局所思,故今且明言。
虽AI之喧嚣必将继续,然如吾言,其助吾甚矣。数也 配 Tidy。此乃软件开发之变局。由经验程序员操之,则如加薪之助。吾今非复初学,故不能直论初学者用 AI 之状。此亦加薪之助,然初学者(或非)程序员见之,不能辨其谬误或缺安全之码。必多数据泄露与诉讼之事。
汝必闻之(或不幸亲历之),科技诸公司纷纷裁撤。吾尝言,然,裁撤者众,然吾以为,人工智能实为替罪羊,使CEO不显无能,使公司不显困顿。裁撤之由,与往昔无异:
- 公司愚行,滥招之甚。
- 新产或新务未成.
- 公司财困.
此皆使CEO显无能。反若诿咎于AI,则CEO可显睿智,既采前沿科技,复节开支——此二者皆得华尔街之赏.
至于裁人,尚有由焉。无能之CEO:
- 或竟信诸喧嚣,以为之能以人工智能代开发者。
思此境焉。尔为科技之司首长,售旗舰软件,有众客户。司有百匠。月均增一新术,补十谬。尔欲增术补谬,然不能增匠。今智械至,有二途:
- 月增一新,修十弊,而减人减费。
- 每月增二乃至三新功能,且补三十之弊,而使开发者之数如一,以人工智能为助推。
何正常之CEO,择一而思曰:“吾等安于今之进退,客亦然”?择二则客愈悦,且或能更引新客。诚然,已有之研证此说。
故若君受裁撤之苦,或可稍得慰藉(schadenfreude)。 或许CEO无能之虞。
结论
人工智能之存,十有八九矣。实乃开发者之助。诚然,将有动荡、并购,兼数家破产,盖因至少于今,经营人工智能乃大出血。使人工智能获利事则异矣。如Google之辈,有他源之财(广告),可永续资AI;Anthropic则不然。方才始获微利初见如此。然其能否成事,未可知也。续之谋利之事。后数载可见分晓。












