用途:默认情况下 Agent 会把近期消息作为上下文。本技能介绍如何自定义该行为,以实现跨线程搜索、记忆注入、摘要、过滤等高级模式。适用场景包括:限制上下文窗口防止令牌溢出、跨多个线程搜索相关上下文、在每次提示中注入记忆或用户资料、在继续前总结长对话、过滤敏感或不相关消息、加入 few-shot 示例引导 LLM。
主要用法:
- 配置默认上下文选项。在创建 Agent 时传入 contextOptions,例如设置 recentMessages: 50、excludeToolMessages: true,以及 searchOptions(limit、textSearch、vectorSearch)。
- 按调用覆盖上下文。在调用 generateText 时传入第三级参数对象,内含 contextOptions,可分别设置 recentMessages 与 searchOptions。
- 跨线程搜索。在 contextOptions 中设置 searchOtherThreads: true,并提供 userId 才能跨多个线程搜索,同时配置 searchOptions。
- 自定义上下文处理器。使用 contextHandler 完全自定义上下文,可组合用户记忆、示例、搜索结果、近期消息与输入消息。
- 手动获取上下文。可从 "@convex-dev/agent" 导入 fetchContextWithPrompt,在不调用 LLM 的情况下获取 messages。
关键原则:默认上下文对多数用例已足够;搜索可提升相关性,长对话建议启用;跨线程搜索必须提供 userId;上下文处理器适合记忆、示例与特殊格式;近期消息在上下文顺序中优先于搜索结果。关于具体平台、收费、价格与效果,资料未提供。