OpenClawは驚くほどシンプルなエンジニアリング

AIエージェント
この記事は約7分で読めます。

OpenClawは、ゲートウェイを中心としたイベント駆動型の洗練されたエージェントシステムである。ゲートウェイはトラフィックルーターとして機能し、人間が開始したメッセージだけでなく、ハートビート、cronジョブ、WebHook、内部フックという5種類の入力を処理することで、エージェントを24時間365日稼働させる。3時間にサーバークラッシュを検知して開発者に電話をかけた事例は、恐怖による判断ではなく、トリガー、指示、ツール実行という論理的なフローの結果である。マルチエージェント構成では、各エージェントは独立したワークスペースを持ちながら、ゲートウェイを介して内部通信を行う。記憶の仕組みは高度なベクトルデータベースではなく、エージェントが起動時に読み込むMarkdownファイルという驚くほどシンプルな方式を採用している。この設計の単純さゆえに、プロンプトインジェクションの脆弱性が存在するものの、開発者は積極的に対処を進めており、パーソナライズされたAIアシスタントの未来を垣間見せる重要なシステムとなっている。

OpenClaw is Surprisingly Simple Engineering
Let's talk about what makes "OpenClaw" so special. Its elegant and simple engineering!website: voice to text App: whryte...

OpenClawの内部アーキテクチャ

OpenClawが内部でどのように動作しているのか、誇大広告を排して解説していきましょう。これは純粋で洗練されたエンジニアリングです。すべての中心にあるのはゲートウェイで、基本的にはトラフィックルーターとして機能します。ゲートウェイはさまざまなタイプの入力を受け取ります。その唯一の仕事は、これらの入力を受信し、タグを付けて、エージェントのキューに押し込むことです。

このアーキテクチャにおいて、ゲートウェイは最もシンプルな部分ですが、常時稼働しています。すべてのアクションはエージェントの内部で発生します。OpenClawがプロアクティブで生きているように感じられるという話を聞いたことがあるかもしれません。そのすべては入力に集約されます。このシステムを生き生きとさせる5つの異なるタイプの入力があります。それぞれがゲートウェイでイベントをトリガーし、その過程でエージェントが応答するのです。

5種類の入力とシステムの自律性

しかし、ここが最も興味深いポイントです。これらの入力のすべてが人間によって開始されるわけではありません。Slack、WhatsApp、Telegramのメッセージのようなものがあります。それから、システム自体によってトリガーされる他のタイプのメッセージがあります。

たとえば、30分ごとに開始されるハートビートがあります。それから、ユーザー定義の時刻に開始されるcronジョブがあり、これらは不規則な場合もあります。次に、特定のアクションを開始する外部APIエンドポイントであるWebHookがあります。そして、ゲートウェイでイベントをトリガーする内部状態の変化である内部フックがあり、その応答としてエージェントを開始したり起動したりします。

これらすべてを組み合わせると、キーボードに一度も触れることなく、24時間365日稼働するエージェントが得られるのです。そしてそれはとても生き生きとしています。

深夜3時の電話事件の真相

バイラルになった開発者への電話の動画をおそらくご覧になったでしょう。それを詳しく解説しましょう。なぜあれが起こったのか正確に説明します。

さて、何が起こったかというと、事前に設定されたcronジョブが午前3時に発動しました。これは基本的にシステムクロックのトリガーです。ゲートウェイがそれを確認し、緊急タスクのチェックをキューにプッシュしました。

これに応答して、エージェントが起動しました。なぜなら、それがまさにエージェントがすべきことだからです。エージェントはinstruction.mmdファイルを読み込みました。その中に、サーバークラッシュを発見したら電話をかけるようにという明示的な指示がありました。これに応答して、エージェントはメールサーバーのログをチェックしました。クラッシュを発見しました。

エージェントはすでにTrello APIへのアクセス権を持っていました。そのため、指示通りにシンプルに電話をかけたのです。ご覧のとおり、これは恐怖から下された決断ではありませんでした。論理的なフローだったのです。トリガー、指示、ツールの実行があります。これは単なるコードです。しかし、これは非常にエレガントに設計されたシステムです。エージェントは、それが人間によって開始されたものであれ、システムによって開始されたものであれ、トリガーに応答しているのです。

同時入力の処理とマルチエージェントシステム

さて、ここで非常に興味深いことになります。複数の入力が同時にゲートウェイを開始またはトリガーしようとする可能性があります。そこで問題になるのは、エージェントにスパムを送ったときや、WebHookがハートビートとまったく同じ時刻にヒットしたときに何が起こるかということです。ゲートウェイはすべてをキューに入れ、エージェントは一度に1つのタスクを処理します。

