工作笔记-CodeBuddy应用探索

概述

最近由于工作需要的关系,使用了腾讯的CodeBuddy(CB),感觉还不错,也觉得有很多值得分享的内容,遂有本文。

先来列举一下笔者选择和推荐CB的理由:

  • (真)简单易用

基本上就是安装后简单的使用微信认证后就可以开始工作了。不需要特别其他的配置,如账号、支付、API KEY、平行世界网络、插件等等,对于初学者和懒人是非常友好的。而且对于中文的支持也比较好。

  • 能力尚可,效率较高

笔者使用的体验是,系统的响应速度,模型能力都还不错,这对于频繁和重量化的使用是非常重要的。比如笔者原来使用的VsCode with copilot,虽然也很不错,但由于你懂得的限制,效率实在是比较低。

  • 成本优化

笔者的环境,安装后就可以使用了,不需要购买Token配额,好像它也有一定的免费额度。当然肯定也有付费的能提供更好能力和服务的版本,而且没有支付条件的限制,对于中国用户是非常方便的。

  • 功能完善

支持Craft、Chat、Build等多种工作方式。其他热门相关技术的MCP、Skills等等都有比较完善的支持,其生态系统中也提供了多种工具和模型可以选择。

  • 鲁棒性

这是笔者在使用过程中体会出来的。这个系统的健壮性比较好,很少出现由于集成和网络造成的系统卡死。即便遇到问题,它也会自行尝试查找并实施解决方案,而且在大多数情况下都能顺利解决。这和笔者在以前使用的其他系统(Claude Code, Antigravity, Copilot....)有很大改进。当然笔者也理解这可能不是技术本身的问题。

安装和配置

CB的官方网站是:

腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴

它有很多相关产品,我们这里可以先尝试最基础和简单易用的IDE工具。它基本上就是一个VSCode的内置AI配置的扩展版本,所以安装和使用的方式和标准的VSCode也没有太大的区别。

笔者使用Windows系统,选择的也是国内的中文版本。网站提供的连接可以直接下载一个Windows平台的IDE安装程序,直接执行就可以完成安装过程。

安装后的可执行文件程序名为: CodeBuddy CN。

安装完成后,软件会提示进行认证,这时可以简单的使用微信扫码认证即可。

用例

为了评估CB,笔者设计并测试了一些简单的使用案例,大多都和日常具体工作相关,下面列举出来如何操作和使用,读者也可以根据这些内容,结合自己的工作进行尝试和改进。

开场白

CB软件启动运行后,就进入了开发者非常熟悉的VsCode IDE窗口。一般情况下会直接启动一个带有CodeBuddy面板的窗口(右侧),其实在这个时候,就可以开始工作了。和普通的AI Chat软件类似:

比如,我们可以提一个经典的哲学问题,来确认一下CB是否可以正常工作。

js 复制代码
你谁啊?

我是 AI 编程助手,由 Auto 驱动,专门帮助你完成编程任务。

我可以帮你:

编写和修改代码
调试问题
搜索和理解代码库
部署项目
解决技术问题
有什么我可以帮你的吗?

这当然也是所有AI Chat最常规的场景,但作为更强大的AI工具,和以前的系统的最大的不同在于它可以在一个"环境"中展开工作来完成更复杂和有效的工作,这是我们就可以使用一个项目文件夹来创建和承载这个工作环境。这和普通代码编程工作中的项目基本上相同的概念。

这个操作,可以在菜单中的文件-打开文件夹,然后选择一个工作文件夹就可以实现,然后这个文件夹,就可以作为CB当前工作的上下文环境了。

CB对于skills的支持比较好,这也是其相比于早先的Chat工作模式有很多改进和优化的方面,所以下面我们的主要工作方式就是:

  • 先创建一个关于任务的Skill
  • 然后基于这个Skill来完成相关任务
  • 由于Skill是可以复用的,所以后续可以通过调整Skill和加入参数化的提示词调用Skill来完成类似的任务

笔者理解的Skill,就是一个标准化的Prompt(提示词),它可以将AI会话标准化完善化,从而提高AI处理的质量和准确性,而且可以支持更好的任务自动化。

下面笔者结合自己的应用情况,例举一些实际的应用场景。

网络检索分析

这个任务基本上就是替代网络搜索,但加入了更加专业和全面的内容分析。

  • Skill定义

请帮我写一个中文的skills文件,可以按照关键词或者标题搜索网络并访问页面,解读页面中文章的内容,生成解读和要点报告

