feat(backthink): 自主思考强化 P1——主会话上下文+owner env+去压制(design/20)
backthink 从"心跳空转(独立sess-backthink+写死nothing to report宏)"改成"看得见主人、 能读写记忆、能调工具":think 读主会话最近20条(history.Recent,倒序映射)作为上下文 + 重写引导prompt(温暖/有针对性/主动表达,删掉 Do not produce chat-style message) + 注入 loop.OwnerEnv(MemWritable=true/ActorOwner/全工具)。 - context.go: mainContext/recentProvider/thinkInput/guidancePrompt - thinker.go: LoopThinker 加 recent;Think 读主会话上下文+OwnerEnv+MutedBroadcast - wire.go: NewLoopThinker(a.loop, a.history) - 刻意偏离(安全): loop.Run session id 仍用 sess-backthink(不写"web"),避免与用户实时回合 checkpoint/中断窗口复用污染;上下文来源+运行环境=主会话/owner env,目标达成。红线靠actor元数据。 - 测试: prompt无压制/有鼓励;主会话消息映射;nil退化;端到端Think(owner env 生效) 验收: build/vet/test 全绿+windows/darwin交叉编译绿. P2(主动推送+渠道选择)后置.
This commit is contained in:
1 parent
44e7a5c2c5
commit
93aff2fea5
5 files changed
+360
-24
No files matched your search
+1
-1
@@ -495,7 +495,7 @@ func (a *app) wireAuxiliary() error {
|
||||
|
||||
bt, err := backthink.New(backthink.ConfigFromBackground(a.cfg.Background), backthink.Deps{
|
||||
Bus: a.bus,
|
||||
Thinker: backthink.NewLoopThinker(a.loop),
|
||||
Thinker: backthink.NewLoopThinker(a.loop, a.history),
|
||||
State: backthink.NewIoTStateProvider(iotMgr, a.log),
|
||||
DB: a.db,
|
||||
Log: logger.WithSource(a.log, "services/backthink"),
|
||||
|
||||
Reference in new issue
Block a user