ContextStrategy
SUPPORT · interface · 类型合同
Validated inputs ready to pass to a context processing node.
导入
ts
import type { ContextStrategy } from '@jangts/agent-core/support';js
/** @typedef {import('@jangts/agent-core/support').ContextStrategy} ContextStrategy */其他公开入口:@jangts/agent-core/support、@jangts/agent-core/support/context。
定义
ts
interface ContextStrategy字段结构
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
policy | ContextPolicy | 必需 | 只读。Reduction policy with the generated or explicit steps and selection. |
compressors | readonly ContextCompressor[] | 必需 | 只读。Compressors referenced by generated compression steps, deduplicated by identity. |
selectors | readonly ContextSelector[] | 必需 | 只读。Selectors available to model-driven selection. |
使用示例
- 从历史语义生成处理策略:复用片段身份与硬预算,生成 recent 或 continuity 的完整步骤和引用。
复用已有片段生成最近历史策略
入门 · Node.js
ts
import { Support } from '@jangts/agent-core';
const fragment = { id: 'history', maxChars: 4000 };
const strategy = Support.createContextStrategy({ kind: 'recent', fragment, field: 'messages' });
console.log(strategy.policy, strategy.compressors);js
import { Support } from '@jangts/agent-core';
const fragment = { id: 'history', maxChars: 4000 };
const strategy = Support.createContextStrategy({ kind: 'recent', fragment, field: 'messages' });
console.log(strategy.policy, strategy.compressors);同一配置增加保留组数与目标大小
配置 · Node.js
ts
import { Support } from '@jangts/agent-core';
const fragment = { id: 'history', maxChars: 4000 };
const strategy = Support.createContextStrategy({ kind: 'recent', fragment, field: 'messages',
keepGroups: 3, targetChars: 2500, grouping: { kind: 'user-turn' },
});
console.log(strategy.policy);js
import { Support } from '@jangts/agent-core';
const fragment = { id: 'history', maxChars: 4000 };
const strategy = Support.createContextStrategy({ kind: 'recent', fragment, field: 'messages',
keepGroups: 3, targetChars: 2500, grouping: { kind: 'user-turn' },
});
console.log(strategy.policy);