Fragments of verbose memory

冗長な記憶の断片 - Web技術のメモをほぼ毎日更新

Feb 13, 2026 - 日記

RAGが苦手な「状態の蓄積」をRowboatはどう解決しているか:エンティティ解決とバッチ処理の設計

rowboat-entity-resolution-batch-processing cover image

AIエージェントに「記憶」を持たせる方法として、RAG(Retrieval-Augmented Generation)が広く使われています。しかし、RAGには「毎回検索してコンテキストを再構築する」という根本的な制約があります。

ここでのRAGは、外部のデータ(文書・ログなど)を検索して、LLM(Large Language Model: 大規模言語モデル)に渡す仕組みです。 一方で「状態の蓄積(前回の決定が、今回どう更新されたか)」は苦手になりやすいです。

Rowboat は、この問題を「継続的にナレッジグラフ(知識をノードとリンクで表す構造)を更新し、状態を蓄積する」アプローチで解決しようとするオープンソース(Apache-2.0)のローカルファーストAIコワーカーです。 Y Combinator のS24出身のチームが開発しており、メール(Gmail )や会議メモ(GranolaFireflies )から情報を抽出します。 抽出した情報は、Obsidian 互換(ObsidianはMarkdownベースのノートアプリ)のMarkdownファイルとして保存され、リンク(バックリンク: [[...]] でノート同士を参照する仕組み)でつながります。 ローカルファースト(データをクラウドではなく端末内に置く設計)なので、内容を自分で確認・編集できるのが売りです。 本記事では、Rowboatの設計思想、特にエンティティ解決(Entity Resolution: 表記ゆれや文脈をまたいで同一の人物/組織を統合する処理)とバッチ処理の実装を掘り下げます。

Feb 12, 2026 - 日記

エージェント時代の"sudoers"を作る:Claude Code Damage Controlの設計を読む

claude-code-damage-control-pretooluse-hooks cover image

AIエージェントに権限を渡す前に、何を守るべきか。

Claude Code のようなAIコーディングアシスタントは、ファイルの編集やシェルコマンドの実行を自律的に行います。便利な反面、rm -rf /のような破壊的な操作や、機密ファイルへの意図しないアクセスが現実のリスクになっています。

Claude Code Damage Control は、こうした事故を防ぐための「強制ガードレール」です。PreToolUseフック(ツール実行前に割り込める仕組み)を使い、危険なコマンドやパス操作を検知して、実行前にブロックまたは確認ダイアログへ誘導します。

感覚としては、エージェント時代のsudoers(sudoの許可ルール定義)を作る、に近いです。

Feb 11, 2026 - 日記

Agentic CLI Designを実装する: slack-rsで学ぶ7原則の具体化

Agentic CLI Designを実装する: slack-rsで学ぶ7原則の具体化 cover image

先日、「Agentic CLI Design: CLIをAIエージェント向けプロトコルとして設計する7つの原則 」という記事で、AIエージェント が安全に呼び出せるCLIの設計原則を提案しました。

ただ、原則だけ読んでも「実際どう実装するの?」という疑問が残ります。そこで今回は、自分が開発したslack-rs というSlack CLIツールを題材に、7つの原則がどう具体的なコードに落とし込まれているかを解説します。

Feb 10, 2026 - 日記

Claude CodeでObsidianを高速検索: qmd MCPサーバーの設定と活用

Claude CodeでObsidianを高速検索: qmd MCPサーバーの設定と活用 cover image

Obsidian に蓄積した数百、数千のメモを、Claude Code から自然言語で検索できたら便利だと思いませんか?

qmd (Query Markup Documents)は、Shopify CEO Tobi Lütkeが個人開発したローカルRAG検索エンジンです。サンドボックス実行ツールtry の作者でもあります。BM25全文検索、ベクター検索、LLMリランキングの3層構成で、Markdownノート・議事録・ドキュメントを高精度に検索できます。

本記事では、qmdをModel Context Protocol (MCP)サーバーとして設定し、Claude Codeから「Obsidianのメモを検索する」ワークフローを構築する手順を解説します。

Feb 9, 2026 - 日記

PLP: プロンプトをデプロイせずに差し替える標準仕様

