夜雨聆风学习资料网

ARTICLE · 1053851

为了一碟醋,包了顿饺子:用AI办公软件手搓APP的经历

为了一碟醋,包了顿饺子:用AI办公软件手搓APP的经历
上个月,手搓了个简单的小工具给自己用。见汇报下近期对量化的学习进展W34热门板块预测W35热门板块预测。没想到,一发不可收拾,硬是用了4周时间,为了一碟醋,包了顿饺子。具体做了啥,分专题说吧!
1. 增加景气投资功能
当前在东大,做价值投资很难,因为国家体制不一样(所有制形态、企业寿命、政策强度、国家治理理念等等)。可选的价值投资标的,要比美股更难。所以,优先做产业景气度的长线投资(或者叫长线投机)可能更合适。
以前的方法论很零散,没有专门梳理过,完全是基于记忆和经验。只不过借用了元宝、豆包等AI软件后,选股效率更高一些。
直接聚焦关键算法的逻辑设计。首先,列举出8-10个热门行业的发展历史,分别从资本角度(投融资节奏、批量初创企业扎堆成立节奏、ABCD/IPO节奏等)、技术发展角度(技术演进趋势)、产业发展特征(上下游特征、不同产业之间哪些产业的价值链容易沉淀在哪些环节)、产业发展时间节奏(酝酿期、导入期、成长期、成熟期、清除期、衰退期等,分几个阶段合适?各个时期的起点终点如何定义?)、宏观环境变化对产业周期的影响(比如新型举国体制的成熟会显著压缩周期,同时造成清出困难等等)等角度,去收敛统计几个常见的产业发展周期模板。
然后就是最关键的,Ego-Motion。赛道有了,自车在哪个路段呢?也就是你想研究的行业, 当前属于哪个阶段呢?这个其实是个更加头疼的问题。问题不光是个产业研究问题,更是个数据获取问题。
一下子,问题就转变成了一个技术问题和工程问题了,爬虫系统怎么设计更准确、稳定、可靠、高效。已有的下载系统,对应的固定网站够不够?能不能做周期性的健康度审查和排序,让下载系统能够长期自持且确保下载API的稳定健康?越来越复杂了。整个APP的状态管理和自持能力要求也越来越高了。一个简单的工具属性,已经不能满足我的要求了。
简单总结,本来醉心于核心算法或业务逻辑的开发(因为本质就是投资逻辑嘛!),但是不得不碰越来越硬核的软件工程了。
数据库类型的选择、持久化怎么做、数据管理用什么逻辑、页面设计的按钮时好时坏、系统经常不稳定且报错...
还好,磕磕绊绊,硬生生磨出来景气投资系统了。
2. 架构重构
景气投资系统增加后,接下来准备着手优化之前短期预测页面的核心逻辑。因为3个星期已经过去了,根据3周的数据,预测板块的准确率一直不高,命中概率始终在40%多,一半都到。是没办法用的。
但是,问题就来了。不管是换用豆包,还是workbuddy(不管用的哪个模型,贵或者便宜),如果仔细盯着它的思维链的工作状态,就发现,它的质量很差。修bug,修着修着就进入死胡同,无穷递归,反复提示也不行。按下葫芦浮起瓢。到后来,已经没办法继续迭代了。
这个时候,才想起来,整个APP的架构,因为快速的增量迭代(一天至少30几个版本),已经面目全非了。于是,就对整个APP进行完全的重构。
这是个痛苦的过程,完全重新梳理架构该如何分层(多少层合适)、每层的软件模块应该有哪些、之间的传递遵循什么原则... 搞了两轮设计后,突然又想到,不能buttom-up式的做架构,自己当前这坨代码有啥模块,就做啥;而是应该更有预见性,一般的大型APP的架构、模块都有哪些;于是进行了第二轮重构,又增加了一些模块。
但是,新问题来了。这个期间,我在豆包和workbuddy之间切换过,而且强模型和弱模型都试过。发现一旦切到弱模型,就会把代码改坏。
于是,硬着头皮(其实很早就知道要加)加git和远端的gitee,防止把代码搞坏。
但是,也是这个动作,让我想到,可以把之前靠模型记忆(相当软的软约束,靠模型的性能)来提醒的测试,变成提git前的门禁系统。不通过测试,就打回(很像汇报没通过被打回一样,再改PPT,再汇报);这样,不管模型的能力强弱,都需要保障基本的代码质量。
3. 新增价值投资页面
有了以上的尝试,自己感觉自己有了些经验,就准备把坑挖的更大了。之前刷实视频,看到过github上靠定义几个投资大师角色的对抗性讨论,来进行价值投资选股研究的案例,就开始基于这个基本算法机制进行搭建。
由于有之前的经验,新系统搭建的很快。但是最终效果,我觉得一般。看着大师一轮又一轮的讨论挺热闹,但是并没有真正的洞察力。生硬的扮演者投资大师的表面特征,给的答案毫无营养。
于是,就进入了几天的沉浸期。通过跟元宝、豆包聊天,逐步生成我以为的价值投资的认知,形成报告,并反复迭代这个报告。到了周末,我给了workbuddy一个任务,基于这个5万多字的报告,做个算法设计。其实,我后来才意识到,我这算是一个投资因子发现和基于因子搭建投资模型的行为。现在看来,B格高的词,只适合装逼,其实就那么回事。
但是,问题在于,就这么个报告,AI给我提取出了100多个因子,让它给我列出列表,我自己看得头大。名字也怪异,很难理解。算法名字给我起的也抽象:基于收租权的租金动力学价值投资模型。当然,这种修辞和形容本身没问题,都是我自己跟AI迭代出来的。但是修辞手法过于抽象,不像人起的名字。于是就每个因子都进行重新命名(反而搞坏了,因为改完,AI不认识了...)。
这也直接导致后面出了大问题。AI一方面在具体设计和代码实现时,认知出现偏差,反复请示我,烦不胜烦。就像一个能力极弱的下属,干什么活都汇报请示一样。
于是,就逼着我想了很多方法论,让AI以后自己按照方法论来解决问题,而不是频繁停下来,让我做决策。包括:
1. 所有的代码实现,都必须落设计文档。否则AI想到哪干到哪,我连跟AI回忆、追溯都只能往前翻具体的对话信息和描述,而且全凭AI一张嘴。且切换AI时,缺乏沟通依据(比如从豆包切千问和workbuddy,怎么跟新AI讲清楚背景);
2. 一个开放式问题,必须形成报告(务虚、调研阶段)、设计文档(设计、定义、说清楚与其他模块和代码的关系)、阶段性总结和复盘等;
3. 交叉评审:同一个话题或报告,让其他AI相互review,相互评审,然后最少3轮后,收敛,形成终版报告、设计文档;
最后,算是把基于个股分析的价值投资功能实现了。但是,真正复杂的是,如何一键触发APP自动抓起最近的宏观信息和数据,形成框架式认知,直接给出一列价值投资选股标的这个功能。这个就需要更复杂的APP设计,对爬虫系统、数据存储系统(以及网页的数据管理页面也更加复杂)、超级宏观算法的实现(如何判断产业终局、如何判断社会发展终局等超级宏观命题,而不是金融行业的、只看看CPI、PPI、GDP、货币政策等那种所谓宏观)。
APP的漏洞越来越多,已经有点想放弃了。
4. 基于文档驱动的项目治理体系
某天,翻开APP的文件夹,发现:乱。根本毫无头绪。所以,AI也像无头苍蝇一样,每个问题、特性,我只能跟它说:扫描整个项目,作为认知背景,然后解决XXXX问题。但是,AI解决问题的能力和coding的质量每况愈下。
后来,发现,其实AI就想不愿写文档的程序员一样。最简单粗暴的方式,就是逼着AI进入“基于文档驱动的开发方式”,才能做到有据可依。缺乏一个参考基准,AI真的就跑飞了。正好之前的成功经验,包括逼着AI写报告、落本地记忆、写设计文档,其实总结起来,就是这么一招而已。
然后,新的一轮大改造就开始了。
首先,把APP的docs文件夹,进行系统化。分几个子文件夹合理(项目相关的、工程相关的、产品相关的等等)、每个领域多少个文档合适、文档之间的关联关系是什么、阅读入口在哪、文档到代码的控制约束有没有覆盖完整等等。
光这些还不够,一些基本的管理原则和方法论也要定义下来,强迫AI执行。比如,文档起名、版本管理规则、整个APP项目文件夹的梳理和管理规则(什么放到根目录、什么必须放在哪个文件夹、什么必须归档...)、多个AI智能体如何协调...
真的是个大工程。但是,也让我从把AI当工具来用,慢慢过渡到了相对严肃的工程化阶段了。
整个项目治理,基本遵循:
1. 建立完备的文档体系(文档创建、文档管理、版本管理等等),让人能够参与进来,有机会给AI提意见和建议。总不能一行一样翻代码吧?要吐了。
2. 以文档体系为轴线,逐步扩展到整个项目治理领域,基于文档来定规矩,做约束;
3. 引入多智能体,A写文档,B评审文档;A写代码,B评审代码的正确性,并评审代码与设计是否有GAP;B评审通过后,A才能走提交流程;
4. 以上治理体系建立好后,最后,只需要发一条指令:“默认以文档定义为基准, 审查所有代码,看看哪些代码与文档定义不一致或者数据流断链未接通,或者是死代码,识别出GAP后,形成整改报告并排期。若代码与文档定义冲突,默认以文档为准,修改代码”,基本就不用管了。
分享几个有意思的指导AI工作的方法论:
1. 代码管理必须跟人类一样,有git和远程gitee(或github)。AI有时候会瞎搞,一旦代码大面积搞乱,就完蛋了。入git权限必须是人类批准。这样,一个硬约束就有了;
2. 遇到问题时的“十环方法论”:问题 → 搜索全网5个最佳实践(单个不行,至少5个) → 总结内容形成报告并落盘 → 根据报告形成符合本项目的解决方案(它需要遍历一遍本项目的代码实现) → 进行软件/算法设计并形成文档 → 根据设计文档生成测试验证方案 → 生成可执行的测试脚本(守护体系) → 实现代码 → 过守护体系 → 提git。这样,AI就不会问我一堆我他妈根本不懂的问题,还他妈让我决策。我能决策个毛线啊!
3. 每次开工前,必须排期。期间有问题就用“十环方法论”,不要停下来问人类;但是也不能无限递归,自己无限改导致停不下来,确保排期的任务完成就必须停。
4. 在以上体系建立好之后,再让AI写业务代码,代码质量以及AI连续工作的能力(一干到底不停歇)就具备了。自己只需要读读书,浏览浏览网页,AI基本一干一上午不带停的。
最后,APP还在手搓中,功能越来越膨胀了。等完工后,拍个视频,给大伙试试效果如何。以上4各阶段,还真不是写剧本,真的差不多就是一周一个阶段。我自己猜测,每个周末出去走走,换换脑子,容易产生新的idea吧!反正过个周末,到周一,就思如泉涌,会酝酿一些大的解决问题思路,然后,一干一个星期。
(完)

相关学习资料