文/简五
这几天花了几天时间,把三个Agent拿出来做了不少测试。
一是DScode。我让它帮我生成了一个网页端小游戏。因为想让X女士来我这里玩游戏,起名就叫“徐家花园保卫战”。玩法是用向日葵生产阳光,用阳光生产坚果墙、三花猫豌豆射手、鸭子寒冰射手,因为我觉得她可能喜欢三花猫和鸭子。
我简单写了游戏需求说明,主要包括两个界面及简单功能、植物角色与僵尸角色、生产阳光、阳光造射手、射手打僵尸、阳光生产数量和僵尸消耗值等,最后要求模型按照我的要求和软件开发规范,先提交需求技术规范书、技术开发说明与使用说明。这是关键的两步:按标准软件开发流程,先明确需求,再生成需求技术规范、开发说明和使用手册。
为了保证Token消耗可控,就做成类似《植物大战僵尸》的简易版:一个启动页面,一个游戏页面。大概花了30分钟,游戏完成了,但有些小BUG。首先是操作面板上的字因为排版问题看不见;其次是游戏界面面积太小;再次是背景音乐与音效需要调整;最后是僵尸出现时间要优化。起初射手还没就位,僵尸就呼呼啦啦全出来,难度太大,后来做了优化。全部优化我没有自己改代码,完成之后试玩了两把,感觉还不错。这里多数问题属于前端布局、资源加载和游戏参数配置问题,属于普通软件BUG和Agent工程实现问题,不宜都归为“模型幻觉”。
二是DSH。为了验证DSH与DScode的生成效果差距,我把上个项目的需求技术规范书拿过来,直接让它生成。因为未来想给X女士玩,我要求模型把三花猫射手与鸭子射手好好设计。早先三花猫是尖嘴巴,鸭子射手看着像公鸡,改了一版再次生成,效果很好。然后同样调整了操作面板与游戏界面,但后来发现它竟然用了上一个游戏的目录。只能重新新建目录、重新生成,这下终于没有之前的问题。从效果上说,在本次输入和预算下,DSH生成的游戏界面更好看、改动也比较少,但程序有BUG:游戏结束后如果不重启,会卡在最后结束的一帧。最后我把要求给DSH,它重新优化,解决了这个BUG。这个更像游戏状态机和结束事件处理问题,不是模型“幻觉”。
小游戏完成后,我兴冲冲给X女士发信息,告诉她我开发了一个小游戏,本意是邀请她试玩,但她没回应,有点扫兴。
三是WorkBuddy。这个Agent是腾讯做的,今年2月上线,据说功能非常强大。我就想给它一些文档开发任务。想起我的微信公众号文章好久没更新,于是先把它自带的公众号专家配置好,再配置公众号后台相关工具和接口,使它能够辅助修改公众号草稿,尽量减少我的干预、减轻写作工作量。这里更准确地说,是“辅助生成和编辑草稿,经人工审核后发布”,而不是完全无干预地自动修改已发布内容;API Key权限、账号安全和审核环节也要控制好。
WorkBuddy用了自动模型路由模式,它先看了我所有文章,建议把5月底文章拆成10篇,其中4篇先完成初稿全文,后面6篇先列内容总结,等待后期再写全文。拆完后开始修改第一篇,我发现它竟然要把新华社的观点矛盾列在文章里,气得我质问大模型,批评它犯了红线错误。它也改正了,并把这一点写进它的长期记忆配置里。这里要说明,写入memory通常是产品层的长期记忆或项目记忆,不是模型参数永久更新,仍可编辑、清理和审计。我惊讶地发现,大语言模型竟然会犯这么低级的来源与合规核验错误。
后来一天,我叫它改第二篇,它没再犯上述红线错误,但在小观点上过度推理,还对我的两项修改提出质疑。我想到大语言模型竟然要质疑我,要是不说服它,恐怕它后续要犯错,就对它说它犯了逻辑扩大错误,并要求它首先考虑本国自媒体的表达边界。这里也要注意,立场要求应建立在事实准确、来源可核的基础上,不能变成选择性分析。它也接受了,后面改得比较快。最后用DScode分析这篇文章,内容分拿到85分。这个分数只能作为参考,LLM评分本身有偏差,最好配合评分标准、多模型评审和人工抽检。
后面,我还要求它顺手帮我做了一个25秒的表格式动画视频,配了电子合成音。虽然改了两版,勉强及格能用,但相比公众号与小游戏的完成质量与完成度,差距不小。
其实,我本来是想拿来学习Tools是什么、Skill怎么写、MCP怎么做的,结果却先把软件开发、文档写作、多模态开发试了一个遍,也学习了如何从GitHub上拉程序、安装插件。成绩方面,主要是学习了几种主流Agent,完成了从部署、API Key导入、插件及Skill安装、GitHub程序拉取等内容,顺带完成了几个小项目;但没能在IDE内辅助编程、结对调试、代码审查和单测这类“辅助编程”场景系统试手,是遗憾。前文的小游戏生成更偏向“自然语言生成应用”,和严格意义上的辅助编程还不是一回事。
从心态上说,我建立了对大语言模型及Agent的基本认知,包括部署、API Key导入、规范的软件开发流程、高效的公众号文章写作、简单多模态生成等,也实现了指导Agent完成任务。但同时,它中间的多次调整优化过程,也让我认识到:大语言模型及Agent会因为幻觉、推理偏差,或者工具调用、上下文管理、状态机实现等工程问题出错,有时甚至会出现关键性的原则错误。因此,必须对它的结果进行人工核验,或者用多重Agent模型交叉验证,并配合规则校验、自动化测试和人工签发。本质上,Agent及大语言模型是机器、是程序运行,它既不能取代人类去思考,也需要你熟悉任务所在领域的业务基础知识、熟练把握任务的规范制度,这样才能实现大语言模型或者Agent的完善与高效利用。