Skip to content
English

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

字段结构 ​

字段类型必需说明
policyContextPolicy必需只读。Reduction policy with the generated or explicit steps and selection.
compressorsreadonly ContextCompressor[]必需只读。Compressors referenced by generated compression steps, deduplicated by identity.
selectorsreadonly ContextSelector[]必需只读。Selectors available to model-driven selection.

使用示例 ​

复用已有片段生成最近历史策略 ​

入门 · 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);

相关策略源码 ​

相关定义 ​

接口参考、使用示例与开发指南。