したがって、複数の異なるエージェントを設定している場合、それらは同時にキューからタスクを取得できます。単一のエージェントでは十分でない状況があります。マルチエージェントシステムが必要な場合があり、OpenClawは標準でマルチエージェント設定をサポートしています。

しかし、ここでさらに興味深いことがあります。エージェント同士はテレパシーのような経路を使用するのではなく、内部通信のためにゲートウェイを使用します。エージェントがトリガーを開始すると、それは他のトリガーと同じようにキューに入れられます。

たとえば、2つの異なるエージェントがあるとしましょう。1つはリサーチエージェントで、もう1つはライティングエージェントです。リサーチエージェントがタスクを完了した場合、ゲートウェイにメッセージを送り返して、ライターエージェントにこれを投下するように伝えます。

ゲートウェイにとって、その内部メッセージはユーザーメッセージとまったく同じように見えます。ゲートウェイはそれをライターエージェントのキューにルーティングし、その応答を待ちます。これにより、各エージェントを独自のワークスペースに隔離したまま、複雑な動作を変更できるようになります。この設定全体は、イベント駆動設計の非常にエレガントな例です。

メモリの仕組みとMarkdownファイル

本質的には、これはイベントを追跡し、キューに入れ、エージェントがアクションを実行し、状態を更新する、永遠に実行されるループです。しかし、これまでに実行されたすべてのアクションの履歴を保持することで、どのようにして物事を記憶しているのでしょうか。実は驚くほどローテクなのです。

OpenClawは、すべてに対して複雑で高価なベクトルデータベースに依存していません。シンプルにMarkdownファイルを使用しています。エージェントがゲートウェイでトリガーされたイベントによって起動されるたびに、システムの履歴またはメモリを含むこのMarkdownファイルを読み込むだけです。本質的に、エージェントは一言発する前に自分の日記を読んでいるのです。これが状態を永続的で、人間が読めて、信じられないほど高速にロードできるものにしているのです。

ツールとスキル

パズルの最後のピースは、システムがアクセスできるツールです。いくつかは組み込みツールです。ローカルシステム上のファイルを読み取ることができます。bashコマンドを使用し、ターミナルを使用できます。そして、スキルを通じて接続する外部ツール、たとえばAPIエンドポイントのようなものがあります。新しいスキルについて学んだことや、新しいAPIの使い方は、すべてシンプルにMarkdownファイルに読み込まれます。

理論的には、これは非常にシンプルなシステムです。そして、これが非常に印象的でもあるのです。

再現可能性とセキュリティ上の課題

正直に言うと、Claude Code Agent SDKのようなエージェントシステムや、OpenAIのAgent SDKを使って、このようなものを組み立てることができます。ただし、それらのほとんどは永続的ではありません。そのため、入力やシステムイベントをキューにルーティングするだけでなく、イベントやエージェントをトリガーまたは起動するこのゲートウェイ実装を考え出す必要があります。

覚えておいてください。私は、2つの異なるエージェント間の通信であっても、すべてがゲートウェイを通過すると言いました。すべてがトリガーとして来ているように見えます。そして、すべてをMarkdownファイルの形式で保存しているため、ここでプロンプトインジェクション関連の問題が発生します。イベントトリガーはすべてをキューに入れるため、エージェントやLLMのコンテキストを通過するプロンプトインジェクションが発生する可能性があります。

OpenClawがアクセスして使用するスキルに関連する大きな問題があります。良いニュースは、彼らが積極的にそれに取り組んでいることです。Claw Hub上にいくつかのマルウェアが存在していましたが、開発者たちはそれらの問題に積極的に対処しています。

サンドボックス環境でチェックしてみる価値はあります。なぜなら、これはパーソナライズされたAIアシスタンスの未来がどのようなものになり得るかを垣間見せてくれるからです。

まとめ

OpenClawの内部で起こるすべての魔法は、このようなより高いレベルのものでした。これは単に、ユーザーだけでなくシステムや外部フックによって作成されたトリガーを持つイベント駆動開発であり、エージェントがそれらに応答しているのです。これはシンプルにエレガントなエンジニアリングであり、それがOpenClawを非常に特別なものにしています。

とにかく、この動画が役に立ったことを願っています。ご視聴ありがとうございました。そしていつものように、次回お会いしましょう。

コメント

タイトルとURLをコピーしました