AI开发流程复盘
最近我用一套自己常用的开发套路,从零交付了一个个人项目 Evolution OS(人生进化系统)。整个过程跑下来比较顺。这套流程我觉得可以作为后续做个人新项目的标准套路,这里做个记录。
共 66 篇文章。
最近我用一套自己常用的开发套路,从零交付了一个个人项目 Evolution OS(人生进化系统)。整个过程跑下来比较顺。这套流程我觉得可以作为后续做个人新项目的标准套路,这里做个记录。
这次本来只是想解决一个很小的问题:给托福听力弱词生成一批质量还可以的音频材料。
不夸张地说,OpenClaw 这波热,不是因为它“又是一个更强的聊天机器人”,而是因为它第一次让很多人真切感受到:AI 开始从“回答问题”变成“替你操作世界”。官方把它定义为“运行在你自己设备上的个人 AI 助手”,可以接入你已经在用的沟通渠道;而媒体和官方评论对它的描述也高度一致:它不只是能说,还
Agent 框架选型不能只看谁最火。真正要先问的是:流程有没有分支和重试,任务会不会跑很久,状态要不要恢复,工具和人类审批是不是链路的一部分。
我现在更确定的一点是:AI 写得快,不等于系统交付得快。工程师的价值不会只剩“亲手敲代码”,但也不会自动消失,它会更多落在问题定义、执行环境、反馈回路和结果验证上。
这个想法部分正确。但随着时间的推移,我越来越意识到,真正成功的工程师不一定是最优秀的程序员,而是懂得驾驭代码之外一切的人。
ChatCut 值得关注的地方,不是“AI 自动剪视频”这个口号,而是它把视频素材先变成可检索、可推理的语义索引。剪辑的核心动作也就从拖时间轴,变成了找素材、组织叙事和生成可编辑的片段序列。
回溯过往,我们将所有用例(Case)的逻辑都堆砌在 iFinD 的 spec 主题下。例如,单份文件可能包含 5000 多行代码,其中充斥着大量的 if-else 判断。这些逻辑的本质,实际上就是针对不同 Case 进行差异化的主题配置。
第一部分是关于组件能力。我们提供了许多可视化组件,主要落地在公司to B和to C的业务中。业务方通常在我们的平台上进行一站式的可视化配置,完成后以代码形式将这些组件应用到他们的项目中。此外,我们对这些组件进行了上层封装,提供不同主题以适配各业务线,比如海外业务线、首长的业务线、资讯业务线等;同时也
Haskell 是一种纯函数式 (purely functional) 编程语言。
本文档旨在分析当前后端项目的结构问题,并基于领域驱动设计(DDD)思想,提出三种可行的重构方案,以提高项目的模块化、内聚性和长期可维护性。
单向数据流(Unidirectional Data Flow, UDF)是一种软件设计模式,其核心思想是数据在应用内的流动是沿着一个单一、可预测的方向进行的。该模式的精确定义是"将单向的变更(one-way mutations)应用于一个不可变的数据状态(immutable data state)"
可以提供一个default theme,即跨业务线通用的那部分主题。
一般是把2、3、4提出来做个链接,其目的是为了解决查询、管理问题,提高可维护性,可以理解为是一个微型数据库,算是个cache。
常规的前端开发,大家借助 Vue/React 等框架,可以极大的提升开发效率和质量,这些框架本身就融入了前端的架构设计在里面,也就是定义了一套程序设计的原则和约束,因此才能保证非功能需求的质量。
这篇是一次 D3 代码整理。原来的时间线代码把数据处理、路径生成、样式设置、事件绑定都塞在一个类里,写第一版很快,但后面加交互、换主题、做测试都会慢下来。
您是一位资深的前端架构师,专门负责设计企业级数据可视化组件。请基于以下完整的架构指导,为用户设计一个高度定制化、可维护、高性能的单体可视化组件。
// 手动连接 this.renderEngine.resourceManager = this.resourceManager; this.interactionHandler.container = this.renderEngine.getContainer()
@Abby鹿子野: 我英语高考147,从不学语法。都是整篇整篇背课文,我喜欢背课文,基本上读三四遍我就可以背下来。先读一遍,然后边读心中边翻译。然后再读两遍,再用自己的语句翻译出来,然后再打开课文对照一下。这样几遍下来很长的高中课文我都可以会背。
VISALL这个项目本身是基于微内核架构去设计的,但是随着多次版本的迭代,功能越来越多,其架构已经存在一些偏离了,因此准备对其进行系统的分析,找出里面存在的问题,然后我们计划对其进行一次重构。使其更加符合微内核架构的设计理念,以增强其程序质量和可维护性、可扩展性。
最近我在频繁地进行项目的优化重构操作,在这个过程中积累了一些理解项目和分析项目的经验,这里简单地记录一下作为今后的参考。
目前,Agent 相关的开发已经成为主流趋势,因此出于多方面考虑,我们必须掌握 Agent 开发的流程以及相关的技术细节。
目前,我们对 prompt 的依赖程度过高,大部分逻辑都通过 prompt 来实现,这一现状带来了大量的不确定性与稳定性问题。对此,我认为较为合理的改进方向应从两个层面着手: 第一,将部分工作从 prompt 转移到工程化层面,尤其是那些具备确定性的工作,比如一些程序化计算流程的管理等; 第二,对于
最近在 HIVIS 可视化组件库项目中,我们遇到了一个典型的本地依赖分包问题。这个问题看似简单,但背后涉及到了现代前端工程化的诸多核心概念:模块解析、构建系统、依赖管理等。
最近这段时间,我几乎每天都在和各种 AI 编程工具打交道。这个过程有点像是在玩一场大型的"抽卡游戏",有时候你会抽到 SSR,有时候则是连续的 R 卡。
项目下的fixed、final等等文件,是否都是之前调试过程中的产物呢?现在调试完成了,是否应该对测试模块下的代码进行一个整体性的梳理,去掉这些 │ Fixed、Final 等等文件,将其编写为整洁的代码呢? 另外帮我分析一下目前的这个测试模块,其程序设计、技术选型等等是否
这篇不是在说“封装几个组件”。我真正想拆的是:一个可视化组件库怎么跨框架使用,怎么同时支持 CDN 和 npm,怎么按需加载,组件销毁时怎么把事件、动画和资源清理干净。
最近需要开发一个前端组件协议,根据历史经验,协议的制定是非常关键的,一旦设计得不合理,就会埋下巨大的隐患,影响后续组件的可扩展性和可维护性。因此以往这个环节的工作都是比较头疼的,且都由相对资深的开发人员来完成,且制定了也会很慌,总是担心考虑不够周到。
LangExtract 是由 Google 开发的一个 Python 库,专门用于使用大型语言模型(LLMs)从非结构化文本中提取结构化信息。该项目提供了一个完整的信息抽取流水线,具有高度的准确性和可扩展性。
文档转PPT https://stackblitz.com/github/slidevjs/new?file=slides.md 帮我基于 /Users/leozhou/git/VISALL/docs/refactor/MCP 下的内容,用 Slidev 这个专门用来用 Markdown 格式生成
// - 自定义标记图元(dvMarker,显示事件详情)
最酷的是,这打破了技术壁垒。比如,Claude Code 是用 TypeScript 写的,但我们公司大部分项目用的是 Python。昨天我在 Slack 上看到一个同事,他不懂 TypeScript,但他想修复 Claude Code 的一个问题。于是他直接和 Claude 对话,一个小时内就生成
进入小程序注册页填写相关信息 !image.png
https://www.zhihu.com/question/5861691391
比如动画类型。 之前东明的可视化推荐也是这个问题,搞了很多图表,但是场景无法命中。
第二层就是 Tailwind CSS,第四层就是组件了。 越往下走,颗粒度越来越大,约束性变高,自由性不足。
我们基于 ECharts 的竞赛图 封装了一个动态柱状图组件,用于对多周期数据进行动态展示。这是之前的同事封装的,现在业务上线之后,发现当本周期有新数据出现时,效果非常差:
不管是业务领域的程序设计(比如我就是可视化库和功能的领域),还是诸如写 CSS 这种细节的实施上,最高效的方式都是对你的工作内容进行抽象,形成套路。
现在处于类似jQuery和三大框架之间的那个框架层出不穷的阶段,后面会有一个或者几个牛逼的技术框架来统一整个开发领域,Agent可能会是一个选项。
https://www.zhihu.com/question/26646855/answer/68503768
投顾部门用到了我们的可视化图表库D3Charts,发现在iOS下文字会变得很小。
以这次的3D关系图为例,我发现做的时候比较迷茫,缺乏一个流程指引。
这次的文本就是用的CSS2DObject绘制的,事件绑定需要这样处理:
这里的交互指的并不一定是常规的鼠标交互行为,其代表的是我们将一种事物变更为另一种状态的行为,例如一个列表中文本的搜索、筛选高亮,交互则指的是搜索和筛选的这两种用户行为。
写代码也更倾向于函数式编程,减少了状态的随意传递,后续维护性会更好一些。
之所以问这2个问题,是因为就我观察到,公司目前大部分前端开发人员,都是在做体力活,陷入了无尽的业务开发中。这些低效的工作浪费了大家大量的时间。
最近给海外组做图解财报的3D组件,陆陆续续耗费了我不少时间,但是最终回头来看,这个需求实际上可能只需要1天就能搞出来。究其原因,在于我的技术方案选型上,误入歧途了。
最近在做范式组件,我写了动态柱状图和折线图,在考虑如何给使用者开放配置项的时候,考虑到如果全部配置都给用户,我感觉他们的理解成本会比较高,因此我想将配置封装为Theme类,只开放设计规范中允许的配置项给用户。
https://zhuanlan.zhihu.com/p/26426054
应该先画图,有哪几个生命周期,每个阶段应该做什么,不应该做什么,把这个想清楚,形成原则,就是设计了,框架也就出来了。
比如我们的D3Charts,就是一个组件库;而其他零散的组件,比如动态折线图、柱状图这种,并不算是组件库。
现在前端团队都是分散到各个具体业务中的,这就导致信息互通、技术工具的整合推广,都存在问题。前端年初都会列出很多待解决的问题,我们也知道有很多事情应该去做,但是究竟这些问题里面,最影响开发效率、性价比最高的20%内容是什么,其实是没有数据来支撑验证的,因此我们的改进还是稍微有点拍脑袋。 形成对比的就是
形成一个自己的程序框架至关重要。程序框架其实就是你抽象自己的设计思路,抽取可复用部分,形成后续项目的基座。里面应该包含了程序目录结构、调试工具、编码规范的约束工具、日志工具、发布工具、常用函数库、常用业务库等等。这样就避免每次你都从头再来一遍,也避免了犯一些低级错误。
我平时喜欢看小说,但是现在的小说APP广告太多了:启动应用有广告,从其他APP切换回来又有广告,体验很不好。因此我想自己写一个简单的文档阅读APP。考虑到现在Flutter挺火的,就准备用这个试一试。因此这里记录下安装Flutter的过程中遇到的一些问题。
之前写了一段解析网页的代码,现在回头重构,发现烂得不行。这里选取一段关于流程的做个分析改进。
我准备今后每一周都给自己一个技术方面的尝试主题,来提升自己的技术能力。
我现在已经属于触底反弹期间了,但是如果我不将自己的主动性调起来,那么肯定是反弹不上来的。
我们需要在一开始,就把这三要素给讨论确定下来。这部分内容花费的时间多一点也是很值得的。
上周末Boss要求做一个全球疫情的项目,产品经理准备通过一个全球地图来展示疫情情况,我们考虑了下,选择了沿用之前全国疫情的技术选型,即ECharts来实现该地图。
最近写一个行业关系图的组件,写的时候我是直接拆分为几个JS文件,然后在html页面中引入这几个文件,没有采用模块化的方法。开发到后期时,准备处理打包相关的事情了,然后就得将这些程序转为模块化的形式。这个过程耗费了我不少时间,因此这里记录下,用于今后参考。
在之前的笔记《D3Charts-给legend实现动画分页效果》中,已经提过了自己了解项目时踩过的一些坑:
现在接到一个可视化的图形需求,我会比较慌,思考了下,是因为我在具体实现上,还没形成自己的编码套路,导致无法快速对图形进行技术上的拆解。
记录我通过FreeCodeCamp学习前端技能的一些经历和感想。
昨天头儿反馈wiki系统不能用了,晚上我用请求日志里面比较慢的请求重试了下,请求起来都比较快;从zabbix监控和数据库的日志来看,问题时段也没有发现异常,暂时无法定位具体原因。
经过检查,排除了1和3,最终发现有两个问题: 1.指标评测会将请求结果先写入本地文件,然后再读取本地文件解析入库,这些本地文件最大的达到了37M 2.程序存在BUG,当计算没有完成时,会不停的重复解析本地文件,执行数据库读写操作 ## 解决方案 死循环问题好解决,修复程序就可以了 本地文件的
当时没有先猜原因,而是先从 nginx 访问日志里确认到底是谁在吃流量,再按类型处理:能压缩的压缩,能缓存的缓存,返回了冗余数据的就减少返回内容。下面记的是当时实际遇到的问题、解决步骤和用到的排查命令。