Architecture

仕様駆動開発とは?仕様を真実の源(Source of Truth)として

仕様駆動開発とは?仕様を真実の源(Source of Truth)として

仕様を唯一の信頼できる情報源とし、付属文書としない。

仕様駆動開発(Spec-Driven Development)は、ソフトウェアエンジニアが以前から模索してきたものの、その労力に見合う成果が得られなくなった際に棚上げされてきたアイデアの一つです。

AI駆動型ソフトウェア開発のための意思決定記録

AI駆動型ソフトウェア開発のための意思決定記録

意図をコードに近づけよう。

意思決定記録は、AI支援ソフトウェア開発における欠けている記憶レイヤーです。何を構築したかだけでなく、なぜそうしたかを取締ります — この区別は、AIツールがコードを書いている場合に極めて重要になります。

synctestを用いたGoの並行コードのテスト

synctestを用いたGoの並行コードのテスト

並行Goテストでスリープ処理に頼るのをやめましょう

Goの並行コードのテストには、これまで少しの規律が必要でした。 ゴルーチンは軽量で、チャネルはシンプル、コンテキストのキャンセルは慣用的です——バックグラウンドワーカーとタイマーは、実世界のGoサービスにどこにでもあります。

実践におけるLLMのガードレール:実際に有効な手法

実践におけるLLMのガードレール:実際に有効な手法

管理すべきはモデルではなく、リスクです。

LLM(大規模言語モデル)は予測不可能です。幻覚(ハルシネーション)を起こし、データを漏洩させ、有害なコンテンツを生成したり、正当なリクエストを拒否したりします。ガードレール(防護策)は、機能を損なわずにモデルの動作を制限します。

AIアシスタントにおけるメモリシステム

AIアシスタントにおけるメモリシステム

アシスタントのためのワーキングメモリ、構造化メモリ、検索メモリ

メモリはアシスタントを反応型のシステムから持続的なシステムへと変えますが、同時に多くのシステムが静かに腐敗していく場所でもあります。最近の調査では、現代的なエージェントのメモリに対して、短期記憶と長期記憶の二元論はもはや十分ではないと指摘されています。OpenAIやLangGraphのSDKは、よりシンプルなスタックを提唱しています。すなわち、ワーキングメモリ、永続状態、そして検索(リトリーバル)です。

AIアシスタントのアーキテクチャ:LLM、メモリ、ツール、ルーティング、可観測性

AIアシスタントのアーキテクチャ:LLM、メモリ、ツール、ルーティング、可観測性

本格的なアシスタントは実際にどのように構築されているのか

本番環境向けのAIアシスタントは「プロンプト付きのLLM」ではありません。それは意図を受け取り、状態を保持し、いつ取得したり実行したりするかを決定し、障害のデバッグに必要なランタイムの詳細を公開するシステムです。

知識システムにおける「検索」と「表現」

知識システムにおける「検索」と「表現」

検索は知識構造ではない

最新の知識システムのほとんどは検索(Retrieval)を最適化しています。それは理解できることです。検索は目に見えやすく、デモンストレーションも容易で、機能すると魔法のように感じられます。質問を入力すれば、答えが返ってきます。

LLM Wiki:RAGでは代替できない統合された知識

LLM Wiki:RAGでは代替できない統合された知識

AIシステム向けの構造化された知識

前提はシンプルです。コンパイルされた知識は、取得された断片的な情報よりも再利用性が高いというものです。 RAG(検索強化生成)は、LLM(大規模言語モデル)に外部知識へのアクセスをどのように与えるかという直接的な問いに対するデフォルトの答えとなりました。

PKM、RAG、Wiki、メモリーシステム:明確に解説

PKM、RAG、Wiki、メモリーシステム:明確に解説

現代の知識システムの地図

PKM、RAG、ウィキ、AIメモリシステム、そして今実用化が進むAI支援ワークフローは、しばしば同じ問題を解決するかのように論じられます。 しかし、実際にはそうではありません。 これらはすべて知識を扱いますが、動作するレイヤーは異なります。