この記事を書いている人
当院は血管外科・透析シャント専門の無床診療所で、スタッフは医師1名・看護師5名・臨床検査技師1名・システムエンジニア1名・バックオフィス1名という小さな体制です。電子カルテは既製品ではなく、Claris社のFileMakerで内製しています。
私自身(院長)は、プログラミングを専門に学んだことのない、いわゆる非エンジニアです。それでもこの1年ほど、Anthropic社のAIアシスタント「Claude」と一緒に、電子カルテの日々の改修作業を進めてきました。
「FileMaker AI 開発」のようなキーワードで自分でも検索してみましたが、日本語でまとまった実例がなかなか見つかりませんでした。同じように検討されている方の参考になればと思い、私たちが実際に使っている方法と、実際につまずいた点を、できるだけ具体的に公開します。血管外科の診療所に限らず、小さな組織でFileMakerの改修を続けている方全般に当てはまる内容だと思います。
なぜ「FileMakerの開発にAIを使う」のは難しいと言われるのか
ChatGPTやClaudeのようなAIに「このFileMakerのスクリプトを直してください」と頼んでも、出てきたコードをそのままFileMakerに貼り付けることはできません。一般的なプログラミング言語であれば、AIが書いたテキストをエディタに貼り付けて保存すれば済みますが、FileMakerのスクリプトやレイアウト、フィールドの定義は、そもそもテキストファイルとして存在しません。
FileMaker側でコピーすると、これらの情報は「fmxmlsnippet」という専用のXML形式でクリップボードに乗ります。ところがこの形式は、Claris社(FileMakerの開発元)から正式な仕様として公開されていません。書き込み用のAPIも存在しないため、AIが書いたXMLをFileMakerに認識させるには、クリップボードを直接操作する「橋渡し」の仕組みが必要になります。
- fmxmlsnippet(エフエムエックスエムエルスニペット)
- FileMakerがスクリプトやレイアウトをコピーするときにクリップボードへ乗せる、独自のXML形式。
- クリップボード橋渡し
- AIが書いたテキストと、FileMaker専用のクリップボード形式とを変換する仕組み。この記事の中心テーマ。
- AppleScript / osascript
- Macに標準搭載されている自動操作の仕組み。クリップボードの読み書きをターミナルから実行するときに使う。
二つの橋渡し方法を実際に比べてみた
私たちが実際に試して比較したのは、次の2つです。
- AI2FM(有償・年間120ドル): VS Codeの拡張機能で、ホットキー1つでFileMakerのスクリプトをテキスト化し、AIに読み書きさせたあと元に戻すツールです。変換処理はベンダーのサーバーを経由します。
- FmClipTools(無償): Dan Shockley氏が公開しているオープンソースのAppleScript集で、Macのクリップボードを直接操作します。変換はすべてローカルで完結します。
本番で実際に使っているスクリプト(38ステップ・日本語のフィールド名を含む)を、編集せずにそのまま両方の方法で往復させて比較したところ、次のような結果になりました。
| AI2FM(有償) | FmClipTools(無償) | |
|---|---|---|
| 忠実性 | 構造・参照IDは完全に保持。ただし無編集で往復させただけで3点の変化が生じた(下記) | 貼り付け→再コピーまで含めて、バイト単位で完全に一致 |
| 操作 | FileMakerでのコピー/貼り付け+VS Codeでのホットキー+保存 | FileMakerでのコピー/貼り付けのみ |
| データの行き先 | 変換処理はベンダーのサーバーを経由 | 完全にローカルで完結 |
AI2FMで無編集のまま往復させただけで実際に変化した3点は、①文字列の中の改行が半角スペースに変わる(ダイアログの表示が実際に変わってしまう)②繰り返し回数の「1」が「 1」になる(計算上は同じだが見た目が変わる)③末尾に空のコメントが1つ増える、というものでした。
結果として、当院ではFmClipToolsを採用しています。忠実性・操作数・費用のすべてで上回っていたためです。ただしAI2FMは今も活発に開発が続いている製品で、VS Codeの中で完結する使い勝手の良さは魅力です。ベンダーのサーバーを経由することに抵抗がなければ、有力な選択肢だと思います。
実際の使い方 — クリップボードを介した「橋」
具体的な流れは、次のとおりです。
- FileMaker側でスクリプトやレイアウトの一部を選択してコピーする(Cmd+C)。院長が「コピーした」とAIに伝える。
- Claude(AI)が、FmClipToolsのAppleScriptをターミナル経由で実行し、クリップボードの中身をXMLとして読み取る。
- Claudeが必要な修正を加えたXMLを新しく作り、同じ方法でクリップボードに書き戻す。
- 院長がFileMaker側でCmd+Vを押して貼り付ける。
FileMakerのクリップボードには、扱うものの種類ごとに違う「フレーバー」(形式名)があります。当院で実際に使っているものは次のとおりです。
| 扱うもの | フレーバー | 貼り先 |
|---|---|---|
| スクリプトのステップ | XMSS | スクリプトワークスペースのステップ領域 |
| スクリプト本体 | XMSC | スクリプトワークスペースのスクリプト一覧 |
| フィールド定義 | XMFD | 管理>データベース>フィールドタブ |
| カスタム関数 | XMFN | 管理>カスタム関数 |
| 値一覧 | XMVL | 管理>値一覧 |
| レイアウト上の部品 | XML2 | レイアウトモードのレイアウト上 |
読み取りは、たとえば次のようなAppleScriptをターミナルから実行します(スクリプトのステップを読み取る例)。
osascript "fmClip - Clipboard FM Objects to XML.applescript"反対に、AIが作ったXMLを書き込むときは、いったんファイルに保存してから、次のようにクリップボードへ流し込みます。
osascript -e 'set the clipboard to (read (POSIX file "/path/to/generated.xml") as «class utf8»)'
osascript "fmClip - Clipboard XML to FM Objects.applescript"この2行を実行したあと、FileMaker側でCmd+Vを押すだけで貼り付けが完了します。
AIと一緒に使ってみて、実際に見つかった落とし穴
この橋渡しを使って開発を進める中で、いくつか「知らないと気づけない」挙動に遭遇しました。私たちだけでなく、これらのツールを作っている開発者の方々にも役立ちそうな内容だったため、それぞれ実測データを添えて英語で報告し、実際にやり取りしています。
1. FileMaker 2026のテーマは、以前と違う形式でクリップボードに乗る
レイアウトの「テーマ」をクリップボードでやり取りする際の内部形式が、FileMaker 2026では以前のバージョンから変わっていました。ツール側がまだ新しい形式に対応していなかったため、AppleScriptを直接操作する方法に切り替えて対応しました。この実測結果を、FmClipToolsの開発者Dan Shockley氏へコメントしました。
FmClipTools issue #16 へのコメントを見る(GitHub・英語)
2. 小数点の書き方だけで、線の太さが黙って消える
レイアウトの見た目を定義するCSSに似た記法の中で、線の太さを「1.0pt」のように小数点付きの整数で書くと、貼り付けた瞬間にその指定だけが黙って消えてしまい、枠線が見えなくなる、という現象がありました。「1pt」と書けば問題なく反映されます。372個のボタンを一括で作ったときに全部が枠なしになり、原因の特定に苦労しました。
3. テーマが一致しないと、指定した書式が丸ごと消える
生成したレイアウトの部品に、貼り付け先と違うテーマの識別子を指定してしまうと、指定した書式(枠線の色や太さなど)がすべて無視され、貼り付け先のテーマの既定の見た目に置き換わってしまう、という挙動も確認しました。
これらはいずれも、レイアウトXMLの仕様を独自に調べて公開しているAndrew Kear氏(海外の開発者)の資料や、FmClipToolsの開発元へ、実際に報告した内容です。エラーメッセージも出ずに黙って挙動が変わる、という点が共通しています。だからこそ、貼り付けたあとに必ず再コピーして比較する「検証サンドイッチ」を省略しないようにしています。
安全に使うために気をつけていること
電子カルテという性質上、いちばん気をつけているのは患者さまの情報です。ここで紹介した橋渡しでAIとやり取りしているのは、スクリプトのロジックやレイアウトの見た目といった「構造」の情報であり、患者さまのカルテの中身(診療記録そのもの)ではありません。カルテの記述内容自体をAIに渡すような設計にはしていません。
一方で、別の観点で実際に困ったこともあります。開発を続ける中で、古いスクリプトの中に、外部サービスのAPIキーが計算式やコメント欄に直接書き込まれている箇所が複数見つかりました。こうした値は、スクリプトの構造をAIとやり取りする過程で、意図せずクリップボードやファイルに乗ってしまいます。現在、こうした直書きを一つずつ整理し、専用の設定用テーブルに移す作業を進めています。
FileMakerのXMLをAIに渡す前に、こうした秘匿情報が紛れ込んでいないか確認することは、このやり方を試す方にはぜひお勧めしたいポイントです。海外には、この目的専用の「XML Scrubber」というツールも公開されています。
もう一つの選択肢との違い(AI2FM対FmClipTools)
2つの方法の違いは、変換処理がどこで行われるかにあります。AI2FMはVS Codeの拡張機能ですが、XMLと擬似コードの変換処理そのものは、ベンダーが用意した外部のサーバーを経由します。FmClipToolsは、この変換を同じMacの中でAppleScriptとして完結させます。
これからFileMaker × AIを試す方へ
もし同じようなことを試してみたい場合、次のような順番をお勧めします。
- まずはFmClipTools(無償・Mac)を導入し、FileMaker側でスクリプトをコピーして、クリップボードの中身をテキストとして取り出せることを確認する。
- 影響の少ない、小さなスクリプト(コメントを1行追加するだけ、など)から、AIに書かせたXMLを貼り付けて試す。
- 貼り付けたら必ず再度コピーし直し、意図した内容になっているかを確認してから実行する、という習慣をつける。
- 慣れてきたら、レイアウトやフィールド定義など、扱う範囲を少しずつ広げる。
参考にした資料へのリンクも載せておきます。いずれも海外の開発者による情報です。
- FmClipTools(本体・無償・MITライセンス)
- Andrew Kear氏によるレイアウトXML仕様のまとめ(CC BY 4.0)
- 同氏によるスクリプトXML仕様のまとめ
- agentic-fm(同様の取り組みをしている別のオープンソースプロジェクト)
- AI2FM(有償の代替手段)
使ってみて、開発がどう変わったか
この仕組みができる前は、スクリプトワークスペースでステップを表示してスクリーンショットを撮り、それをAIに送り、返ってきた答えを見ながら手打ちでステップを入力する、という作業をしていました。転記ミスは多く、しかもAIが「ああでもない、こうでもない」と複数の解決策を提示してくるたびに試しては直す、を繰り返し、多くの時間と労力を使っていました。
今は違います。スクリプトをコピーして、Claudeに「このスクリプトの問題点を探してください」のように頼むだけです。ボタンも自動で作ってくれます。ボタンのレイアウトオブジェクトとスクリプトの両方をClaudeが作り、クリップボードに格納してくれるので、私はレイアウトやスクリプトワークスペースに貼り付けるだけです。
Claudeが書くスクリプトには、動作記録を残す仕組みや、エラーコードを表示する仕組みも一緒に組み込んでもらっています。おかげで、思ったとおりに動かないときも原因を探しやすくなりました。データビューアで確認する計算式(ExecuteSQLやネストした関数を含むもの)も、Claudeが完成形で渡してくれるので、貼り付けるだけです。
今の私の操作は、AIへの依頼と、コピー・貼り付け、ときどきデータビューアでの確認、それだけです。このコピー・貼り付けさえ、いずれAIが代わってくれる日が来るのだろうと思います。Claris社がAPIで対応してくれれば言うことはないのですが。
今、私のFileMaker開発は、これまでで一番ストレスが少なく、楽しくできています。実現したい機能がある方にとって、AIとFileMakerの組み合わせは素晴らしいものだと感じています。
おわりに
この記事に書いた技術的な内容は、私たちの環境(FileMaker Pro 26.0.2・macOS)で実際に確認したことに基づいています。他の環境では違う結果になることもあると思いますので、あくまで一つの実例としてご参照ください。
同じようにFileMakerの開発にAIを取り入れることを検討されている方からのご質問があれば、下記からお気軽にご連絡ください。
この記事は、調査・検証・執筆をClaude(Anthropic社のAIアシスタント)と共同で行いました。本文中のAppleScriptの実行、GitHubへの報告文の起草、実測データの整理は、院長の確認のもとClaudeが担当しています。
