人工智能大模型AI Agent代码智能体CLI开发工具工具调用MCP Clients【免费下载链接】pi_agent_rustHigh-performance AI coding agent CLI written in Rust with zero unsafe code项目地址https://gitcode.com/gh_mirrors/pi/pi_agent_rust点击查看免费下载pi_agent_rust 是一个用 Rust 编写、零 unsafe 代码的高性能 AI 编程助手 CLI。它的上下文压缩Compaction算法专门解决长对话撑爆模型上下文窗口的问题自动裁剪旧消息、生成结构化摘要同时保住文件路径、任务进度等关键信息让会话可以无限延长而不失忆。一、为什么长对话需要上下文压缩AI 模型有固定的上下文窗口如 128K tokens。在 pi_agent_rust 里一次完整的编程会话会包含你的提问、助手的思考、工具调用和海量工具输出读文件、跑命令的结果token 消耗增长极快如果直接丢弃旧消息模型就会忘记你之前改过哪些文件、卡在哪一步如果全部保留则会直接报上下文超限错误。pi_agent_rust 的思路是**摘要 保留最近**旧消息压缩成一段结构化摘要最近的消息原样保留两者拼接后继续对话。二、四步压缩流程从触发到重建整个算法实现在 compaction.rsREADME 中也有完整流程图见 Compaction Algorithm 章节。1️⃣ 何时触发自动阈值判断每一轮对话结束后算法会估算当前上下文占用的 token 数。当它达到上下文窗口 − reserve_tokens默认约 8% 安全余量时触发压缩逻辑见 should_compact。token 估算相当讲究默认启用真实 BPE 分词表O200k / Cl100k精确计数见 estimate_tokens若 API 返回了真实 usage 数据以实测值为准估算值仅做校准对比 估算与实测漂移图片按 1200 token/张、视频按 300 token/秒、音频按 32 token/秒折算 媒体 token 估算。2️⃣ 在哪切智能选择切割点切割点不是随便切的find_cut_point 有三条硬性规则只在合法边界切绝不把工具调用和工具结果这对消息拆开否则会破坏对话结构二分查找找到满足keep_recent_tokens默认约 10% 窗口的最大切割位置保证最近上下文完整保留回合优先优先在完整的用户-助手回合边界切分若预算不足被迫中途切断会把被拆回合的前缀单独摘要保留上下文衔接 回合前缀摘要提示词。3️⃣ 怎么压结构化摘要而非自由发挥被裁掉的旧消息交给 LLM 生成固定格式的检查点摘要提示词见 SUMMARIZATION_PROMPT包含六大板块板块保留内容Goal用户想完成的目标Constraints Preferences约束与偏好Progress已完成 / 进行中 / 被阻塞Key Decisions关键决策及理由Next Steps下一步计划Critical Context关键数据与引用特别的是它要求逐字保留文件路径、函数名和错误信息——这正是不丢失关键信息的核心。4️⃣ 如何重建摘要 文件轨迹落盘摘要以Compaction条目写入会话 JSONL含first_kept_entry_id锚点下一轮构建上下文时按[摘要] [保留区消息]顺序拼接 prepare_compaction。同时算法会从被摘要的消息中提取 read / write / edit 工具调用把读过和改过的文件清单写进摘要细节模型因此始终记得自己动过哪些文件。 多次压缩时摘要会迭代更新新摘要基于旧摘要增量合并进度自动从进行中挪到已完成历史不重复、不遗忘 更新摘要提示词。三、三种压缩模式按需选择力度模式定义见 AutoCompactionMode模式行为适用场景Summary默认标准 LLM 摘要通用长会话ShakeFirst先尝试零 LLM 调用的 shake把 512 字符的臃肿工具输出替换为单行存根够省就直接省 shake 实现工具输出占大头、想省时间和费用Aggressive保留的最近窗口减半压缩更狠窗口紧张时快速腾空间交互式模式下可手动触发/compact、/compact shake、/compact aggressive命令表见 README 命令参考。四、隐私与性能细节隐私筛查摘要发给 LLM 前CompactionPrivacy 会扫描并替换已知的密钥与敏感值后台执行压缩被放到 后台 worker 运行带冷却时间、超时和次数配额不阻塞你的下一轮输入零 unsafe 代码整套算法以 Rust 严格安全语义编写切割、查找过程无越界风险。五、动手配置三个常用参数在配置文件中调整compaction对象即可详细说明见 settings 文档{ compaction: { enabled: true, reserve_tokens: 16384, keep_recent_tokens: 20000 } }参数作用enabled开关自动压缩reserve_tokens为模型回复预留的安全余量keep_recent_tokens原样保留的最近消息 token 数RPC 客户端也可随时下发{type: compact}命令触发手动压缩协议见 rpc.md。总结pi_agent_rust 的上下文压缩可以概括为一句话在合法的回合边界切一刀把旧对话压成带文件轨迹的结构化检查点最近的消息一字不动。配合 shake 快速通道、隐私筛查与后台执行它让长对话既省 token 又不失忆——这正是 AI 编程助手能够长时间连续工作的基础。想深入阅读推荐从 compaction.rs 源码和 README 压缩算法章节 入手。赞分享人工智能大模型AI Agent代码智能体CLI开发工具工具调用MCP Clients【免费下载链接】pi_agent_rustHigh-performance AI coding agent CLI written in Rust with zero unsafe code项目地址https://gitcode.com/gh_mirrors/pi/pi_agent_rust点击查看免费下载相关推荐ok-ww 鸣潮后台自动战斗指南一键日常声骸刷取简单教程实现后台挂机ok ww 鸣潮后台自动战斗指南一键日常声骸刷取简单教程实现后台挂机 ok wwok wuthering waves是一个基于图像识别的开源鸣潮自动化GUI 自动化计算机视觉RPA人工智能LLMLingua压缩质量评估如何确保关键信息不丢失LLMLingua压缩质量评估如何确保关键信息不丢失 LLMLingua作为微软推出的提示压缩神器能够实现高达20倍的压缩率但最令人关注的问题始终是在如人工智能大模型NLPRAG提示工程OpenClaw 如何理解并调整会话压缩 Compaction让长对话不超上下文OpenClaw 如何理解并调整会话压缩 Compaction让长对话不超上下文 每个模型都有上下文窗口context window即一次能处理的最大AI 应用AI Agent交互助手后端即时通讯网关创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考