前言
深入使用了几天astrbot,现在来讲一下我的心得 怎么让ai变得更生动同时兼顾帮助用户进行轻度任务的功能 在观看本教程之前,你需要准备:
- 已安装并配置好astrbot和napcat
- 一颗聪明的脑子用于独立解决问题
第一部分 提示词优化
我们的目标是让ai变得更像人,第一步是提示词,一个固定且良好优化的提示词是ai扮演像人的关键,让我为你讲述如何写好一个提示词(个人经验,可能有勘误)
首先,先来说我遇到的问题
- **ai的回复太长了,没有沉浸感,一下子输出一大堆文字直接就破功了
- ai没有自己的生活,她只会在你和她对话时活着。 你会发现她说的所有事都是你说过的,不像是一个真实的人。 如果你在人格提示词中写了一个示例事件,你会发现她只会说那几件事情,不会自己想。
- 如果你想要分享视频给她,她看不了。 我试过加插件,但是我发现,这样也不行,因为插件的逻辑这样的: 你→工具,工具返回视频分析的结果,可是,我感觉我在跟一个解析工具说话我想要的是 扮演的人对这个视频的反应。和我,和这个视频的共鸣。不是那个冰冷的视频分析结果 其他类似的插件也是一样,是我<->工具,而不是我<->她
我的解决(缓解)方法
首先,官方的模型它不是光用来当电子女友的,所以如果有人类的数据(聊天记录),会更容易,写出更好的提示词同时也会极大的缓解”没话说,回复太长的问题“ 因为当你把上下文注入的时候,ai会模仿人类的说话方式,自然回复就短了,就更像人了
如何获取微信聊天记录
这里推荐一个工具{hicccc77/WeFlow: WeFlow - 一个本地的微信聊天记录导出和年度报告应用} weflow 可以导出微信聊天记录 如果可以给这个项目点个star吧
- 下载
点击旁边的Releases
下载适合你电脑的版本 - 按照向导获取好密钥
- 然后在手机微信导入聊天记录到电脑微信 我 -> 设置 -> 聊天记录管理 -> 导入与导出 -> 导出到电脑
- 导出对应的聊天记录即可
其次,可以将精简之后的聊天记录导入到记录系统 ,可以优化ai的回复长度和更好的模仿人类情感 ,可以让ai自己精简聊天记录和导入到记忆插件里面
最后,在提示词方面要求“自然”和回复简短。把导出的聊天记录放在ai可以操作的目录下。 让ai自己进行总结和写人格提示词(因为如果用ai的网页版,上下文长度不够,对话有长度限制,但是astrbot里可以一段一段读)
还有一点,改善插件的机制
让插件的逻辑从 我 -> 工具 -> 我 变成 我 -> 工具 -> ai -> 我 其实很简单,让ai自己写个skill,截获工具的回复,发给ai,然后ai再回复
第二部分 插件
插件是丰富astrbot功能的重要组成部分,以下是我正在使用的几款插件

记忆
记忆插件是很重要的,ai在聊天的过程中通过记忆可以更了解你的习惯,以及她自己的背景信息。会使回复更有感情。同时可以记住你
有很多的记忆插件,我用的是Memorix,它们的原理都是类似的,但是由于我已经有了很多记忆在Memorix里面,所以已经不好切换了

接下来是有关Memorix的我个人配置建议
- 作用域隔离模式
看情况填,我是全局 - 向量嵌入,这个很重要,会影响记忆的质量。
最好打开使用远程向量服务,然后填一个其他的向量模型,这里我用的是硅基流动的千问embedding模型,向量模型调用量不大,所以也比较便宜
白嫖couldflare的embedding模型教程
如果不想为此付费,可以使用大善人的workers ai白嫖
- 打开couldflare注册且登录一个账号
点击右上角账户图标,再点击配置文件
点击API令牌
右上角,点击创建令牌
在模板中选择worker AI
在账户资源中选择所有账户
向下滑,点击继续以显示摘要
点击创建令牌
复制并保存好这个令牌(上图中的令牌已删除)
在这里复制你的账户id并妥善保存- 最后在Memorix配置界面的embedding模型配置中这样填
API Key 填你保存的cloudfare令牌 API Base URL 填写 https://api.cloudflare.com/client/v4/accounts/[这里替换成你保存的账户id]/ai/v1 (要带上方括号一起替换) Embedding 模型名称 填 @cf/qwen/qwen3-embedding-0.6b- 然后就没有什么要改的了,可以把内嵌web ui打开,看看ai的记忆结构以及微调
防抖动
防抖动是为了优化使用体验,避免你想发多条消息却发现ai已经回复的情况(最常见于同时发图片和文字的时候)

分段回复
这个插件也有很多人做,按自己喜欢用就行,主要是优化ai的回复。
减少一回一大段的情况,更加自然

视频
我想要她能看懂B站视频,所以加了个视频解析插件(biliVideo 视频总结),再让她自己写个skill就可以用了

第三部分 subagent
因为我会让她帮我做一些事,可是当她干活时,会对记忆和上下文造成污染,也可能会导致注意力偏移。于是,我使用subagent(子代理)功能,让她把任务分发下去,减少上下文和记忆的污染
如何设置?
- 先打开启用subagent编排
- 点击创建subagent,给subagent创建单独的人格,以及只勾选需要的工具和skill 人格的编写和”对LLM的描述“可以交给ai来写 #注意:要按上下文来分,不是模仿人类的组织架构,需求要清晰 3.保存