SIGN IN SIGN UP

feat(pi-agent-core): harness/compaction 上下文压缩

对应上游 packages/agent/src/harness/compaction/compaction.ts。

落地内容(compaction.py,261 行):
- estimate_tokens / estimate_context_tokens:启发式 token 估算(chars/4),
  覆盖文本/思考/工具调用参数
- calculate_context_tokens:从 usage 提取已用 token(input + cache)
- should_compact:context_tokens 达 context_window 80% 时触发
- find_cut_point:从末尾向前累加找切割点,保留最近 keep_recent_tokens;
  避免切割点落在 toolResult(需配对 assistant)
- generate_summary:调用 LLM 生成对话摘要(序列化 → system prompt → complete_simple)
- compact:执行压缩(找切割点 → 摘要 → 返回 CompactionResult)
- CompactionSettings(enabled/reserve_tokens/keep_recent_tokens)
- _serialize_conversation:消息列表 → 可读文本

13 个测试覆盖:token 估算(string/list/tool_call)、context tokens、
should_compact(阈值/禁用/精确)、find_cut_point(基础/全保留/避 toolResult/空)。

验证:127 测试通过,mypy strict / ruff 全绿。

pi-agent-core harness 三大子系统(skills/session/compaction)全部完成。
J
Justin Gao committed
b0a8fb40a58bb991be0cb54c9300cdddead863c4
Parent: 20a53cc