AgentSkillsCN

libmemory

libmemory——用于管理 LLM 上下文窗口的内存管理模块。WindowBuilder 可根据对话历史与工具,构建有限令牌数量的上下文窗口。createWindow 工厂简化了窗口的创建过程。MemoryIndex 存储对话标识符。适用于聊天历史管理、LLM 提示构建,以及上下文窗口的优化。

SKILL.md
--- frontmatter
name: libmemory
description: >
  libmemory - Memory management for LLM context windows. WindowBuilder
  constructs token-limited context from conversation history and tools.
  createWindow factory simplifies window creation. MemoryIndex stores
  conversation identifiers. Use for managing chat history, building LLM prompts,
  and context window optimization.

libmemory Skill

When to Use

  • Building context windows for LLM calls
  • Managing conversation history with token limits
  • Constructing prompts from messages and tools
  • Optimizing context for model token budgets

Key Concepts

WindowBuilder: Constructs context windows by selecting messages and tools that fit within token budget.

MemoryIndex: Stores conversation message identifiers for retrieval.

Token budgeting: Allocates tokens across system prompt, history, and tools.

Usage Patterns

Pattern 1: Build context window

javascript
import { WindowBuilder } from "@copilot-ld/libmemory";

const builder = new WindowBuilder(tokenizer);
const window = await builder.build({
  messages: conversationHistory,
  tools: availableTools,
  budget: 4000,
});

Pattern 2: Factory usage

javascript
import { createWindow } from "@copilot-ld/libmemory";

const window = await createWindow(resourceId, {
  maxTokens: 4000,
  systemPrompt: "You are a helpful assistant.",
});

Integration

Used by Memory service and Agent service. Works with libllm for token counting.