PLP: プロンプトをデプロイせずに差し替える標準仕様 cover image

LLM(Large Language Model、大規模言語モデル)アプリケーションを本番運用していると、プロンプトの管理が意外と厄介です。「プロンプトを1行変えるだけなのに、フルデプロイが必要」「ドメイン専門家がプロンプトを直接編集できない」「どのバージョンがどの結果を出したか追跡できない」——こうした課題に対して、Prompt Library Protocol (PLP)という標準仕様が登場しました。

本記事では、PLPが提案する「Prompt Registry」(プロンプトを一元管理し、APIで配布する仕組み)という考え方と、その設計思想を解説します。

Feb 8, 2026 - 日記

OpenClawハートビート: 通知をスパムにしない常時稼働エージェント設計

OpenClawハートビート: 通知をスパムにしない常時稼働エージェント設計 cover image

OpenClaw は、GitHubリポジトリ を中心に急速に注目を集めている常時稼働型のAIアシスタントです(2026-02-08時点で約15万スター)。

WhatsAppTelegramSlack など複数のチャネルで動作できますが、個人的に「常時稼働を現実にするための設計が入ってる」と感じたのがハートビート機能です。

本記事では、OpenClawのハートビート機能を、運用上の実用性(通知の出し方、文脈の分け方、コストの抑え方)に寄せて解説します。

Feb 7, 2026 - 日記

リモートtmuxでコピーできない原因はmoshだった件

リモートtmuxでコピーできない原因はmoshだった件 cover image

先日、リモートサーバのtmux セッションでコピーしたテキストが、Mac側のクリップボードに反映されない問題に遭遇しました。

tmux側の設定は正しいはずなのに、なぜかコピーが効かない。

結論から言うと、原因は mosh でした。

本記事では、mosh経由でOSC 52クリップボード連携が不安定になる理由と、実際に検証した結果、そして実用的な対策をまとめます。

Feb 6, 2026 - 日記

Agentic CLI Design: CLIをAIエージェント向けプロトコルとして設計する7つの原則

English version

Agentic CLI Design: CLIをAIエージェント向けプロトコルとして設計する7つの原則 cover image

CLIツールは長年、人間が端末で操作するためのインターフェースとして設計されてきました。しかし、LLM (大規模言語モデル)やAIエージェント (自律的にツールを呼び出してタスクを進めるプログラム)が普及した今、CLIには新しい役割が求められています。それは「エージェントが安全・確実・反復可能に呼び出せるプロトコル/API」としての設計です。

自分も最近、エージェントにCLIを回させる機会が増えました。人間相手なら気にならない「確認プロンプトで止まる」「ログがstdoutに混ざってパースできない」「同じ操作を再実行して事故る」が、エージェント相手だと普通に起きます。

本記事では、私が提唱する「Agentic CLI Design」という設計概論をまとめます。CLIを「人間が操作するUI」から「エージェントが呼び出すプロトコル」へと再定義し、失敗前提・再実行前提・非対話前提で成立させるための7つの設計原則です。

Feb 5, 2026 - 日記

シングルバイナリで完結するGit hooks: pre-commitからprekへの移行メモ

English version

シングルバイナリで完結するGit hooks: pre-commitからprekへの移行メモ cover image

pre-commit を使っていて「Pythonプロジェクトじゃないのに、なぜPythonが必要なんだ」と思ったことはありませんか?

prek は、pre-commitをRustで再実装したGit hooks管理ツールです。既存の.pre-commit-config.yamlをそのまま使えて、Pythonランタイム不要、シングルバイナリで動作します。本記事では、prekの特徴と移行手順、そして「速さ」より重要な「ポータビリティ」について書きます。

Feb 4, 2026 - 日記

cron・anacron・systemd timer: Linuxタスクスケジューラ3種の使い分け基準

English version

linux-task-scheduler-comparison cover image

「定期的にバックアップを実行したい」「深夜にログをローテーションしたい」——Linuxでタスクを自動実行する方法として、cronanacronsystemd timer の3つが存在します。しかし、「どれを使えばいいのか」と迷う人は多いのではないでしょうか。

本記事では、これら3つのスケジューラの特性と適材適所を整理し、「結局どれを選ぶべきか」の判断基準を提供します。