
0. はじめに:プログラミング経験のない私でもAIアプリが作れました
こんにちは。普段はネットワークエンジニアとして働いている山田と申します。
またまた書きかけのNW記事をスルーしてAI関連の記事を書かせていただきます
突然ですが、少し驚きの体験を皆さんと共有させてください!
実は私、プログラミングの知識はほとんどありません。 理数系の考え方も得意な方ではないのですが…先日、休日に「AIアプリを作ってみよう!」と思い立ち、試行錯誤の結果、3時間ほどで目的のAIアプリケーションを開発することができました。
ネットワークエンジニアの私でも、です…!
今回は、そんな私のDifyによるアプリ開発体験をご紹介したいと思います。「プログラミングは難しそう…」と感じている方にとって、何かしらのヒントやきっかけになれば幸いです。
1. Difyとは何か、簡単にご紹介
まず、「Difyとは何だろう?」と思われた方もいらっしゃるかもしれないので軽く触れておきます。
Difyというのは、簡単に言うと「プログラミングの専門知識があまりなくても、比較的容易にAIを活用したアプリケーションを構築できるプラットフォーム」です。直感的なインターフェースで、まるでブロックを組み合わせるように、自分のアイデアを形にできる便利なツールです。プログラミング経験の少ない私にとっては、まさに救世主のような存在でした。
2. なぜ「日記の文字起こしとAIコーチング」アプリを作ろうと考えたのか
なぜ「日記」に関するアプリを作ろうと考えたかについて説明しておきます。
それは日記がやりたい習慣上位にもかかわらず挫折し続けてきたからです。(ダメ人間・・・)
以前から、古川武士さんの著書で紹介されている書く瞑想というメソッドに関心を持っていました。日々の出来事や感じたことを書き出すことで、思考が整理され、精神的な安定にも繋がるというものです。
参考:https://note.com/mao2310/n/na3c47f0a0b03
しかし、この「書く瞑想」、なかなか継続が難しかったのです。
実は過去に何度か挑戦しては挫折を繰り返していました…。その主な原因として、日記の蓄積と振り返りの手間にあると個人的に分析していました。
「書く瞑想」では、定期的に日記の内容を振り返ることが推奨されています。手書きのノートに書き溜めていくこと自体は良いのですが、いざ振り返ろうとすると…
- どこに何を書いたか探すのが大変
- 過去の記述を読み返すのに時間がかかる
といった点で、振り返りが億劫になりがちだったのです。
そこで、手書きによる良い効果(瞑想効果・脳のデトックス効果)をそのままに、デジタルで蓄積・記録することで振り返りもAIがサポートしてくれたら便利なのでは? と考えたのです。
さらに、「毎日単に日記を記録するだけでなく、その都度AIからコーチングのようなフィードバックが得られたら、自己理解や成長にも繋がるのではないか」と思い至り、今回のアプリ開発のアイデアが固まりました。
3. Difyでアプリを開発する上で考えた機能ステップ
実際に開発に着手するにあたり、まずは必要な機能を整理しました。
-
日記画像からの文字起こし機能
- 手書きの日記をスマートフォンなどで撮影し、その画像からテキストを抽出する機能。
-
文字起こし内容に基づいたAIコーチング機能
- 抽出されたテキストをAIが分析し、内容に応じたフィードバックやアドバイスを提供する機能。日々の振り返りや気づきを深めることを目的とします。
-
Notionへの文字起こし結果とAIコーチング内容の出力機能
- 文字起こし結果とAIコーチングの内容を、Notionに自動で保存する機能。記録の一元化と参照の容易性を目指します。
「思ったよりも、必要な機能のステップは少ないかもしれない。これなら挑戦できるかもしれない」
プログラミング経験のない私でも、このように整理することで、開発のハードルが少し下がったように感じました。
4. プログラミング知識のない私が直面した課題
Dify自体は参考書通りのサンプルアプリを作ったことがあるので何となく作り方はわかります。
ですが早速意気込んでDify利用して作成を始めたものの、やはり知識不足からくる壁に直面しました。特に、③のNotion連携で多くの時間を費やすことになりました。
GoogleのAIであるGeminiにアドバイスを求めながら進めましたが、難しいと感じたのが正直なところです💦
-
課題1:「HTTPリクエストツール」の利用
- Geminiからのアドバイスで、Notionへのデータ出力には「HTTPリクエストツール」を使用し、HTTPリクエストを作成する必要があると知りました。
- 「HTTPリクエスト」という言葉自体に馴染みがなく、理解するのに時間がかかりました。
-
課題2:「統合ID」の取得と設定
- Notionと連携するためには、「統合ID」と呼ばれるAPIキーのようなものが必要であることも分かりました。(ちなみにAPIというものを理解し始めたのはDifyに触れ始めたここ最近です(笑))
- この統合IDの取得方法や設定方法を調べるのにも手間取りました。普段Notionを使いこなしているわけではなかったため、非常に苦戦しました…。
このNotion連携部分では、エラーと試行錯誤を繰り返し、解決までに比較的時間を要することとなりました。
5. 完成間近!テスト実行で予期せぬエラーが発生
数々の課題を(主にNotion連携周りで)乗り越え、ようやくアプリケーションの全体像が見えてきました。
「これで大丈夫なはず…!」と、テストを実行。
しかし、エラーが発生してしまいました。
「なぜだろう?どこに問題があるのだろう?」と再びGeminiに相談したところ、原因が判明しました。
私が出力先に指定していたNotionのデータベースページには、1つのプロパティ(項目)に入力できる文字数が2000文字以内という制限があったのです。
AIによるコーチングのフィードバックは、かなり詳細で長文になることがあります。それがこの文字数制限を超えてしまっていたようです。。。
「そのような制限があったとは…想定外でした。」
といってもここまでくるとすぐ対処法アイデアが浮かびます。「コーチング内容を2000文字以内に要約するLLMステップを追加しよう」と思いついたので即実行です。
ちなみに最初からAIコーチングの結果を短く要約するのではなく、一度最大限のフィードバックを受け取った上でNotionへの記録用に要約する、というステップを踏むことにしたのは理由があります。
それは、できる限り詳細コーチングを受け取りたかったため情報をそぎ落としたくなかったのです。
早速、要約ステップを追加し、再度テストに臨みました。
6. ついに成功!Notionへのデータ蓄積を確認
祈るような気持ちで、再びテストを実行。
…
……
………正常に動作しました!
日記の画像から正しく文字が起こされ、AIによるコーチングのフィードバックも生成された。そして、2000文字以内に適切に要約された内容が指定したNotionのデータベースに記録されていることを確認できました!!!
(しいたけ日記というタイトルは無視してください(笑))
自分が思い描いていた機能がきちんと動作した瞬間は、大きな達成感がありました。
7. まとめ:Difyの可能性と、挑戦することの価値、そして次なるステップ
今回の経験を通して、Difyというプラットフォームの有用性を強く感じました。
最も印象的だったのは、プログラミングの専門知識がほとんどない私でも、自分のアイデアを形にできたという事実です。
これまでは、システム開発者の方々が「自分たちの手で、様々なものを創り出せるのは本当に素晴らしいことだ」と、一種の憧れのような気持ちで見ていました。
しかし、Difyのようなツールを活用することで、私のようなプログラミング経験皆無の人間でも、その「創造」の入り口に立つことができるのだと実感しました。AIを活用したアプリケーション開発のハードルは、確実に低くなっていると感じます。
実は、今回このようなチャレンジをしてみようと思った背景には、「#100日チャレンジ 毎日連続100本アプリを作ったら人生が変わった 」という書籍を読んだ影響があります。「まず行動してみること」「小さな成功体験を積み重ねること」の重要性を学べるので、ぜひみなさんお手に取ってみてください
新しいことに臆せず挑戦してみる。その経験自体が、自分にとって大きな財産になるのだと確信しました。
そして、実際に一つアプリを作ってみると、不思議なもので「もっとこうしたい!」という欲が出てきました。実際今回のアプリにはまだ改善したい点がいくつか見えてきており、それがまた新たな学びの機会を与えてくれています。
今後の展望:目指すは「もっと使えるAIコーチングアプリ」
具体的には以下のような課題を解決し、さらに実用的なアプリへと進化させたいと考えています。
-
課題①:AIコーチングの対話性とログの確保
- 現状では、AIからのフィードバックは一度きりで、連続したコーチングセッションにはなっていません。また、そのやり取りのログもアプリ内に閉じてしまっていて蒸発してしまいます。
- 目指す解決策: 例えば、LINEやSlackといった日常的に利用しているチャットアプリケーションをインターフェースにすることで、より自然な形でAIと対話ができ、かつそのログも簡単に残せるようにしたいと考えています。これにより、より深い自己対話や振り返りが可能になるはず!
-
課題②:過去の蓄積データを活用したパーソナルなコーチング
- 現状のアプリでは、その日の日記の内容に対して単発的なフィードバックを行うのみで、過去に蓄積された日記の内容を考慮したコーチングはできていません。
- 目指す解決策: Notionに蓄積された過去の日記データを、RAG(Retrieval Augmented Generation)のような技術を活用して参照できるようにし、AIがユーザーの過去の経験や思考の変遷を踏まえた、よりパーソナルで深いコーチングを提供できるようにしたいです。これにより、AIコーチングの質を格段に向上させられるのではないかと期待しています。
これらの改善を実現するには、また新たな知識や技術の習得が必要になりますが、それもまた楽しみの一つです。Difyという素晴らしいツールとの出会いをきっかけに、私の「作ってみたい」という気持ちは、ますます膨らんでいます。
この記事を読んでくださった方の中に、もし「何か新しいことを始めてみたいけれど、自分には難しいかもしれない…」と感じている方がいらっしゃれば、ぜひ最初の一歩を踏み出してみてほしいと思います。
「自分にもできるかもしれない」
そのように感じられた瞬間、それはもう「未知の領域」ではなく、「理解し、活用できる知識」へと変わっていくはずです。
皆さんもDifyを使って、自分だけのAIアプリケーション開発に挑戦してみてはいかがでしょうか。
Views: 2