Skip to main content

ax-cpp-agent-memory-skills

Use when writing C++ code with `axllm` for agent memory, recall callbacks, dynamic skill discovery, loaded-skill state, and used-skill tracking.

来源信息

仓库
ax-llm/ax
最近来源活动
2026年10月11日 08:42
检测到的 SKILL.md 语言
英语
星标
2,965
分支
196

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
ax-cpp-agent-memory-skills
description
Use when writing C++ code with `axllm` for agent memory, recall callbacks, dynamic skill discovery, loaded-skill state, and used-skill tracking.
version
25.3.0
# AxAgent Memory And Skills For C++ This skill helps an agent write C++ code with the generated Ax package `axllm`. Use the generated package API, examples, and manifests; do not import TypeScript-only APIs unless you are editing the TypeScript package. ## When To Use - Load memories or skill guides into an RLM agent run. - Use static skillsCatalog or memoriesCatalog search without host callbacks. - Preload constructor or forward-time skills with deterministic id merging. - Track which memories or skills actually influenced a turn. - Register non-fatal loaded/used observers in native option maps or target callback wrappers. ## Package Facts - Language: C++. - Package: `axllm`. - Package API docs: `API.md` and `axir-api.json`. - Capability manifest: `axir-capabilities.json`. - Runnable examples: `examples/`. - Real network support: yes. - Scripted no-key transport support: yes. - Runtime profiles: `javascript-quickjs`, `python-pyodide`. ## Core Pattern ```cpp auto helper = axllm::agent("question:string -> answer:string"); auto out = helper.forward(llm, { {"question", "How should I proceed?"} }); ``` ## Lifecycle And State - Constructor `skills` seed the loaded-skill prompt without firing load observers. - Forward-time `skills` override constructor entries by normalized ID and remain loaded for later calls. IDs and names are trimmed, malformed entries are skipped, valid empty content is preserved, and rendered entries are ID-sorted. - A forward input named `memories` seeds the first actor turn. Recalled entries merge by ID for that run, then memory state resets before the next forward. - `onSkillsSearch` / `onMemoriesSearch` take precedence over static catalogs. Without a host callback, `skillsCatalog` / `memoriesCatalog` use the built-in deterministic lexical ranker. - `onLoadedMemories` / `onLoadedSkills` observe runtime recall and discovery, not constructor presets. `onUsedMemories` / `onUsedSkills` emit one consolidated notification per forward. Forward observers override constructor observers, and observer errors are ignored. - `relevanceRanking` produces advisory skill and memory hints using the same tokenization, weighting, tie suppression, limits, snippets, and already-loaded exclusion as TypeScript. - `contextMap` is TypeScript's context map: the distiller reads its text (TypeScript's section template when it has none), and after each completed run the context-map Distiller and Cartographer programs update it in place. Since 25.0.0 the text and item ids follow TypeScript's format (`[rr-00002]`, a blank line before each section, a trailing newline); a map saved by a 24.x port loads with its items and is normalized by its next update. - `get_state()` and `set_state(...)` preserve the legacy bare-runtime snapshot shape. Use `export_runtime_state()` and `restore_runtime_state(...)` for the complete portable agent snapshot, including loaded skills and constructor-preset reapplication. Do not interchange the two shapes. ## Runnable Examples - Provider-backed memory, skill, and observer lifecycle: `src/examples/cpp/long-agents/skills_and_memory_assistant.cpp`. - Catalog-only search and relevance hints: the target's `smart-defaults-agent` example under `src/examples/cpp/long-agents/`. - Website gallery: https://axllm.dev/cpp/examples/long-agents/. ## Relevant API Surface - Agents And RLM: `axllm::agent`, `axllm::AxAgent`, `axllm::AxAgent::add_child_agent`, `axllm::AxAgent::streaming_forward` - Runtime Profiles: `axllm::ProcessCodeRuntime`, `axllm::RuntimeCapabilities`, `axllm::RuntimeEnvelope`, `javascript-quickjs`, `python-pyodide` ## Guardrails - Start from package examples for exact native syntax before inventing a new call shape. - Use `provider-api` examples only when the user explicitly has provider credentials available. - Use `no-key` examples for deterministic local checks and provider request mapping. - Treat AxIR as the source of generated package truth: if package docs disagree with source code, update the compiler and regenerate packages. - Do not copy repo-maintainer skills from `tools/*/skills/` into user packages.
在 GitHub 查看