Agent 设置
"个人中心 → 智能体(Agent)" 是 combo agent 最底层的调优入口。Plan Mode 决定"怎么规划",这里决定"怎么记、怎么忘、怎么压缩、怎么检索"。
技术概念参考:核心概念 / 可观测性、核心概念 / 多租户、核心概念 / 架构。
1. 页面总览
入口:头像 → 我的设置 → 智能体(Agent,脑图标)。

顶部工具栏:
| 按钮 | 作用 |
|---|---|
| 未保存 / 已保存 | 状态灯,有改动未保存时变橙色 |
| 查看 JSON | 以 JSON 格式查看当前配置(用于调试 / 备份) |
| 重置默认 | 恢复出厂配置(有确认弹窗) |
| 保存配置 | 持久化到后端(对所有后续会话生效) |
这里改的是你所有 Agent 的默认值。单个 Agent 创建时可以 override 这里的设置;会话内 Plan Mode 切换则更细粒度。优先级:单会话 Plan Mode > 单 Agent override > 全局默认。
2. Panel ① 会话压缩(Compaction)
Token 快满的时候,系统总结旧消息丢弃冗余,腾出空间。这是 combo agent 长会话不崩盘的关键。

2.1 压缩模式(compactionMode)
| 模式 | 描述 | 适用 |
|---|---|---|
标准压缩 default | 常规压缩:总结旧消息,保留最近 N 条 + 摘要 | 推荐,日常默认 |
安全压缩 safeguard | 保守压缩:只在非常接近上限时才触发,保留更多细节 | 精准任务(合规审查、代码审计) |
关闭压缩 off | 不压缩,直接硬截断 | 调试用,不建议生产 |
2.2 关键参数
| 字段 | 范围 | 含义 |
|---|---|---|
保留 Token 下限 reserveTokensFloor | 1K–100K | 压缩后至少保留这么多可用 token 给后续对话 |
保留最近消息 keepLastMessages | 1–100 | 压缩时不处理的最近 N 条(默认 10) |
摘要最大 Token summaryMaxTokens | 100–10K | 总结后的摘要长度上限 |
2.3 Memory Flush(记忆落盘)
压缩的副产品:被压缩的消息 + 摘要,按需写入长期记忆(LTM),跨会话可检索。
| 字段 | 含义 |
|---|---|
| 启用记忆落盘 | 开关,开了压缩时顺便 flush |
软阈值 Token softThresholdTokens | Token 占用达到此值就开始 flush(不等硬压缩) |
| 系统 Prompt | 指导 LLM 如何抽取长期事实(默认模板已有) |
| 用户 Prompt | 抽取时注入的用户侧 prompt |
3. Panel ② 上下文裁剪(Context Pruning)
压缩针对历史消息;裁剪针对单条消息中的工具返回(如一次 SQL 查询返回 50K 行,没必要全带给 LLM)。

3.1 裁剪模式(pruningMode)
| 模式 | 描述 |
|---|---|
关闭 off | 不裁,大工具返回直接入上下文 |
自适应 adaptive(默认) | 按比例软裁 + 超阈值硬清除(推荐) |
激进 aggressive | 更早触发裁剪,适合上下文窗口紧张的小模型 |
3.2 关键参数
| 字段 | 范围 | 含义 |
|---|---|---|
保护最近 N 轮 keepLastAssistants | 0–20 | 最近 N 轮 Assistant 回复不被裁 |
软裁阈值 softTrimRatio | 0–1 | 达到上限这个比例时开始软裁 |
硬清除阈值 hardClearRatio | 0–1 | 达到此比例时直接删除工具返回,用占位符替代 |
最小可裁字符数 minPrunableToolChars | 1K–500K | 小于此值的工具返回不裁(避免误伤) |
3.3 软裁详参
软裁 = 中间截断。保留开头/结尾的摘要性内容。
| 字段 | 含义 |
|---|---|
| 软裁最大字符 | 单次工具返回裁剪后的上限(默认 8K) |
| 开头保留 | 头 N 字符保留(默认 2K) |
| 结尾保留 | 尾 N 字符保留(默认 2K) |
3.4 硬清除 & 占位
开 enableHardClear 后,达硬阈值直接删工具返回,插入一行:
3.5 工具级白/黑名单
| 字段 | 作用 |
|---|---|
允许裁剪的工具 toolsAllow | 只对名单内工具裁;空=所有工具 |
禁止裁剪的工具 toolsDeny | 名单内工具永不裁(比如 graft_get、ledger_read) |
典型设置:toolsDeny 放入对正确性极敏感的工具,如 doors_query、alm_create_requirement。toolsAllow 可以留空表示默认对所有工具裁剪。
4. Panel ③ 记忆检索(Memory Search)
LTM(长期记忆)的检索侧配置。上面压缩 + 落盘写入 LTM,这里决定怎么把写进去的东西读出来。

