← Back to Blog

「AI、コードを書いて」とAITMの違い

「AI、コードを書いて」とAITMの違いの画像

標準的なAIエージェントは、次のように動作します。プロンプトを受け取り、ドキュメント(あるいはセカンドブレイン)を読み込み、ソースファイルをgrepして、利用可能なデータからコンテキストを組み立てようとし、最善の推測に基づいて解決策を生成します。

AITM(AI Task Manager)は、これとは異なる方法で動作します。コードベースに関する、継続的に更新される独自のナレッジベースを保持し、作業が始まる前にそれをエージェントに渡します。

エンタープライズプロジェクトの罠 大規模なプロジェクトに拡大すると、個々の部品(モジュール、ソースコード、ドキュメント)はやがて限界に達します。開発は遅くなり、次のような罠に陥ります。

• AIが集めた情報が、不完全だったり、断片的だったり、最悪の場合はまったくの誤りだったりする。

• AIが誤ったデータを信じ、あなたがAIを信じる。

• コードがドキュメントと一致しなくなる。

• 正しく書かれたプロンプトでさえ、すべてが順調だという幻想のもとで動き、現実はまったく別のところにある。

そこにハルシネーションが少し加わると、最終的な成果物は期待から大きくかけ離れていきます。

AITMのナレッジには、4つの確かなレイヤーがあります。

  1. コントラクト

AIのための重要な情報を結びつける論理的な単位です。単体テスト、ソースファイル、他のコントラクトへの参照、ドキュメントへのリンクが含まれます。

AITMのコントラクトエクスプローラー

Business Logic & Contracts のドキュメントで詳しく確認できます。

  1. DOM要素

すべてのUI要素は、ビジネスロジックや振る舞いのロジックに結びついた、固有のAITMタグを持っています。AITM Dev Toolsを使えば、これらの要素をプロンプトに直接挿入できます。AIは、どの要素を変更しているのか、そこからどのイベントが発生するのかを正確に把握します。

AITMのDOMエクスプローラー

DOM Explorer のドキュメントで詳しく確認できます。

  1. 振る舞い

ユーザー向けの機能を定義します。ユーザーがどのような操作をでき、何がそれを妨げるのか(たとえば、このボタンをクリックするとバリデーションが実行され、その後に保存関数が呼び出される)。必要に応じて、抽象的な説明から、関数、クラス、ファイルへの直接の参照まで幅があります。

  1. ビジネスロジック

そのままでは開発者の頭の中にしか存在しないルールと依存関係です。

AITMが真実を守り、矛盾を解決する方法 AITMでは、Task(ソフトウェアが何をすべきかの定義)を作成します。システムはそこから、コード、ドキュメント、コントラクト、テストを生成します。

情報が矛盾した場合はどうなるのでしょうか。

  1. ユーザーの要件が常に最優先されます。

  2. ドキュメント、コントラクト、生成されたコードは、タスクに照らして相互にチェックされます。

  3. 不整合が生じた場合(たとえば、要件がシステムアーキテクチャと衝突する場合)、AITMは自動的にBugを記録します。

最終的に、決定を下す唯一の権限は人間にあります。AIは矛盾を指摘しますが、何が正しいかを決めるのは人間です。

個人的な経験:コードを1行も手で書かずに作る 私はAITMを、AITMの中で作っています。コードは100%AIが書いたものです。開発者である私は、コードに手作業で触れたことがありません。私の役割は、アーキテクチャ、設計パターン、運用ルールを定義することだけです。

AIのおかげで、厳密に分離されながらも深く結びついた、はるかに抽象的で複雑な構造を設計できます。

重要なポイント:AIが書くコードには、新しいアーキテクチャとパターンを考案する必要があります。人間には複雑に見えても、AIにとって非常に読みやすいものです。AIを使えば、制約となるのは技術的な限界ではなく、アーキテクチャを設計し管理するあなた自身の能力だけです。

私が他と違うことをしている点と、今後について これまでの記事で取り上げた内容は、ほとんどのAIオーケストレーターに同じように当てはまります。ここから、私たちは差別化を始めます。

今後の投稿では、AITMにおける具体的な違いを詳しく解説します。どう違うのか、なぜこの道を選んだのか、どのような利点があるのかを説明します。

現在、AITMは50万行を超えるコードに達しており、この規模でも、私は1人の開発者として全工程を管理できています。結果は格段に優れており、緩くつながったエージェントやプラグインに頼る既製のセットアップとは違って、何かが制御不能になることはありません。

「AI、コードを書いて」とAITMの違い