4DとVS Codeを使ったAIプログラミング:実践ガイド
先日、4D 21 を使った AI コーディングに関するウェビナーをご覧になった方は、ほぼすべて自然言語のプロンプトだけで、旅行代理店向けアプリケーション(データベース構造、データ、フォーム、AI 機能)を完成させた様子をご覧になったことでしょう。この記事では、そのセットアップ手順を解説し、同じワークフローを皆さんのプロジェクトに取り入れる方法をご紹介します。
4D AI:ベクトル類似度によるクエリ結果のソート
セマンティック検索:ベクトル類似性によるクエリの投稿では、ベクトル類似性を使用したエンティティのクエリ方法を紹介しました。これは、正確な値ではなく意味に基づいて最も関連性の高いレコードを見つける強力な方法です。
4D 21 R2では、4D.Vectorフィールドを用いた検索結果の並べ替え機能が新たに追加されました。 類似性によるエンティティのフィルタリングに加え、query()関数を使用してクエリ結果をソートすることで 、 最も関連性が高く意味的に近いエンティティを最上位に表示できます 。インテリジェントな検索体験、レコメンデーションエンジン、AI駆動型アシスタントのいずれを構築する場合でも、この新機能により結果が関連性順に並べ替えられ、より正確でユーザーフレンドリーな結果を提供します。
30年前の4DアプリケーションにAIを与える
わずか2、3年の間に、人工知能は新たなトレンドから現代のソフトウェアに不可欠なコンポーネントへと変貌を遂げた。ChatGPT、Grok、Gemini、その他のAIアシスタントは、今や仕事でもプライベートでも、全ての人の日常生活で重要な役割を果たしています。
4D 21が4D.Vectorsと 4D AI Kitを紹介するのはそのためです:4D開発者がアプリケーションにAIを搭載した機能を追加するためのシンプルで効果的なツールを提供するためです。
私たちは、すでにAIに関する多くの例、チュートリアル、ウェビナーを共有してきました。しかし、最近私は考えました:30年前の4DアプリケーションにAIを導入するには何が必要だろうか?
そのようなアプリケーションに上位10人の顧客を尋ねれば、即座に素敵なグラフが返ってくるだろうか?
さて、どうだろう?それは、ブログの記事に値するほど簡単なことだった。
4D AIKit:構造化出力
アプリケーションで AI を使用する場合、単なる自由形式のテキストではなく、コードが解析できる出力が必要になることがよくあります。ユーザーインターフェース用のデータを生成する場合でも、ビジネスロジックを自動化する場合でも、あるいは多段階の推論をオーケストレーションする場合でも、予測可能でマシンが読み取り可能なレスポンスは不可欠です。
そのため、4D 21 の 4D AIKit では、新たに response_format 属性が導入されました。これにより、モデルの出力の正確な構造を定義できるようになり、一貫性、バリデーション、およびアプリロジックへのスムーズな統合が保証されます。
セマンティック検索: ベクトル類似度によるクエリ
セマンティック検索、レコメンデーションエンジン、自然言語処理などの AIアプリケーションにおいて、ベクトルベースの検索の重要性が高まる中、4D は query() 関数にベクトルクエリのネイティブサポートを導入しました。この強化により、ベクトル類似度の比較が DataClass.query() および EntitySelection.query() に直接取り込まれます。
4D 21 と AI Kit: アプリケーションの思考と行動を再定義する
4D 21 で、AI は大きな飛躍を遂げました。この進化の中心にあるのが AI Kit のツール呼び出し (tool calling) です。これは、アプリケーションへの AI統合のあり方を一変させる強力な新機能です。
ツール呼び出しを使用すると、独自のメソッドや関数を登録することでモデルの機能を拡張でき、AI は関連性があると判断した際にそれらを自動的に呼び出すことができます。これは、すべてのやり取りを手動で処理する代わりに、チャットヘルパーがハンドラーを自動的に起動することを意味し、デベロッパーに柔軟性と制御の両方をもたらします。
AI で 4D Write Pro文書の「適切な場所」を見つける
4Dアプリケーションでは、財務報告書、社内ガイドライン、技術マニュアルなど、大規模な文書が一般的です。完全一致のキーワードで検索するだけでは不十分な場合が多く、特定の段落を見つけるために 30ページのレポートをスクロールするのは、時間がかかるだけでなく、間違いも起こりがちです。ここで AI が役立ちます。
4D 20 R10 で導入されたベクトルに基づいたセマンティックなアプローチは、異なる表現が使われている場合でも (たとえば、”画像を挿入する” と “写真を追加する”)、関連性の高い 4D Write Pro文書を見つけることを既に可能にしています。
しかし、文書が複数ページにわたり、さまざまなサブトピックをカバーしている場合はどうでしょうか? テキスト全体を 1つのベクトルに変換できるとしても、より細かいスケールで作業する方が結果が良くなることは、よくあります。これがチャンク化 (Chunking) の背後にある考え方です。文書をセグメントに分割し、それぞれを独自のベクトルで表現するのです。
これにより、さらに踏み込んだことが可能になります。適切な文書だけでなく、検索に一致する段落を取得できるのです。
メタデータではなく意味による検索:4D.Vectorによるセマンティック画像フィルタリング
ユーザーはファイル名やフォルダ階層で物事を考えません。アイデアで考えるのです。
- “水彩画で描かれたロボット”
- “色でいっぱいの晴れたビーチ”
- “モナリザのような何か…でも未来から来たもの”
そのアイデアが画像から来るのか、顧客からの注文から来るのか、Eメールから来るのか、4D Write Proのドキュメントから来るのかは関係ありません。
4D.Vectorと 4D AI Kitを使えば、アプリケーションは最終的に意味を理解することができます。この記事では、セマンティック画像類似検索で説明します。ここで重要なのは、私たちは生画像を扱っているのではなく、その説明文を扱っているということです。全く同じアプローチが、アプリケーション内のあらゆる種類のテキストデータにも有効です。
AI によるインテリジェントな 4D Write Pro文書分析
多くのビジネスアプリケーションでは、顧客からのフィードバック、社内メモ、サポートチケット、レポートなどの非構造化テキストをユーザーが入力または受信します。このようなコンテンツは貴重な情報ですが、処理をおこなわなければ活用することが困難です。
ここで人工知能 (AI) が強力なツールとなります: 4D Write Pro の文書内容を自動的に分析することで、理解・並べ替え・優先順位付けに役立つメタデータを抽出することができます。
このデモでは、AI を使った 4D Write Pro文書の完全な自動分析シナリオを実装しました。シンプルなテキストから、AI は以下のことをおこなえます:
- 内容を反映した簡潔なタイトルの生成
- トーンの識別 (肯定的・否定的・有益・緊急…)
- 分類タグの提案
- 文書品質の評価
ゴールは明確です: ユーザー体験を維持しつつ、便利なメタデータを文書に自動的に付与し、充実させることです。
4D Write Pro: AI による文書検索
多くの 4Dビジネスアプリケーションでは、ドキュメントが非常に重要です。テクニカルノート・レポート・マニュアル・社内用のガイドなどが用意されますが、正確な文言をユーザーが覚えていないと文書探しは時間がかかったり、イライラの原因になったり、最悪の場合は文書を見つけられなかったりします。
4D 20 R10 では、AIベクトルによるセマンティック検索がそれを変えます。キーワードを比較するのではなく、意味を比較させるのです。異なる単語や異なる言語で検索しても、ユーザーは正しい文書を見つけることができます。これは、文書に格納された知識によりスマートにアクセスする方法であり、高速かつ正確で、人が実際に検索するやり方に合っています。
具体的な例を考えてみましょう。あるユーザーが、4D Write Pro のドキュメントに画像を挿入する方法を説明したテクニカルノートを探したいとします。しかし、その文書で使われている正確なフレーズを思い出せないかもしれません。
