“第10届量子化学波函数分析与Multiwfn程序培训班将于5月4-8日于北京举办,这是一次性完整、系统学习波函数分析的各种理论知识和全面掌握强大的Multiwfn波函数分析程序使用的最不可错过的机会!请点击此链接查看详情和报名方式,欢迎参加!

“第18届北京科音分子动力学与GROMACS培训班” 将于5月23-26日于北京举办。这是一次性全面、系统学习分子动力学模拟知识和最流行的分子动力学程序GROMACS的关键机会!报名正在进行中,请点击此链接查看详情,欢迎参加!

计算化学公社

 找回密码 Forget password
 注册 Register
Views: 180|回复 Reply: 3
打印 Print 上一主题 Last thread 下一主题 Next thread

[综合交流] 尝试只用开源工具vibe code计算化学建模小玩具全记录 (已完成)

[复制链接 Copy URL]

990

帖子

4

威望

2331

eV
积分
3401

Level 5 (御坂)

A Student

本帖最后由 student0618 于 2026-4-4 07:23 编辑

尝试只用开源工具vibe code计算化学建模小玩具全记录
(已完成)
2026 年 4 月


免责声明
• 使用LLM agent 存在一定风险,请自行负责。


0. 前言
假期找了一个小课题来练习,试一下只用开源工具去跑一遍最近很火的让LLM主导vibe code开发小玩具过程,看看需时及成本。
这次是教学方向的测试,只使用开源的工具。

0.1. 这篇想解答的问题
  • 如果是一个只有课题、只有想法的人,没什么理论背景,能否只靠开源工具达到目的?
  • 开源模型能力远远不及Top 5大模型,但实际上“能不能先将就用用”?

0.2. 因应测试目的,项目开展前设定了以下的限制及要求:

a. 给自己设的限制:
  • 尽量让LLM决定不要手动改,当自己是一知半解的外行人 (虽然最后还是忍不住手动调整了些)。这边所说的决定很主要是指细节上的决定,例如输出什么格式的三维模型对计算化学社群更有用、图表放左边还是右边、数值用什么单位、字形用哪个等,而非大方向。让LLM作决定这点,是模拟外行人/学生。
  • 因上述“使用开源模型”这点,不使用Top 5 模型,只用按量计算的openrouter 低成本小模型及opencode自带的免费模型。

b. 对LLM的要求:
  • 验证文献来源!!!
  • 如果有猜测的部分需在limitations明确列出
  • 不要自行安装Dependencies,环境没的列出所需要的版本,让我自己安装。最近太多supply chain 问题很可怕。

实际上也不算0 开始vibe code 的,关键步骤我有说用哪个库来去做,一开始也提供了几个文献数据的连结。其他都让LLM主导,我只负责提供一开始的idea、给意见及测试反馈。

1. 目标开发的程序
  • 实验性质,只敢说是是玩具,不敢说是工具。
  • 想法是做一个按特定Condition生成某常见物质三维模型的工具。各种定义用现有文献资料、生成三维结构用现有的库。
  • 由于重点不是成品的建模小玩具而是过程和心得,故不放github连结了。有兴趣的读者可以猜猜,不过私信我不会给的。


2. 计划
2.1. 两大milestone
v1 命令行工具
已完成 7+2个 phases
  • 总耗时3 天
  • 成本 60 USD
  • token Input 36.3M / Output 1.7M / Cache Read 140.0M / Cache Write 1.3M

v2 图形介面工具
已完成
  • v1+v2 累计成本160 USD
  • Tokens Input 103.8M / Output 3.3M / Cache Read 284.8M / Cache Write 2.1M


2.2. 所用第三方Agent的开发工作流
使用的是Github上的一个给opencode用的markdown agent + slash command工作流。
看似很长,实际是自动跑的。到checkpoint会提示下一个指令。

开展项目的流程
1. new project (milestone) definition
2. 讨论内容
3. 计划milestone的目标
4. foundation research
5. 将一个milestone画分多个phase 并 建立roadmap
6. **详尽计划并实行每个phase
7. 所有phase 完成后验证milestone目标已完成并tag release
8. 开展下一个milestone

