Skip to content
English

上下文片段:明确来源、信任和预算 ​

Core 识别片段与装配合同,校验来源元数据和预算,不内置业务压缩算法。

片段包含 id/sourceId/trust/lifetime/maxChars/role/value。trust 描述来源语义,不是给数据授予系统权限;外部原文仍是数据。装配输出 BuiltContext,包含 messages、fragmentUsage 和字符用量。

assembleFragments 在已登记顺序上校验并装配,不偷偷截断超限片段。assembleContextPlan 对原片段与可变范围执行审计后装配;它不会调用模型选择器或压缩器。选择、压缩的推荐算法由 Support 普通节点提供;自定义节点也能接同一合同。

ContextPlan 是候选片段与预算计划,不是已经发送的模型请求。fragmentUsage 是装配后的用量元数据,不能把它当成原始 fragments。

由简到繁的同业务示例 ​

用裸配置装配一份输入 ​

入门 · Node.js

ts
import { assembleFragments } from '@jangts/agent-core/context';
const input = assembleFragments([{ id: 'question', sourceId: 'request', trust: 'user',
  lifetime: 'turn', maxChars: 1000, role: 'user', value: '现在服务状态怎样?' }], 2000);
console.log(input.messages, input.fragmentUsage);
js
import { assembleFragments } from '@jangts/agent-core/context';
const input = assembleFragments([{ id: 'question', sourceId: 'request', trust: 'user',
        lifetime: 'turn', maxChars: 1000, role: 'user', value: '现在服务状态怎样?' }], 2000);
console.log(input.messages, input.fragmentUsage);

增加候选计划与最终审计 ​

配置 · Node.js

可变片段列表为空,表示不允许修改原片段;不会自动授权一个压缩步骤。

ts
import { assembleContextPlan } from '@jangts/agent-core/context';
import type { ContextFragment } from '@jangts/agent-core/types';
const fragments: ContextFragment[] = [{ id: 'question', sourceId: 'request', trust: 'user',
  lifetime: 'turn', maxChars: 1000, role: 'user', value: '现在服务状态怎样?' }];
const input = assembleContextPlan({ fragments, originalFragments: fragments, mutableFragmentIds: [], maxInputChars: 2000 });
console.log(input.inputChars);
js
import { assembleContextPlan } from '@jangts/agent-core/context';
const fragments = [{ id: 'question', sourceId: 'request', trust: 'user',
        lifetime: 'turn', maxChars: 1000, role: 'user', value: '现在服务状态怎样?' }];
const input = assembleContextPlan({ fragments, originalFragments: fragments, mutableFragmentIds: [], maxInputChars: 2000 });
console.log(input.inputChars);

策略与实现 ​

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