学习资料参考:https://github.com/datawhalechina/easy-vibe

完成比完美更重要

初级一:AI时代,会说话就会编程

一、vibe coding工具
在本课程中使用z.ai(智谱大模型),其他vibe coding工具见下图:

Image

目前来看,ai在完成小而清晰的项目开发任务上表现良好,但大型工程涉及接后端、连数据库、整合第三方服务,还牵涉权限、安全、并发和大量业务规则,目标是交付一整套与现有业务深度打通的系统,而不是一页网页。此时更好的做法往往是:

由人类团队梳理出清晰的整体流程:关键步骤是什么、每一步的输入输出和状态变化是什么、哪些节点对性能和安全最敏感。再基于这张流程图,把相对独立的环节拆分出来,交给对话式 AI 生成接口、模块、脚本和测试。以目前的能力来看,AI 更擅长加速一个个小步骤,由你(或你的团队)来决定怎么拆步骤、如何串联,并负责最终的架构设计、系统集成和运维。

不过随着ai能力的不断发展,估计需要人的决策会越来越高层。目前来看由ai打第一版,人来迭代细节就挺好。

二、补充知识:前端 vs. 后端

Image

前端三件套:HTML、CSS、JavaScript

HTML: 骨架。定义页面上有什么元素,类比房子的结构草图。
CSS: 样式。控制元素长什么样,类比颜色、材质、布局的装修。
JavaScript: 行为。让页面动起来,类比房子的电路开关。

三、作业
利用智谱ai(z.ai)对话生成小游戏

采用提示词:

请搭建一个引导长期主义思维的轻量级对话应用,实现以下功能:1.界面采用中国风,融入道家、宽阔的湖面、幽静的竹林、书籍、围棋棋盘元素,画面朴素平静。2.主页是一个类似大语言模型网站里的聊天框,浅灰色的字写上“你打算做点什么呢?”然后用户在聊天框中输入文段,由接入的LLM模型生成回答;3.最好采用多样化的方式引导用户长期思维,我想到的方法有:(1)强化学习中有折扣系gamma的概念,gamma越小,智能体越短视;人很多时候也可能是这样,以可视化的方式告诉用户现在做的事情的奖励,和长期以后能达到的目标,乘上一个较小的gamma,能达到更大的奖励;(2)围棋中非常强调长线思维,比如局部看似占优的下法实际上长期来看发展不好,以可视化的方式告诉用户这个道理;(3)战争中强调长线思维,请用兵棋推演、沙盘、水墨动画等方式以战役的方式引导用户长线思维。请全部实现上面三种回答方式,可以以类似skill的方式编码到LLM工作流中,除此以外请再想两个创新生动的回答方式,引导用户长线思维。

(之后又对回答中的可视化、调用的大语言模型等进行了调整)

Image

感觉以网页对话的方式遵循指令能力有限,也不太清楚怎么把网页中的demo和生活中的比如手机app或者大家都能用的网页是什么关系。