Applying SHAPR in AI-Assisted Research Software Development: Lessons Learnt from Building a Share Trading System
本文通过构建模块化股票交易系统的案例,展示了 SHAPR 框架如何指导研究人员在生成式 AI 辅助下开展软件开发,并通过持续文档更新与特定工具配置,有效解决了 AI 辅助开发中面临的连续性、可追溯性及方法清晰度等挑战。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
这篇文章讲述了一个关于**“如何聪明地利用人工智能(AI)来写代码,同时不把自己搞糊涂”**的故事。
作者是一位独自工作的研究者,他开发了一个股票交易系统。在这个过程中,他发现如果完全依赖 AI 写代码,虽然速度很快,但很容易出现“代码写完了,但自己都不知道当初为什么这么写”、“项目越做越乱”或者“断片了”的情况。
为了解决这个问题,他使用了一套叫 SHAPR 的方法。我们可以把 SHAPR 想象成**“给 AI 配一位人类管家”**的协作模式。
下面我用几个生动的比喻来解释这篇文章的核心内容:
1. 核心问题:AI 是“快马”,但你需要“缰绳”
想象一下,AI 就像一匹跑得飞快的千里马。它能瞬间帮你画出图纸、砌好砖头(生成代码)。但是,如果你不牵着它(缺乏人类控制),它可能会跑偏、跑丢,或者跑着跑着把路给弄乱了(代码命名混乱、文档缺失)。
- SHAPR 的作用:就是那根缰绳和导航图。它确保虽然马跑得快,但方向是你定的,路线是清晰的,而且每跑一段路,你都知道自己在哪里。
2. 三大“工作空间”:一个高效的“三人组”
在这个项目中,作者没有把所有东西都堆在一个地方,而是像组建一个三人乐队一样,让三个工具各司其职:
- ChatGPT(AI 助手):它是**“创意总监”和“速记员”**。你让它出主意、写代码草稿、总结刚才聊了什么。
- PyCharm(代码编辑器):它是**“施工队”**。真正的砖瓦(代码)是在这里砌起来的,用来运行和调试。
- Obsidian(笔记软件):它是**“总指挥的日记本”和“博物馆”**。这里记录所有的决策、规则、反思和“快照”。
关键点:这三个工具通过链接在一起工作。AI 在 ChatGPT 里聊天,代码在 PyCharm 里写,但所有的“规矩”和“回忆”都记在 Obsidian 里。这样,即使你换了电脑或过了一个月,翻开日记本就能知道项目全貌。
3. 核心技巧:像“拍快照”一样做项目
作者发现,传统的“等做完了再写文档”是行不通的,因为那时候你已经忘了。SHAPR 提倡一种**“边跑边记”**的方法:
- 快速捕捉(Quick Capture):就像你在跑步时突然想到一个好点子,先随手记在便签上(哪怕只有几个字),不要停下来整理。这保证了灵感不丢失。
- AI 辅助整理:等跑完一段路(一个开发周期),再让 AI 帮你把那些零散的便签整理成漂亮的文章。
- 周期快照(Snapshots):每完成一个阶段(比如“地基打好了”),就拍一张“照片”存起来。这就像游戏里的存档点。如果下一个阶段搞砸了,你可以随时读档重来,知道之前的状态是什么样。
4. 五个“避坑指南”(学到的教训)
作者通过这个项目,总结出了 5 条给未来研究者的建议:
- 先定规矩(合同):在让 AI 写代码前,先写好“合同”(比如:这个函数叫什么名字?输入是什么?)。这就像盖房子前先画好图纸,防止 AI 盖出歪楼。
- 只有一本“真经”(单一事实来源):确保只有一份最新的、权威的文档(Source-of-Truth)。不要让笔记散落在各个地方,否则你会被过时的信息搞晕。
- 定期存档(快照):每个阶段结束时,必须把状态“冻结”并保存。这保证了项目的连续性,不会断片。
- 代码和文档一起长:不要等代码写完了再补文档。代码在变,文档也要跟着变。就像种树,树长高了,树影(文档)也要跟着移动。
- 搭环境本身就是学习:花时间去设计你的工作流(用什么工具、怎么记笔记),这本身就是在做研究,能帮你理清思路。
5. 总结:这不仅仅是写代码
这篇文章想告诉我们要**“以人为本,AI 为辅”**。
- 以前:我们担心 AI 会取代人类。
- 现在:SHAPR 告诉我们,AI 是强大的助手,但人类必须保持“总指挥”的地位。
通过这种结构化的方法,研究者可以既享受 AI 带来的速度,又保留人类对项目的掌控感、清晰度和可追溯性。就像你开着一辆自动驾驶汽车,虽然车自己在开,但方向盘和导航仪始终在你手里,你知道车要去哪,也知道它为什么这么走。
一句话总结:
用 SHAPR 方法,就像给 AI 配了一个**“带日记本的导航员”**,让独自开发软件的人既能跑得飞快,又不会在复杂的代码迷宫中迷路。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。