**一个Phase的流程
1. discuss
2. Research
3. Plan -> plan checking (-> revise plan -> check ...)
4. execute
5. verify -> debug -> verify 直到问题解决
6. UAT

3. 过程
3.1 v1 命令行工具
3.1.1 初始输入文件

• 部分文献连结
• 第一个prompt 的架构
  1. Provided the XXX libraries in current conda environment installed using @environment.yml.

  2. Derive a framework to do XXXX

  3. The final outcome will have A, B, C, D.

  4. This repo should have documentation X using tone Y for target audience Z.
复制代码


3.1.2. 讨论出来的计划
1. Input validation
2. Condition mapping
3. Structure generation
4. Scoring and Ranking
5. Output
6. Documentation
7. Audit

后来加了的重要Bugfix phase,分别解决missing important data point问题及code scan找到严重影响速度的nested for-loop等问题。

v1 大部分时间及token花在调整生成图表整合文献数据的工作上。

3.1.3 测试/检查要点
• 文档Review citation 及verify links
• 完成后Scan codebase 及解决重要bug
• Scan code生成输入示例cli后会跑什么的流程图,协助理解程序设计概念

3.2. v2 图形介面工具
3.2.1. v2 原始prompt
  1. # Dependency
  2. This is only done after the release of v1

  3. # v2 requirements
  4. Create lightweight, standalone, cross-platform executable GUI application of XXX (windows and linux 64 bit)

  5. The GUI features an all-in-one interface with the following:
  6. 1. Feature A, that the user can do action X
  7. 2. textbox to input options
  8. 3. info window of info when user do action X, with necessary citation
  9. 4. button to generate 3D structure after user action X
  10. 5. progress bar to show the generation progress
  11. 6. 3D viewer of the generated structures, show one at a time to save resource. simple view of stick/ball and stick and dashed lines of hydrogen bonds
  12. 7. option to save the plot/3D structure/export data/image of 3D scene to file

  13. Notes:
  14. a. Cap the number of molecules for the generation
  15. b. Provide minimal explanation to each option (one `i` or `?` next to everything for the user to check, in addition to markdown user manual. Human will provide the pdf manual with screenshot based on the markdown manual)
  16. c. Check the license of the libraries, and suggest whether is ok to distribute as a standalone executable with the current chosen license.
复制代码

3.2.2. 讨论出来的计划
8. GUI infrastructure and core input
9. Interactive [feature XXX]
10. 3D molecular viewer
11. Save, export, and in-app information
12. v2 Documentation update
13. Packaging and distribution

3.2.3. v2备注
• 3D 显示介面花很多时间调整和debug
• Phase 9 debug GUI 时顺便解决了v1的一个作图的小bug

3.3. 其他备注
• 小模型的Context window较小 (约200K token),用目前的orchestrator - subagent 工作流可有效管理每个session的context window,通常orchestrator的context用到 50% (100K tokens) 就可以进入下一个session,每个sub-agent大部分都用少于50%。
• debug如果直接跑会用很多context较难处理,经常要压缩。开专门的debug session用debug subagent+debug workflow较理想。
• Fake reference还是很严重,要重复要求验证,也紧记必需全部人工验证一遍所有reference和link。

4. 小结
以上分享了一次Vibe code建模GUI小玩具的经验,就当是一个记录。

这练习于我有以下启发:
• 教育方向,未来那些找工具介绍的课堂作业,其实都可以改作写工具的作业让学生学到更多了。
• 研究方向:编程门槛大幅降低后,“有想法,但没工具很难处理”这情况不久后应越来越少了。

5. Q & A
Q: 这课题怎么想的?
A: 随便打开一本书抽课题抽出来的。

