[Bug] 「本地执行不可联网」提示按发言人权限 system prompt 中段,群聊共享会话里如果联网权限不同则会导致整轮缓存失效
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- backend, performance
Hướng nghiên cứu
Start by reading astr_main_agent.py's build_main_agent in v4.29.3, or astr_main_agent/computer_use.py's ## Execution policy in master, and trace where LOCAL_NETWORK_POLICY_NOTICE enters the prompt. The issue proposes moving speaker-dependent text to the current user message as temporary content or keeping the session prompt consistent. Done means alternating speakers in a shared group session no longer invalidates the prompt prefix cache; an open linked pull request indicates work is already underway.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
问题描述
环境:computer_use_runtime = local,管理员可联网、普通成员不可联网(默认)。群聊不开隔离对话(整个群共用一个会话),模型走 OpenAI 兼容接口(DeepSeek,自动前缀缓存)。
LOCAL_NETWORK_POLICY_NOTICE 只在「当前发言人可执行、不可联网」时追加到 system_prompt(v4.29.3 在 astr_main_agent.py build_main_agent 末尾;master 在 astr_main_agent/computer_use.py 的 ## Execution policy)。它的位置在 system prompt 中段,后面还有工具使用提示、workspace 说明等。
于是同一个群里管理员和普通成员交替发言时,system prompt 会在这句话处时有时无,从这里往后的 system 内容和全部历史都无法命中前缀缓存。
实测(同一群、同一会话,30 轮主模型请求):
- system prompt 只有两种:8326 字 / 8600 字,差的正好是这句提示;
- 同一类人连续发言、间隔较短时,缓存命中 96%~99%;
- 管理员与成员每切换一次,那一轮约 10 万 token 全部未命中,耗时从约 20 秒变为 30~150 秒。
相关:#10134 把这条提示从工具结果移进了 system prompt。私聊里发言人固定,所以不受影响;只有多人共用一个会话时才会出现。
建议:按发言人变化的内容不要放进 system prompt。例如放到当前用户消息末尾作为临时内容(mark_as_temp),这样不影响前面的缓存;或者对同一会话保持一致。
如何复现?
- computer_use_runtime 设为 local,保持普通成员不可联网(默认)。
- 群聊中不开启隔离对话。
- 管理员和普通成员交替 @ 机器人,对比两次请求的 system prompt,或查看服务商返回的缓存命中 token。
AstrBot 版本
4.29.3
操作系统
Linux
部署方式
Docker
使用的消息平台适配器
aiocqhttp
错误日志
无报错,表现为缓存命中率下降、响应变慢。
辅助信息
No response
检查清单
- Ngôn ngữ chính
- Python
- Star
- 46.4k
- Fork
- 3.4k
- Merge trung bình
- 1 ngày 11 giờ
- Pull request đã merge (30 ngày)
- 120
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của AstrBotDevs/AstrBot
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
AstrBotDevs/AstrBot#11038 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
AstrBotDevs/AstrBot#11034 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
AstrBotDevs/AstrBot#10999 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] OpenAI-compatible Gemini 工具 schema const 导致 400Có thể đã có người làm @arccat-114 đã nhận 17 ngày trước. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
AstrBotDevs/AstrBot#10720 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] Discord slash command sync aborts with KeyError when a plugin handler is defined in a submoduleCó thể đã có người làm @yuexia5 đã nhận 21 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
AstrBotDevs/AstrBot#10626 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của AstrBotDevs/AstrBot
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
volcengine/OpenViking#7347 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
duolicious/duolicious#1943 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
fedora-infra/anitya#2166 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
NVIDIA/auto-ontology#486 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 69/100
NVIDIA/SkillEvaluator#446 ·
Maintainer thường phản hồi trong vòng 2 ngày