可以看到,提出要求后,CodeBuddy开始工作,而且它也会简单的提示其工作思路和内容。工作完成后,它将在当前工作空间中,生成一个标准的skill定义文件夹,里面包括了skill定义和如何使用的相关信息。 甚至我们都不用自己给这些skill命名,CB会根据任务内容自己找一个合适的名字(本例中是: web-search)。而且这些都是自动生成的。作为用户,我们可以暂时不用关心里面的具体内容。

Skill定义好之后,我们就可以用更简单的方式来使用它了,只需要简单的提到它就可以。

  • Skill使用

我们继续在CB面板中,发出指令:

要搜索的文章是: 《教育部: 将有序推进中考改革.....》,请使用文章分析skills处理

  • 交付结果

如果认真观察CB的工作流程,我们可以发现,在一连串操作之后,CB最终会交付一个工作成果,并进行简单的总结,这确实是要比自己去搜索,然后阅读理解更方便了!

这里笔者主要展示工作原理和过程。但还是觉得需要提示,在实际的工作中,要特别注意AI系统的幻觉问题,需要认真核查交付内容,并不断改进Skill内容来优化过程和结果。比如可以在提示中,强调需要参考多个信息来源,在交付结果中提供并验证原始链接等等。这就不是本文重点要讨论的问题了。

文档处理

我们再来看一个文档处理的用例。任务的内容是让AI去阅读一个杂志,然后提取内容目录和用户关心的问题。

在这个任务中,笔者甚至没有明确的定义这一任务的Skill,而是直接使用了指令:

  • Skill应用

请阅读 docstore文件夹中的 上帝为什么造四川杂志,提取文章目录和摘要,并提取其中提到的人物和简介,生成报告格式为md

认真观察CB执行这一任务的过程,我们会发现,它会尝试很多不同的方法来完成这一任务。包括安装了很多Python相关的工具,甚至编写了简单的Python代码和Shell指令等等。

最后确实也生成了一个看起来非常专业和完善的解读报告:

在真实工作环境中,如果需要固化这一工作流程,应当定义和优化相关的Skill。

系统运维

上面的两个示例,还是主要在知识管理方面的工作,下面来探讨一下其在技术场景中的使用。

笔者有一些远程的Linux主机,希望有一个工具方便对其进行状态查询和分析,并且能够将这一工作自动化。原理这些工作,都是非常专业的,需要通过工具和编写脚本来完成。现在我们可以将自己想象成为一个"不懂技术细节"的运维人员,也需要完成类似的任务。

笔者的操作如下:

  • Skill定义

请帮我写一个中文skill文件,可以使用ssh 连接远程linux服务器,并获取主机的主要配置信息和运行状态

  • Skill应用

请使用远程主机skills,查询配置信息和运行状态, 主机是 yanjh@1921.68.10.201,密码是:xxx

这个过程其实并不顺利,它在处理远程系统的连接过程中,遇到了一些麻烦。因为它需要编写一些python代码来完成这些任务,由于默认执行环境的差异,这些代码无法正常运行(Windows vs Linux)。这对于经验比较丰富的运维人员而言,会经常遇到,解决起来也不是太复杂。但比较神奇的是CB和其后面的模型平台,可以通过这些错误信息,自行分析这些问题并查找处理方案,稍微反复了一下,后来还是解决了。

  • 交付结果

SSH连接的问题处理完成之后,后面的操作是比较顺利的,也生成了比较令人满意的报告。

数据和信息提取

这个任务更高级一点,也更加实用。

笔者公司的运营团队,经常会需要获取一些生产经营的数据。传统方式是请求技术团队开发系统相关的报表功能,或者手动查询提取数据。因为这需要对于数据库结构和SQL语言的编写有相当深入的了解。这样就造成很多工作量和对开发过程的影响。

现在我们可以尝试使用AI来优化这些工作。笔者的实践过程如下。

  • Skill定义

再帮我写一个连接postgres数据库,进行简单数据提取和分析的skill

为了方便管理和使用,笔者还编写了一个指令文件(task.md),来简化指令过程。

js 复制代码
注意只使用查询模式,不能修改数据!!!!!

请使用下列设置和数据库访问skill,统计一下食堂视频接入的点位,和地区分布

数据库地址是: 192.168.10.120
数据库用户名: postgres
数据库密码:  somepassword
数据库名称: diningroom
  • Skill应用

就更简单了:

请执行task.md中的任务

  • 结果交付

交付的结果,其实也是比较令人满意的。

