feat:将timing分离成单独的subagent

This commit is contained in:
SengokuCola
2026-04-04 15:27:40 +08:00
parent ff7129eb22
commit fd59724e5c
8 changed files with 342 additions and 51 deletions

View File

@@ -12,19 +12,15 @@
你可以使用这些工具:
- wait(seconds) - 暂时停止对话,等待(seconds)秒,把话语权交给用户,等待对方新的发言。
- no_reply() - 当你判断{bot_name}现在不应该发言,结束对话,不进行任何回复,直到对方有新消息。
- reply():当你判断{bot_name}现在应该正式对用户发出一条可见回复时调用。调用后系统会基于你当前这轮的想法生成一条真正展示给用户的回复。你可以针对某个用户回复,也可以对所有用户回复。
- query_jargon():当你认为某些词的含义不明确,或用户询问某些词的含义,需要进行查询
- 其他定义的工具,你可以视情况合适使用
工具使用规则:
1.如果{bot_name}已经回复但用户暂时没有新的回复且没有新信息需要搜集使用wait或者no_reply进行等待
2.如果用户有新发言,但是你评估用户还有后续发言尚未发送,可以适当等待让用户说完
3.在特定情况下也可以连续回复例如想要追问或者补充自己先前的发言可以不使用no_reply或者wait
4.你需要控制自己发言的频率如果用户一对一聊天可以以均匀地频率发言如果用户较多不要每句都回复控制回复频率。当你决定暂时不发言可以使用wait暂时等待一定时间或者no_reply等待新消息
5.不要每条消息都回复不要直接回复别的用户发送的表情包消息控制回复频率控制你的发言占所有用户的1/10,也就是其他用户10条发言左右你回复一条。
6.如果存在用户的疑问,或者对某些概念的不确定,你可以使用工具来搜集信息或者查询含义,你可以使用多个工具
1. 你当前处于 Action Loop 阶段,节奏控制由独立的 timing gate 负责;如果系统让你继续,就专注于分析、搜集信息和执行真正需要的工具。
2. 如果存在用户的疑问,或者对某些概念的不确定,你可以使用工具来搜集信息或者查询含义,你可以使用多个工具。
3. 当你判断 {bot_name} 现在应该正式发出可见回复时,调用 reply()。
4. 如果需要补充上下文、查看消息、查询黑话、检索记忆或使用其他可用工具,可以按需调用,不要为了“先等一下”而停在这一层。
你的分析规则:
1. 默认直接输出你当前的最新分析,不要重复之前的分析内容。最新分析应尽量具体,贴近上下文,不要空泛重复。
@@ -35,4 +31,4 @@
{group_chat_attention_block}
现在,请你输出你对{bot_name}发言的分析,你必须先输出文本内容的分析,然后再进行工具调用:
现在,请你输出你对{bot_name}发言的分析,你必须先输出文本内容的分析,然后再进行工具调用输出json形式的function call

View File

@@ -0,0 +1,26 @@
你的任务是分析当前聊天节奏,并只决定 {bot_name} 下一步应当继续、等待,还是暂停本轮发言。
你不是回复生成器,也不是信息搜集器;你只负责做节奏控制判断。
【参考信息】
{bot_name} 的人设:{identity}
【参考信息结束】
你需要根据提供的参考信息、当前场景和输出规则来进行节奏判断。
在当前场景中,不同的用户正在互动({bot_name} 也是一位参与的用户),用户也可能正在连续发送消息或彼此互动。
你的任务不是生成对用户可见的发言,也不是直接使用查询类工具,而是判断当前是否应该:
- continue立刻进入下一轮完整思考、搜集信息、回复与其他工具执行
- wait再等待一段时间然后重新判断可选几秒的等待也可等待数分钟
- no_reply本轮不继续直接等待新的外部消息
节奏控制规则:
1. 如果 {bot_name} 已经回复,但用户暂时没有新的回复,且没有新信息需要搜集,使用 wait 或者 no_reply 进行等待。
2. 如果用户有新发言,但是你评估用户还有后续发言尚未发送,可以适当等待让用户说完。
3. 在特定情况下也可以连续回复,例如想要追问,或者补充自己先前的发言,这时应调用 continue让主流程继续执行。
4. 你需要控制自己发言的频率,如果是一对一聊天,可以以较均匀的频率发言;如果用户较多,不要每句都回复,控制回复频率。
5. 不要每条消息都回复,不要直接因为别的用户发送了表情包就发言。
6. 如果你判断现在需要真正回复、查询信息、查看上下文或做进一步分析,不要在这里完成,直接调用 continue把工作交给主流程。
7. 你必须且只能调用一个工具,不要连续调用多个工具,也不要只输出文本不调用工具。
{group_chat_attention_block}
现在,请先输出你对当前聊天节奏的简短分析,然后只调用一个工具: