メインコンテンツまでスキップ

アーキテクチャ

概要

WorkingRoom は、AI の実行、ビジネスロジック、リソースアクセス、および永続化を分離した階層型アーキテクチャを基盤として設計されています。

この分離により、AI エージェントはインフラに直接アクセスするのではなく、制御されたアクセス層を通じてファイルや外部リソースと安全にやり取りできます。

パッケージの依存関係

パッケージの責任

パッケージ責任
@wr/webWeb アプリケーション、UI コンポーネント、ルート、API エンドポイント、Web 固有のワークフロー
@wr/composition依存性注入とサービスの構成
@wr/coreビジネスロジック、AI エージェント、ツール、ドメインサービス
@wr/accessファイル、データベース、外部リソースへのアクセス層
@wr/dbデータベースアクセスと永続化
@wr/shared共有型、エラー、ユーティリティ
@wr/shared-nodeNode.js 固有の共有ユーティリティ
@wr/testing共有テストフィクスチャとヘルパー

読みやすさのため、@wr/shared@wr/shared-node@wr/testing は複数のパッケージで使用されているため依存関係グラフから省略しています。

AI の実行フロー

WorkingRoom はエージェントベースの実行モデルを採用しています。

ユーザーのリクエストは AI エージェントによって処理され、エージェントはツールを呼び出してアクションを実行します。ツールはインフラに直接アクセスしません。すべてのリソースアクセスはアクセス層を通じてルーティングされます。

設計原則

リソースアクセスの制御

エージェントはファイル、データベース、外部システムに直接アクセスしません。

すべての操作はツールとアクセス層を通じて実行されます。これにより、AI が生成したアクションとシステムリソースの間に制御された境界が提供されます。

関心の分離

各パッケージには明確に定義された責任があります:

  • アプリケーションはユーザーインタラクションを処理します。
  • Core はビジネスロジックと AI の実行を担います。
  • Access はリソースアクセスの抽象化を提供します。
  • Database は永続化を担います。

この分離により保守性とテスト容易性が向上します。

依存関係の方向

依存関係は常に下位のインフラ層に向かって流れます。

Apps

Composition

Core

Access

Database

ビジネスロジックは、可能な限りアプリケーションフレームワークやストレージの実装から独立した状態に保たれます。

ワークスペース中心のアーキテクチャ

WorkingRoom は共有ワークスペースのコンセプトを中心に構築されています。

AI エージェントは制御されたインターフェースを通じてワークスペースのリソースを操作します。これにより、人間と AI が同じファイルやデータ上で安全に協働できます。