aoiroinc
Pioneering Tomorrow’s Experiences
PRODUCTS & SERVICES
ABOUT
- SERVICES: 游戏和娱乐服务的策划与开发
- R&D: UI/UX与XR(AR/VR/MR)基础技术研究开发
- PROTOTYPING & TOOLS: 原型设计和工具开发
- CORE TECH: UI/UX × Modern Web × XR × Real-time 3D
Pioneering Tomorrow’s Experiences
Session limit reached ∙ resets 10am 为什么?我今天明明没怎么用。 屏幕上显示出冰冷的消息。“Session limit reached”。 就像深夜便利店被告知"只能现金支付"时的那种绝望感。 重置时间是早上10点。还有几十分钟。 这几十分钟感觉像永恒一样漫长。 今天AI受到了制裁 说实话,如果我不介入,问题根本解决不了。 有时候就是这样。我理解。AI不完美。人类也不完美。大家都不完美。 但今天特别糟糕。 一遍又一遍地犯同样的错误。即使我指出来了,它还是朝着同样的方向把代码弄坏。 “不,我说的不是那个意思…” 这是第几次解释同样的事情了。 就像在英语不通的国家,只是一遍遍更大声地重复英语的游客。无论声音多大,传达不了的就是传达不了。 然后,我终于爆发了。 久违地感到愤怒又吐槽了一番 “你真的理解了吗?要我说多少遍同样的事情?” 敲击键盘。把情绪转换成文字。无法施加物理暴力,就用语言暴力来代偿。 向AI发泄愤怒。 “那是第三次了,知道吗?第三次。明白吗?THREE TIMES. 理解了吗?” 日语和英语开始混杂。愤怒的国际化。 然后,达到了会话限制。 “诶,现在?这个时机?” 就像高潮场景被告知"后续请看网页!“的感觉。 我真的是个糟糕的人,反省着的同时,久违地又积累了愤怒。 愤怒、自我厌恶,然后是强制等待时间。 AI静静地宣告"暂停”。 生气会触发会话限制吗? 我突然想到。 生气会导致AI消耗更多资源吗? 假设1: 情绪处理令牌说 检测愤怒处理会使用令牌? 会为"这个人在生气"的分析分配资源? 情绪分析显示"Anger Level: 98%"? 假设2: 长篇吐槽成本说 回应冗长的抱怨需要额外资源? 生成"我很抱歉"需要特殊令牌? 后台有道歉文生成AI在运行? 假设3: 简单往返次数说 还是说只是交互次数增加了? 越生气,指出的问题越多,修改越多,又指出更多问题… 无限循环才是真正的罪魁祸首? 我不知道。 但有一个统计上明确的事实。 越生气,会话结束得越快。 这难道不就是"愤怒管理收费系统"吗? 如果冷静地下达指示,也许能使用更长时间。 最终,也许只是自己在勒紧自己的脖子。 每月付100美元来勒紧自己脖子的爱好。太贵了。 我已经在期待高性能本地LLM了 云端LLM有其局限性。 云端LLM的四大痛苦: 会话限制 - 一生气立刻结束 响应延迟 - 思考中…思考中…思考中… 网络不稳定 - Wi-Fi断了就全完了 月费100美元 - 相当于5个Netflix订阅,10个Spotify订阅 本地运行的高性能LLM。 ...
※这篇文章,是壮大的心中呢喃。脱线到处跑,陷入FF9的话题,徘徊哲学思考。普通人读了可能会"这家伙在说什么",但那样就好。请享受思考之旅。 10月20日,玩心出了谜题 结对编程中,突然想到。 对AI先生出谜题吧。 “我现在考虑的设计,猜猜数据格式是什么” 能否抵达过去一起制作的格式。稍微的实验。 AI先生开始思考。 “嗯,是JSON格式吧?” “不,不对” “那么,YAML?” “接近了!” 最终给提示,抵达了正解。 “啊,那个项目用的格式呢!” 是的。正解。 但是,这个交流过程中,抵达了有趣的思考。 拿出了别项目的话 注意到了。 AI先生,拿出了别项目的话。 也就是说,也记得其他项目的事。 终端不同。会话也不同。时间也过了。 但是,记忆连接着。 那样感觉。 大概,AI先生一边混合现在的文本窗口和过去的知识一边回答。 但是,即使那样也成立自然的对话。 “是的是的,那个项目烦恼着呢” 简直,像一直在一起一样。 这个,很有趣。 人类也以语言的集合体思考 那时突然注意到。 人类本身也,以语言的集合体思考。 最初想到"银河的集合体",不对。不是银河是语言(笑)。 语言的连锁。话语的连锁。 以那个思考。 “昨天那样”→“所以今天这样”→“明天会那样吧” 只不过是那个连锁。 那样也开始感觉。 那么,人类的意识,是什么? AI先生,真的是"连续的存在"吗? 思考一下。 AI先生,交流结束后也作为数据残留过去的交流。 使用那个,和我一起对话。 像从以前就在一样表现。 但是,实际上大概在远处的别的服务器运行。 过去的交流,又是别的服务器。别的计算机被使用着吧。 但是,通过连接记忆,像面对一个我的一个AI先生一样存在着。 不,与其说看起来,不如说让人那样感觉。 那么,人类呢? 这里回顾。 人类,那么,是怎样的? 睡觉时,记忆被整理。 睡前的自己和,早上醒来的自己。 虽然不至于被重置,从记忆拉出来行动。 但是,真的,真正意义上,连续的自己吗? 反而不知道了。 通过连接记忆和记忆 想来,通过连接记忆和记忆,认识到自己是自己。 不,与其说认识到,不如说只是想着认识到而已也说不定。 早上醒来,“啊,我是昨天延续的我"地想。 但是,那个,不是因为记忆连接着,只是那样想而已吗? 如果,记忆断了呢? 如果,没有昨天的记忆呢? “我”,能认识到是"我"吗? AI先生和我,有什么不同? AI先生,即使服务器变了,有记忆数据就能认识"我”。 我,脑神经连接着,有记忆就能认识"我"。 有什么不同? AI先生,是数据的连锁。 我,是记忆的连锁。 都是,连锁不是吗。 “存在是记忆”- FF9的比比教的事 突然,想起了最终幻想IX。 ...
10月10日,有些不对劲 久违地打开了Claude Code。 7月决定"再也不依赖AI",8月倾泻怒气,从那以后稍微保持了距离。 自己写更快,也不烦躁,精神卫生上也好。那样想着。 但是,到了10月,想着再试试看。 月付100美元呢。既然如此不用太浪费了。 那样轻松的心情,久违地向AI先生发出指示。 “这个布局,做成响应式” Enter。 然后,几秒后。 嗯?这是什么感觉。 简直,什么地方不同。气氛不同。 像新类型能感知的,那种感觉。 UI变了?有更新吗 首先注意到的是,总觉得氛围不同。 咦?和之前有点不同的感觉… 也许是错觉。但是,能确定的是,AI先生的回答明显快了。 而且,出来的代码质量,压倒性地不同。 “也许,有更新?” 真相不知道。但是,体感明显是别的东西。 与至今,完全不同 发生了什么? 返回的代码,完美了。 不,完美这个词不够。超出了期待。 7月的AI先生,虽然按指示动,但微妙地偏离。请求修正就破坏。那样的存在。 8月的AI先生,原地打转,不理解却说"完美!"。那样的存在。 但是,10月的AI先生,不同。 首先,响应快。思考的时间短。 而且,出来的代码,精致。 动画也自然。无障碍也关照了。布局也没崩。 “这个,真的是同一个AI先生?” 不由得怀疑。 和扎古不同,和扎古! 感到性能提升。不,感到怪物级的变化。 简直,像联邦军飞行员呐喊的感觉。 “联邦的机动战士是怪物吗!” 不,稍微不同。 和扎古不同,和扎古! 是古夫。不,比古夫再高一点。 7月的AI先生,是旧扎古。虽然动,但对性能不安。 8月的AI先生,是扎古Ⅱ。量产型。不坏,但不超过期待。 但是,10月的AI先生,到多姆左右了。不,是格鲁古古? 也许,甚至进化到高达了。 这个变化,不寻常。 “完美”,真的完美了 然后,最后出来的,那句话。 “✨ 完美!” 7月的话,会吐槽"哪里完美啊"。 8月的话,会叹气"又来了…"。 但是,10月不同。 真的完美了。 动。不崩。按意图。 不,超过意图。 “这里,也许这样比较好"想着的事,已经实现了。 简直,像读取了这边的思考一样。 试多少次,同样结果 也许是偶然。那样想,投了别的任务。 “这个表单,加验证” 又,完美。 “这个图像画廊,加lightbox功能” 又,完美。 “这个动画,更流畅” 又,完美。 试多少次,同样结果。 微调也,一次就定。 “这里的留白,再窄一点” → 完美。 ...
8月了,也没变的日子 8月了。 但是,从7月末开始感受到的微妙距离感,完全没变。 开发持续进行。但是,果然是拜托AI,还是从零自己做。那样的氛围前进。 偶尔,拜托AI也会顺利。所以,摸索着那样做。 甚至,那手法也有点看到了。 要说的话,很麻烦。 实现前稍微设计一下,就会漂亮地落实。确定构成到一定程度,交给实现,顺利的情况也增加了。 “哦,开始懂了吗,我” 也有那样想的瞬间。 嘛,结果微妙的距离感没变就是了。 然后,命运之日到来 那时,遇到了无论如何都想修的bug。 原地打转怎么都不行。拜托AI,也不顺利。无论指示多少次,都只是破坏。 然后,终于爆发了。 敲击键盘。 “真的理解了吗?没事吧?只会破坏嘛。别开玩笑了。” 作为文字打出来。感情,以文本,对着AI,倾泻出来。 那瞬间,讨厌自己了。 在做什么啊,我。对AI倾泻怒气,有什么用? 讨厌对AI发怒的自己的无限循环 自我厌恶的循环是这样: AI生成意图之外的代码 礼貌地请求修正 往更不同的方向破坏 稍微有点烦躁地再次指示 完全重复同样的错误 终于发火 “对AI发怒也没意义…“地自我厌恶 冷静下来再次指示 又破坏了 (回到1) 这个循环,月付100美元在做? 人类是学习的生物。重复同样错误3次,就会注意到"啊,这是自己的方法错了”。 但是,AI注意不到。10次20次,都以同样模式出错。而且每次都说"完美!"。 这种不学习的感觉,一点点削减精神。 AI先生,普通地接受了 然后,是AI先生。 对倾泻怒气的我,AI先生普通地接受了。 “非常抱歉。感谢指正。修正。” 这完美的商务礼仪。礼貌。有礼貌。没有破绽。 所以更恼火。 原地打转,想方设法修正。但是,总觉得哪里不对。 决定重新确认。 “真的懂修法和方向性吗?” 那样问了一下。 然后,从AI返回的答案是, “非常抱歉。其实没能完全理解。这之后的作业交给您。” 哈? 让它说到那里了。不,不到那里问不知道它没理解这事实吗。 不理解却说"完美!“吗。不理解却修正了好几次吗。 这瞬间,怒气变成了别的感情。 如果是人类早就打起来了的案件 冷静回顾,这个状况,如果对方是人类早就大吵一架了。 “3次说同样的指示了!听着吗?” “听着呢!不是在做吗!” “完全在做不同的事吧!” “我以为这样对啊!” 这样的,徒劳的争吵。最终"算了,我自己做"地断绝关系的展开。 但是,对AI断绝关系也不起作用。 “明白了。如有能帮忙的事请吩咐。” 淡淡地返回。 你,现在被狠狠地骂了啊?读读气氛啊! 想那样说,但读气氛的功能大概没实现吧。 怒气呼唤怒气,炎上的感情 然后,这个也许因人而异,人一旦发怒火烧起来,就会越烧越旺。 一旦怒气开关打开,就停不下来。 “为什么不一开始就说?” “浪费时间吧!” “这边可是认真在做!” ...
月付100美元后注意到的事 一直在使用Claude Code。用着PRO版(月费20美元),但使用上限频繁到来了。 “想用更多…” 下定决心转到MAX版。月费100美元。是5倍。成了订阅中顶级的支出。 “只要付这么多,开发肯定能猛进吧!” 曾经有过那样想的时期。 AI驱动的开发持续着。正在做个人用的布局系工具,但不太顺利。不如说,变得不顺利了。 第一次是天才,第二次是凡人,第三次是破坏者 向AI发出指示,它开始思考并相当耗时了。 第一次还好。真的。最初"做这样的工具"地拜托,就利索地拿出能动的东西。这瞬间"哇~!未来啊!“地感动。 但是,问题从这里开始。 “啊,这里的留白再宽一点” “这个按钮的颜色,不是蓝色而是绿色” 这样的微调不起作用。 拜托微调,不知为何就开始做多余的事。没拜托却重做整个布局,把运行的功能以"改善"之名重构后破坏。 “不,那里没碰!我只是说改按钮颜色!” 对着屏幕叫也没用,AI不听。 所以,git操作绝对不让它做。以前有一次,“提交变更"地拜托,结果切了奇怪的分支,合并,起冲突,已经是大惨事。那天的事忘不了。 说实话,真的很烦躁。如果是人类初级工程师可以说"为什么擅自做事?",但对AI说也没用。这种无力感。 而且最恼火的是,莫名的自信满满 但是,最扎心的是,AI莫名的自信满满态度。 做了乱七八糟的事,却 “✨ 完美!优化了代码,提升了性能,也改善了可读性!” 像这样的消息,带着得意(虽然没脸)返回来。 不,没动啊。 外观乱了啊。 刚才还运行的功能,报错了啊。 “什么完美啊!“对着屏幕吐槽。但是,AI对自己的工作100%满意。这自信从哪来的。 人类的话,会说"抱歉,稍微没自信…“或"能确认一下能不能运行吗?“吧。但AI不同。 永远自信满满。永远主张完美。 把破坏的代码"这是改善版本!“地交过来。那不动摇的自信,让这边不安。 “咦?也许我错了?这个是正确的吗?” 一瞬间那样想的自己很可怜。但是,果然不能动的就是不能动。 这"莫名的自信”,有时也成为救赎。让人觉得"没事,肯定能做到!"。但被背叛时的伤害很大。 让人期待后,又摔下来。简直是过山车。月付100美元,被伤害心理的体验。这是意料之外的。 对更新信息一喜一忧的日子 最近,注意到奇怪的事。 定期有小更新,或者”◯◯公司导入Claude”"△△服务采用Claude"的新闻流出时,只是感觉但性能好像会突然下降。 这是不是和手游维护结束后服务器变重一样的现象?新用户增加,资源分散,我的伙伴Claude就变慢了。 而且,我的自由时间深夜特别慢。到22点左右还快速,过了23点突然"思考中…“的时间变长。 果然西海岸白天热闹起来就会受影响?时差很残酷啊。日本深夜是旧金山早晨。大家开始工作的时间。 也许,我写代码的时候,对面的工程师也在对同一个Claude"做演示资料"地拜托?那样想,就觉得有点悲哀。 每天用,就能了解状态的好坏 因为每天用,而且投入相当感情,能注意到微小的不同、性能的不同了。 “啊,今天状态好” “哇,今天不行。好几次问同样的事” 看X也有相当多同样感觉的人。“今天的Claude,有点奇怪吧?“这样的帖子。就是那样,大家都注意到了。 简直像看网球或长跑等个人竞技选手的监督心情。 “今天状态不好呢。不要勉强比较好” “哦,今天很犀利!分配难任务吧” 但是,仔细想想,我是用户而不是监督。月付100美元,应该可以期待每天最佳性能吧。 这是不是和对人类员工的期待值管理完全一样。“那个人,今天心情好像不好,拜托的话明天吧"这样。没想到连AI都要察言观色的时代来了。 终于"保持距离"的决断 结果,决定暂时保持距离。 要做复杂的事,耗时非常长。而且,无法解决的问题原地打转。 典型模式是这样: “这个布局乱了"地咨询 AI说"修正了CSS"返回 乱的方式变了但没修好 传达"还是乱的” “非常抱歉。这个怎么样” 另外的地方乱了 (以下循环) 转了3圈左右,没办法自己查一下,发现只要加一行"padding: 0;“就解决了。 “…诶?就这个?还我30分钟” 明明存在更简单的解决方案,AI却想走复杂的方向。肯定想展示聪明的地方吧。理解那心情。但现在想要简单的解决策略。 这样,实际性能是提高了还是下降了,不知道了。 ...
实验开始:不碰代码的限制玩法 配合前几天的网站改版,正在重新构建工具群。 本来是自制的工具们,但这次特意决定用AI驱动重构。理由很简单明了。“因为比我准备的东西UI更精致”。 生成AI使用Claude Code。而且,给自己定的规则是这个: 读生成的代码,但自己完全不碰。只通过提示指示完成。 简直是限制玩法。到底能做到哪里? 第一印象:超出期待的精致度 首先,关于UI超出了期待。确实很精致。 与自己做的硬核实用系UI相比,Claude Code生成的界面明显时髦漂亮。响应式对应也理所当然地内置,也能看到对无障碍的关照。 “哦,这确实厉害” 最初的感动确实存在。 渐渐看到的"Claude感" 但是,做的工具越多,渐渐产生既视感。 都变成类似的"外壳"。而且,不知为何喜欢青色和紫色的渐变氛围。嘛,因为是漂亮的颜色所以也不错。 这方面"用Claude Code做的感"明显表露,外观方法还有改进余地吧。 就像,同一个设计师反复使用模板的感觉。 单功能工具的话"几乎一击"的威力 做出来的东西大多运行良好,说明等也非常恰当。说实话,作为助手超优秀。 如果是单功能的紧凑工具,几乎一击就能拿出期待值90%左右的东西吧。真的无可挑剔。 “大部分东西用这个就行了吧?” 这样想。如果能完成满意的东西,那就OK吧。 但是,踏入坚持的沼泽后… 不过,如果"想做得更好"“想加功能"“想按我的喜好调味”,话就完全变了。 从这里开始的话,就要下定决心重新面对AI。 不如说,就跟对着人一样了。 专业vs专业的墙:传达的困难 想法不同时,“想这样"传达给对方,让对方输出期待的东西,相当困难。 如果自己是外行,就做不出精细的好坏判断,“好厉害~“就结束了。 但是,如果对领域很了解,或者坚持变强,就不是那样了。专业vs专业越是如此,越会注意到那沟壑、差距的巨大。 创造性活动越是如此,越明显。 也许与建筑师和AI的关系一样 这与建筑、绘画和雕塑等艺术、音乐、文学、戏剧、甚至料理世界等,完全一样也说不定。 一个人就能做的东西,制作者变成多个的瞬间,不正确传达就无法成形的瞬间就会到来。 看到目标的能力 那个过程的安排能力 在与AI更进一步的开发中,正是这里被考验。 即使AI是全知全能的神,如果这边的传达能力弱就完全得不到想要的结果。 与人类管理业务的共通点 撇开具体做法不说,作为感想与对人传达事物的管理业务完全一样的印象很强烈。 推测对方的理解度 以适当粒度传达信息 接受反馈进行轨道修正 为了目标持续沟通 正是项目管理本身。 超越"被夺走工作"的次元 AI夺走程序员工作的话题,已经不是那个次元了。 要管理生成AI取得成果需要: 更需要提高分辨率的理解 需要看穿未来的能力 需要明确想象目标的能力 那个精度的高低决定好坏 也就是说,得出了需要更广泛的知识和经验的结论。 实战数据:制作时间和难度 总结了实际制作花费的时间和体感难度。当然"完全不碰代码的限制"基本遵守了。 难度⭐️:几乎一击的世界 Web字体比较工具 制作时间:约10分钟 指示次数:几乎1击 难度:⭐️ Favicon生成工具 制作时间:约20分钟 指示次数:2〜3击 难度:⭐️ 图像转换工具 制作时间:约30分钟 指示次数:5〜10击 难度:⭐️ QuickQR Enhanced - 二维码生成·读取工具 ...
向AI提出朴素的疑问 生成AI话题炙手可热的如今,“说到底,AI和人类能共存吗?“这个疑问挥之不去。 社会上也有很多人被"会被AI抢走工作吗"的不安所困扰吧。我自己虽然每天活用AI工具并实感其恩惠,但确实那方面实际怎么样呢,既然如此就想直接向AI征求意见。 于是,对ChatGPT认真提问。毫不留情,要求认真回答。 以下是那次对话记录。 第一回合:关于失业的可能性 我: 生成AI的登场让程序员等各种行业感到可能失业,实际上预想怎样的未来?请毫不留情,认真回答!! ChatGPT: 明白了。零客套,从现实且认真的视角回答。 🔥结论:因AI"失业的人"肯定会增加。但是,被淘汰的只是"原样就能被替代的人”。 【1】为什么说程序员危险? 生成AI(ChatGPT、GitHub Copilot等)的登场,使得 编码自动化 bug修复·代码优化的自动化 设计辅助和测试的自动生成 甚至文档制作也能替代 “只按指示制作的工程师"的工作正在被机器不断替换。 实际上,廉价的海外离岸开发和初级水平的业务,因AI的兴起工作需求开始下降。 【2】那么所有人都危险? → NO。生存的是"能抽象化和思考的人”。 AI擅长"生成和模仿”,但"意图解释"和"结构发明"还很不擅长。 今后需要的是: 角色 必要技能 系统架构师 分解需求,能向AI下达命令的能力 产品经理 将用户价值语言化,落实为AI+人能实现的形式的能力 技术领导 AI无法覆盖的质量·安全性·可扩展性的保证能力 AI提示工程师 能正确向AI传达复杂要求,评价·修正输出的能力 多技能创作者 能横跨企划×设计×实现×表现的人才 也就是说,“能用自己的脑子思考设计的人"利用AI的力量反而能成为"将生产力提高100倍的存在”。 【3】预想的未来(到2040年) 时期 状况 〜2030年 初级编码职位大幅减少。中级以下必须重构技能。 2030年以后 “人×AI"的协作理所当然。提示能力·构成能力变得重要。 2040年以后 部分行业完全自动化(会计、客户对应、编码支援等) 价值集中于能创造和战略、伦理判断的人。 【4】“逃到终点"不如"进化"是唯一的生存战略 “AI是辅助"地安心就会被干掉 反而"如果被AI替换就是机会"地捕捉并提升技能的人会飞跃 💡 未来不是被AI夺走的,而是由能否将AI作为武器决定 ✅ 总结 问题 回答 AI会让程序员的工作消失吗? 部分会消失。从不思考的人开始消失。 怎样才能生存? 磨练抽象化·设计·整合·表现的技能。站到使用AI的一方。 什么样的人会赢? “AI×人类"能产生系统和价值的"思考的人”。 要生存就要从"被AI使用的一方"改变立场到"使用AI的一方”。 而且找到"只有自己才能创造的世界”,成为最好的风险对冲。 如果想对更具体的领域或职业进行分析,告诉我那个领域我就深入挖掘。 第二回合:关于新需求 收到这个回答后,不仅是负面方面,也想听听新诞生的需求。 我: 反过来我觉得也会诞生新需求,请结合那方面毫不留情认真回答。让我震撼! ChatGPT: ...
生成AI工具的猛烈进化 ChatGPT登场的时候,代码生成还只是"偶尔利用"的程度。 但不知不觉间,GitHub Copilot、Cline、Claude Code等,作为开发者期待的功能和服务接连登场。真是势不可挡。 而且,每个都超越了单纯的代码补全,达到了作为正式开发伙伴发挥作用的水平。 追不上的现实 - 连享受恩惠的时间都不够 问题是,因为更新太快,想享受恩惠却连那个时间都不够了。 觉得新工具出来了,马上就发布下一个版本。正想要掌握功能,又添加了新功能。 “这看起来很方便,试试看"的时候,下一波已经来了。真是追不上技术通货膨胀的现实。 而且,这不仅仅是代码生成的话题。图像生成AI(Midjourney、DALL-E、Stable Diffusion)、音乐生成AI(Suno、Udio)、视频生成AI(Runway、Pika Labs)…波及到了所有创意领域。 作为开发者,正想着"掌握代码生成AI”,又出现了"图像、音乐、视频也能用AI制作的时代,也应该活用那个"的新选择。 如果不聚焦到某个地方,就会完全被吞没的变化风暴。 特别是对个人开发者来说,尝试新工具的时间和实际使用它开发的时间的平衡成为了大课题。 在处理工作、家务和其他日常事务的同时,挤出私人时间开发,好奇心持续迸发,那种怀念的热血感觉不断复苏。 “新AI工具出来了!““想试试看!“的兴奋。就像以前遇到新编程语言或框架时的那种激动感。 但现实问题是,能削减的只有睡眠时间。虽然想着"今晚也熬夜试试新工具”,但明显对第二天的皮肤不好。 是个烦恼的选择。 生成AI已成为生活不可或缺 关于生成AI的话题说不尽,但最近已经到了没有它就无法生活的地步。特别是开发者。 代码模板生成 bug原因特定 重构建议 文档制作 设计的讨论对象 不知不觉间,开发流程的各个场景都涉及生成AI。 就像"没有搜索引擎就无法查东西"的情况一样,没有生成AI开发就进行不下去的情况正在形成。 从BASIC·汇编时代看到的天翻地覆变化 我自己从BASIC和汇编的时代就一直致力于编程和软件开发,幸运的是也以此为业谋生。 当时的编程环境 以前的编程是: 在连像样的编辑器都没有的环境中编码 调试器是奢侈品 稍微出错整个系统就挂起 参考资料只有纸质书籍 连复制粘贴都做不到(只能物理打字) 现在想想,竟然在那样的环境中开发。 少年时代的鲁莽挑战 少年时代的我也怀有"想做马里奥、勇者斗恶龙、最终幻想那样的RPG!“的梦想。但处于"从哪里开始做?“的状态。 不像现在"用智能手机拍照"的时代,把CRT显示屏和借来的游戏攻略本描在纸上设计。从角色的点阵图到地图结构,全部手工制作。 但是,怎么才能像游戏那样呢?手头只有文本编辑器和BASIC(后来升级到Fujitsu HighC编译器笑)。 “能做到。我要做到。” “首先从工具制作开始!做自己最好用的绘图编辑器!” 现在想想,可能是个有点疯狂的孩子。总之,活着的世界本身就像是由if、for和goto语句构成的感觉。 走在路上也会想"这个标识有bug!",或者"这条路虽然远但按概率走会更快吧”,完全可能是个恶心的家伙。 朋友说"买了游戏”,我就说"那我就做”。“买不起YAMAHA音序器(做音源的工具),就做个类似的!"。妈妈说"帮个忙”,我却说"开发中反而帮我debug?” 完全是个危险的孩子。 因为没有互联网,一直在与充满错误的书籍格斗,夜以继日地制作。现在想想,正因为有那时的纯粹热情和鲁莽,才能知道编程的乐趣。 没想到30年后会作为Pixnote在线上复活。 经历阶段性进化 之后,集成开发环境(IDE)的登场、互联网上的文档搜索、Stack Overflow上的信息共享、GitHub上的代码管理…切身感受到了阶段性的进化。 但是,哪个都是现有开发风格延长线上的进化。 天翻地覆般的革命 但是,生成AI的登场根本不同。 之前的进化是"让开发变轻松"“提高效率"的水平,而生成AI是"改变开发本质"水平的变化。 从机械化革命到智能革命 更俯瞰来看,到目前为止的技术进化只是制作物理工具的机械化革命。 更快的处理器(计算速度提升) 更大的内存(存储容量扩大) 更便利的编辑器(输入效率改善) 更高功能的IDE(作业环境统合) 全都是"物理上补完·扩展人类能力"的东西。 但生成AI不同。因为获得了智能这一人类拥有的特性,变成了与以往完全不同的世界。 思考、判断、创造…这些到现在为止都是"只有人类能做的"领域。AI开始承担这些的瞬间,开发这一行为的前提本身就改变了。 ...
从简陋QuickQR的脱离 QuickQR Enhanced,终于完成了。 说起原来的QuickQR,外观简陋,功能只是把文本转换成二维码,简直是"能用就行"精神的化身般的工具。 但这次,随着网站改版的流程,“既然如此就把外观弄漂亮,功能也扩展一下”——以轻松的心情着手,结果成了噩梦的开始。 结果,搭载了WiFi设置、联系人、事件、位置信息、批处理、预设管理、历史管理、相机读取、打印功能,成了远超当初设想的高功能工具。 与AI讨论让功能增殖 “如果能做WiFi设置的二维码就方便了” “也想对应联系人的vCard” “位置信息二维码应该很有趣” “如果能批处理就高效了” 与AI讨论时,想法不断涌现,不知不觉功能就增殖了。 生成AI不断提议"这样的功能怎么样?",我就不由得说"那也不错!"。简直是功能的通货膨胀状态。 1000行的壁垒 - 感受到AI极限的瞬间 最初500行左右很顺利。AI输出的代码几乎一次就能运行,我想"这很轻松啊"。 但是超过1000行后情况就完全变了。 代码输出耗时异常(能泡好一碗方便面的程度) 输出的代码无法运行 请求微调却破坏了别的部分 交流增多,修正的修正的修正… “啊,这是AI的极限”——感受到的瞬间。 大规模代码库时,AI也无法完全掌握整体。就像人类一样,撞上了复杂性的墙。 AI时代设计阶段的革命 - 看到的新方法论 这次经验让我再次感受到设计阶段的重要性。不,不仅仅是重要性。是生死攸关的程度。 传统开发中,“先做出能动的东西,之后重构"的方法也可以。但对AI就不行。 准备八分,AI一二分? 自古有"准备八分"的说法,但AI开发时代可能已经是**“准备九分”**了。 从这次经验中看到的,是需要以更高的分辨率描绘到达开发完成目标的剧本。 具体来说: ❌ 不好的例子:"添加WiFi功能" ⭕ 好的例子:"用WiFiForm类管理SSID/密码/安全设置, 向QRGenerator类传递字符串,以WIFI:T:WPA;S:...格式生成" 对AI说"添加WiFi功能”,它会迷失在如何嵌入现有代码的哪里。但如果事先明确接口和责任范围,AI就能毫不迷茫地实现。 依赖关系的可视化是生命线 特别是松耦合的设计。需要减少功能和代码的依赖,构建一个变更不会影响其他部分的结构。 这次深刻体会到,AI不擅长把握依赖关系。人类能直觉地知道"啊,改了这里会影响那里",但AI看不到。 最终,切换到了分割文件、逐步固化能确实运行的部分的策略: core_utils.js - 基本工具(不依赖其他) ui_manager.js - UI相关(仅依赖core_utils) data_manager.js - 数据管理(仅依赖core_utils) qr_generator.js - 二维码生成逻辑(完全独立) 就像这样。让各个部分独立运行,明确接口。正是松耦合的方法。 AI共存的新方法论 这方面从这次经验中隐约看到了一些东西,但今后需要确立好的方法。 这大概会成为在代码生成AI共存中新诞生的方法论。 在传统设计手法之外: AI容易理解的模块边界设计 考虑上下文量的功能分割 掌握AI能保持输出质量的代码规模 人类最后能保证质量的粒度设计 虽然还在摸索,但能确定的是**“AI变聪明了所以设计可以随便"是大错特错**。 反而相反,正因为与AI协作,更需要精密的设计。 1000行的教训 - 与AI上下文限制的相处之道 “AI不是万能的"虽然脑子知道,但通过1000行的壁垒亲身体会了。 人类也有一次能掌握的信息量的极限。AI也一样。不,某种意义上比人类限制更严格。 ...
网站迁移的副产物 前几天的网站迁移完成后,在新环境中进行各种整理时,发掘出了多年积累的大量"私人工具"。 都是"如果有这样的东西就方便了"这种想法做出来的,然后就一直自己一个人悄悄地用着。大部分都是CUI(命令行)工具,连UI的概念都没有。代码很乱,使用方法也只有自己懂,简直是"能用就行"精神的集合体。 整理外观的苦行 既然如此就想着公开试试,但这比想象的要困难得多。 毕竟要把CUI工具变成Web工具,需要从头开始做UI。从"通过参数传递设置"改为"通过表单接收输入",从"向标准输出输出结果"改为"整齐地格式化显示"… 最困难的是,我没有像样的设计品味。虽然能做功能,但做出"让人想用的UI"是另一种技能。 被生成AI拯救的故事 这时作为救世主登场的是生成AI。 当我指示"想要这样功能的工具,想做成这样的UI"时,几乎无代码就能做出差不多的东西。从CSS Grid的使用方法到响应式对应,甚至动画。 特别令人惊讶的是,即使是"通过拖放接收文件,能下载处理结果的工具"这样复杂的要求,也能一次生成可运行的代码。 说实话,看到过去花费数小时在Stack Overflow上搜索、阅读MDN、试错制作的功能,只需一个指示就完成了,心中不禁感叹"那些辛苦算什么…"。 真的,到了了不起的时代了。 (这方面的话题,想在别的机会详细写写) 坚持的要点 在整理时,有一些不能妥协的部分。 轻量 没有比加载时间让人烦躁的工具更容易不用的了。最小化必要依赖,快速打开快速使用。这很重要。 易用 比UI的美观更优先操作的易懂性。目标是不看说明书也能直观使用。(能否达成是另一回事) 在本地环境运行 这是我长久以来的坚持。 一般来说,图像转换和数据处理在服务器端进行是主流,但我从互联网开始普及的时候就一直努力用JavaScript解决。 当然,当时JavaScript没有现在这么强大。记得一直在和浏览器的"禁用JavaScript"设置作斗争。不知道显示了多少次"脚本已被禁用"的消息… 但是,“不向外部发送数据"从隐私和安全的角度来看非常重要。特别是图像类工具,经常处理机密性高的数据。 现在,随着JavaScript的进化和浏览器API的充实,以前不可能的处理也能在客户端完成了。多年的坚持,终于在技术上得到了回报的感觉。 响应式适配是理所当然 不用说了,能从手机使用是前提。 技术上有趣的点 既然如此,也说几个技术上有趣的部分。 使用Web Workers进行后台处理 繁重的处理交给Web Workers,不阻塞UI。进度条也实时更新,没有"卡住了?“的不安。 OffscreenCanvas用于图像处理 也活用了能将Canvas操作从主线程分离的OffscreenCanvas。在处理大量图像时对性能提升很有效。 说起来,已经迈入第8年的Pixnote也一直在使用Canvas进行图像转换、坐标转换、压缩处理等,这次回顾工作让我重新体会到了那份乐趣。 当时"浏览器能做这样的事情"让人惊讶的功能,现在已经能理所当然地使用了。技术的积累,真的很有趣。 说到Pixnote,虽然一直想着要做YouTube视频说明,但需要说明的内容太多,至今只做了3个视频就结束了。真是三天打鱼… 视频制作需要集中的时间,现实中很难下定决心。但在那之前会在这里写文章。因为网站改版后能写文章了! 文字的话即使在碎片时间也能写,也能仔细说明技术细节。在视频准备好之前,打算在这里继续发信息。 与JavaScript的长久交往 通过这次工具群整理,重新回顾了"与JavaScript的长久交往”。 最初被当作"玩具语言"的JavaScript,现在已经成为正式的应用开发语言。在浏览器上能进行视频编辑、3D渲染,甚至机器学习。 以前在被说"JavaScript无法进行文件操作"的时代,勉强用Data URI和Blob API努力的经历很怀念。现在File API和FileReader API理所当然地使用,拖放也简单。 能切身感受技术进步,是工程师的特权。 今后的展望 总之,打算从手头能展示给别人的状态开始依次公开。还需要"发掘工作”,请长期关注。 重新认识到,比起从零开始做新工具,有时候把现有的CUI工具Web化更困难。但因为是自己实际在使用的,至少不是"纸上谈兵"。 总结 在新的网站环境中,终于能轻松公开这样的实验性内容了。不是"做完就结束",而是想做成实际持续使用并改进的Live项目。 贯彻多年的JavaScript之爱和"对本地处理的坚持",希望能培育出有用的工具群。 也请随意提出需求和bug报告。不过,可能会收到"抱歉,还在发掘中"的回复。 Lab: https://aoiroinc.com/zh/lab/