Q: 有什么science以外的个人感想?
A: 很多,例如
  • 体会到reject/approve/PUA LLM工作。无论大模型还是小模型都有操作要reject的,不过小模型作高风险操作的机会更多。
  • LLM帮忙写的motivation很积极乐观,其实这不是我最初的motivation喔
  • 也学会不少写程序的思路。
  • 还有我都Deny了rm指令,LLM还浪费token碰钉子......

Q: bugfix 最实用的提示词
A: debug几轮解决不到的问题,说一句 very disappointing 就立即解决了












敬仰一针见血的指责,厌倦别有用心的赞美。

139

帖子

1

威望

4179

eV
积分
4338

Level 6 (一方通行)

2#
发表于 Post on 2026-4-3 18:04:04 | 只看该作者 Only view this author
你那两条限制给我看乐了,都不用往后面读了

- 「尽量让LLM决定不要手动改」,你才是项目的核心,是你的想法主导项目,你自己都不清楚要干什么那 vibe code 出来也是垃圾
- 「不使用Top 5 模型」,莫名其妙不用新模型,放着聪明 agent 不用,非要去自以为是地 PUA 一个不太灵光的学生

你要觉得贵就开个会员用 claude, codex, antigravity,最新的模型站起来蹬
十八介姑娘一蕾花呀,白白介牙齿、红红介嘴唇,得人惜

793

帖子

15

威望

3382

eV
积分
4475

Level 6 (一方通行)

鸩羽

3#
发表于 Post on 2026-4-3 18:09:51 | 只看该作者 Only view this author
王二葛 发表于 2026-4-3 18:04
你那两条限制给我看乐了,都不用往后面读了

- 「尽量让LLM决定不要手动改」,你才是项目的核心,是你的 ...

不用top5也没啥吧,Claude GPT Gemini的各种coding模型包圆前五感觉没啥问题,撇开这些还有kimi,glm之类的能用啊,写个小东西感觉问题不大
某不知名实验组从苞米地里长出来的计算选手

990

帖子

4

威望

2331

eV
积分
3401

Level 5 (御坂)

A Student

4#
 楼主 Author| 发表于 Post on 2026-4-3 18:28:57 | 只看该作者 Only view this author
本帖最后由 student0618 于 2026-4-3 22:26 编辑
王二葛 发表于 2026-4-3 18:04
你那两条限制给我看乐了,都不用往后面读了

- 「尽量让LLM决定不要手动改」,你才是项目的核心,是你的 ...

非常感谢阁下的建议。抱歉我发现目的没写清楚,刚刚在正文补回试用开源工具这点。

标题也已经因应原文带来的误会,更正为“尝试只用开源工具 vibe code”这一点,盼可厘清这篇的真正目的。

这次其实是教学方向的测试,尽量只用开源的工具,去探索一下,如果是只对课题一知半解的人 (例如外行人或学生) 可以如何、小模型对这情况“能不能用”。只有课题、只有想法的人,能否用只靠开源工具达到目的?这边所说的决定是指细节上的决定,例如图表放左边还是右边、数值用什么单位、字形用哪个等,而非大方向。
让LLM作决定这点,是模拟外行人/学生。

我有大模型订阅的,配额每次刷新都很快用完。Top 5 的 Claude GPT Gemini grok (我心目中目前top 5第一第二位都是Claude) 基本有新版本都会立即试用,非常认同您所说top 5模型它们的强大。
用它们的话2-3天大概都完成了,不过订阅配额有限,而且写这个小玩具测的是开源工具。
我知道gpt很爱git revert但通常写代码一次就get it done,Claude作agent很好用,gemini很常rate limit但ppt设计很优雅,grok整理资料很顺。

再补充一点,其实我所用的开源开发Workflow本来是有人给claude code写的vibe coding专用轻量agent skill/slash command,cc版本有47K 个star。后来有人把它改为opencode适用的工具,目前也600多个star了。当然,我明白这workflow是否好用也因人而异的。我用这workflow跑过大模型,也跑过如一楼说的开源小模型。


敬仰一针见血的指责,厌倦别有用心的赞美。

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-4-13 23:54 , Processed in 0.161057 second(s), 20 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list