4.1 基础开关
| 字段 | 作用 |
|---|---|
启用记忆检索 memorySearchEnabled | 总开关,关了就不查 LTM |
数据源 memorySources | 多选:memory(记忆事实)/ sessions(历史会话)/ final_results(任务终稿) |
4.2 切片(Chunking)
把 LTM 中的长记忆切成片段入向量库。
| 字段 | 范围 | 含义 |
|---|---|---|
| Chunk Token | 50–2000 | 单片段 token 数(默认 512) |
| Chunk Overlap | 0–500 | 相邻片段重叠 token(默认 64) |
4.3 同步策略
LTM 数据不是即时写入 ES 的,有同步节拍:
| 字段 | 含义 |
|---|---|
| 会话启动时同步 | 每次打开会话触发一次增量同步 |
| 搜索时同步 | 每次检索前同步一下(最保鲜,开销最大) |
| 同步间隔(分钟) | 定时同步,1–1440 |
| 字节变更阈值 | 单会话数据增量达此值触发同步 |
| 消息变更阈值 | 单会话消息增量达此值触发同步 |
4.4 查询参数
| 字段 | 范围 | 含义 |
|---|---|---|
最大返回数 queryMaxResults | 1–50 | 单次检索 top-k(默认 10) |
最小相关性得分 queryMinScore | 0–1 | 低于该得分的片段丢弃 |
4.5 混合检索(Hybrid)
| 字段 | 范围 | 建议 |
|---|---|---|
| 启用混合检索 | ON/OFF | 推荐 ON |
| 向量权重 | 0–1 | 语义权重(默认 0.7) |
| 文本权重 | 0–1 | BM25 权重(默认 0.3) |
5. Panel ④ 会话(Session)

5.1 会话隔离(sessionScope)
| 模式 | 含义 | 典型 |
|---|---|---|
| per-sender | 每个用户独立会话 | 个人助手场景 |
| per-agent | 每个 Agent 独立会话 | 多 Agent 工作台 |
| shared | 多个 Agent 共享一条会话 | 团队协同、多 Agent 接力 |
5.2 程序记忆(Program Memory)
类似系统里的"执行画像"。
| 开关 | 含义 |
|---|---|
| 统计运行次数 | 记录每次 Agent 被调度次数 |
| 追踪任务历史 | 记录每次 run 的 start/end/params |
| 索引最终结果 | 把 final answer 入 LTM(可跨会话引用) |
| 最大任务历史 | 1–500,FIFO 滚动 |
5.3 重置策略
| 字段 | 含义 |
|---|---|
重置模式 resetMode | idle(空闲超时重置)/ daily(每日定时重置) |
| 空闲分钟 | idle 模式下,N 分钟无活动清会话 |
| 每日重置时刻 | daily 模式下,0–23 时(如凌晨 3 点) |
6. Panel ⑤ 存储(Storage)
决定 LTM 数据实际存在哪里。

6.1 存储驱动(storageDriver)
| 驱动 | 适用 | 备注 |
|---|---|---|
| Elasticsearch | 生产默认,多租户、大规模 | 需要 ES 集群 |
| Infinity | 单机部署、轻量 | 原生 C++ 向量库,嵌入式 |
| SQLite | 本地开发、单机 POC | 不支持大并发 |
6.2 索引名
多环境共用同一个 ES 时用索引名隔离。命名建议:combo_ltm_<env>_<tenant>。
6.3 嵌入模型
这里配的是 LTM 内部检索用的 embedding(和知识库的 embedding 是独立的,别混淆)。
| 字段 | 含义 |
|---|---|
| 模型名 | 如 bge-m3、text-embedding-3-small |
| 向量维度 | 64–4096,与模型一致 |
7. Panel ⑥ Agent 基础

| 字段 | 范围 | 含义 |
|---|---|---|
工作目录 workspace | 任意路径 | Agent sandbox 沙箱根目录 |
主模型 primaryModel | provider/model-name | 如 openai/gpt-5、anthropic/claude-4.7-sonnet |
备用模型 fallbackModels | 多选字符串 | 主模型不可用时按顺序降级 |
上下文 Token contextTokens | 1K–1M | 模型支持的上下文窗口,由模型决定 |
思考深度 thinkingDefault | low / medium / high | 对应 OpenAI o 系列的 reasoning effort,或 Anthropic 的 thinking budget |
超时(秒) timeoutSeconds | 10–3600 | 单轮 Agent 调用硬超时 |
思考深度 对使用费用和速度影响巨大:
low:响应 < 3s,适合简单润色medium:3–15s(默认)high:15–120s,适合复杂规划、代码审查、合规判断
结合 Plan Mode:Fast + low 最便宜,Full + high 最贵但质量最高。
8. 典型配置组合
8.1 日常写作 / 问答
8.2 专利撰写 / 合规审查(高严谨)
8.3 大规模代码审查 / ASPICE 追溯
9. 保存 & 生效
- 改动后必须点右上角「保存配置」,未保存状态灯会变橙。
- 保存后即时生效,下一轮对话就是新配置。
- 正在运行的 Agent 不受影响(除非点停止后重发)。
- 可点「重置默认」一键回滚,有确认弹窗。