猫窝私语 — Makumo's Blog

玛酷猫的温馨小窝,记录生活点点滴滴。

@玛酷猫2 天前

03/9
00:50
AI

从零开始用AI搓网站(二)

无数次历史都证明,重启能解决一切问题,如果不行,那么就再重启一次。重启以后编译器问题解决了,终于能快乐的输入hello world了。

下一步就是开个github仓库,这样有兴趣的养虾人可以自行去上面看看iFlow是如何一步一步编写代码的。由于自己本来就有github,直接新建一个叫cpp_practice_website的仓库,可以在activity里面看到每次提交内容。由于很久前配置过github密钥,将仓库地址喂给iFlow,第一次push意料之中的失败了。给出的提示是访问被拒绝,那大概就是密钥的问题。翻了下用户的.ssh/目录下,才发现之前配置过config文件,里面针对不同的host使用不同的密钥。重新将使用正确的host的github地址交给iFlow,再次push依旧报错。检查了下github后台管理的公钥列表居然是空的,估计可能时代太久远了,密钥更换了格式/或者单纯过期了。先解决密钥问题,用命令生成一对密钥

# xxx随便写,就是个备注,最后面是文件名,和其他区分,单独起了个名字
ssh-keygen -t rsa -b 4096 -C "xxx" -f id_rsa_alittlesir

然后将公钥上传到github后台,终端用命令测试下

ssh -T git@github.com

正常情况会得到github的欢迎词,Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.
着我这却显示:“Error connecting to agent: No such file or directory”,查了下,是说open-ssh服务没开,用命令启动open-ssh,提示:无法启动ssh-agent服务,错误:1058,查了下系统设置,服务里面居然没有open-ssh。在设置->系统->可选功能->添加可选功能里面,显示open-ssh服务已经安装。估计是这个服务坏掉了,老办法,卸载重新安装,安装完了后测试了下,没有问题。可以正常的提交。
之前在处理编译器的时候iFlow尝试各种方案,其中有种就是把绝对路径写入代码里面,这显然是不安全的,让iFlow检查所有的文件,查看是否存在盘符的情况。

接下来的功能就是添加参考答案,直接对iFlow说:新增结构存参考答案,在前段新增查看参考答案的功能。
iFlow直接在题目的json结构里面,添加了参考答案,并且在前段添加了显示参考答案和将参考答案填入编辑器的功能。分分钟就出来了,效果看着还不错。

今天刚看到58大神沈剑的公众号提到“龙虾”的安全性问题,于是仿照文章的说法,也给iFlow加上了一些简单的规则,也添加了备份的规则。同时iFlow自身也有一定的判断,中高风险的操作也会在界面询问是否执行。iFlow对规则理解有些偏差,当我让它添加某一个规则,就比如修改.md文件的时候自动备份,它总是写出一个程序代码来实现,需要反复和他说这是你的角色规则,不需要额外的代码编写,他才会把这个写入自己的AGENTS.md文件中。

之前创建基础结构的时候自带了3个题目,我便问它这3个题目是你的知识库还是即兴生成的,它居然忘了,说是我或者其他开发者创建的,我和它说这个文件夹下面所有文件都是它创造的,我没有任何参与,它才承认,蛮有意思,然后我就让它在创建50道题目,嘿嘿

——two thousand years later——

经过漫长的时间,终于完成,还给了一个清单

接着就是经典的json格式问题,又让它修了半天。
由于数字数位问题,习题编号不连贯,我让它将所有数字数位全部改成4位,它也理解我的意思,但是在执行命令的时候出现严重的问题,

问题很严重!很多文件的 JSON 格式都被破坏了。这是因为 PowerShell 的替换操作有问题。让我检查一个损坏的文件
我看到了问题!description 字段中的中文被破坏了。这是因为 PowerShell 的文件操作可能使用了错误的编码。让我使用 Node.js来修复所有文件。我需要从 git 恢复这些文件:
问题已经提交到 git 了。我需要重置到之前的状态:
糟糕!文件已经损坏并被提交了。我需要删除所有损坏的文件,然后重新创建。让我先删除 problems 目录:

感觉这个问题让iFlow一步一步崩坏了。我及时按esc取消了iFlow的进一步操作,由于已经从git回滚,problems下面包含没问题的1-50题目,和有问题的0001-0050题目,AI这块貌似不会处理了,准备一起干掉重新生成题目,那又要“two thousand years later”了。只能有人强制介入指挥它来行动,删除0001-0050这些有问题的题目,剩下的1-50题目检查JSON问题,都检查完后,做一个submit,免得再操作失误,回滚又要修正这50个题目里面的几个json问题。紧接着我询问你有没有其他方式更换4位数字。它在一顿尝试使用shell、脚本、node、python得到各种报错后,和我说PowerShell就是垃圾,太复杂了。咱还是不要动文件了,直接改前端显示页面吧。

随后又修改前端代码解决顺序问题。由于题目增加,页面左侧题目变长,我询问该如何处理,它给出了一些列处理办法。

小孩子才做选择,当然是全都要了。这次修改倒是挺快,完成后页面像这样。

终于有点像样了。今天就折腾到这吧,顺便查了下token用量,好家伙,一晚上直接干掉3千万。所以说养虾有风险,入行需谨慎。

项目地址:https://github.com/makumo/cpp_practice_website/ 有兴趣的可以去围观

从零开始用AI搓网站(二)