Files
obsidian-notes/InBox/Cursor 持续改进智能体框架 - 2026-04-30.md
Build Bot f7310caea0 同步
2026-05-18 01:20:38 +08:00

4.1 KiB
Raw Blame History

Cursor: 持续改进我们的智能体框架 (Continually Improving Agent Harness)

原文: cursor.com/cn/blog/continually-improving-agent-harness 作者: Stefan Heule & Jediah Katz · 2026-04-30

核心思想

改进智能体框架 = 愿景驱动 → 提出假设 → 实验验证 → 定量/定性信号迭代。大多数改进不是跃迁式突破,而是执着地叠加一个个小优化。


1. 上下文窗口的演进

  • 早期 (2024末): 模型自行选择上下文能力弱 → 大量护栏lint/类型错误反馈、改写文件读取请求、限制单轮工具调用数量、预填大量静态上下文(文件夹布局、语义匹配代码片段、用户附件压缩版)
  • 现在: 上述做法大多淡出。保留少量实用静态上下文OS、git 状态、当前/最近查看文件)。转向动态上下文——模型在工作过程中按需拉取(过往对话、活跃终端会话、相关工具等)

2. 评估框架变更

方式 说明
离线评估 自有评估套件 + 公开基准 CursorBench;快速、标准化、可跨时间对比
在线 A/B 测试 同时部署两个+框架变体,在生产环境真实用户中测试

质量衡量指标:

  • 直接指标: 延迟、token 效率、工具调用次数、缓存命中率
  • 保持率 (Keep Rate): 智能体生成的代码变更在固定时间后仍保留在代码库中的比例
  • 语义满意度分析: 用 LLM 读取用户对智能体输出的回应——用户进入下个功能=成功信号,用户粘贴堆栈追踪=失败信号

➤ 案例: 尝试用更贵模型做上下文摘要,改善微乎其微,不值得成本。

3. 跟踪并修复性能退化

工具调用错误分类:

  • InvalidArguments / UnexpectedEnvironment — 模型出错、上下文矛盾
  • ProviderError — 外部工具服务中断GenerateImage、WebSearch 等)
  • UserAborted / Timeout — 用户中止或超时

告警策略:

  • 未知错误=缺陷 → 超阈值即告警
  • 预期错误 → 异常检测告警(每个工具×每个模型分别计算基线),显著偏离基线时触发
  • 自动化工单: 每周运行一个特化智能体,搜索日志找出新增/激增问题,在 Linear 创建或更新工单

➤ 成果: 一次集中冲刺将意外工具调用错误降低一个数量级,所有工具可靠性达 99%+(很多 99.9%)。

4. 为不同模型定制框架

  • 所有框架抽象不依赖具体模型,但可深度定制
  • 工具格式差异: OpenAI 训练使用 patch 格式编辑文件Anthropic 习惯字符串替换。用错格式会消耗更多 reasoning token 并产生错误
  • 提示定制: OpenAI 遵循指令更字面/精确Claude 更偏直觉,对不精确指令容忍度高
  • Early Access 调优: 从最接近的现有框架入手 → 离线评估找出易错点 → 团队成员实际使用反馈 → 迭代直到可发布
  • "上下文焦虑"context anxiety: 一个模型在上下文窗口渐满时拒绝执行任务,通过调整提示缓解

5. 支持聊天中途切换模型

  • 切换时自动切换到对应模型的框架(不同提示、不同工具接口)
  • 添加自定义指令告诉模型它是"中途接手"对话
  • 缓存是 provider/model 特定的,切换导致缓存未命中 → 尝试用对话摘要缓解
  • 替代方案: 使用子智能体(从全新上下文窗口开始),最近支持用户指定模型运行子智能体

6. 框架与软件开发的未来

  • 多智能体模式是方向: 一个负责规划、一个负责快速编辑、一个负责调试,各司其职
  • 框架是关键: 知道调度哪个智能体、如何描述任务、如何整合结果——这些编排能力体现在框架中,而非单个智能体身上

启发

与 Hermes Agent 的开发哲学高度一致——持续关注动态上下文、工具可靠性、评估方法论、以及为不同模型优化框架。


原文链接: https://cursor.com/cn/blog/continually-improving-agent-harness