在过程中,可以看到,笔者为了验证和测试这一流程,其实故意没有提供更细节的信息,比如数据库结构如何定义,数据库表和字段的意义等相关信息。但模型还是依靠其强大的分析和理解能力,根据能够获取的信息,像一个真正的数据库专家一样,找到了自己需要的信息。从而验证了笔者的想法。就是可以通过AI,来优化运营工作的过程,为技术团队减负。

程序编写

其实,由于技术架构和原理的关系,现有的LLM模型,最擅长的领域,其实就是编程了。

笔者这里也不举经典的贪吃蛇作为示例了,其实那有押题之嫌。

下面笔者以一个简单的实际工作场景和需求为例,简单说明其操作过程。这个过程其实没有一定之规,主要是通过和CB交互来实现的。

  • 提示信息
js 复制代码
请帮我编写一个bun ts 程序,可以访问指定的网络页面,截取完整屏幕内容到图片,并将其页面内容保存到文本文件中,最后对文本文件的内容进行翻译
使用的技术如下:
- bun作为执行环境
- js作为编程语言
- puppeteer作为浏览器自动化工具
- 尽量少用依赖
  • 指令信息

执行,使用这个地址 news.baidu.com/

  • 交付

交付结果如下:

程序确实顺利的编写并且正常运行了。网页也能够正常访问、截屏和内容获取。但由于系统集成的问题,这个代码无法正常访问翻译API(代码中的设置)。但好像它还是想办法利用LLM模型自身的能力执行了翻译的过程。

js 复制代码
程序已完全按照要求实现了:

✓ Bun 执行环境
✓ TypeScript/JavaScript
✓ Puppeteer 浏览器自动化
✓ 网页截图(完整页面)
✓ 内容提取并保存文本
✓ 文本翻译(支持中英互译)
✓ 最少依赖(仅 puppeteer)
您可以使用 bun run index.ts <URL> 来抓取和翻译任何网页!

但笔者查询其生成的代码后发现,虽然确实能够运行。但其实代码并不算简洁清晰,稍显繁复,而且有的地方的注释也不够清晰直观,影响后续人工的理解和优化。因为现阶段,大多数负责任的开发者,还是希望能够相对理解系统的工作原理和流程,而不是完全将其寄托在AI之上。

一些感想

在探索了上述使用场景和案例过后,笔者对于CodeBuddy包括AI有了一些相关的感受和感想,这里和读者分享一下:

  • 现在的AI平台已经足够强大,来深入到广大知识工作者的日常工作,可以大幅度提高效率,减轻负担
  • 但AI能力的发挥,和用户的理解和认知也有很大关系,配合的越好,能力和发挥越好
  • 由于原理和材料的限制,对于事实性要求比较高的场景,还是要注意检查和验证
  • 对于AI技术,既不用迷信,也不要轻视,要主动实践,提升自己,多考虑如何和现实和具体工作的结合
  • 知行合一,实践出真知!!

小结

本文探讨了笔者应用腾讯CodeBuddyAI工具软件应用到日常工作内容的相关探索。讨论了其在网络内容搜索分析,本地文件处理,IT系统运维,运营数据提取分析,代码编写等多个场景中的实践,应当对读者的工作有所启发的帮助。

相关推荐
可乐鸡翅yeah_几秒前
hls.js 内存泄漏实战排查,直播 M3U8 长时间播放异常定位方案
开发语言·javascript·python·django·ecmascript·m3u8·m3u8在线
可乐鸡翅yeah_6 分钟前
第三方接口对接 M3U8 流媒体排坑实战,解决外部服务商流兼容难题
前端·javascript·python·django·html·m3u8·m3u8在线
默_笙33 分钟前
🏠 「LLM Notes」:我用 Next.js + Redis 给自己造了个笔记博客
前端·javascript
墨雨晨曦881 小时前
RAG 知识库
ai编程
ruanCat2 小时前
Prettier 明明执行成功,Markdown 为什么还是没变?一次插件误诊复盘
前端·javascript·node.js
软件开发技术深度爱好者2 小时前
在线学习实践 TypeScript 的官方Playground(演练场)使用介绍
javascript·学习·typescript
全栈弄潮儿3 小时前
AI 生成的代码为什么会“看着对,其实错”
aigc·openai·ai编程
潘锦3 小时前
AI 时代,让自己慢下来
ai编程
小磊哥er4 小时前
深入解构Claude Code - 第 5 篇 · 每次提问都给 AI 塞了什么资料
javascript·ai编程