Hello, Memory
まずは「コーヒーの好み」を一つ覚えさせてみましょう。文章を保存し、必要な場面で取り出す。それが Atom Memory の基本です。
1. インストールする
Node.js 22.13 以降を使います。好きなフォルダーでインストールしてください。
sh
npm install atom-memoryこの例はローカルで動きます。モデルや API キーの設定は必要ありません。
2. ファイルを用意する
同じフォルダーに、次の二つのファイルを保存します。hello.mjs がアプリの処理、memory.mjs が一度だけ行う初期化です。
mjs
import { memory } from './memory.mjs';
(
await memory.write({
changes: [
{
id: 'atom',
op: 'create',
content: {
text: 'コーヒーはブラックが好き。',
links: [],
},
sources: [],
},
],
})
).changes.atom;
const recalled = await memory.read({
context: 'コーヒーの好みに合わせて提案したい。',
});
console.log(recalled.items[0]?.text);mjs
import { MemoryHost, LocalAuthority } from 'atom-memory';
// Configure the example's local host once; application code imports memory.
const authority = new LocalAuthority();
const auth = authority.issue({
subject: 'support-app',
readPolicies: ['notes'],
writePolicies: ['notes'],
canIngestSource: true,
});
const host = new MemoryHost({ authority });
export const memory = host.connect({
auth,
writePolicy: 'notes',
actor: { type: 'human' },
});write で好みを保存し、read に今の文脈を渡しています。保存先や書き手の設定は memory.mjs にまとまっています。設定を変えたくなったら ホストの設定へ進めます。
3. 動かす
sh
node hello.mjsすると、保存した記憶が返ります。
text
コーヒーはブラックが好き。これで、文脈に合わせて情報を取り出せました。この例では確認のために本文だけを表示しています。モデルへ渡すときは、参照や出典も含んだ recalled.text を参考資料に使います。
もう少し、使ってみよう
候補を一覧で見たいときは search。情報が変わったら write の revise changeを使います。どちらも同じ memory を使えます。複数のcreate/revise/retireは一つの write({ changes }) にまとめられます。
この例の記憶はプロセス内に保存されます。終了後も残すなら SQLiteを設定してください。
資料をまとめた後でルールが増える場合は、構成を読み直して説明を更新する例へ進めます。普段の保存・検索の呼び方は共通です。