# 改善紀 — 全記事(76本・生成 2026-10-06)# 分割キーボードの設定が面倒だったので、生成AIにパソコンごと触ってもらってみた - 公開日: 2026-10-06 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/chatgpt-split-keyboard-keycaps/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![分割キーボードの設定が面倒だったので、生成AIにパソコンごと触ってもらってみた](https://flow-with-tech.com/media/posts/chatgpt-split-keyboard-keycaps/eyecatch-ai-pc-operation-v4.jpg) 初めて分割キーボードを買いました。 ![文字入りキーキャップを取り付けた分割キーボードroBa](https://flow-with-tech.com/media/posts/chatgpt-split-keyboard-keycaps/finished-roba.jpg) 設定がよく分からない。調べるのも面倒くさい。ということで、ChatGPTに購入メールを読んでもらうところから始めて、キーマップの確認、キーキャップの3Dモデリング、印刷ソフトの設定まで任せてみました。 使ったのは、チャットに加えて、GPTワークとCodexです。ブラウザを操作してもらったり、ファイルを作って受け渡したり、パソコンのアプリまで触ってもらったり。 **「そこ、自分が操作しなくてもいいんだ」という経験を、まとめてすることになりました。** ## Anthropicしか勝たん、と思っていた 私は今年の3月から、ずっとClaude Codeを使っています。 もうAnthropicしか勝たん。かなりそういう感じでした。 ところが夏頃から、なんかChatGPTもすごいぞ、という話を見かけるようになりました。Astraを使って3Dモデリングをしてみたら、これがめっちゃすごい。さらにGPTワークでは、ブラウザの操作だけでなく、パソコン上のアプリの操作まで任せられました。 これはいい。 海外旅行でも使ったのですが、今回は自宅のキーボードにふんだんに使ってみました。旅行中に使った話はこちらにまとめています。 https://flow-with-tech.com/poland-travel-ai-32/ ## 分割キーボード、買うまでが長い そもそも分割キーボードを買うこと自体、ずっと後回しにしていました。 調べると、自分で組み立てるものも出てきます。組み立て、面倒くさそう。買ってからちゃんと使えるようになるまでに、いろいろありそう。その辺を考えていると、なかなか買うところまで進みませんでした。 今回はやっと、組み立て済みのものを買いました。 ただ、組み立ててあれば全て完了というわけでもありません。初期設定がある。どのキーが何なのか、どうやって確認するのか、その辺からよく分からない。 まず、自分が何というキーボードを買ったのか。 そこからChatGPTに聞きました。購入メールを見てもらえば分かるので。 自分で買ったものを、AIに教えてもらう。ここから始めてもいいのである。 買ったのは、nalulabの「roBa」でした。 ## 設定画面も開いてもらう 買ったものが分かったら、次は設定です。 GPTワークにブラウザを操作してもらい、ZMK Studioというキーボードの設定画面を開いて、キーマップを見てもらいました。このキーには何が割り当てられているのか。設定はどうすればいいのか。その辺を、画面を触ってもらいながら進めます。 ![roBaの基本レイヤーのキーマップ](https://flow-with-tech.com/media/posts/chatgpt-split-keyboard-keycaps/roba-keymap.png) 今回はキーの割り当てを変更したのではなく、実機のキーマップを確認して記録してもらっています。 チャットで操作方法を聞くと、教わった手順を見ながら自分で画面を開いて、該当する場所を探して、クリックすることになります。 今回は、その操作も頼める。 説明を読んでもどこを見ればいいのか分からない、というところから任せられるのが、めっちゃ快適でした。 ## GPTワークからCodexへ 次に、キーキャップを3Dプリンターで作りたくなりました。もともとのキーキャップは無刻印なので、キーの文字も入れたい。 ただ、どのキーに何の文字を書けばいいのか。それを自分で全部整理して、もう一度Codexに説明するのも面倒です。 さっきGPTワークがキーマップを見ていたので、その内容をファイルにまとめてもらいました。それをCodexに読み込ませて、3Dモデリングを頼みます。 GPTワークが画面を見て調べたことを、ファイルにする。Codexがそれを読んで、モデルを作る。 **自分が間に入って、情報を全部説明し直さなくていい。** チャット、画面操作、コーディング。それぞれ単独でも便利なのですが、こうやって作業がつながると、かなり楽になります。 ![Codexと作った文字入りキーキャップ38個の3Dモデル](https://flow-with-tech.com/media/posts/chatgpt-split-keyboard-keycaps/keycaps-v4-render.png) 今回作ったのは通常キー38個ぶん。親指側の5個は軸の規格が未確認なので、含めていません。 以前、Claude Codeに3Dモデルを作ってもらっていたときの話もあります。 https://flow-with-tech.com/claude-code-3d-modeling-method/ ## 頭脳はCodex、手足はコンピュータユース 今回おもしろかったのは、CodexのCLIで作業を進めているところから、コンピュータユースを使ってアプリの操作まで頼めたことです。 Codexが頭脳になって、必要なときには手足を動かす。そんな感じです。 3Dモデルができても、印刷するためにはソフトの設定が必要です。私はBambu Labのプリンターを使っていて、印刷用のアプリはBambu Studioです。ここも操作してもらいました。 ![Bambu Studioでキーキャップを並べた最初の配置確認画面](https://flow-with-tech.com/media/posts/chatgpt-split-keyboard-keycaps/bambu-plate-preview.jpg) そして、印刷は失敗しました。 ![最初の印刷でキーキャップの文字周辺が剥がれた様子](https://flow-with-tech.com/media/posts/chatgpt-split-keyboard-keycaps/first-layer-failure.jpg) 失敗したものを写真に撮って送る。どうすればいいか考えてもらう。そのままBambu Studioの設定までやってもらう。 写真を見てアドバイスをもらって、その設定箇所を自分で探し回る、というところも任せられたわけです。 人間は実物を扱う。失敗したものを見せる。出来上がったものを取り付ける。 Human as a Service。 AIに依頼していたはずなのですが、途中から自分が物理作業の担当者になっていました。 そして出来上がったのが、冒頭の写真のキーキャップです。 ## 自分がパソコンを操作する、という前提 生成AIをチャットで使っている人も、コーディングエージェントとして使っている人も、まだその範囲で使い道を考えていることがあるんじゃないでしょうか。私自身、Claude Codeをずっと使っていたので、AIにかなりいろいろ任せていたつもりでした。 それでも、キーボードの設定画面や3Dプリンターのアプリを触るところは、なんとなく自分の仕事になっていました。 「AIがパソコンを操作できます」と聞くことと、自分が困っている画面を実際に操作してもらうことには、結構な差があります。 一度任せてみると、次に別の面倒な作業が出てきたときに、「これも頼めるんじゃないか」と思える。その候補が、自分の中で増える感じです。 いいものがあっても、自分の使い方が変わらないと、なかなか恩恵を受けられない。何ができるかは知っているのに、目の前の作業と結びついていないこともある。 今回、キーボードを設定しているうちに、その辺が少し変わった気がします。 ## あいつもそんなことを言っていた 「我思う、ゆえに我あり」でおなじみの、あの哲学者です。 ソクラテスでもなく、プラトンでもなく。名前が出てこなかったのですが、デカルトでした。 『方法序説』の第1部に、自分に利害が関わり、判断を間違えれば自分に結果が返ってくる事柄についての推論に、より多くの真理を見いだせると考えた、という趣旨の話があります。[『方法序説』(岩波文庫・Kindle版/デカルト、谷川多佳子)](https://amzn.asia/d/0dc20G4L) 私はこの話を、自分の身に降りかかってきたことは、やっぱり真剣に考えるよな、という感じで受け取っています。 今回なら、目の前に設定の分からないキーボードがある。印刷に失敗したキーキャップがある。なんとかしたい理由が、ちゃんと自分にある。 立派なユースケースを探さなくても、こういうことで試せばいいんじゃないかと思います。 ## ニュースで疲れるだけでは、割に合わない AIのニュースは毎日いろいろ出てきます。すごいものもあるし、不安を煽るようなものもある。 それを見て疲れたり、置いていかれるような気分になったりするだけでは、なんか割に合わない。せっかくいろいろできるようになっているのだから、自分の生活でも恩恵を受けておきたいです。 真面目にAIを勉強しようとする前に、目の前の「これ面倒くせえな」を頼んでみる。「なんかこれもできるらしいぜ」と聞いたら、自分の用事で使ってみる。 そこで便利だったとか、思ったよりうまくいかなかったとか、これなら別のことにも使えそうだとか。そういう感覚が手に入るだけでも、結構いい経験になると思います。 今回はChatGPTで相談して、GPTワークに画面を操作してもらい、Codexにモデルを作ってもらい、さらに印刷ソフトまで触ってもらいました。チャットも、コーディングも、コンピュータユースも、ひとつの用事のために使ってみる。 分割キーボードの設定が面倒だっただけなのですが、今のAIってここまで任せられるのか、というのがよく分かりました。 面白そうなものから試して、気になったところをAIに聞きながら掘っていく。以前書いたこの話にもつながっています。 https://flow-with-tech.com/ai-explore-childlike-curiosity/ やってみようかなと思うものがあったら、身近なところから頼んでみるといいかもしれません。 --- # 海外旅行の持ち物リスト 前回とあまり変わっていないポーランド旅行の荷物 - 公開日: 2026-10-04 - カテゴリ: Travelogue - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/poland-packing-list/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![海外旅行の持ち物リスト 前回とあまり変わっていないポーランド旅行の荷物](https://flow-with-tech.com/media/posts/poland-packing-list/eyecatch-packing-back-polaroid.png) 2026年9月、ポーランドのワルシャワとクラクフに行ってきました。 今回は、そのときに持っていった物をまとめておきます。次に海外旅行へ行くときに「前回、何持っていったっけ」と見返すための、自分用の記録です。 前回、2023年にイギリスとスペインへ行ったときも、荷物を並べて写真を撮っていました。せっかくなので、今回の写真と比べてみます。 ## 前回と今回の荷物を比べてみる まずは、2023年のイギリス・スペイン旅行の荷物。 ![2023年のイギリス・スペイン旅行で並べた荷物](https://flow-with-tech.com/media/posts/poland-packing-list/previous-uk-spain-packing.jpg) そして、今回のポーランド旅行の荷物です。 ![ホテルのベッドに並べたポーランド旅行の持ち物](https://flow-with-tech.com/media/posts/poland-packing-list/packing-overview.jpg) **あまり変わってないですね笑** ARC'TERYXのバックパックとボディバッグが新しくなっています。ポーチに分けた荷物、パスポート、PC。前回も龍角散が写っています。黒い物が多いところも変わっていません。 細かい道具や入れ物は変わっていますが、写真を並べると、荷物の基本的な構成は似ていますね。 > 🗣 よく見ると前回の荷物が少なすぎて、本当にこいつ大丈夫なのか心配になりますね。前回も洗濯していたのかな・・? ## 持ち物の一覧 今回持っていった主な物を、一覧にしておきます。 | 分類 | 持っていった物 | | --- | --- | | バッグと収納 | ARC'TERYX Mantis 26 Backpack(26L)、ARC'TERYXのボディバッグ(Maka 2だったはず)、モンベルの衣類用ケース・洗面用具用ポーチ・小型ガジェットポーチ | | 貴重品まわり | パスポート、セキュリティポーチ、クレジットカード×1枚、デビットカード×2枚、パスポート・帰りの航空券・海外旅行保険のコピー | | 電子機器 | iPhone 15 Pro、MacBook Air、Kindle Paperwhite シグニチャー エディション(32GB)、Apple Watch Ultra、EarPods(USB-C・有線イヤホン) | | 充電まわり | Anker Power Bank (10000mAh, Fusion, Built-In USB-C ケーブル)、Ankerの変換プラグ、CIOのマグネットでまとまるUSB-Cケーブル、巻き取り式USB-Cケーブル、CIO NovaWave 3Way+ | | 衣類 | Tシャツ×2枚、長ズボン×1本、patagoniaバギーショーツ×1枚、9年使っているTHE NORTH FACEのマウンテンパーカー×1着、エアリズムインナー×2枚、パンツ×3枚、ソックス×2足 | | 洗面用品 | 無印良品のトラベル化粧水と乳液、無印良品の日焼け止め、飛行機でもらったリップバーム、空港で買ってみたハッカ油、デンタルフロス、電動歯ブラシ、花王の手動洗濯袋、洗濯物を干すためのロープ | | 移動と休憩 | Tabineのネックピロー、折り畳み傘、マスク | | その他 | 野帳、ボールペン、折り畳み式の小物トレー、ジップロック、日本のコンビニでもらったレジ袋 | | 食べ物 | のど用タブレット、チョコレート、かむかむレモン、おしゃぶり梅昆布などの昆布のお菓子、インスタントの味噌汁 | ## バッグと収納ポーチ バックパックは、**ARC'TERYX Mantis 26 Backpack(26L)**です。別に、同じARC'TERYXのボディバッグも持っていきました。こちらはMaka 2だったはず。 中の荷物を分けるのは、モンベルのケースとポーチ、計3つ。パンパンに見えますが、結構余裕があります。 - 衣類を入れるケース - 洗面用具を入れるポーチ - ガジェットを入れる、ちっちゃいポーチ ![バックパックの中に収めたモンベルのポーチ類](https://flow-with-tech.com/media/posts/poland-packing-list/backpack-open-display.png) 大きく開くので、こうして並べて入れられます。 荷物を詰めて閉じると、こんな感じです。 ![荷物を詰め終わったMantis 26 Backpackの全景](https://flow-with-tech.com/media/posts/poland-packing-list/backpack-packed.jpg) 実際に背負ったところも残しておきます。横から見るとこのぐらい。 ![荷物を詰めたリュックを背負った横からの姿](https://flow-with-tech.com/media/posts/poland-packing-list/backpack-worn-side-mosaic-display.png) 後ろからだと、こんな感じです。 ![荷物を詰めたリュックを背負った後ろ姿](https://flow-with-tech.com/media/posts/poland-packing-list/backpack-worn-back-mosaic-display.png) > 🗣 荷物が多いと重いし、疲れます。旅行を楽しみたいので多少不便があっても、荷物を減らして工夫でどうにかしたい派です。 ## スマホとMacBook AirとKindle 今回の旅でも、スマホはめっちゃ使いました。写真、地図、チケットの表示、AIへの相談。だいたいスマホです。 通信は、普段契約しているahamoをポーランドでもそのまま使いました。今回の旅行では、特に支障なく使えました。 MacBook Airも持っていきました。以前買ったメモリ8GBのもので、現地でもチケットを予約したり、ホテルでPCを開いたりしていました。軽いので、旅行中に持ち歩くには助かります。そして最悪ぶっ壊れても、まあいっかと思えるのも良いです。 ![フードコートでMacBook Airを開いて調べ物やチケット予約](https://flow-with-tech.com/media/posts/poland-packing-list/macbook-food-court.jpg) こんな感じで、食事のついでにサクッとPCを開けます。調べ物をしたり、その場でチケットを予約したり。スマホでできることも多いですが、PCを持ってきていると、こういうときに便利です。 旅先でのAIへの相談や、PCを使ったチケット予約の様子は、別の記事にもまとめています。 https://flow-with-tech.com/poland-travel-ai-32/ さらに、Kindle Paperwhite シグニチャー エディション(32GB)とApple Watch Ultraもあります。 ![MacBook AirとKindleとApple Watch Ultra、充電機器やケーブル](https://flow-with-tech.com/media/posts/poland-packing-list/gadgets-rotated.jpg) Ankerのコンセントが付いているやつは、**Anker Power Bank (10000mAh, Fusion, Built-In USB-C ケーブル)**です。今回の旅行用に買ってみました。なかなか便利で良かったです。 Apple Watchなどの充電には、CIO NovaWave 3Way+も持っていきました。ほかに、変換プラグ、USB-Cケーブル、巻き取り式のケーブル、有線イヤホンなど。機器を持っていくと、それぞれの充電まわりもセットで増えますね。 有線イヤホンのEarPodsは、音声入力をするようになってから買ったのですが、飛行機の中でNetflixを見るのに役立ちました。 今使っているiPhoneは、バッテリーの減りが若干早くなっています。旅先では使う場面が多いので、次回も充電まわりはちゃんと準備しておきたいです。 > 🗣 自分のような使い方をしているなら、毎年買い替えても良さそうに感じました。スマホのバッテリー減りが早くなると、それだけ余計な心配が増えますしね。 ### Apple Watch Ultraと行動ログのアプリ Apple Watch Ultraは、ウォーキングの記録ができるのが良かったです。歩いた軌跡も残せるので、あとから「ここを歩いたんだなあ」と振り返れます。 この旅では、ヴィエリチカ岩塩坑の見学ツアーでも結構歩きました。ツアー中の様子はこちらに残しています。 https://flow-with-tech.com/wieliczka-salt-mine-tour/ あとは、Power AppsのCode Appsで作った行動ログのアプリも良かったです。今回の旅行に向けて、タイムゾーンや位置情報を記録する機能を追加して使っていました。 写真だけでなく、歩いたルートと行動ログも残っていると、帰ってから旅を振り返る楽しみが増えますね。 行動ログのアプリは、事前に海外対応にアップデートしておきました笑 https://x.com/kama_bizdev/status/2104068082016944636 **欲しいものがなければ、自分で作ればいい。それがアプリであっても。** 今回も「海外でもいつもどおり記録したい」と思って、普段使っているアプリに機能を足しました。旅の持ち物に、自分で作ったアプリが入っているのも面白いですね。 この行動ログアプリを、Code AppsとClaude Codeで作り直したときの話はこちらです。 https://flow-with-tech.com/totonoi-watch/ ## 洗面用品はポーチにまとめる ![モンベルのポーチに入れた洗面用品](https://flow-with-tech.com/media/posts/poland-packing-list/toiletries-display.png) 洗面用品もモンベルのポーチにまとめています。小分けのボトル、日焼け止め、リップバーム、ハッカ油などを入れていました。 ボトルは小さいサイズです。前回の写真でも洗面用品をまとめていましたが、今回はモンベルのポーチに入れています。 飛行機に乗る時は液体を透明なジップロックに入れて、上部のポケットに入れています。これで保安検査の時にすぐに取り出せるので、良い感じです。 飛行機でもらえるリップは前回もそのまま使っていたみたいです。どうやらもらったリップを活用する習性があるみたいです。 > 🗣 空港でぼーっとしていたら、目の前にあった北海道のお店で、ハッカ油のCMが流れていました。それを見て気になって、買ってみました笑 初めて使ったのですが、香りが結構好きで、旅先でリラックスしたいときにティッシュに吹きかけていました。落ち着く香りを持ち歩けるっていいですね。 ## ホテルでも小物の置き場所を決める ![ホテルの机にポーチと小物トレーを並べた様子](https://flow-with-tech.com/media/posts/poland-packing-list/hotel-organized.jpg) ホテルでは、こんな感じでポーチと小物トレーを並べていました。 **整理整頓しておくと、余計なことを考えなくてよくなるので快適です。** 「あれどこに置いたっけ」と探したり、毎回置き場所を考えたりするのを減らしたい。旅先でも、小物の置き場所が決まっていると楽ですね。 > 🗣 これにより忘れ物も未然に防ぐことができます。ここにあるものを全部持っていけばいいのだから。 ## マウンパは雨具にもなる10年目選手 羽織りはマウンテンパーカー。着てリュックを背負うと、こんな感じです。 ![マウンテンパーカーを着てリュックを背負った姿](https://flow-with-tech.com/media/posts/poland-packing-list/jacket-and-backpack-mosaic-display.png) 雨が降ったときは、雨具としても使っています。 ![雨の日にマウンテンパーカーのフードをかぶっている様子](https://flow-with-tech.com/media/posts/poland-packing-list/jacket-in-rain-mosaic-display.png) そしてこれ、**買ってから9年が経過した、10年目選手です笑** 今回の旅行にも持ってきました。荷物の構成だけじゃなくて、長く使っている物もありますね。 アウトドアブランドのマウンテンパーカーは、下手すると一生使えるので、軽い気持ちで買わない方がいいかもしれません。10年後を想定して買いましょう笑 > 🗣 ARC'TERYXのZetaが欲しいと思い始めて5年以上が経過しました。まだまだ、THE NORTH FACEが現役ですが、次の旅行前には買いたい・・・ ## ネックピローは公園でも使っていた ネックピローはTabineのものを持っていきました。収納すると、こんな感じです。Amazonで旅行って検索すると、上位に出てきたので買ってみました笑 ![ケースに収めたTabineのネックピロー](https://flow-with-tech.com/media/posts/poland-packing-list/neck-pillow-packed-display.png) 飛行機では、こんな感じで首に巻いていました。 ないよりはマシかなって感じでした。背もたれと背中の間に入れて使うのが、良かったですね。 ![機内でネックピローを使っている様子](https://flow-with-tech.com/media/posts/poland-packing-list/neck-pillow-in-flight-mosaic.jpg) そして、ポーランドの公園でも使っていました。寝っ転がってショパンのコンサートを聞いていました。時差ぼけもあって眠い。そうだ、ネックピロー使って快適に寝よう。 快適でした笑 ![公園の芝生でネックピローを使って休憩している写真 顔はモザイク加工](https://flow-with-tech.com/media/posts/poland-packing-list/neck-pillow-in-park-mosaic.jpg) 普通にくつろいでいます笑 観光地を見て回る時間もあれば、こうやって芝生の上で過ごす時間もありました。持ち物を見返していて、旅の様子まで思い出す一枚です。 ## 日本食が恋しくなったときのお菓子と味噌汁 ![袋にまとめたチョコレートや昆布のお菓子、味噌汁](https://flow-with-tech.com/media/posts/poland-packing-list/snacks.jpg) 食べ物も少し持っていきました。日本食が恋しくなったときに食べるやつです。 - 龍角散ののどすっきりタブレット - ZEROのチョコレート - かむかむレモン - おしゃぶり梅昆布などの昆布のお菓子 - インスタントの味噌汁 この中だと、**おしゃぶり梅昆布が激推しです。** かむかむレモンは、結局旅行中には食べませんでした。日本に帰ってから食べました笑 次は、1泊あたり0.5おしゃぶり梅昆布で良さそうです。チョコとかは意外と食べませんでした。おしゃぶり梅昆布ガチ勢と言っても過言ではないです。日本にいる時は全く食べません笑 ## 持っていけばよかった証明写真の予備 今回持っていかなかったけれど、持っていけばよかったなと思う物もありました。**パスポートをなくしたときのための、自分の証明写真の予備**です。証明写真機で撮る、あの写真です。 万が一、旅先でパスポートを再発行することになったら、写真を用意するところから始めるのは大変そう。今回は何もなかったので良かったですが、次は一応荷物に入れておきたいです。 ## 次は小さく畳めるリュックを持っていきたい 次に変えるなら、街歩き用のバッグかなと思っています。 今回のARC'TERYXのボディバッグに代えて、**使わないときは小さくなる、ペラペラのリュック**を持っていきたいです。 施設に入るときのバッグのサイズ制限も気になるので、小さめで、でもペットボトルは入るぐらいのやつがいいなあと思っています。 セキュリティ系の持ち物も、次はもう少し考えたい気がしています。ただ、そこまで危険なところへ行くつもりもないので、何を追加するかはまだ迷っています。 前回と比べても、持ち物はあまり変わっていませんでした。次は証明写真を忘れずに入れて、街歩き用のバッグを変えるかもしれない。そんな感じの、自分用の記録でした。 ## 番外編 ホテルのソーイングセットでボタンを付け直した ![ホテルにあったソーイングセットとボタンを付け直したズボン](https://flow-with-tech.com/media/posts/poland-packing-list/hotel-sewing-kit.jpg) 最後に、持っていった物ではないですが、ホテルにあったソーイングセットにも助けられました。 家庭科で得たスキルとこれを使って、ズボンのボタンを付け直しました笑 旅先で裁縫をすることになるとは。ホテルにあって良かったです。修繕スキルは習得しておくと色々便利ですね。 ## まとめ いつか手ぶらで海外行ってみたいなあ。 --- # 海外旅行で試した生成AIの活用方法32選|ポーランドひとり旅の実践ログ - 公開日: 2026-09-28 - カテゴリ: Travelogue - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/poland-travel-ai-32/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![海外旅行で試した生成AIの活用方法32選|ポーランドひとり旅の実践ログ](https://flow-with-tech.com/media/posts/poland-travel-ai-32/eyecatch-digital-traveler.png) ## はじめに 2025年10月に10日間ぐらい休みを取って、海外旅行に行こうと思っていました。計画を立て始めたのは9月に入ってからです。結局予約ができず、休暇自体をリスケしました・・・ そんな私ですが、2026年9月に無事に海外旅行に行くことができ、リベンジを果たしました。去年の反省を踏まえたこともありますが、生成AI にかなり助けてもらいました。 今回は、旅行の準備から現地での行動、帰国後の振り返りまで、どんなことにAI を使ったのか振り返ってみます。 ## AI を使うなんて旅の楽しみが損なわれるのでは? 何もかもAI に聞いて解決してたら、損なわれるだろうなあと思います。よく分からないまま行ってみる、食べてみる、見てみる。そういった、いわゆる「ネガティブケイパビリティ」が旅の醍醐味だと思います。 私はこんな理由から、めっちゃAI を活用してみました。 - アジア以外で一人で海外に来るのが初めてだった - 今後も気軽に海外に行けるようにしたい - 海外旅行においてどれだけAI を活用できるのか実験してみたかった - 最終的な判断は、人間である自分がするつもりだった - AI を使っていても、めっちゃ楽しめると思っていた - 旅の面倒くさい部分をAI に任せると、ストレスが減って快適な旅につながると思った まあ、自分で決めるし、現地の人とも話すし、めっちゃ使ってみようと思いました!! (実験を兼ねて!!!) ## 旅行概要 - 日程:2026年9月19日〜26日(6泊8日) - 行き先:ポーランド(ワルシャワ・クラクフ) ## まずは、特に良かった3選 いろいろ使ってみましたが、特に良かったのはこの3つです。 ### 1. Gemini でGoogle スプレッドシートの行程表を作る ![Gemini でGoogle スプレッドシートの行程表を作る](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-01.png) 6月ごろまではClaude の有料プランのみだったのですが、最近はChatGPT もGemini も契約をして使ってみています。普段はGoogle Drive をメインで使っているので、Gemini を使ってスプレッドシートを作りました。 Copilot のエージェントモードを使ってExcel 操作をすることに慣れているので、プライベートでも同様のことができるのは、結構嬉しいし助かります。 行程表の形式は、昔友達と海外旅行に行ったとき、一緒に作ったものを参考にしました。今回の形式は結構整理しやすくて良かったです。 皆さんはどうやって旅行の計画を立てていますか?? ### 2. GPT Work でブラウザ操作してチケット予約 海外に来たらバーガーキングが食べたくなることがあります。フードコートでそのまま追加のチケット手配をしていました。GPT Work を使えば海外のサイトであっても結構簡単に予約まで辿り着けるので、助かりました。 ![GPT Work でブラウザ操作してチケット予約](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-02.jpg) こんな感じでやってました。今回はMacBook Air を持ってきました。何年前に買ったかわからない、メモリ8GBのPCなので、最悪壊れてもダメージは少ないです。めっちゃ軽いので、こういう時に持ち運ぶには最適で助かっています。 ![GPT Work でブラウザ操作してチケット予約](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-03.jpg) MacBook Airや充電器も含めて、この旅に持っていった荷物を別の記事にまとめました。リュックの中身と、次回に向けた持ち物メモです。 https://flow-with-tech.com/poland-packing-list/ ### 3. 予定がようわからんから、ええがにGoogle カレンダーに登録よろ 何を登録しますかって? そんなのGmail を見て考えてくれ笑 Gmail もGoogle カレンダーもコネクタで連携してくれていて、めっちゃ助かる。ついでにGoogle Drive も連携している。人間が予定を確認するには、やっぱりカレンダー形式になっている方がいい。でも登録するのって結構めんどくさい。それをやってもらえるのは良いなあ。 ![予定がようわからんから、ええがにGoogle カレンダーに登録よろ](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-04.png) ## 出発前:計画・準備 ### 4. Claude で行き先候補や大まかな日程、ホテルを相談する 8月半ばぐらいから相談を始めました。(去年の反省とは?) 「アジア以外に行ってみたい」「なんとなくポーランドが良さそう」ぐらいから始まりました。Claude と壁打ちをしていく中で、行き先がポーランドに決まりました。 ### 5. Claude に相談しつつ、航空券とホテルの予約をする Claude に相談しつつ、2026年8月31日の16時〜18時半に、航空券とホテルの予約をしました。(去年の反省とは?) 相談した内容としては「こうしようと思ってるけど、いいよね?」が多かった気がします。それにしても相変わらず予約手配が遅い笑 ### 6. Codex でCode Apps の改修作業をする ![Codex でCode Apps の改修作業をする](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-05.png) Code Apps で行動ログをつけるアプリを開発して使っています。今回は海外旅行のためにタイムゾーンと位置情報(緯度・経度・高さ)を登録する機能を追加しました。開発はもちろんコーディングエージェントです。 海外に行くから、この機能が欲しい。そう思ったときに自分のアプリを改修できるのは、かなりありがたい。Power Apps × コーディングエージェントの強みですね。 ## 旅行中:移動・滞在・現地での相談 ### 7. ChatGPT に「この電車で合ってる?」と聞く ポーランドの公用語はポーランド語です。 駅の案内表示もポーランド語になっていて、正直よくわからない。ポーランドに着いた直後で勝手がわからなかったり、電車の出発まで時間がなかったりする場面もありました。そんなときに、駅の案内表示や切符の写真をChatGPT に送って、「こっちでいいんかな」と相談しました。 ### 8. ATM で現金を下ろせるか聞いてみる デビットカードで現地通貨を下ろせるか試してみたくて、相談してみた。無事に降ろせましたが、結局現金の出番はなかったです。ヨーロッパのデジタル化は素晴らしい!! ![ATM で現金を下ろせるか聞いてみる](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-06.png) ### 9. ホテルのチェックイン時にサインを求められた書類の内容を確認する 本当にサインして大丈夫なのかなって思ったので、写真を撮って聞いてみた。 ![ホテルのチェックイン時にサインを求められた書類の内容を確認する](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-07.png) ### 10. ホテルの謎の空調設備の使い方を質問する 英語での説明があったが、よくわからなかったので聞いてみる。なんでここに、バーの案内まで書いてあるんだろう。 ![ホテルの謎の空調設備の使い方を質問する](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-08.png) ### 11. 受付への電話相談の同時通訳をしてもらう オートロックがかからない。受付に電話したいけど、英語で説明するのが難しい。そこで、私が喋った日本語を英語にして、音声で伝えてもらおうとした。 あまりうまくいかなかったが、工事のおじちゃんが来てくれて解決した。 ![受付への電話相談の同時通訳をしてもらう](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-09.png) ### 12. コンビニでアイスコーヒーを探してもらう 自分で探しても見つかりませんでした。でも、海外だとパッケージが違うだけかもしれない。「実はこれがアイスコーヒーだよ」というのがないか、見てもらった。 結局なかったです。 ![コンビニでアイスコーヒーを探してもらう](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-10.png) ### 13. ほんまにショパンコンサートあるんか聞いてみる 海外で何かを確認したい時に、そもそもどうやって検索すればいいのか、たどり着いた先のサイトでどこを見ればいいのか分かりづらい。AI に聞くと回答とソースを出してくれるのでめっちゃ助かる。ソースを自分でもチェックすればOK。 ![ほんまにショパンコンサートあるんか聞いてみる](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-11.jpg) ### 14. 体調や気分に合った細かいスケジュール相談をする 予定を全部決めていたわけではないので、そのときの体調や気分で考えていました。 「なんかあるかな?」と聞けるのは、かなりありがたい。 ![体調や気分に合った細かいスケジュール相談をする](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-12.jpg) ### 15. 風邪の相談に乗ってもらう ほんまかどうかよくわからんが、まあ参考程度に。それにしても、海外に来て風邪をひいてしまうなんて。 ![風邪の相談に乗ってもらう](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-13.png) ### 16. 水と炭酸水の見分け方を聞く 時差ボケしていたのか、水だと思ってホテルに買って帰ったら炭酸水でした。再発防止のために、どうやって見分けるのか聞いてみる。ポーランド語が書いてあるのかあ。なるほど。 ![水と炭酸水の見分け方を聞く](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-14.png) ### 17. 施設への入り方を相談する 展望台の入り口だと思っていたら、閉まっていた。張り紙があるので、写真を撮って聞いてみる。 映画館の入り口かい。 (俺の前にも同じムーブしてる人がいたので、その人たちの後ろについていくことで、無事入り口に辿り着いた笑) ついでに、チケット券売機でも「これでええよな」と聞いてみる。 ![施設への入り方を相談する](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-15.png) ### 18. このおじさん誰? 「草ww」 ![このおじさん誰?](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-16.png) ### 19. 料金表について相談する 自分の中で答えが出ているが、一応聞いてみる。こうやって毎回確認していたら、よくわからんままやってみる楽しさが減る気もする。まあ今回は別にいっか。 ![料金表について相談する](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-17.png) ### 20. 電車の予約を変更したいのに、エラーになる 日本でも予約の変更をアプリでやろうとして、エラーになるとなんでだろうってなりますよね。海外だと、さらに「?」って感じでした。そんな時も相談できるのは心強いですね。 ![電車の予約を変更したいのに、エラーになる](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-18.png) ### 21. 駅の看板表記について相談をする 英語も書いてあるけど微妙にわからない。多分こっちでいいと思うけど、大丈夫かなって聞いてみる。 ![駅の看板表記について相談をする](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-19.jpg) ### 22. 電車は3番ホーム・1号車でいいよね? 自分で見てAI に聞いて、そしてその辺にいる人にも「これでええよな」って聞いてみる。 トリプルチェックだ。 ![電車は3番ホーム・1号車でいいよね?](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-20.png) ### 23. 謎のメニュー表を解読する 自分で読み解いたらいいじゃないかと思われるかもしれない。だが、大概こういう時ってじっくり悩む時間がないのだ。メニューが一通り配られると、順に注文を聞かれるからだ。 ![謎のメニュー表を解読する](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-21.png) ### 24. レストラン探しの補助 やっぱりこうしていると、「ネガティブケイパビリティ」の損失を感じる。最終的には自分で決めるし、えいや!で入るからまあ良しとする。 法外な金額の店に入ってしまいたくない気持ちがあった。でも、旅先なら法外な金額を取られてなんぼなのかもしれない。 ![レストラン探しの補助](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-22.png) ### 25. レストランでの食事相談 結局AI のいうことは全部無視をして、チキンチョップを頼んだ。赤ワインが飲みたかったので、「これに合う赤ワインで、ポーランドらしいやつをおすすめしてくれい」と店員さんに相談して決めた。 AI に相談するからと言って、全部従うとは思わないでほしい。むしろAI の提案は全部無視をして生きていきたい笑 ![レストランでの食事相談](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-23.png) ### 26. 堀大輔が何者なのか聞いてみる なんかすごい話題になっていて、あまりにも不可解だったので聞いてみる。聞いてもよくわからん・・・ ![堀大輔が何者なのか聞いてみる](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-24.png) ### 27. チケットが無事に買えているのか確認する ポーランドの鉄道には改札がありません。無賃乗車がしやすい環境にあるみたいです。ただし、インスペクターがいて不定期でチケットのチェックが入ります。旅行者であっても、間違えていたとしても問答無用で罰金だそうです。ちゃんと購入できているのか不安になるので、相談してみました。 AI が言っているから大丈夫とはまったく思いませんが、まあ無いよりマシかなと思いました。 ![チケットが無事に買えているのか確認する](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-25-redacted.jpg) ### 28. 警告っぽい掲示物を要約してもらう 無賃乗車した場合の警告のような紙があったので、どういうことか気になった。「金払うまでお前は客にあらずや」ということだと理解した。 怖い笑 ![警告っぽい掲示物を要約してもらう](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-26.png) ### 29. 近くのおすすめレストランを探してもらう もちろん全て無視をした。AI に従うぐらいなら旅しないな笑 人間相手に例えると、 「何食べたい?」 『なんでもいい』 「じゃあここはどう?」 『嫌』 ということになる。 ![近くのおすすめレストランを探してもらう](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-27.jpg) ### 30. 入り口がわからんからメールとか見て調べて 予約完了メールに書いてあるかもと思い、聞いてみる。聞いている間に、当たり前のように自分で見つけ出して入った。 AI の回答を待つぐらいなら、旅しないよな笑 ![入り口がわからんからメールとか見て調べて](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-28.png) ### 31. 深夜の支出整理に付き合わせる ポーランドに来てから、日本時刻で寝て、ポーランド時刻で起きてしまう。現地の16時(日本の23時)には寝てしまい、だいたい深夜に一度目が覚める。最終的に起きるのは朝6時。 深夜に目が覚めたとき、なんかふと支出を整理したくなったので、AI を巻き添えにすることにした。 ![深夜の支出整理に付き合わせる](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-29.png) ## 帰国後:記録・制作・発信 ### 32. 写真と行動ログをまとめて、旅を振り返る 行動ログ(Power Apps)・写真と動画(位置情報付き)・Apple Watch での歩行記録などを組み合わせて、旅を振り返れるアプリをCodex で作ってみています。 この形式で写真や行動を振り返ることができるのは、新鮮で結構面白いです。 ![写真と行動ログをまとめて、旅を振り返る](https://flow-with-tech.com/media/posts/poland-travel-ai-32/travel-ai-30.jpg) ## まとめ 今しかできないことをしたいという思いが、かなり強くなっています。去年は後回しにして、結局行けなかった海外旅行。今年は行けた。それは自分の中で大きな一歩だったと思います。 何か挑戦したいけど不安がある。それは当然だと思います。不安はあるけど、最後は自分で決めて行くしかない。 ただ、重要ではないことはAI を活用してもいいと思います。「全部自分でやらないといけない」というプレッシャーに押されて、結局やらない。 それよりも、「めっちゃAI を活用したけど、一応できた」。そっちの方が100倍価値があると思います。 記事を読んで、後回しにしていた海外旅行にAI の力を借りて行ってみようかなと思ってもらえたら嬉しいです。 ## おまけ AI を使うためには通信が必要です。私はahamo を契約してポーランドでもahamo をそのまま使いました。爆速な通信ではないですが、特に支障なく使えました。 昔はポケットWi-Fiをレンタルしたり、プリペイドSIM を使ったりしていましたが、かなり快適になりました。現地に着いた瞬間からいつも通りスマホが使えるのは、ありがたいです。 その分、スマホはパスポートの次に重要なアイテムになっています。AI を使うのも、写真を撮るのも、マップを見るのも、チケットを見せるのも全部スマホですね。 今使っているiPhoneは2年前に買ったもので、バッテリーの減りが若干早いです。 私のような人間だと、やっぱり毎年買い替えてもいいなと思いました。それで旅行のストレスが減って、目の前のことをもっと楽しめるなら、安いものです。 新しいiPhoneに魅力を感じなかったので買い替えなかったのですが、iPhone Duo は買おうと思います笑 スマホ・MacBook Air・Kindle じゃなくて、iPhone Duo 1台で済んだらいいなと期待しています。 --- # 世界遺産ヴィエリチカ岩塩坑見学ツアー(英語)体験記 - 公開日: 2026-09-27 - カテゴリ: Travelogue - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/wieliczka-salt-mine-tour/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![世界遺産ヴィエリチカ岩塩坑見学ツアー(英語)体験記](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/wieliczka-eyecatch-photos.jpg) ## はじめに 基本的にここに書いていることは全て間違っています。私の拙い英語力と勝手な妄想による解釈を書いています。生成AI でいうところのハルシネーションを全てにおいて起こしている感じです。ツアーガイドの方は親切かつ丁寧にご説明してくださっています。全ての元凶は「英語よくわからんな〜」と思いながら、「なんかこんなこと言ってそう」と意訳に意訳を重ねて、スマホにメモをし始めた自分にあります。真剣にヴィエリチカ岩塩坑について知りたい方は別のサイトをご参照ください。 ## ヴィエリチカ岩塩坑とは? https://ja.wikipedia.org/wiki/%E3%83%B4%E3%82%A3%E3%82%A8%E3%83%AA%E3%83%81%E3%82%AB%E5%B2%A9%E5%A1%A9%E5%9D%91 まとめて書こうかと思ったのですが、こちらを見てもらった方がいいかなと思います。 ## 今回申し込んだツアー概要 https://www.wieliczka-saltmine.com/ 個人向け(Individual)とグループ向けのうち、個人向けを申し込みました。 申し込み時に見たチケットは3種類ありました。通常の見学ルートを回るものと、鉱夫体験ができるもの、Tower とやらに登れるものです。私は通常の見学ルートを、言語は English(英語)で申し込みました。これが全ての始まりだったのである(申し込み時には日本語ツアーは見当たりませんでした)。 ## チケットはもちろんデジタル ![英語ツアーのデジタルチケット](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/ticket-date-blurred.png) 結局ポーランドでは現金を使うことがありませんでした。紙を使うこともありませんでした。全てデジタルでした。ツアーのチケットももちろんデジタル。メールで届くので Google Drive に保存しつつ、オフラインでも表示できる状態にしておきました。 ## どこに並んだらいいの? ![ヴィエリチカ岩塩坑の集合場所](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-1.jpg) 集合場所に行ってみるとこんな感じでした。今見えている列はグループツアーの人たちでした。その奥にIndividual(個人向け)の列が各言語ごとにありました。 私は普段から集合場所に割と早めに着きます。大体30分前ぐらいでしょうか。相手がいる時はご迷惑にならないように、オンタイムで入るようにしていますが。 そして、早めに着く予定からさらに早めに出発してしまうので、めっちゃ早く着くことが多いです。今回は集合時間よりも30分早く着いてしまいましたが、そのまま並んでみました。10時スタートのチケットだったのですが、「これから9時半のツアー始まるけど、参加してええで?」って言われたので1つ早いツアーに参加しました。 ## ツアーガイド担当者 ガイドを担当してくれたのは、ハリー・ポッターに出てくる、マクゴナガル先生の若い頃みたいな女性でした。黒い制服とメガネ、淡々と喋る口調が相まって、とても知的な印象を受けます。とてもクールな人でした。 ## その階段、永遠にて。 一生続くんじゃないかと思うような階段からツアーが始まります。私の前にはおじいちゃんがいたのですが、本当に最後まで歩き続けることができるのか、勝手に心配になりました。 ![岩塩坑の地下へ続く階段](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image.jpg) ## ツアーに関する注意事項にて ここからは、私が解釈したガイドさんの発言が並びます。「ガイド」のセリフは実際の発言を正確に訳したものではなく、私の聞き取りと想像による再構成です。口調も含めて、そういう読み物としてお付き合いください。 ガイド「ちゃんとついて来てください、はぐれると見つかるのは明日になりますよ。」 おそらくそう言っていたと思います。そして、周りのみんなが笑っていたので、ギャグだったんだと思います。ガイドの女性は、とても知的でクールなので、一切表情やトーンを変えることなくこの発言をされていました。そう、このガイドの女性は、ポーカーフェイスで爆裂ギャグをかましまくる、ギャグマシーンだったのである。 そしてこれは、ほんの始まりに過ぎないのである。 ![坑内でガイドの説明を聞く](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/copernicus-blurred.jpg) ## 天井からにじみ出る塩にて ![天井に見える塩の結晶](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-3.jpg) ガイド「このように天井からも塩がにじみ出ています。そしてこれらは、こう呼ばれています。マッシュルーム、チェダーチーズ、スパゲッティソルト……などなど」 ほかにも30個ぐらい、たとえを言っていたはずです。一切表情や声のトーンを変えることなく。ツアー客はくすくすと笑い出します。どんなにウケても一切反応することはありません。鉄壁のギャグマシーンなのだから。 ガイド「床はコンクリートで舗装されてるから無理だけど、天井は舐めたらしょっぱいよ。舐められるもんなら舐めてみろ」 発言後にジャンプして舐めようと試みている人がいたので、多分これも言っていたと思います。無表情で。 ## 塩でできた像とストーリー ![塩の像で再現された物語](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-4.jpg) ボタンを押すとライトアップとともにストーリーが再生され始めました。全くわからなかったのですが、おそらくこんな感じです。 > **私の脳内で再生されたストーリー** > > あるところに王様がいました。ある日王様は洞窟に、リングを落としてしまいました。そして、わしのリングを探せ、見つけ出した者には褒美をしんぜよう、と言いました。 > > ある勇敢な若者が洞窟に入り、王様の落としたリングを探しました。この洞窟こそが今私たちがいるヴィエリチカ岩塩坑なのである。 > > 若者は洞窟に入ったはいいものの、あまりの塩の多さに驚き、夢中になりました。そして王様のリングのことなんて忘れてしまいました。 > > でっかくてかっこいい、ポケモンでいうところのモンスターボールのような塩の塊を発見しました。「かっけえ」そう思った若者は、これを持ち帰り意気揚々と王様に献上しました。 > > 王様「お、おう」 > > 王様は自分のために一生懸命仕事をして、なんかすごく自信満々に塩の塊を渡してくる若者に激怒する訳にもいかず、それを受け取りました。 多分こんな感じです。そして、その王様が受け取ろうとしているところが写真の様子です。 ## ガスは岩塩坑につきもの ![火を使ってガスを除去する作業の展示](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-5.jpg) ガスの危険を回避するために、火をつけたトーチ(たいまつ)を天井付近に近づけていたそうです。ガスに火をつけて燃やすことで、除去していたそうです。少なくとも、私はそう理解しました。 ガイド「実際に試してみたいやつおる? ……ぼがーん。はいお前らの命は燃え尽きました〜」 客「www」 ## 岩塩坑で働くのは人間だけじゃない ![坑内で働く馬の展示](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-6.jpg) 馬も働いていたそうです。 ガイド「岩塩坑での仕事には馬の力も借りていました。太陽を見ることのできない馬はどうだったんでしょうかね。これは岩塩坑のLight and Darknessやな。まあ、この馬の毛色は真っ黒やけどな。」 ## 銅像ならぬ塩像 ![岩塩で作られた人物像](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-7.jpg) ガイド「ここでは権威者は銅像じゃなくて、塩像になるんやで。しょっぱいだろ。お前らも塩人形にしてやろうか?」 重ねて申し上げますが、ここに書いていることは、私が意訳に意訳を重ねており、基本的に全て間違っていると思っていただければと思います。 ## 天井にはアンカーがあるで ![坑内の天井](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-8.jpg) ガイド「アンカーの長さは20mぐらいあります。アンカーを設置することで、天井から構造物を吊り下げることができています。お前もアンカーとしてぶち込んでやろうか?」 今さらながら、なんでツアーに参加しながらこんなことをメモしているのか、わからなくなってきました。なんかその場の雰囲気とクールにギャグをかますガイドの方につられてしまったのかもしれません。 ## 肌すべすべ水? ![水を汲み上げる装置](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-9.jpg) 左右にハンドルがついていて、人力で車輪を回すと、下から水を汲み上げることができます。 ガイド「この水は肌にいいらしくて、700歳まで肌すべすべなるで」 客「www」 700歳は聞き間違えたかもしれません。 ## 地下にあるチャペル ![地下のチャペル](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-10.jpg) ガイド「チャペルあるから今日結婚したいやつおったら、してもええで」 結婚式もできるでって言っていた気がします。でもこんなところで結婚式したら、ご参列の皆様、特にご高齢の方が大変だろうなって思った。 ## 礼拝堂の装飾を手がけた3人 ![礼拝堂の装飾を手がけた人々の銘板](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/chapel-plaque-blurred.jpg) ガイド「ここに名前が書いてあるで。ちなみに、1つ空いているから名前を刻みたい度胸のあるやつおったら、電話かけてこいよ。(耳に電話を当てるジェスチャー)」 客「www」 これは割と本当に言っていたと思う。電話かけるジェスチャーもしていたしなあ。真顔で。 ## 浮ける塩湖 ![坑内の緑色に照らされた塩湖](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-12.jpg) ガイド「水深は9m、塩分濃度は42%やで。人間普通に浮けるで。」 ヴィエリチカ岩塩坑で一番有名なスポットかもしれません。生で見ると確かにすごいです。ただ、事前に写真で見ていたことと、ツアー中はじっくり見られなかったことが重なって、思っていたほど強い印象は残らなかったかもしれません。 今、「経験の絶滅 スマホ化する世界でどう生きるか」という本を読んでいるのですが、読み進めれば、今回の「すごい景色なのに、思ったほど印象に残らなかった」という感覚を説明できそうな気がします。 [経験の絶滅 スマホ化する世界でどう生きるか](https://www.amazon.co.jp/dp/4763143247) ## ツアー終盤にて ![ツアー終盤の坑道](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-13.jpg) ガイド「お前らがその気なら、あと1時間でも2時間でも、3日間でも歩き続けて、地獄を見せてやってもええけど、今日はツアーなのでしょうがねえけど、この辺にしといてやる。」 客「www」 ツアー自体は2時間ぐらいでした。結構な距離を歩くので、歩きやすい格好で来てくださいと書いてあった理由がよく分かった。旅行中で不規則な生活をしていたこともあり、私でも結構しんどかった。年配に見える人や杖をつきながら参加している人もいたのだが、みんな結構疲れていると思う。 ガイドさんは相変わらず一切の表情を崩すことなくギャグをぶちかましていた。もしかしてこれって、ポーリッシュギャグとかいうものが、確立されているのだろうか。 イメージとしては、『トリコ』に出てくる珍(チン)師範の修行でしょうか。こっちはもう結構しんどいのに、案内する側は涼しい顔で「まだまだ続くぞ」という感じです。 ## おまけ ### 昔の暮らしを再現してるけど、マネキンの顔が現代すぎる ![昔の暮らしを再現したマネキン](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-14.jpg) ### 馬なら絶対、左のゴンドラ形式で降りてきたい ![馬を坑内へ下ろす方法の展示](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-15.jpg) ### 角スコと剣スコ 剣スコは、ほぼアカシアだった。 ![展示されていた角スコップ](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-16.jpg) ![展示されていた剣スコップ](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-17.jpg) ## めっちゃ歩いた後の飯 ここで。 ![食事をした店の外観](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/restaurant-blurred.jpg) こう。(豚500gとアンバーエール) ![豚肉500gとアンバーエール](https://flow-with-tech.com/media/posts/wieliczka-salt-mine-tour/image-19.jpg) ## まとめ ガイドいただきありがとうございました。おかけでとてもいい経験ができました。 ポーランドへ行った際は、ぜひヴィエリチカ岩塩坑を見学してみてください。 今回のポーランド旅行で持っていったバッグや服、ガジェットも、写真付きでまとめています。 https://flow-with-tech.com/poland-packing-list/ --- # ブログを丸ごとAI に投げやすくしてみた。 - 公開日: 2026-09-13 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/human-ai-reading-mode/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![ブログを丸ごとAI に投げやすくしてみた。](https://flow-with-tech.com/media/posts/human-ai-reading-mode/eyecatch-emaki-full-title-v2.png) 生成AIが生成した文章以外の文字を読む人間は、まだ地球上に存在しているのでしょうか。 ブログを書く人、読む人は、まだこの世界に存在しているんだろうか。 私は書いています。読む人がいるかは、よく分かりません。 **なぜ私はブログを書くのでしょうか。** 書いたからといって、読まれるとは思っていません。 皆さんお忙しいでしょうし、知らない人のブログを読む時間なんて無いと思います。 ニーズがあるかどうか不明ですが、なんかおもろそうなので**最初からAIにぶん投げやすくしておこうかな。** そんな感じで、このブログに「人間が読むモード」と「AIが読むモード」を作ってもらいました。すでに使えます。 きっかけは「ながらAIラジオ」で、AI用のページを作るという話を聞いたことでした。そんなことをしている人がいるのか。じゃあ私もやってみよう、と、すぐにコーディングエージェントに頼みました。 というわけで、まずは何ができるか。そのあとに、誰に読まれるかも分からないのに、なぜ書いて、なぜこんなことまでしているのかを書きます。 ## 何が変わったのか 記事ページの右下に「人間/AI」の切り替えがあります。人間モードは、いつものブログです。 ![人間モードの記事ページ。右下の「人間/AI」で表示を切り替える](https://flow-with-tech.com/media/posts/human-ai-reading-mode/01-human-mode.png) AIモードにすると、ページ全体がターミナル風の表示に変わり、記事のMarkdownが出てきます。Markdownは、見出しや箇条書きなどを簡単な記号で表すテキスト形式です。 ![AIモードではMarkdownを表示。上部にコピーとClaude・ChatGPTで開くボタンがある](https://flow-with-tech.com/media/posts/human-ai-reading-mode/02-ai-mode.png) この画面から本文をコピーしたり、生のMarkdownを開いたりできます。ClaudeやChatGPTに記事を読ませるためのボタンもあります。記事一覧では、複数の記事を選んでまとめて渡すこともできます。 ![記事一覧で2件を選択。右下のバーからまとめてAIに渡せる](https://flow-with-tech.com/media/posts/human-ai-reading-mode/03-select-articles.png) 一つずつ開くのもしんどいなら、まとめてどうぞ、ということです。 ただし、**AIモードに切り替えた時点で、生成AIが動いて要約を作るわけではありません。** ここで表示しているのは、あらかじめ用意した記事のMarkdownです。人間も「AIに渡せる形の文章」を眺められるようにした、というほうが近いです。 ## 記事のつながりを眺めて、そのままAIに渡す もう一つ、[「つながり」](https://flow-with-tech.com/graph/)というページも作ってもらいました。記事を丸で並べて、記事同士の関係を線で結んだノード図です。 小さい丸が記事、大きい丸がカテゴリ。実線は記事の本文から張ったリンクで、点線は内容が近い記事同士のつながりを表しています。タイトルが並んだ一覧とは、ちょっと違うブログの眺め方です。ブログは積み重なっていきます。本を平積みしてタワーになっているイメージです。間を抜こうとすると大変です。かと言って全部が1段積みだと広がりすぎる。ということで、適度にクラスターを形成させつつ、平積みの状態を実装してみました。 ![「つながり」のノード図を操作する様子。記事の関係を眺め、選んだ記事をまとめてAIに渡せる](https://flow-with-tech.com/media/posts/human-ai-reading-mode/06-article-network-ai.gif) 気になる丸をクリックすると記事の詳細が出てきて、下にはその記事とつながる記事が並びます。キーワードやカテゴリ、期間で絞ったり、再生ボタンで古い記事から時系列に眺めたりもできます。自分が何を書いてきたのかを見るだけでも、私はちょっと面白いです。 そして、**この図から記事を選んで、まとめてAIにぶん投げられます。** Shiftキーを押しながらドラッグするか、「範囲選択」ボタンを使って、気になる丸を囲みます。下の記事リストでチェックを付けてもいいです。選ぶと画面下にバーが出るので、「Claude で開く」「ChatGPT で開く」から渡せます。URLをコピーすることもできます。 一つの記事とつながる記事をまとめて選んだり、カテゴリや期間で絞ったあとに「表示中を全部 AI に読ませる」を使ったりもできます。 たとえば、気になった記事の周辺を選んで「このあたりの記事に共通する話をまとめて」と頼む。ある時期の記事を選んで「この人は何に興味を持っていたのか」と聞いてみる。そんな読み方もできそうです。 一記事ずつ要約するだけでなく、**読む記事のまとまりを自分で選んでから、AIに渡す。** その入口も用意してみました。 ## AIに渡しやすい入口を用意した やったことは、同じ記事を、人間がそのまま読むことも、AIに渡すこともできるようにした、というものです。 「これを読んで、要点をまとめて」と頼むまでの手間が少し減れば、それでいいかなと思っています。 AIモードという名前は大げさですが、私としては「読むのが面倒だったら、こっちからどうぞ」くらいのつもりです。どれだけ使われるのかは、まだ分かりません。 以前、Power Appsでも、データを生成AIに渡しやすい形でコピーするボタンを作りました。今回も、渡すまでのひと手間を減らすという点では同じです。 https://flow-with-tech.com/powerapps-copy-data-for-generative-ai/ ## 収益もないのに、なぜそんなことをするのか 私のブログは、アフィリエイトをやっているわけでも、広告収入を得ているわけでもありません。それでも、自分でサーバーを契約して、年間1万円くらい払って運用しています。コーディングエージェントの利用料金も自分で払っています。 今回の機能を作ったところで、別に儲かりません。お金を払って、収益のないブログに機能を増やしています。 では、なぜやるのか。 私は、**当たり前に見えているものを、当たり前ではないものとして見て、自分なりの答えを形にする側でありたい**からです。アート思考みたいなもの、と言えば近いかもしれません。 以前、Qiitaに[「1年半で268個アプリを作った私の結論:Power Apps を作るとは『世界への挑戦』である」](https://qiita.com/kama_bizdev/items/9fff5a8d149e00090e62)という記事を書きました。 そこで書いたのは、何かを作って世に出すことは、自分が世界をどう見ていて、どうすればよいと考えているのかを示すことでもある、という話です。たとえ小さなものでも、自分なりの問題の捉え方と解決策を世界に提示している。それを私は「挑戦」だと捉えています。 今回なら、「ブログは人間が画面を開いて読むもの」という前提です。読む相手がAIでもいいなら、文章の渡し方や、読んでもらうための操作も変えられるのではないか。そして、なんかやってみたいしおもろそう。 「面白そうだから、AIと一緒に掘ってみる」という感覚は、前にも書きました。今回も、その延長にあります。 https://flow-with-tech.com/ai-explore-childlike-curiosity/ ## 書きたいことと、読んでほしいことは、ちょっと違う 私にとってブログを書くのも、たぶんこの延長にあります。何かを知って、試して、「私はこう思った」というものを整理して出してみたい。 **自分が書きたいから書いている。** ![記事をそのまま読む、AIに渡して要約を読む、読まずに閉じる。どれも選べる](https://flow-with-tech.com/media/posts/human-ai-reading-mode/05-reading-choices.png) だから、AIにぶん投げやすくすることも、私の中では普通につながっています。せっかく書いた文章が3行になるのは寂しい、というより、「時代だな。」と思っています。 ## 要約してまで読む価値が、本当にあるのか 読むのがしんどいなら、AIに要約してもらう。そしてそれをさらに効率化する方法を用意しておきました。3分クッキングの要領ですね。 ただ、その前に「読まない」という選択肢もあっていいと思います。 生成AIに文章を渡して、要約を作ってもらう。その処理には電力が使われます。電力を供給する設備も資源も、無限にあるわけではありません。この記事一つの要約にどれだけ使うかを計算したわけではありませんが、画面の向こうで何かが動いていることでしょう。 有料のサブスクリプションを使うなら、そのお金もかかります。少なくとも私にとって、そのお金は、自分の人生の時間を使って働き、得た対価です。そして、できあがった要約を読むのにも、また人生の時間を使います。 **地球の資源と、自分のお金と、自分の時間を使ってまで、私のブログの要約を読む価値はあるのでしょうか。** AIを使うお金が気になって、自分の作業でどれくらい消費したかを記録する仕組みも作っています。使うかどうかを自分で選ぶために、かかったものを見ておきたい、という話です。 https://flow-with-tech.com/claude-code-credit-log/ それでも私は、作ってみたかった。その時間とお金の使い道を、自分で選びました。読む人にも、自分で選んでもらえばいいと思っています。 興味があれば、人間モードでどうぞ。AIに渡してみたければ、AIモードもあります。 読まずに閉じても大丈夫です。 > 🗣 次は「記事を開いた人が抱く感想を、AI で生成して先回りしてSNS に発信してくれるボタン」作ろうかな。これでもう読む必要もなく、読んでないのに感想をアウトプットすることができます。 --- # ネーミングや共通認識の重要性を改めて見つめ直したい。 - 公開日: 2026-09-12 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/naming-shared-understanding-project-definition/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![ネーミングや共通認識の重要性を改めて見つめ直したい。](https://flow-with-tech.com/media/posts/naming-shared-understanding-project-definition/eyecatch-emaki-full-title.png) ## ネーミングと共通認識から、IT部門の仕事を考える > あくまでも素人の考えであり、既存の論文の理解も生成AIの力を借りており、間違いを含む可能性があります。研究で示されていることと、そこから私が考えたことは、できるだけ分けて書いています。 例えば、MicrosoftのCopilot Studioをどうするかについて議論をしたいとする。 ある人は、以前触ったときの印象から「チャットbotが作れるやつね」と思うかもしれない。ある人は「Copilotのライセンスで使えるものだと思っていた」と言うかもしれない。またある人は「どの機能を、誰が、どう使う話なのか。課金や他サービスとの役割分担も含めて、まずはそこから整理しないと」と思うかもしれない。 これは製品仕様の説明ではなく、会議に持ち込まれる認識の例である。全員が「Copilot Studio」という同じ言葉を使っているのに、頭の中にあるものは違う。 ![Copilot、エージェント、自動化、チャットbot。それぞれ違うものを思い浮かべながら話す人たち](https://flow-with-tech.com/media/posts/naming-shared-understanding-project-definition/different-understandings.jpg) 誰もが事細かに理解する必要はない。担当者と管理職と現場の利用者では、必要な知識も違う。ただ、何を論点にして、何と何を比較して、今日は何を決めるのか。その前提が揃っていないと、議論が始まらない。 変化が激しい今の時代において、この「議論を始められる状態にする」という仕事が、とても難しくなっていると感じる。 しかも、会議をして揉めるなら、まだ問題が見えている。そもそも何を相談すればいいか分からず、議論が始まらないこともあるのではないか。一部の詳しいユーザーから問い合わせが来て、その都度対応する。その対応自体は必要でも、個別の判断が積み上がった結果、組織全体として何を目指しているのか分からなくなってしまう。 その間に、始められたはずの仕事を始められずにいるかもしれない。ただ、何も始まっていないので、機会を逃したことすら表面化しにくい。そして失敗をすることもなく、そこから学ぶこともない。 では、どういう状態になっていればいいのだろうか。 私は、**関係者が過剰な労力を消費せずに建設的な議論を行い、後から見直してもいいので、必要なタイミングで意思決定できること**だと思う。そして、決まった後は、自分たちが何をしているのかを毎回確認し直さずに仕事ができることだ。 そのために、意外と侮れないのがネーミングと、仕事をちゃんと定義することなのではないか。始めるときは理解していても、1か月後は誰も思い出せない。思い出せないものは評価できない。評価できないものは学習に繋げることができない。限りある人生の時間を使うのであれば、失敗ももれなく有効活用したいではないか。 ## サービスの名前は、提供する側の仕事でもある 英国政府のService Manualに「Naming your service」というページがある。利用者が使う言葉を選び、何をするサービスなのかが伝わる名前にする、という考え方が示されている。 例えば、次のような名称が紹介されている。 | 内部・旧名称 | 利用者向け名称 | 日本語で見ると | | --- | --- | --- | | Individual Electoral Registration System | Register to vote | 「個別選挙人登録システム」から「投票のために登録する」へ | | fee remission | Get help with court fees | 「手数料減免」から「裁判所の費用の支援を受ける」へ | 後者については、利用者と裁判所職員への調査で、旧名が混乱を招き、サービスを理解しにくくし、提供コストを高めていたと記録されている。具体的な削減額までは示されていないが、名前による混乱を、提供する側が改善する問題として扱っている。[英国政府「Naming your service」](https://www.gov.uk/service-manual/design/naming-your-service) 私はここが大事だと思った。 詳しい人からすれば、正式な名称を書いてあるのだから、調べれば分かるでしょうと思うかもしれない。しかし、その名前を見た人が何のことか分からず、毎回説明が必要になるなら、その負荷はどこかで誰かが引き受けている。 社内の会議名も同じだと思う。「打ち合わせ」だけでは、何を準備して参加すればいいか分からない。「生成AIサービスの利用方針を決める」とあれば、少なくとも何のために集まるかは見える。そこに、今回決めることと事前に見ておくものがあれば、話を始めやすくなる。 もちろん、名前に全部を詰め込めばいいわけではない。名前で入口を作り、その先に短い説明を置けばいい。 「この資料は何のためのものか」「この会議では何を決めるのか」。それを受け取る側に推測させ続けないことも、仕事の一部なのだと思う。 ![「打ち合わせ」では戸惑う参加者と、「生成AIの利用方針を決める」なら準備して集まれる参加者](https://flow-with-tech.com/media/posts/naming-shared-understanding-project-definition/meeting-name.jpg) ## 名前は、受け取り方にも影響する 名前が変わると、人の行動まで変わることがあるらしい。 Libermanらの「The Name of the Game」という研究では、囚人のジレンマの実験で、ゲームの名前を「Wall Street Game」「Community Game」などに変えている。同じ利得構造でも、付けられた名前によって、協力するかどうかの選択に差が生じたという。[Liberman, Samuels & Ross(2004)](https://journals.sagepub.com/doi/10.1177/0146167204264004) これは、分かりやすい名前を付ければプロジェクトが成功する、という実験ではない。ただ、名前が「ここはどういう場なのか」を受け取る手掛かりになり、行動にも関わり得るという点は興味深い。 例えば、「AIツール導入」と「現場の調査業務を短縮する」では、同じツールを扱っていても、検討の中心が変わりそうだ。前者なら、ツールを入れることがゴールになってしまうかもしれない。後者なら、そもそも何に時間がかかっているのか、導入して本当に短縮できるのか、という話になるだろう。 これは私の考えだが、名前を考える行為には、自分たちが何をしようとしているのかを問い直す効果があると思う。そしてこれは、上役の仕事でもあると思う。現場の担当者は視野が狭い。なぜなら経験が浅く、担当している業務で手いっぱいだからだ。担当者が自分の与えられた仕事に全力で取り組んだとしても、そもそものゴール設定が間違っていたら、あまり意味のない仕事になってしまう。山口周さんの「コンテキスト・リーダーシップ」でも、こんなことが書かれていた。 > ワイクの理論の中核には「行為が理解を生み出す(Enactment)」という考えがあります。状況は受動的に観察するだけでは捉えられず、行動によって初めてその輪郭が浮かび上がります。行動と学習を結びつけるこの対話の繰り返しによって、組織全体のコンテキスト理解は徐々に揃っていきます。  観察・解釈・行動の三つのステップは、単なる作業手順ではなく、リーダーとメンバーが対話を通じて共通の物語を育てるための循環です。この循環を意識的に回し続けることが、組織におけるコンテキストの共有を可能にするのです。  言い換えれば、リーダーとは単なる意思決定者ではなく、「意味を作る存在=Sence Maker」であるべきだ、ということです。 > > 出典:山口周『コンテキスト・リーダーシップ 「最高の上司」と「最悪の上司」は文脈で決まる』(光文社新書)、Kindle版、pp. 42–43。 つまりネーミングにおいて、リーダーはそこに自分が作った意味を載せるという大きな仕事がある。それをやらずして、担当者の成果を判断するのは本当に可能なのだろうか。 ![行き先が分からず立ち止まるチームと、リーダーが指し示す目的地を共有して歩き始めるチーム](https://flow-with-tech.com/media/posts/naming-shared-understanding-project-definition/leader-direction.jpg) そして、仕事ではもう一つのパターンがある。そもそも名前も定義もないまま、ぬるっと始まることだ。 ## 我々は、一体何をしているのか とりあえず集まる。とりあえず調べる。次回も話す。 そうしているうちに、定例会議だけが続いていく。これはいつからいつまでやるのか。何ができたら終わりなのか。誰が決めるのか。関係者は誰なのか。よく分からないが、何となく仕事として存在している。10人を超えるオンライン会議に何の意味があるのだろうか。 こういうことは、日常茶飯事なのではないだろうか。 例えば旅人が目的地にたどり着くためには、何が必要だろうか。地図や目的地、コンパスだけで十分だろうか。たとえ地図を持っていても、自分が今どこにいるか分からなければ、どっちに進めばいいかすらわからない。 仕事も同じではないだろうか。目的地は何を達成したいか、現在地は何ができていて何がまだ分からないか。そこを押さえて初めて、次に何をするかを考えられる。誰と、いつまでにたどり着くのかも決まっていれば、進み方を相談しやすい。 ![地図がない旅人、現在地が分からない旅人、現在地と目的地を確かめて道を選ぶ旅人](https://flow-with-tech.com/media/posts/naming-shared-understanding-project-definition/map-location.jpg) 途中で道が変わったら、地図も予定も見直せばいい。そのためにも、まずは今の現在地と目的地を共有しておきたい。 だから私は、少なくとも次のことを定義したいと思っている。 - **名前**:関係者が同じ仕事を指して使える名前は何か。 - **目的と範囲**:何のために、何をするのか。今回はどこまで扱うのか。 - **終了条件**:何が決まる、あるいは何ができたら、この仕事は終わるのか。 - **関係者と役割**:誰が進め、誰が決め、誰に相談し、誰に共有するのか。 - **開始日と終了日**:いつ始めて、いつまでに何をするのか。 書いてみると、バカみたいに基本的なことだ。 ただ、これが揃っているだけで、「それは今回やることだっけ」「誰に決めてもらえばいいんだっけ」「この調査はいつまで続けるんだっけ」に戻る場所ができる。 最初から全部を確定できないこともある。その場合は、仮の期限を置くとか、まずは範囲を決めるための調査期間にするとか、未定の部分をいつ誰が決めるかを書いておけばいいと思う。 変わることを前提にしていても、その時点での定義は持てる。今の考えが書かれていれば、後から何が変わったかも話せる。 ## 定義すると、仕事の重複も見えてくる 例えば、AI戦略、エージェント検討、市民開発検討。この三つは、完全に別々の仕事なのだろうか。 名前だけを見ると別の活動に見えるが、対象となる利用者やサービス、決めるべき方針を並べてみると、かなり重なるかもしれない。 ここで定義することの意味が出てくる。 「これには上位の施策があるから、そこにつなげて進めよう」「この二つは同じことを調べているから、一緒にやろう」「利用方針を先に決めないと、個別サービスの比較をしても決まらない」。そういう順序や関係を考えられるようになる。 ![別々のチームで重複していた作業を整理し、共通の仕事と個別の仕事の関係をつなぐ](https://flow-with-tech.com/media/posts/naming-shared-understanding-project-definition/overlapping-work.jpg) そもそもこれは何をしようとしているのか。定義するという行為は、無秩序に仕事を増やす前に、そのワンテンポを作ることでもあると思う。 最近、私はプロジェクトの情報を記録できるSharePointのリストと、そのプロジェクトを参照するLookup列を持ったドキュメントライブラリを整備した。 資料を見たときに、何のプロジェクトのものかをたどれるようにしたかったからだ。プロジェクトの目的や関係者と、実際に作っている資料がつながっていれば、途中から参加する人も状況をつかみやすいのではないかと思っている。 フレームワークをチームに馴染ませるために、普段使う仕組みに組み込んでしまう。これも一つの方法なのだと思う。「入力が仕事になっちゃうんじゃないですか?」という、賢そうな発言(人は肯定よりも、否定的な発言をする人の方が頭が良さそうと認識するらしい)が出たとする。 回答はただ一つだ「仕事だよ。」 もちろん、使われない項目を入力させるのは無駄である。しかし、後から目的や関係者を確認できるように情報を残すことは必要だ。それを残さなかったために、後から複数人が何度も確認し、説明し、調べ直すことまで考えると、どちらが効率的か賢い人ならご理解いただけるのではないだろうか。 プライベートで作ってみたときのXへの投稿。 https://x.com/kama_bizdev/status/2093864473228620198?s=20 ## 共通認識を揃える時間は、無駄なのか そうは言っても、そこまで整理する時間がもったいない、と思うこともある。 ここで参考になったのが、Shared Mental Model、共有メンタルモデルの研究だった。 DeChurchとMesmer-Magnusによる2010年のメタ分析では、23の独立研究を統合し、共有メンタルモデルとチームの活動過程・成果との関係を調べている。共有メンタルモデルはチームの成果と正の関係にあり、チームの活動過程との関係では、知識の構造やつながりを捉える測定が重要だった。[DeChurch & Mesmer-Magnus(2010)](https://atlas.northwestern.edu/papers/sharedTeam.pdf) 私がここから考えたのは、共通認識として揃えたいものは何か、ということだ。 例えば、全員がエージェントという単語を知っていても、誰が作り、誰が使い、誰が管理し、どこで費用が発生するのか。その関係を違って捉えていれば、判断は噛み合わない。 プロジェクトでも同じだと思う。我々は何のためにこれをやっているのか。自分の作業は、他の人の仕事とどうつながるのか。何を優先し、どこで誰の判断が必要なのか。協働に必要な範囲で、その見取り図を共有したい。 ![ばらばらな方向へ歩く人たちと、一つの船で役割を分担し同じ目的地へ進むチーム](https://flow-with-tech.com/media/posts/naming-shared-understanding-project-definition/shared-boat.jpg) もちろん、この研究が、名前や開始日・終了日を決めることの効果を直接証明しているわけではない。共通理解と成果の関係を、名前を付けるだけの効果に置き換えることはできない。 当然、認識合わせにも時間はかかる。ただ、その時間を省いた結果、後から複数の人が調べ直し、説明し直し、作り直していたら、全体ではどちらが高くつくだろうか。 最初の資料を作る人の負荷だけでなく、それを受け取って動く人まで含めて考えたい。共通認識を作る作業を、ただの事務作業として片付けてしまうのはもったいないと感じる。 ## 「分かっているつもり」を、少し減らす もう一つ、Common Groundという考え方がある。 Clarkらは、人が会話を進めるときに土台とする、互いに共有しているとみなす知識や前提、そして理解を確かめ合う過程を論じている。[Clark & Brennan(1991)「Grounding in Communication」](https://web.stanford.edu/~clark/1990s/Clark%2C%20H.H.%20_%20Brennan%2C%20S.E.%20_Grounding%20in%20communication_%201991.pdf) 仕事に引き寄せると、「ここまでは相手も分かっているだろう」と思って話していたら、実はそこが違っていた、ということだと思う。 「この件を進めてください」と言った人は調査のつもりで、受け取った人は導入まで進めるつもりかもしれない。「方針を決める会議」のつもりで参加したら、他の人は情報共有だけのつもりかもしれない。 こうしたずれを毎回、仕事が進んだ後に見つけるのはしんどい。 では、どうやって「分かっているつもり」を減らすのか。ここで私は、文書に残すことが必要だと思う。 一人ひとりに聞けば、たどたどしくても一応それっぽい回答が返ってくる。それだけで、同じ理解をしていると言えるのだろうか。「この資料で言っているエージェントは、こういう意味です」と、まずは目に見える形にしたい。 そのうえで、「今回やるのはここまで」「この判断はこの人にお願いする」と、実際の仕事に当てはめて確かめる。書いてあるものを一緒に見れば、どこが違うのかを指して話せる。文書を置いただけで共通認識ができるわけではないが、確認するための足場にはなると思う。 バカみたいだが、関係者が入れ替わったり、一時的にアサインされた人が入ってきたりしたときにも、この足場があるかどうかは大きい。誰かの頭の中にしかない前提を毎回聞き出すより、参照できる形で残しておくほうが、一定レベルの仕事を続けやすいのではないだろうか。 この辺りは、宇田川元一さんの『他者と働く──「わかりあえなさ」から始める組織論』で書かれているナラティヴ・アプローチで説明ができるかもしれない。 https://www.amazon.co.jp/%E4%BB%96%E8%80%85%E3%81%A8%E5%83%8D%E3%81%8F%E2%94%80%E2%94%80%E3%80%8C%E3%82%8F%E3%81%8B%E3%82%8A%E3%81%82%E3%81%88%E3%81%AA%E3%81%95%E3%80%8D%E3%81%8B%E3%82%89%E5%A7%8B%E3%82%81%E3%82%8B%E7%B5%84%E7%B9%94%E8%AB%96-%E5%AE%87%E7%94%B0%E5%B7%9D%E5%85%83%E4%B8%80-ebook/dp/B07Y5FF3M4?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A ## IT部門が、議論を始められる状態を作る 私は、こうしたことをIT部門が率先してやる意味は大きいと思っている。 特に気になるのは、議論が始まらないことのリスクだ。 何かを導入して問題が起きれば、報告も振り返りもある。ところが、何を相談すればいいか分からず、検討にすら上がらなかった仕事はどうだろうか。報告する案件になっていないのだから、誰の目にも留まらないままかもしれない。 「問題は起きていません」の陰で、改善できたかもしれない業務や、試せば学べたかもしれないことが、そのままになっている。私は、こういう状態も気にしたい。 ![「問題なし」の報告の陰に積もる未検討のアイデアに、IT担当者が光を当て、目的・論点・決めることを整理して議論を始める](https://flow-with-tech.com/media/posts/naming-shared-understanding-project-definition/it-discussion-unseen-risk.jpg) もちろん、検討しなかった案が全部有望だったとは言えない。ただ、検討したうえで「今はやらない」と決めたのか、前提を整理できずに議論が始まらなかったのか。この違いは見えるようにしておきたい。 新しいサービスが出る。名前が変わる。機能が増える。利用条件が変わる。そのたびに、現場の利用者や上司がそれぞれ調べて、違いを整理し直すのは大変だ。 そこでIT部門が「公式資料はこちらです」と渡すだけだと、情報は共有できても、判断するための前提が揃ったとは限らない。 このサービスは何をするものなのか。既存のサービスとどう違うのか。社内では何に使うことを想定しているのか。今回、誰に何を決めてほしいのか。 その整理を、まずIT部門が引き受ける。技術や契約の細かな比較をしたうえで、関係者が自分の立場で判断できる形にする。 例えば、「Copilot Studioについて相談」では話が広すぎるかもしれない。「社内問い合わせを支援するエージェントの試行範囲を決めたい」とすれば、対象業務、利用者、扱う情報、費用、運用責任者といった論点に進みやすくなる。 現場には業務の必要性を、予算を持つ人には費用と優先順位を、運用する人には管理方法を判断してもらう。それぞれに必要な情報と、判断のつながりを整理することも、IT部門の仕事なのではないだろうか。 そして、自分たちが持つプロジェクトについても、同じように名前、目的、関係者、期限を明らかにしておく。何を検討していて、何が決まっていて、何がまだ決まっていないのかが見えれば、周囲も動きやすい。 変化が速いからこそ、全部を理解してからでないと進めない状態はつらい。いま分かっていることと未確認のことを整理し、誰がいつまでに確認するかを決め、その時点でできる判断をする。必要になったら見直す。 そのための前提を用意できれば、IT部門自身が変化への対応を止めるボトルネックにならずに済むのではないか。 さらに、同じ説明を担当者が何度も繰り返す状態も減らしたい。必要な情報がプロジェクトやサービスにひも付き、参照できるようになっていれば、毎回詳しい人を捕まえなくても進められることが増えるはずだ。 ## 当たり前のことを、ちゃんとやって楽にしたい 結局、言いたいことはとても陳腐なことだ。 仕事に名前を付ける。何をするものなのかを一文で書く。関係者と役割を決める。開始日と終了日を置く。何ができたら終わるのかを考える。そして、それを関係者で共有する。 そんなの当たり前でしょう、と思う。でも、当たり前のことを当たり前にやるのが、難しい。そして、当たり前すぎて侮られる。 毎回「これは何の話でしたっけ」から始めなくてよくなれば、その分、決めるべきことに時間を使える。「誰に聞けばいいんだっけ」「どこまでやるんだっけ」で止まる回数が減れば、その分、迷わず手を動かせる。 名前を付けて、仕事を定義する。たったそれだけに見えることが、正しい意思決定や、無駄に疲れずに仕事を進めるための土台になるのではないか。 IT部門が率先して、そこを丁寧にやっていきたい。Outlook カレンダーを会議で埋め尽くすゲームをしている場合ではない。 変化が激しくて、覚えることも考えることも多すぎる。だからこそ、同じ前提の確認に何度も労力を使わずに済むようにしたい。 バカみたいに基本的だけど、そこをちゃんとやって、もう少し負荷を減らして仕事をしていこうぜ、と思う。 そして、ええ感じのネーミングをつけるために本質を理解することや、若干のカリスマ性を含んだ芯を食った発言ができるようになりたい。 > 🗣 私は「自分の発言は芯食ってないなあ」と思うことが多々あります笑 --- ## 参考文献 - Government Digital Service. [Naming your service — Service Manual](https://www.gov.uk/service-manual/design/naming-your-service). - Liberman, V., Samuels, S. M., & Ross, L. (2004). [The Name of the Game: Predictive Power of Reputations versus Situational Labels in Determining Prisoner’s Dilemma Game Moves](https://doi.org/10.1177/0146167204264004). *Personality and Social Psychology Bulletin, 30*(9), 1175–1185. - DeChurch, L. A., & Mesmer-Magnus, J. R. (2010). [Measuring Shared Team Mental Models: A Meta-Analysis](https://atlas.northwestern.edu/papers/sharedTeam.pdf). *Group Dynamics: Theory, Research, and Practice, 14*(1), 1–14. [DOI](https://doi.org/10.1037/a0017455) - Clark, H. H., & Brennan, S. E. (1991). [Grounding in Communication](https://web.stanford.edu/~clark/1990s/Clark%2C%20H.H.%20_%20Brennan%2C%20S.E.%20_Grounding%20in%20communication_%201991.pdf). In L. B. Resnick, J. M. Levine, & S. D. Teasley (Eds.), *Perspectives on Socially Shared Cognition*, 127–149. --- # 都会で生きる人間の社会的不合理について考えてみた。 - 公開日: 2026-09-11 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/urban-friction-and-consideration/ - サイト: 改善紀 — 好奇心の赴くままに。 --- # 都会で生きる人間の社会的不合理について考えてみた。 ![都会で生きる人間の社会的不合理について考えてみた。](https://flow-with-tech.com/media/posts/urban-friction-and-consideration/00-eyecatch-v2.png) 人とすれ違うだけなのに。 ぶつかったわけではありません。ただ、こちらが少し速度を落として、前方からくる相手が通り過ぎやすくした。ただそれだけなのに。 相手は普通に歩いていきます。私も歩き出します。 本当にこれは何も起きていないのでしょうか。 ## この記事を読んでわかること - 駅やスーパーで起きる、小さな譲り合いのすれ違い - 悪意がなくても、配慮する側に負担が集まる仕組み - それでも私が、少し速度を落としたいと思う理由 ## なぜ、いちばん狭いところで追い抜くのか 駅の通路を歩いています。向こうから二人が来ます。 先頭のAさんはゆっくり。その斜め後ろに、少し速いBさん。こちらには私。話を整理するため、速度をそれぞれ0.7、1.2、1.0と置きます。実測ではなく、歩く速さの比です。 前方には柱があります。一人がゆとりを持って歩ける幅を1.0とすると、柱の横は2.3くらい。二人なら通れるけれど、三人が同時に余裕を持って並ぶには足りません。 そして、このままだと、ちょうどそこで出会いそうです。 ![柱の中央でA、B、私が同時にすれ違い、私が止まらず柱と反対側へ避けるアニメーション](https://flow-with-tech.com/media/posts/urban-friction-and-consideration/01-station-v2.gif) Bさんは速度を変えません。Aさんを追い抜く。その横を私が通る。**三人分の調整が、いちばん余裕のない一点に集中します。** 果たしてこの場合、全体最適を目指す余地は本当にないのでしょうか。 Bさんが意地悪をしているとは思いません。自分の歩く速度を、そのまま維持しているだけかもしれない。ただ、誰か一人が速度を変えないとき、その分の調整はほかの人に回ってきます。 歩いている姿も、相対的な速さも見えていました。それでも「誰が先に通るか」は決まらないまま。精算だけが、柱の横まで持ち越されます。 改札を抜けたところで行き先を考え始める。エスカレーターを降りた直後に立ち止まる。あれも、判断する場所と、人の流れが詰まる場所が重なってしまう話なのだと思います。 ## 譲った空間には、宛名がない スーパーの通路です。幅は同じ単位で2.0。私は左側を歩いていて、前の人が商品を見るために止まります。反対側からも人が来ています。 ここで追い抜くと、対向の人が減速することになりそうです。なので私は止まります。自動車を運転するときのルールと同じですね。自分のレーンに支障物がある場合、減速して反対車線の車両を優先するやつですね。 しかし、私の後ろにいた人が、私を追い抜いていきます。 対向の人は、その人を通すために止まります。 ……私が止まった意味は。そして、ここでも全体最適をする余地は本当になかったのだろうか。 ![商品を見る人の後ろで私が止まり、後続の人が追い抜き、対向者が待つスーパーの平面図](https://flow-with-tech.com/media/posts/urban-friction-and-consideration/02-supermarket-v2.gif) 後ろの人には、私の判断は見えていません。「前が止まったので、空いている側から進んだ」というだけかもしれません。 **しかし、人間はプログラムされたロボットではありません。状況に応じて、周囲の人に応じて、臨機応変に対応ができるのではないでしょうか。**(やろうと思えば。) 私が止まって生まれるのは、ただの空間です。「対向の方へ」とは書いていません。善意が宛名なしの現金になって、近くにいた人に拾われていきます。 その場だけ見れば、追い抜いた人は先に進めています。一方で、私が通したかった相手は通れていない。譲った私は、さらに後ろになりました。 これが続くと、「止まらずに進んだほうがいい」と学習したくなります。配慮が報われないだけならまだしも、**配慮をやめる理由が、一回ごとに増えていく。** 皆さんはこんなときどうしますか? ## 行列の空白は、誰が守るのか 行列を横切りたいときがあります。 一か所だけ通れる幅が空いていれば、列に並ぶことと、横を通ることは両立します。でも、その空白がなかなか生まれません。列に並んでいる人は、首がもげるぐらい手元のスマホを見ています。 前が空いている。だから詰める。列に並ぶ人としては、むしろ自然な動きです。 ![列の人が前へ詰めて通り道の空白が消え、横断したい私が待つアニメーション](https://flow-with-tech.com/media/posts/urban-friction-and-consideration/03-queue.gif) 空白を残すには、誰かが前を空け続ける必要があります。そこは通り道だと判断し、詰めたくなるのを止める。場合によっては、後ろの人にも意図を伝える。 順番が必ず遅くなるわけではありません。それでも、**空白には、維持するための手間がかかります。** 列そのものは何も悪くありません。ただ、列ができた副産物として、横を通れない人が出ます。その人の遠回りは、列の中の誰の帳簿にも載りません。 こういう、行動の影響が外の人に及ぶことを「負の外部性」と呼ぶそうです。ここでは、並ぶ側の都合に入っていない負担が、通る側へ回っています。 「ここを空けてください」という床の表示は、ただの案内に見えて、空白を一人で守らなくてよくする仕掛けでもあるんですね。そういう仕組みで不合理を解決したくなるのは、私だけでしょうか。 ## 私は並んでいる。相手には、そう見えていない 比較的空いている電車で、降りるために早めにドアの前へ移動します。 停車間際、後ろから来た人が斜めに入り、私とドアの間に立ちます。 ドアとの隙間を空けすぎたのでしょうか。ドアに唇が触れてしまうぐらい密着していれば良かったのでしょうか。降りるそぶりが足りなかったのでしょうか。レジではあんなにきれいに並べるのに、なぜここでは割り込みのような行為が生まれるのでしょうか。 ![ドア前にいる私の意図が外から判別できず、後方の人が斜めに入る車内の平面図](https://flow-with-tech.com/media/posts/urban-friction-and-consideration/04-train.gif) 考えてみると、レジには列があります。ホームには乗車位置の印があります。 でも車内では、ドアの前に立っている人が、次で降りるのか、そこが居場所なのか、立ち位置だけでは判別しにくいのかもしれません。 **私の中には降りる意思があっても、それじゃあ相手には伝わらない。** 相手は「この人の後ろで待って、本当に降りられるのか」と思ったのかもしれません。降りそびれたときの困りごとは、自分が引き受けることになります。だから、降りられる位置を先に確保する。 皆さんは電車から降りるときに、いつドア付近に移動しますか。どのあたりに位置しますか。 ## セルフレジでは、次の動きが見えない セルフレジが6台。中央に通路があって、左右に3台ずつ並んでいます。利用者は通路に背を向けて会計します。 一番奥が空いたので、私はそこへ向かおうとします。 このとき気になるのが、手前のレジにいる人です。会計が終わると、ノーモーションで振り返り、そのまま通路へ出てくるかもしれません。反対側からも来るかもしれません。 ![セルフレジの客が会計後に通路へ合流し、入口と反対の奥の出口へ抜ける。私は待ってから進むアニメーション](https://flow-with-tech.com/media/posts/urban-friction-and-consideration/05-checkout-v2.gif) 駅の通路なら、少なくとも相手が歩いている方向と速度は見えました。でも、こちらを向いていない人が、いつ振り返るのかは読みにくい。 一度確認しても、その直後に会計が終わるかもしれません。**今は通れるという情報と、次の瞬間も通れるという情報は、別物です。** 振り返る側にとっては、「通路へ合流する」というより、「会計が終わったから体の向きを戻す」くらいの動作なのだと思います。手には商品や財布。さっきまで意識は支払いに向いていました。 作業を終えた瞬間に、別の人の流れへ入る判断が必要になる。これは、利用者の注意力だけに任せるには忙しい設計です。 もちろん、ゆっくり進むことや、振り返る前に周囲を見ることには意味があります。ただ、歩く側が一回目視すれば全部わかる、という問題でもありません。 一度立ち止まることの難しさが、ここに詰まっていると思います。皆さんはレジから振り返るときに、ワンテンポ立ち止まりますか。それとも、ノンストップで帰りますか。 ## 決め方がない。だから、気づいた人が払う 五つ並べてみると、少しずつ違う問題が混ざっています。 駅や電車では、互いの動きや意図を合わせるための手がかりが足りません。これは「調整問題」として考えられます。セルフレジでは、さらに次の動きの見えにくさと配置の問題が重なります。 スーパーや行列では、譲ることや空白を保つことに負担があり、自分だけ先に進む誘因もあります。各自が目先の利益を追うと、みんなにとって望ましくない状態になりうる。「社会的ジレンマ」という考え方があるそうです。 同じ仕組みで全部説明できるわけではありません。でも、共通しているのは、調整の方法が曖昧なところを、誰かの注意や減速が埋めていることです。 スマホを見ながら歩いている人とすれ違うとき、周囲を見ていた私のほうが避ける。接触しなかったからといって、調整が不要だったわけではありません。見ていた側が引き受けたので、接触せずに済んだのかもしれません。 **すれ違えたことと、摩擦がなかったことは、同じではない。** 肩を引く。足を止める。次も急に人が出てくるかもしれないと身構える。一つひとつは小さくても、街を歩くあいだずっと続くなら、侮れない負担です。 ## 相手にとっての「周囲」には、私もいる では、自分も譲らずに自己の都合だけを優先して進めばいいのか。 でも、私が自分の最高速度を守るために誰かを止めたとき、その人が経験するのは、私が今まで、もやっとしてしまった出来事です。 私には「少し急いでいただけ」でも、相手には「こちらを見ずに進んでくる人」になる。 **自分の振る舞いは、相手から見れば、他人から受ける振る舞いなんですよね。** その場で先に通れた人は、確かに数秒得をします。ただ、その人も次の通路では、誰かに止められる側になります。私と相手は固定された役ではなく、街の中で何度も入れ替わります。 一回譲れば、いつか必ず自分に返ってくる。そんな保証の話ではありません。同じ相手にまた会うとも限りません。 それでも、誰も速度を落とさない街で暮らすのは、速度を落とさなかった自分でもあります。「譲ったら損だ」と皆が身構える場所を、自分も少しずつ作っているのだとしたら。その場で相手に渡した負担を、自分と無関係だとは思えません。 ## まとめ:少し速度を落とすのも、自分のため スマホの画面を見続けること。1分1秒を惜しんで、自分の最高速度で歩くこと。 それは、目の前の人の存在に気づくことよりも、本当に優先したいことなのでしょうか。 私にも急ぐ日はありますし、余裕がない日もあります。誰かの振る舞いを一瞬見ただけで、その人全体を判断することはできません。 でも、自分が気づいたときにどうするかは、選べるのではないでしょうか。 少し速度を落とす。相手が通れるだけの間を残す。動き出す前に顔を上げる。そういう主体的な小さな動きは、他人のための持ち出しであると同時に、**自分が気持ちよく暮らしたい街に、自分から参加すること**なのだと思います。 そして、忙しなく進み続けることを強制させられる、この都会において、自らありたい姿を描き、理想に向かって歩み出す、偉大なる一歩になるのではないでしょうか。 皆さんは余裕が無くなりがちなときでも、気配りができる人ってすごいと思いませんか。周りに焦らされるのではなく、自分の軸を持って生きていきたい。そう願うばかりです。 --- # 【朝起きるアイテム】朝5時に起きる私の部屋に居座っている5つ - 公開日: 2026-09-08 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/asa-okiru-items/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![朝5時に起きる私の部屋に居座っている5つ(作者と GPT-6 Astra による自画像つき)](https://flow-with-tech.com/media/posts/asa-okiru-items/eyecatch-asa-okiru-items.png) 突然ですが、皆さんは朝、起きられていますか。 私は起きられます。毎朝5時に起きています。ただ、それは私の意志が強いからではなく、部屋に居座っている道具たちが優秀だからです。 というわけで、前回の「買ってよかった」の続編です。今回は「朝起きる」に絞って、使ってみて本当に良かったものだけ書きます。 https://flow-with-tech.com/katteyokatta/ ## SwitchBot カーテン ![カーテンレールに取り付けた SwitchBot カーテン本体](https://flow-with-tech.com/media/posts/asa-okiru-items/switchbot-curtain.jpg) https://www.amazon.co.jp/SwitchBot-%E3%82%AB%E3%83%BC%E3%83%86%E3%83%B3-%E7%AC%AC3%E4%B8%96%E4%BB%A3-%E8%87%AA%E5%8B%95%E9%96%8B%E9%96%89-%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%E3%83%9C%E3%83%83%E3%83%88/dp/B0CB82V17R?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&ufe=app_do%3Aamzn1.fos.35785624-70c4-44ae-a5c3-3f044f475d63 朝起きられるかどうかは、何で決まるのでしょうか。 気合でしょうか。前日の睡眠時間でしょうか。 違います。**カーテンが開くかどうか**です。 私はこれを「日の出とともに開く」設定にしています。日の出の時刻はアプリが勝手に計算してくれるので、季節ごとに設定し直す必要がありません。目覚ましが鳴る前に、部屋が明るくなっている。この順番が大事です。音で起こされるのと、光で起こされるのとでは、起きた後の機嫌が違います。 しかも閉めることもできます。夜、ベッドに寝っ転がって「あー寝よう」と思ったとき、立ち上がってカーテンを閉めに行かなくていい。この「立ち上がらなくていい」は、後で出てくる Alexa と組み合わせると最強になります。 とにかくもう、これは手放せません。これを手放すとしたら、夜はカーテンを閉めなくても真っ暗で、朝は本当に朝日とともに光が差し込んでくるような場所に住んだときです。つまり森の中に住んだときです。 ## popIn Aladdin ![天井のシーリングライトの位置に付いている popIn Aladdin](https://flow-with-tech.com/media/posts/asa-okiru-items/popin-aladdin.jpg) https://www.aladdinx.jp/ 天井のシーリングライトの穴に差し込むプロジェクターです。 朝5時半になると勝手に起動して、壁に森林の映像が流れます。鳥のさえずりも聞こえます。 目を開けると森。耳には鳥。 「あれ、キャンプに来てたっけ」 毎朝これです。もちろんキャンプには来ていません。都心の部屋です。でも、脳は最初の数秒それを知りません。その数秒のうちにベッドから出れば、あとは普通に一日が始まります。 カーテンで光を入れて、Aladdin で森を出す。ここまでで「起きる理由」が2つ揃います。 ## Alexa(Echo) ![ベッド脇の棚に置いた Echo Dot](https://flow-with-tech.com/media/posts/asa-okiru-items/echo-dot.jpg) https://www.amazon.co.jp/Echo-Dot-%E3%82%A8%E3%82%B3%E3%83%BC%E3%83%89%E3%83%83%E3%83%88-%E7%AC%AC5%E4%B8%96%E4%BB%A3-Alexa-%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E6%90%AD%E8%BC%89-%E9%AE%AE%E3%82%84%E3%81%8B%E3%81%AA%E3%82%B5%E3%82%A6%E3%83%B3%E3%83%89-%E3%83%81%E3%83%A3%E3%82%B3%E3%83%BC%E3%83%AB/dp/B09B8SZLLG?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&ufe=app_do%3Aamzn1.fos.35785624-70c4-44ae-a5c3-3f044f475d63 人間が布団に入ってから気づくことがあります。 「あ、明日5時に起きるんだった」 ここで、スマホを探して、アラームアプリを開いて、時刻をスクロールして、という作業をすると目が覚めます。せっかく眠くなっていたのに。 私は天井に向かって言うだけです。 「アレクサ、5時に起こして」 以上です。目を開ける必要すらありません。スマホを触らなくていい、声で操作できる。この2つが本当に最高です。かれこれ2、3年これで起きています。 そしてもう一つ。アラーム音の中に、**よくわからない外国人がハイテンションで喋る**やつがあります。これが微妙にムカつく。ムカつくのですぐに止めたくなる。止めるには声を出すか体を起こす必要がある。つまり起きる。 心地よい音で起きるより、微妙にムカつく音で起きるほうが起きられます。 ## Kindle Paperwhite ![寝る前に読む Kindle Paperwhite](https://flow-with-tech.com/media/posts/asa-okiru-items/kindle-paperwhite-2.jpg) https://www.amazon.co.jp/Kindle-Paperwhite/s?k=Kindle+Paperwhite ここまでは「起きる側」の道具でしたが、これは「寝る側」の道具です。朝起きるために一番大事なのは、実は夜ちゃんと眠ることです。 寝る前に本や漫画を読みます。でもスマホや iPad で読むと、ブルーライトが目に入ります。そして気づいたら X を開いています。 > つまらないデバイスを使う この言葉のとおりです。Paperwhite は紙みたいな画面で、白黒で、動きも遅くて、本を読む以外に何もできません。通知も来ないし、X も開けません。**開けないものは開かない**。これは意志の問題ではなく設計の問題です。 そして本を読んでいると眠くなります。眠くなったら Kindle を置いて、「アレクサ、5時に起こして」と言って、カーテンが日の出で開くのを待つだけです。 こうして書くと、私は寝るとき何もしていないですね。 ## 朝活(人との約束) https://x.com/kama_bizdev/status/2096418798383591843?s=20 最後は道具ではありません。でも、これが一番効果的です。 毎朝5時半から、黙々と作業する朝活を主催しています。誰かと喋るわけではありません。ただ、同じ時間に同じ場所に人がいる。それだけです。 道具は4つとも優秀ですが、全部「自分との約束」です。自分との約束は破れます。カーテンが開いても、森が出ても、外国人がハイテンションで喋っても、「今日はいいや」と言えば終わりです。 そこで、人との約束にしました。最初は Teams の会議でやっていました。**自分が会議を開かないと、会が始まらない**。さらに X に「明日もやります」と投稿してから寝る。ここまでやると、もう「今日はいいや」が言えません。意志の力ではなく、環境の強制力で起きる。これが一番強い目覚ましでした。 正直に言うと、今はもうこの仕組みがなくても起きられるようになりました。なので、自分がいなくても会が開催されるように、昨日から Discord のボイスチャンネルに移行しました。常設の部屋なので「開く」という作業がなく、参加記録はラジオ体操のスタンプカードみたいに毎朝自動で貼られます。主催者が寝坊しても会は始まる。それでいいと思っています。 ## まとめ 世の中には「何かあったら便利そう」なものが山ほどあります。それらは全部、必要ありません。 今回紹介した5つは、私が実際に使ってみて、本当に良かったものです。カーテンで光を入れて、プロジェクターで森を出して、Alexa に声だけで起こしてもらって、Kindle で夜ちゃんと眠って、朝活で人と約束する。 **起きられるかどうかは、意志ではなく、部屋の設計で決まる**。そう割り切ってから、朝5時が普通になりました。 皆さんも、まずカーテンから自動化してみてはいかがでしょうか。 朝起きるためにガジェットを買うのか、ガジェットを買うから朝起きられるのか。 ## おまけ ChatGPTの3Dモデリングがすごいと話題なので、手書きから3Dのモデリングをしてもらってみた。ものすごい結果になった。 ![手描きのスケッチから ChatGPT に起こしてもらった 3D モデル](https://flow-with-tech.com/media/posts/asa-okiru-items/chatgpt-3d-from-sketch.jpg) --- # 朝活勉強会を頑張らずに継続するために、Claude を活用してみた - 公開日: 2026-09-06 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/study-group-ops-with-ai/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![アイキャッチ](https://flow-with-tech.com/media/posts/study-group-ops-with-ai/eyecatch-v2.png) ## この記事で書いていること - connpass のイベントサムネを、画像生成AIではなく**HTML + Chrome ヘッドレス**で作るやり方 - サムネに **JSON の台帳を持たせて「レベルが上がっていく」**ようにした話 - 開催後のふりかえり画像・告知文面・**1週間分のイベント複製**まで含めた、勉強会の運営をAIで回した記録 - connpass のイベント複製を Claude Cowork にやってもらった話 ## はじめに 私はいま、朝5:30からオンラインの黙々勉強会を主催しています。connpass でイベントを立てて、みんなでオンラインに集まって、各自ひたすら自分の作業をするだけの会です。(最初は勉強会として始まりました。今は黙々会になっています。) connpass のイベントを複製したり、内容によってサムネイルをいじったりするのですが、めんどくさいので全部 Claude に頼んでみました。 具体的にはこの辺をやってもらっています。 - サムネ画像を作る - イベントの説明文を書く - connpass のイベントを複製して、日付を直して、また公開する - 終わったあとに「今日はこういう会でした」を出す 1回だけならどうということはないのですが、**毎週やるとなると話が別**です。 微妙にテーマによって変えていったり、統一感を出したりしたい気持ちがあるので、なんかいい感じにしたい。 結論から言うと、**「AIに絵を描いてもらう」のをやめて、「AIに道具を作ってもらって、自分で回す」**に変えたら、準備がだいぶ軽くなりました。 ## 1. サムネを画像生成AIで作るのをやめた まず、いまのサムネがこれです。ドット絵風のRPG画面みたいなやつを作っています。 ![朝もくもく会のconnpassサムネ](https://flow-with-tech.com/media/posts/study-group-ops-with-ai/thumb-3-discord.png) Claude Code には勉強会のサムネで、今後レベルが上がったり微妙に文章変えたりする可能性があると伝えました。 Claude Code は賢いので HTML で作ってくれました。 やっていることは拍子抜けするほど単純らしいです。 1. サムネのレイアウトを HTML + CSS で1枚作る(1200×630px) 2. それを Chrome のヘッドレスモードでスクリーンショットする 3. PNG が出てくる ## 2. おもしろいのは「微妙な修正ができる」こと HTMLにして一番よかったのは、実は画質でも手軽さでもなく、**"ちょっとだけ変えたい" が通ること**でした。 この会、始めてから何度か仕様が変わっています。そのたびにサムネはこう変わってきました。 **① 最初:朝6時開催** ![6時開催のころのサムネ](https://flow-with-tech.com/media/posts/study-group-ops-with-ai/thumb-1-morning.png) 日がしっかり昇っています。太陽が地平線から顔を出していて、空も草原も明るい緑。LV.1・HP 30/30 のスタート地点です。 **② 開催を30分前倒しして、5:30に** ![5:30に変えたサムネ](https://flow-with-tech.com/media/posts/study-group-ops-with-ai/thumb-2-early.png) **空の色を変えました。** 5:30ってまだ夜明け前なんですよね。空は紺から紫で、地平線のところだけ焼けている。太陽もまだ半分も出ていない。草原も暗いトーンに落としています。「シーズン2、開幕。」でLV.5。 > 🗣 夏の5:30 はもっと明るいので季節によって変えていこうかと思ったのですが、変数が増えると手間が倍増するのでやめました。 **③ 会場を Teams から Discord に引っ越した** ![Discord移行後のサムネ](https://flow-with-tech.com/media/posts/study-group-ops-with-ai/thumb-3-discord.png) タイトルの下に **Discord のプレートと「会場が変わりました」の札が増えました。** シーズン3、LV.15。 HTML めっちゃ楽で良い。 ## 3. サムネが「台帳」を持って、レベルが上がっていく これも一つこだわりたかったところです。 さっきの3枚、レベルが **LV.1 → LV.5 → LV.15** と上がっていたのにお気づきでしょうか。HPバーも 30 → 50 → 300 に増えています。 これ、**飾りではありません。** 裏側に `level_ledger.json` という台帳ファイルがあって、開催のたびに1行積んでいます。 開催が終わったら、Claude に「今日はこういう内容だった」と伝えて、**その日のEXPを判定してもらって**台帳に1行足す。あとはコマンドを叩けば、レベルが上がったサムネが出てきます。 第4回はゲストを呼んだ座談会だったので、**+20 EXP の特別加算で2段レベルアップ**させました。こういう「盛る」も、数字がファイルにあるからできることです。 > 🗣 正直厳密にレベルアップを反映できてはいません。サムネを新しくするタイミングで、Claude に(なんとなく)「5LV 上がったと思うから、レベル上げて体力は 300 ぐらいにしといて」って頼んでます。レベルアップは自己申告制です。勝手に徴収される税金じゃなくて、控除系と同じですね。 ## 4. 終わったあとの「ふりかえり画像」も同じ機械で出す 同じ仕組みは、開催後にも使えました。 X に投稿する用の**ふりかえりワンペーパー**です。当日話したことを5行くらいにまとめて、レベルアップの演出を乗せた1枚。 ![第3回のふりかえり画像](https://flow-with-tech.com/media/posts/study-group-ops-with-ai/recap-vol3.png) 作りはサムネとまったく同じで、テンプレHTMLに JSON を流し込んで Chrome で撮るだけです。違うのは、**背景に当日のイベントサムネをそのまま敷いている**ところくらい(base64 で埋め込んでいます)。 ```bash ./build_recap.sh recaps/vol3.json ``` これで `out/recap_vol3.png` が出ます。 なんかいい感じです。 ## 5. 告知文もファイルで持っておく サムネの話ばかりしましたが、**文面も全部ファイルにしています。** - イベントの説明文 - 「参加者への情報」(Discordの入り方の案内) - connpass グループの説明文 これをテキストファイルとして持っておくと、**次回は前回の文面を渡して「ここだけ直して」ができます。** そしてこれは実際に効きました。さっきの Discord 移行のとき、**告知文の全書き換えが発生した**んです。「会場が変わりました」「Discordはゲーム用の印象があるかもしれませんが、勉強会でもよく使われています」「アプリを入れなくてもブラウザで参加できます」「アカウント作成は1分ほどで終わります」——このへんの、**初参加の人が不安になるポイントを1つずつつぶす文章**を、Claude と一緒に書き直しました。 毎回ゼロから書いていたら、こんな細かい配慮までは絶対に手が回っていません。**文面が資産として残っていると、少しずつ良くしていける**のがいいところです。 ## 6. 1週間分のイベント複製を、AIにブラウザごと任せる 最後、これが地味にめんどくさい作業です。 **connpass のイベント複製。** 前回のイベントをコピーして、日付を直して、タイトルの「(コピー)」を消して、公開する。1件2〜3分ですが、**うちは平日ほぼ毎朝やっている**ので、毎週5件です。画面をポチポチする15分は、体感で1時間あります。 ここは Claude の Cowork(ブラウザを操作してもらう機能)に任せました。しかも**毎週やる作業なので、手順そのものをスキルとして登録してあります**(`connpass-event-duplicator`)。日曜日に「今週ぶんお願い」と言うだけです。 ![Coworkが1週間分のイベントを複製したところ](https://flow-with-tech.com/media/posts/study-group-ops-with-ai/cowork-duplicate.png) 結果がこれです。**56アクション**ブラウザを操作して、9/8(火)〜9/12(土)の**5件を、公開まで完了**。イベントIDまで報告してくれます。 地味に効いているのが、報告の後半です。 > タイトルは全件「(仮称)黙々勉強会」に直してあります(コピー直後に付く「(コピー)」は除去済み)。定員20人・無料・Discordリンク・説明文・ハッシュタグは元イベントのまま引き継がれています。 > なお、X(Twitter)への投稿チェックは触っていないのでオフのままです。 **「触っていないもの」まで報告してくれる**のがありがたいところで、この手の作業で怖いのは「勝手に何かオンにされてないか」なんですよね。ここが書いてあると、確認する場所が減ります。 そして実際の connpass 側がこれです。 ![connpassのイベント管理画面に6件が並んでいる](https://flow-with-tech.com/media/posts/study-group-ops-with-ai/connpass-events.png) 「開催前」が6件、日付違いで整列している。**この画面を自分の手で作るのは結構めんどくさい。** AI の Cowork を持つことって良いですね。 ## まとめ:AIに絵を描かせるより、道具を作らせる やったことを並べるとこうなります。 | 準備 | 前 | 後 | |---|---|---| | サムネ | 画像生成AIでガチャを回す | HTML の設定を1箇所書き換えてコマンド1回 | | サムネの微修正 | 作り直し(別の絵になる) | テーマを1語変えるだけで空が5:30になる | | レベル・実績 | (そもそも無い) | `level_ledger.json` に1行積む=続けた分だけ育つ(自己申告) | | ふりかえり画像 | 作らない(力尽きる) | JSONに5行書いて `./build_recap.sh` | | 告知文 | 毎回ゼロから書く | ファイルで持って「ここだけ直して」 | | イベント複製(週5件) | 手でポチポチ15分 | スキル化して Cowork に投げる(56アクション) | こうして書き出してみると、**私がAIに頼んだのは「作品」ではなく、ほとんど「道具」だった**ことに気づきます。 画像生成AIに「いい感じのサムネ作って」とお願いするのは、毎回AIに作品を発注している状態です。出てくるものは毎回ちょっと違うし、文字は崩れるし、前回の続きにはならない。**そして「空だけ変えて」が効かない。** 一方で「サムネを作るHTMLを書いて」とお願いすると、**手元に道具が残ります。** 次回からはAIを呼ばなくても、自分でコマンドを叩けば同じものが出てくる。しかも中身を読めるので、直せるし、育てられる。イベント複製も同じで、1回やってもらって終わりにせず**スキルとして残した**ので、来週も再来週も同じ品質で回ります。 問題とはありたい姿があるからこそ見つけられるそうです。 Be Lazy (怠惰であれ)の心がけを持って、本当に大事なことに集中するために、これからも AI をうまく活用していきたいです。 > 🗣 主催者の代わりに AI エージェントを登場させてみてもいいかも笑 --- # 【買ってよかった】2026年の夏、生活が変わった5つの買い物 - 公開日: 2026-09-05 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/katteyokatta/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![この夏、生活が変わった5つの買い物(作者による自画像つき)](https://flow-with-tech.com/media/posts/katteyokatta/eyecatch-katteyokatta.png) ## 冷感スプレー ![買ってよかった冷感スプレー。詰め替えて使っているスプレーボトル](https://flow-with-tech.com/media/posts/katteyokatta/reikan-spray.jpg) https://www.amazon.co.jp/dp/B09TDKBH5F 確か、数年前から存在していたはず。でも今年初めて買って使ってみた。 「もっと早く知ってればーーーーーーーーー!」と思った。 風邪引くんじゃないかってぐらい、涼しい。 「これがあれば、友達と昼飯食べにいくために、50分ぐらい歩いて行っても大丈夫なのでは?」 大量にスプレーをしていざ参る。 「クソ暑い・・・」 そう、照りつける太陽・焼きつくようなアスファルト・申し訳程度の日傘 流石に無理だった。でも、誰が悪いかというと、炎天下の中50分歩こうと思った自分が悪い。 冷感スプレーは何も悪くない。冷感スプレーは至高。もうこれなしじゃ、夏を過ごせない。 ## Shokz OpenComm2 2025 ![骨伝導ヘッドセット Shokz OpenComm2 本体と、付属の USB ドングル](https://flow-with-tech.com/media/posts/katteyokatta/shokz-opencomm2.jpg) https://www.amazon.co.jp/dp/B0DSJBGB6S 2026年8月現在、世界は分断されている。 それは、音声入力をする人と、しない人だ。 全ての事象はこれで説明ができる。 この上なく明快で的確な指摘である。 では、音声入力をしている人は一枚岩なのだろうか。 いやそうではない。さらに細分化されるのだ。 それは、「Shokz OpenComm2」を使っているかどうかだ。 2026年8月までは、Apple の EarPods を使っていた。あのiPhoneとか買った時についてくるような、有線イヤホンで途中にマイクがついているやつだ。これも結構精度が高くて、値段もお手頃でよかった。ただ、ケーブルがあるのは完璧な状態とは呼べなかった。 そして全てを解決するプロダクトこそが、この「Shokz OpenComm2」なのである。 1. 軽い 2. 無線 3. 高性能 最も着目すべきは、軽い点だ。つけている感覚がないのである。 快適な音声入力生活を、ひいては最高の人生を送りたいのであれば、買うべきである。 自分は買ってよかった。そして最高すぎて充電するのを忘れてしまう。 ### こんな使い方もできる ケーブルがないのである程度パソコンから離れても音声入力ができる。3Dプリンターの制作用に、部屋の一部の寸法を測りたいとする。音声入力モードをオンにした状態で、コンベックスを持って寸法を計測する。そして、計測した結果を音声入力をするのだ。現場で測量をして、結果を相手に大声で伝えるのと同じといえば、分かりやすいだろう。 ## CIO Polaris CUBE Built in CABLE https://www.amazon.co.jp/dp/B0D26DXXB7 人間が生きているうちは逃れられないものがあります。 それはなんでしょうか。 死と税金と、充電です。 充電の何が問題なのでしょうか。 例えば新幹線に乗ったとします。 肘置きの先にあるコンセントに充電器を挿します。充電器自体の自重で外れたり、落ちたりします。あとは、出っ張っているので、体が当たってしまったりします。 それら全てを解決できるプロダクトが、CIO です。 ちょっとしたイベント参加・旅行・自宅デスクでの充電全てこれ1台で解決できます。 デスクにどうやって設置すればいいのかって。 たったの2ステップです。簡単ですね。 ノギスで計測をして ![CIO Polaris CUBE をノギスで実測しているところ。幅90.5mm](https://flow-with-tech.com/media/posts/katteyokatta/cio-cube-caliper.jpg) 3Dプリンターでホルダーを作るだけです ![実測値から3Dプリントした、CIO Polaris CUBE 用のデスク固定ホルダー](https://flow-with-tech.com/media/posts/katteyokatta/cio-cube-holder.jpg) ## オートミール ![減量期の朝食に使っているケロッグのオートミール(オーツ ごはん)のパッケージ](https://flow-with-tech.com/media/posts/katteyokatta/oatmeal-package.jpg) 減量期の朝食にしています。めっちゃ美味しいし、栄養価が高いし、手軽に作れるので重宝しています。 レシピ「オーバーナイトオーツ」 |材料|量(g)| |---|---| |オートミール|30| |プロテイン|30| |牛乳|150| |ナッツ|11| |冷凍ブルーベリー|25| ## 素焼きミックスナッツ by Amazon ![Amazon の素焼きミックスナッツ。1袋22g の小分けパック](https://flow-with-tech.com/media/posts/katteyokatta/mixed-nuts.jpg) https://www.amazon.co.jp/dp/B09J45Z72R ナッツを食べるときに最も困ることはなんでしょうか。 それは小分けになっているかどうかですね。 (無塩かどうかもありますが) 全てを解決する、ちょうどいい感じのやつが、Amazonの素焼きミックスナッツです。 1袋22g(145 kcal)です。最高にちょうどいいです。私は毎朝半分をオーバーナイトオーツに入れて食べています。 --- # ありたい姿を描くために、本を読む・散歩をする・定時で帰る - 公開日: 2026-08-27 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/aritai-sugata-wo-egaku/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![ありたい姿を描くために、本を読む・散歩をする・定時で帰る](https://flow-with-tech.com/media/posts/aritai-sugata-wo-egaku/eyecatch.png) ## はじめに 問題とは、ありたい姿と現状との差分である。だから、問題を見つけるために現状を見るだけでは不十分だ。じゃあ、問題を見つけるためには何をすればいいのか。今回は自分なりにその答えを書きます。 ## 結論 - 本を読む - 散歩をする - 定時で帰る ## ありたい姿を描くにはどうすればいいのか? ありたい姿を描くためには、知る・思いつく・考えるの3つが必要です。そのために、本を読む・散歩をする・定時で帰ることを提唱します。 ### 本を読む 何かを知るには、本を読むことが大事です。AI に聞けばなんでも回答してくれるし、余計な情報も返してくれるので、思いもよらなかったことにたどり着くこともできます。しかし、読書にはただ情報を目で追うだけでなく、自分の頭で考えるプロセスがあります。自分が持っている知識や今までに経験したこと、考え方と照らし合わせつつ、著者が言いたいことはなんなのか、ここに書いてある事例はどの程度の規模に対して適用されるものなのか、じゃあ自分の場合はどうか。読書とは著者との対話であり、自分との対話でもあります。 自分の知らないことを知るのは、外部のことに限りません。外部を知りつつ、同時に自分のことも知っていくのです。それによって、「ああ自分たちはこうなりたいな」と気づくことができます。 ### 散歩をする 思いつくためには散歩をしましょう。昔から良いアイデアを思いつくのは 3B だと言われています。Bed / Bath / Bus です。寝る時・風呂に入っている時・移動している時ですね。簡単にできて運動も同時にできるので、散歩がおすすめです。散歩をしている時に、ふとした瞬間に解決策を思いつきます。脳はその物事について意識的に考えていない時のほうが働いているそうです。デフォルトモードネットワークという仕組みだそうです。良いアイデアを思いつくのは、会議室でもなく腕を組んで考えている時でもありません。全然違うことをして、ぼーっとしている時です。積極的にぼーっとしましょう。 ### 定時で帰る 最後は「考える」についてです。考えるためには残業をしてはいけません。なぜでしょうか。1つは単純に時間を確保するためです。先ほど書いた通り、何もしていない時にこそアイデアが思いつきます。仕事の時間を増やしてしまうと、その時間が減ってしまい、気づいた頃には考える余裕すらなくなってしまいます。 2つ目は、制限があるからこそ、誰にとっても最良のありたい姿を思い描けるからです。例えば毎日朝8時から22時まで仕事をしていたらどうでしょうか。全部自分でやっていて、それで完結している。そんな状況で、業務改善のありたい姿を描けるでしょうか。別に困っていないし、それが当たり前になっている。そして気づけばそれを周りの人にも求めている。人生とは仕事だけではありません。プライベートの充実も、健康も趣味も大事です。バランスよく考えるためにも、定時で帰るべきだと思います。そして、どうにかして定時で帰りつつ、今までよりも3倍の成果を出すにはどうすればいいのか、そういう考え方をするのが良いです。 3つ目は、Be Lazy を忘れないためです。日本語だと「怠惰であれ」という、エンジニア界隈でよく言われることですね。怠惰は人のためならず、とも言えます。自分の時間を節約することは、相手の時間を奪わないことにも繋がります。例えば、チャットの文章ひとつとっても、長く書きたくないから端的に書く。必要十分な内容であれば、読む側も負担が減ります。定時で帰るという時間制限を設けることで、どうやったら楽ができるか、効率的なのか、本質的な仕事ができるかを考えるようになります。 > 🗣 本当は、残業0かつ週休3日に挑戦したいです笑 ## まとめ いかがでしょうか。普段何気なく仕事をしていると、目の前のことに追われてしまって、当たり前のことを見失うこともあるのではないでしょうか。私も今回、ありたい姿を描くことの重要性を改めて認識しました。 誰も思いつかない、でも「それめっちゃいいなあ」ってなるような、ありたい姿を描き、そのギャップを劇的に埋める。そんな仕事をしたいです。いや、私はそんな仕事をします。 --- # 【Microsoft Scout】気になるところまとめてみた - 公開日: 2026-08-26 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/microsoft-scout-kininaru/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![Microsoft Scout を使う前に気になった6つのこと](https://flow-with-tech.com/media/posts/microsoft-scout-kininaru/eyecatch.png) ## はじめに 2026年6月にMicrosoft Scout が発表されました。2026年8月末現在、正直あまり話題になっていない感触です。今回は私がMS Learn を読んで気になったポイントを備忘録も兼ねてまとめたいと思います。 > この記事は専門家による解説ではありません。ただのいちユーザーである私が、公式ドキュメントを読んで気になったポイントを自分なりにまとめたものです。理解が追いついていないところもあるので、間違いが含まれているかもしれません。 > Microsoft Scout とは何か何ができるのかなどの基本的な情報は掲載していません。そちらについては公式ページをご参照ください。 ## MS Learn はこちらです まだ、日本語版はないようです。ブラウザの翻訳機能を使って読んでいます。 https://learn.microsoft.com/ja-jp/microsoft-scout/ ![Microsoft Scout (Frontier) documentation のトップページ](https://flow-with-tech.com/media/posts/microsoft-scout-kininaru/learn-top.png) ## 気になったポイント - Autopilot が犯した失敗の責任は誰が取るのか - GitHub Copilot クレジットの消費量 - ターミナルだけ制限するパターンが一般的なのか - サードパーティの推論パスを使う上で何を考慮しないといけないのか - オプトアウトではなく、オプトイン - パソコンをつけっぱなしで稼働させるパターンが想定されるので、PC のオンオフでの勤怠管理はどうなるのか ## Autopilot が犯した失敗の責任は誰が取るのか 新しい機能が出ると、それで何ができるのかどう仕事が変わるのかに目が向きがちです。しかし、自由には責任が伴います。では、Autopilot が犯した失敗の責任は誰が取るのでしょうか。Teams のチャットで誰かに間違った指示を送った。それによって実際に人が動いてしまった。後から判明する。それ、Scout が送ったミスチャットだと。 ### 答えらしきもの この部分が私の気になったポイントへの答えです。そういうことには使わないでね。ということですね。組織に展開するとなると、この辺りの教育やマニュアル配布が必須になりそうです。意識の啓蒙だけで防げるものなのだろうか。テナント全体でアプリ単位の使用制限や、アプリの中で例えばメールの送信機能だけはできないようにするなどできるのでしょうか。 ![「人間のレビューなしに正確性が保証される必要があるユースケースには適していません」と書かれた Responsible AI FAQ](https://flow-with-tech.com/media/posts/microsoft-scout-kininaru/intended-use.jpg) https://learn.microsoft.com/ja-jp/microsoft-scout/microsoft-scout-responsible-ai-faq#what-is-microsoft-scouts-intended-use ## GitHub Copilot クレジットの消費量 従量課金のAIに慣れてないので、これも気になります。しかもScout はAutopilot です。 Autopilot × 自律型 × 従量課金なのでよりコントロールが難しい。GitHub Copilot 側で各人に対してのクレジット上限設定ができるので、そっちで制限をかける感じでしょうか。 ![Autopilots は常時稼働型の AI エージェントであると説明したニュース記事](https://flow-with-tech.com/media/posts/microsoft-scout-kininaru/license.png) https://news.microsoft.com/source/asia/features/introducing-microsoft-scout-your-always-on-personal-agent/?lang=ja ## ターミナルだけ制限するパターンが一般的なのか ターミナルの操作は開発者ではない人には不要なのか。それともローカルファイルを操作するために基本的に必要なのか。 権限をカスタマイズすることもできるので、標準ルールを定める感じか。ただ、情報系の部署にいたとしても、ターミナルで何ができるのか知っている人は少ない。そもそもこれが一体何なのか何を考慮する必要があるか、ちゃんと判断できる人が必要だ。 ![シェルコマンドを実行する/シェルコマンドの権限階層のドキュメント](https://flow-with-tech.com/media/posts/microsoft-scout-kininaru/shell-permissions.png) https://learn.microsoft.com/ja-jp/microsoft-scout/use-microsoft-scout#run-shell-commands ## サードパーティの推論パスを使う上で何を考慮しないといけないのか GitHub Copilot 側でGemini やClaude を選択でき、そのプロバイダーにデータが送られますということだろうか。それなら、通常のGitHub Copilot を使用するのと同じ状態ということで、特別Scout だから考慮すべしではないのか。 ![外部AI処理(GitHub Copilot)の項目。Microsoft 365 の特定の保護機能はその処理には適用されないと書かれている](https://flow-with-tech.com/media/posts/microsoft-scout-kininaru/data-handling.jpg) https://learn.microsoft.com/ja-jp/microsoft-scout/microsoft-scout-responsible-ai-faq#how-does-microsoft-scout-handle-my-data ## オプトアウトではなく、オプトイン 生成AI を使用していてよくオプトアウト設定をしましょうと聞きます。Scout のページには聞き慣れない、オプトインという言葉が書いてあります。 データ収集への同意表明が必要だと認識しました。これはFrontier 機能だからなのでしょうか。しばらくすれば、オプトアウトできるようになるのでしょうか。一般的な組織で使う上でデータ収集されてもOK、とはならないと思います。気になる。 > 🗣 オプトイン・オプトアウトについてまだ十分に理解できないので、間違っているかもしれません。 ![Frontier プログラムへの登録、Intune ポリシーの構成、およびオプトインによる同意表明が必要ですと書かれたニュース記事](https://flow-with-tech.com/media/posts/microsoft-scout-kininaru/opt-in.jpg) https://news.microsoft.com/source/asia/features/introducing-microsoft-scout-your-always-on-personal-agent/?lang=ja ## パソコンをつけっぱなしで稼働させるパターンが想定されるので、PC のオンオフでの勤怠管理はどうなるのか 勤怠管理をPC を起動していた時刻で行なっている場合、Scout 実行のためにつけっぱなしにしてもいいですか論争が巻き起こる。制度側の変革も必要になりそうですね。 ## まとめ 皆さんはMicrosoft Scout をすでに使っていますでしょうか。まだ使ったことないですが、どう仕事が変わるのか楽しみです。 > 🗣 最近は、OneNote にMS Learn などを貼り付けてタブレット×ペンで書き込みながら情報を理解してみています。特に、MS Learn は複数のページにまたがっていたり、同じことが何度も書いてあったりするので、全体を把握するのにとても役立っています。 --- # 【Power Apps】増量期・減量期の食事を「カードゲーム」にして管理するアプリを作った - 公開日: 2026-08-17 - カテゴリ: power-platform - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/meshi-deck/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![メシデッキのデモ(EAT チェック→合計とバーが動く)](https://flow-with-tech.com/media/posts/meshi-deck/meshi-demo.gif) ## この記事を読んでわかること - 「計画を立てて数値で押さえる」を、食事という一番サボりやすい領域で成立させる仕組み - Power Apps Code Apps + Dataverse で作った実物の画面と、その裏のデータ設計(手札1枚が3役/記録は焼き込み/判定は目標レンジ) - 実機で使ってみて「これは現実と合わない」と分かった仕様を、どう作り直したか(v1 → v4.2 の記録) ## 突然ですが、「なんとなく食べる」で体は変わりましたか? 筋トレをしていると、増量期・減量期という言葉が出てきます。ざっくり言えば「意図的に太る期間」と「意図的に絞る期間」です。筋トレはトレーニングだけじゃなくて食事も大事なんですね。 そして、食事管理の成功の秘訣ははっきりしています。**メニューを固定化することです。** 毎日その場のノリで選んでいると、カロリーもタンパク質も安定しません。「今日は何を食べるか」を毎回考えるのは、意志力の無駄遣いです。決め打ちにして、あとは実行するだけにする。 ……のですが、ここで詰まりました。 **減量が初めてなので、「決め打ちメニュー」を、どう組めばいいのか分からない。** 鶏むね何グラム、オートミール何グラム、プロテイン何杯。それを朝昼夜に散らして、合計で1800kcal・タンパク質140g に着地させる。この組み合わせパズルを、私はスプレッドシートに書いたり、カロリーを調べたり、電卓で計算したり往復しながらやっていました。しんどい。 だから作りました。名前は「メシデッキ(MESHI DECK)」です。ソリューションを [GitHub で配布しています](https://github.com/Ltantan/meshi-deck)(導入方法は記事の後半で)。 ## 1. なぜ「カードゲーム」なのか 企画を考えていたとき、自分のメモにこう書いていました。 > 食品マスターに登録するものは、いわば自分が使える手札だ。 > そして、メニューを決めたものが勝負する時のデッキのようなものだろう。 > そして食べたかどうかの記録は、勝敗の実績のようなものだ。 これは単なる言葉遊びではなくて、**そのまま設計になりました**。 - **手札(HAND)** = 食品マスター。自分が使える駒。ここに無いものは戦力にならない - **デッキ(DECK)** = 期間メニュー。「減量1800」のように目標を決めて、手札から選んで積む - **勝敗(TODAY / RESULTS)** = 毎日の実食記録。食べたらチェック、その日の合計で判定 そして、使い切った手札は買い足す必要がある。**買い出し(SHOP)** です。 ![メシデッキ 1周のながれ](https://flow-with-tech.com/media/posts/meshi-deck/fig-flow.png) 計画(デッキ)→ 実行(EAT)→ 判定(COMPLETE/未達)→ 補給(買い出し)が、1つのアプリの中で閉じています。これが「何かをやるためには計画を立てて数値で押さえる」の、私にとっての具体形です。 ## 2. 手札 —— 1枚のカードが3つの顔を持つ 手札の画面です。トレーディングカードのステータス面をイメージして、kcal と PFC(タンパク質・脂質・炭水化物)を大きく出しています。 ![HAND 手札一覧](https://flow-with-tech.com/media/posts/meshi-deck/hand-cards-after-merge.png) 見ていただきたいのは、**性質のまったく違うものが同じカードの形で並んでいる**ことです。 - 「オートミール」= 素材そのもの(30g あたり105kcal) - 「オーバーナイトオーツ」= レシピ(オートミール+プロテイン+豆乳+ブルーベリー) - 「社食ヘルシーランチ」= 外食(毎日中身が変わる) ここに至るまでに1回、設計をやり直しています。 ### 「食べる単位」と「買う単位」でマスタを2本に分けたら破綻した 最初のバージョンでは、**手札(食べる単位)とは別に「素材マスタ(買う単位)」を作りました**。買い出しリストを出すには「1Lパックで買う」という購入単位の情報が必要なので、それは別テーブルだろう、と考えたわけです。 実際に自分のデータを入れ始めて、すぐチグハグになりました。 牛乳が、手札にも素材マスタにもいる。オートミールも両方にいる。同じものを2箇所で管理していて、どちらを直せばいいのか自分でも分からない。素材から手札を作るショートカットまで用意したのですが、それは**構造の歪みを動線でごまかしていただけ**でした。 ![統一する前の手札(素材が手札に居ない状態)](https://flow-with-tech.com/media/posts/meshi-deck/hand-cards-before-merge.png) そこで、**マスタを1本に統一**しました。手札カード1枚が、3つの顔を持つ形です。 ![データ設計の3つの芯](https://flow-with-tech.com/media/posts/meshi-deck/fig-data.png) - **食べる** —— デッキに積んで、EAT で記録される - **材料になる** —— 別のレシピカードの構成要素になる - **買い出しに出る** —— 購入単位(1Lパック=1000ml など)を入れておけば、買い出しリストに並ぶ 役割はテーブルで分けるのではなく、**「その列を埋めたかどうか」で決まる**ようにしました。社食のように買い物対象でないカードは、購入単位を空にしておけば自然に買い出しから外れます。分岐を書かなくていいのが気持ちいいところです。 編集画面はこうなっています。「栄養の基準(この値は何あたりか)」が芯で、その下に材料、折りたたみで買い物情報。 ![手札の編集画面](https://flow-with-tech.com/media/posts/meshi-deck/hand-edit-card.png) ## 3. レシピの栄養は、自分で計算しない 統一のいちばん大きな果実がこれです。 私は毎朝オーバーナイトオーツを食べています。オートミール30g、プロテイン1杯、無調整豆乳150ml、冷凍ブルーベリー50g、小分けナッツ1袋。これの kcal と PFC を、以前は**電卓で足して手で入力していました**。 材料が手札カードになったので、あとは合算するだけです。 ``` 1材料の寄与 = 使う量 ÷ 材料の基準量 × 材料の栄養 レシピの栄養 = Σ 全材料の寄与 ``` これで **384kcal / P37.5 F12.6 C36.3** が自動で出ます。しかも材料側の値(たとえばプロテインを別の製品に変えた)を直すと、**それを使っている全レシピが再計算されて保存されます**。 ここで1つ、意地を張ったところがあります。 **材料の栄養が1つでも空なら、自動計算しません。** 「⚠️ 材料の栄養が未入力(手動値のまま)」のバッジを出して、正直に止まります。空欄を0として合計に混ぜてしまえば数字は出ますが、それは**間違った数字が正しい顔で出てくる**という一番よくない状態です。栄養の一般値を勝手に埋めるのも、私は嫌でした(自分が買った製品の値は、自分でパッケージを見るのが正しい)。 ## 4. デッキ —— 積みながら数字が動く ここがこのアプリの核です。「どう組めばいいのか分からない」への回答なので。 ![デッキ編成画面](https://flow-with-tech.com/media/posts/meshi-deck/deck-builder-daytype.png) 左が手札、右がスロット(朝/昼/夜/間食)。手札にチェックを入れて「まとめて積む」で流し込みます。 ![手札をチェックしてまとめて積む](https://flow-with-tech.com/media/posts/meshi-deck/deck-builder-bulk-add.png) そして上の黒い帯。**積んだ瞬間に合計 kcal と PFC が、目標対比で更新されます。** - 目標1800 に対して 1775、あと -25 - P は 134.5g / 140g で「残り5.5g」 - C は 199.3g / 177g で **「超過22.3g」——ここだけ赤くなります** 赤は超過と削除にしか使わないルールにしました。色が意味を持っていないと、画面はただ賑やかになるだけなので。 バーの幾何も少し工夫していて、**バーの全長は「実績と目標の大きい方」**にしています。こうすると目標ラインの位置が動かず、超過したぶんだけ右に赤が伸びる。目標以下のときはボルトイエローが目標ラインに向かって伸びていく形になります。 ## 5. 現実は、計画どおりに食べさせてくれない ここから先は、**実際に自分で使い始めてから分かったこと**です。企画段階では1つも思いついていませんでした。 ### (a) 出社の日と在宅の日で、昼が違う 会社に行く日は社食。家にいる日はおにぎりと味噌汁と卵。休日はまた別。 最初は「出社デッキ」「在宅デッキ」の2本を作って切り替えていましたが、これは間違いでした。デッキは「期間の勝負」の単位なのに、日ごとの都合で分けてしまうと、期間の集計がバラバラになる。 そこで**1つのデッキの中に「日タイプ」を持たせました**。カードに「毎日/出社/在宅/休日」のタグを付けて、TODAY の画面で「今日は出社」と宣言すると、その日に該当するカードだけが並びます。 デッキ一覧では、こう見えます。 ![デッキ一覧のレンジ表示](https://flow-with-tech.com/media/posts/meshi-deck/deck-list-range.png) **1225〜1855 kcal**。日タイプごとに合計が違うので、単一の数字ではなくレンジで出す。内訳(出社1775/在宅1855/休日1225)も添えます。 ……これ、最初はバグっていました。編成画面が1726と言っているのに、一覧は2356と言う。原因は**一覧側が日タイプを無視して全カードを合算していた**からです。「毎日のカード+出社のカード+在宅のカード+休日のカード」を全部足した数字は、**現実に存在しない日**の合計でした。 ### (b) 社食は、日によって中身が変わる 「平均するとこのくらいのカロリー」は分かる。でも実測は違う。 これは**「変動メニュー」フラグ**で受けました。変動メニューの手札は1タップ EAT ではなく、軽いシートを挟みます。 ![変動メニューの当日値上書き](https://flow-with-tech.com/media/posts/meshi-deck/variable-menu-override.png) 目安値(550kcal / P30 F18 C60)がプリフィルされているので、**そのままでよければ確定を押すだけ**。トレーに表示があった日は、その場で当日値に直して記録する。手間は1タップ増えるだけで、記録の精度が上がります。 ### (c) 週に1食は、好きなものを食べたい これは「チート宣言」🔥です。記録するときに「これはチート」と宣言できます。 週1枠までは判定から除外されます。ただし**枠を使い切った状態でもう1回宣言したら、「今週の枠は使用済み(この記録は判定に算入されます)」と正直に告げた上で、宣言自体は許可します**。禁止はしない。ごまかしもしない。 そして画面の特大数字は、**チート込みの実合計**を出します。判定だけがチートを除外する。都合のいい数字を大きく出す作りにはしたくなかったので。 ## 6. チェックは「行が存在すること」=食べた データ設計でいちばん気に入っているところです。 食べたかどうかを表す **Boolean 列(食べたフラグ)は作っていません**。EAT を押したら記録の行を作り、チェックを外したら行を消す。それだけです。 真実がひとつの場所にしかないので、「フラグは true なのに記録が無い」みたいなズレが構造的に起きません。 そしてもう1つ。**記録するときに kcal と PFC を数値としてコピーして保存しています**(スナップショット)。 なぜかというと、手札の値は後から直るからです。プロテインを別製品に変えた、社食の目安を修正した、単位の基準を30gから40gに直した。**そのたびに過去の記録の数字が全部変わってしまったら、記録の意味がありません。**「先月は間違った数字で計算してたことになる」が起きないように、記録した瞬間の値を焼き込んでいます。 だから手札を削除しても、過去の実績は無傷です(画面にも「過去の記録は消えません」と書いてあります)。 ## 7. 「勝ち負け」をやめた話 最初のバージョンの判定は、シンプルにこうでした。 **予定メニューを全部消化したら WIN。** カードゲームのメタファーとしては綺麗です。実際に使ってみて、1週間で破綻しました。 **ほとんどの日が LOSE になる**のです。社食が変わる、チートする、そもそも夜に食べきらない。そして最悪だったのは、**LOSE の理由が分からない**ことでした。数字は画面に出ているのに、「じゃあ何を直せばいいのか」が読めない。 作り直しました。 ![「勝ち負け」から「COMPLETE/未達」へ](https://flow-with-tech.com/media/posts/meshi-deck/fig-judge.png) 変えたのは2つです。 **① 判定の基準を、消化率から「合計が目標レンジに入ったか」へ。** - 減量なら:判定kcal ≦ 目標 - 増量なら:判定kcal ≧ 目標 - 維持なら:|判定kcal − 目標| ≦ 目標の10% - + タンパク質の目標があれば:判定P ≧ P目標(F と C は判定に使いません) メニュー消化率は「参考」に降格させました。何を食べたかではなく、**結果としてどこに着地したか**で見る。自由記入も社食の実測も合計に入るので、これで自然に反映されます。 **② 言葉を変えて、理由を必ず添える。** WIN → **COMPLETE**、LOSE → **未達**。煽る赤枠をやめて、ニュートラルな黒枠にしました。そして未達のときは、**その理由を必ず1行出します**。 ![TODAY 未達と理由の表示](https://flow-with-tech.com/media/posts/meshi-deck/today-miss-reason.png) 「**P あと102.5g**」。これです。ずっと LOSE だった正体は、たいていタンパク質の僅差の未達でした。それが表示されるようになった瞬間に、この画面は「責める画面」から「次の一手が分かる画面」になりました。 記録がゼロの日は「記録なし」です。**負けではありません。** つけ忘れた日を負けにするアプリは、たぶん使い続けられません。 ## 8. 買い出しリスト —— コピーしてスーパーへ デッキが決まっていれば、必要な食材の量は計算できます。 ![SHOP 買い出しリスト](https://flow-with-tech.com/media/posts/meshi-deck/shop-list.png) 計算はこうです。 ``` 必要枚数 = Σ(カードの数量 × その日タイプの日数) 素材の必要量 = Σ 材料の使用量 × 必要枚数 不足量 = max(0, 必要量 − 在庫) 購入数 = ceil(不足量 ÷ 購入単位の内容量) ``` 「牛乳 必要1050ml/在庫— → 1Lパック ×2」。**購入単位で切り上げる**のがポイントで、1050ml 必要なら1パックでは足りないので2パック買います。 日タイプ別の日数はステッパーで指定します。プリフィルは TODAY で宣言済みの実績が入り、**未割当の日数はごまかさず「未割当4日/全7日」と表示**します。 買い出し期間はデッキの期間でクランプしています。デッキが終わった後の日数分まで買わせても意味がないので。 このタブの完成判定は、最初から1つだけ決めていました。**「次の買い出しで、コピーしたテキストだけを見て買い物を完了できる」。** これを満たさない作り込みはしない、と。 ## 9. 記録 —— 数値で押さえるということ RESULTS タブです。COMPLETE率、カレンダー、kcal推移、PFC推移、デッキ別サマリ。 ![RESULTS 記録ダッシュボード](https://flow-with-tech.com/media/posts/meshi-deck/results-dashboard.png) カレンダーの斜線は「記録なし」の日です。チート使用日には🔥が付きます。kcal推移では、チートで判定対象と実合計が乖離した日だけ2つの値が出ます。 スクショの COMPLETE率が 0% なのは、**実データがまだ2日しかないから**です(この記事を書いている時点で、作り直した判定ロジックで動き始めたばかり)。ここは正直に載せておきます。数字が育つのはこれからです。 ## 10. 作り方の話(Claude Code に丸投げした部分) 技術構成はシンプルです。 - **Power Apps Code Apps**(React + TypeScript) - **Dataverse** テーブル6本(手札/デッキ/デッキカード/記録/レシピ明細/日レコード) - **コネクタ0本、フロー0本**(アプリとデータベースだけ) 作り方の面で書いておきたいのは、**「実機で使う → 気づく → その日に直す」を何周も回した**ことです。 私が書いたのは仕様と裁定で、コードはほぼ Claude Code に書かせています。だから改修が速い。朝に「デッキ一覧の合計がおかしい」と気づいて、夜にはレンジ表示になっている、くらいのスピードで回りました。 バージョンの履歴だけ並べるとこうです。 | 版 | やったこと | |---|---| | v1 | 手札/デッキ/勝敗の3本柱。EAT のタップ1回、スナップショット | | v1.1 | PC対応、EAT音、超過の赤、アクティブデッキ排他 | | v1.2 | HAND に Excel 風グリッド(TSV ペースト対応) | | v1.3 | 備考欄(レシピの作り方メモ)、手札削除 | | v2.0 | 買い出しリスト(SHOP タブ)+ 素材マスタ ← ここで分けたのが失敗 | | v3.0 | 日タイプ、チート宣言、変動メニュー、判定を目標レンジへ | | v4.0 | **マスタ統一**(素材マスタ廃止)+ レシピ栄養の自動計算 | | v4.1 | WIN/LOSE → COMPLETE/未達、未達理由の表示 | | v4.2 | HAND のレイアウト圧縮(フィルタを1行に、ボタンをタイトル行へ) | 最後の v4.2 は純粋にレイアウトだけの改修ですが、これも実機発の指摘です。「フィルタが縦に4段あって、手札一覧に使える面積が狭い」。 ![v4.2 フィルタを1行に圧縮](https://flow-with-tech.com/media/posts/meshi-deck/hand-filters-one-row.png) そして**自動検証を191項目**書いています。EAT を押したら合計がちゃんと動くか、チェックを外したら戻るか、手札の値を変えても過去の記録が動かないか、390px 幅で横スクロールしないか、ボタンの背景と文字が別色か(黒地に黒文字を1回やったので)。 期待値は検証コード側に**別実装で書き直して突合**しています。アプリの計算式をコピーしてきたら、間違いも一緒にコピーされて何も検証していないことになるので。 ……とはいえ、191項目 ALL PASS でもスクショの目視で不具合が見つかったことが何度もありました(削除ボタンが白いまま、`**強調**` の記号が画面に生で出ていた、など)。**機械検査は目の代わりにはならない**というのが、いちばん実感した教訓です。 ## 11. 配布しています(GitHub) 「使ってみたい」という方のために、**ソリューションパッケージを GitHub で公開しました**。 **[github.com/Ltantan/meshi-deck](https://github.com/Ltantan/meshi-deck)** このアプリは Solution `MealDeck` にまとまっていて、**中身はアプリ本体と Dataverse テーブル6本だけです**(コネクタもフローも使っていません)。なので配布はシンプルで、リポジトリの `solutions/` にある zip を自分の環境にインポートするだけで動きます。**エクスポート→別環境インポートで動くことは実機で確認済みです。** 使う側の前提として、こうなります。 - **Dataverse が使える環境**が必要です(Power Apps のプレミアムライセンス。開発用なら無償の Developer Plan 環境でも動きます) - **データは付いてきません。** 手札の中身(自分が食べているものの kcal と PFC)は、使う人がゼロから入れることになります - そして正直に言うと、**このアプリは私の食生活の形に最適化されています**。社食があって、出社と在宅が混ざって、朝はオーバーナイトオーツ。ここが違う人には、たぶん別の形が正解です なお、公開しているのはソリューション(ビルド済みのアプリ)だけで、ソースコードは含めていません。改造したい・ソースが見たいという方は、リポジトリの Issue で声をかけてください。 とはいえこの記事で持って帰っていただきたいのは、アプリそのものより**設計の考え方**のほうです。記録は焼き込む、フラグは作らない、判定には理由を添える、埋まっていない数字は正直に空にする。この4つは、たぶん食事以外の記録アプリでも効きます。 ## まとめ 食事管理アプリは世の中に山ほどあります。私が作ったものより、たぶんどれも高機能です。 それでも自分で作ってよかったのは、**「自分が何を計画して、実際どうだったか」を数値で押さえる形を、自分の生活の形に合わせて決められた**ことでした。出社と在宅で昼が違うのも、社食の値がブレるのも、週1でチートするのも、全部私の事情です。既製品はそこまで面倒を見てくれません。 そして何より、この一連の作業でいちばん効いたのは、アプリではなく**「メニューを決めて、数字で答え合わせをする」という行為そのもの**でした。1800kcal に対して1775。P はあと5.5g。この2つの数字が毎日見えるだけで、コンビニの前で立ち止まれるようになります。 何かを本気でやるなら、計画を立てて数値で押さえる。当たり前のことなんですが、当たり前をサボらないための装置を、私はどうしても作らないと用意できないタイプでした。 皆さんもぜひ、自分の生活の形に合った「押さえ方」を作ってみてはいかがでしょうか。 (ちなみに、こんなに立派な仕組みを作ったのに、この記事を書いている時点での COMPLETE率は 0% です。装置は完成しました。あとは食べる人間の問題です……) --- # 【3Dプリント】サプリを一粒だけ出したい。3回作り直して、最後は先人に倣った話 - 公開日: 2026-08-15 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/pill-dispenser-3d-print/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![サプリを一粒だけ出したい。手描きのスケッチを散りばめたアイキャッチ](https://flow-with-tech.com/media/posts/pill-dispenser-3d-print/eyecatch-pill-dispenser.png) 私は毎日、マルチビタミンとクレアチンを飲んでいます。ボトルから錠剤を出すとき、毎回思います。必要な分だけパッと出てきたらいいのに。 たいした手間ではありません。でも毎日やっていると、**一粒だけ出てくる容器がほしい**と思うようになりました。 そして私は3Dプリンターを持っています。じゃあ作ればいい。そう思って作り始めたら、**完成まで3回作り直すことになりました**。今回はその記録です。 /veranda-groove-hera-3d-print/ ## この記事を読んでわかること - 「頭の中で完璧に動く機構」が、現実では普通に詰まるということ - 失敗するたびに、次の設計の制約が1つずつ増えていく感覚 - 自分のアイデアと、先人のやり方に倣うこと。どちらも要るという話 ## 全てはこの1枚のスケッチから始まった マルチビタミンとクレアチン、それぞれ一粒だけ出てくるディスペンサーを作りたい。こんな機構にすれば作れるんじゃないか。そう考えて描いたのがこれです。 ![手描きのスケッチ。上から錠剤を入れて、一粒だけ出す機構のアイデアと、錠剤の実寸](https://flow-with-tech.com/media/posts/pill-dispenser-3d-print/pill-dispenser-sketch.png) まずノギスで錠剤を測っています。クレアチンが22.5×11.3×7.8mm、マルチビタミンが20.2×8.9×7.7mm。**ここが全ての出発点**で、この数字が決まらないと「一粒だけ通る穴」のサイズが決まりません。 > 🗣 3Dプリンターにノギスは必須だと思います。ノギス最高。 ## 初号機:完璧なシミュレーションは、完璧なのか? ### シミュレーション まず、ボトルの底に横向きの引き出しをつけて、そこに一粒だけ落として引っ張り出す機構を考えました。画面の中では、これは完全にキテる。うまくいく気しかしない。 ![初号機のシミュレーション。引き出しに一粒だけ落ちて、そのまま出てくる](https://flow-with-tech.com/media/posts/pill-dispenser-3d-print/v1-simulation.gif) ### 結果 うまく動作しませんでした。 確かに、たまに一粒だけ出てくることはあります。でも実際には、**2つ目の錠剤が詰まって全然出てこない**ことがたびたび発生しました。錠剤は寝てくれるとは限らなくて、縦に立ったやつが穴の上で渋滞します。 そしてもう1つ、設計と関係ないところで問題がありました。**ボトル全体を3Dプリンターで作ろうとすると、容量が大きくなりすぎる**のです。材料もたくさん使うし、印刷にすごいコストと時間がかかる。1回試すのに何時間もかかっていたら、試行錯誤の回数を稼げません。 ### 改善点 - ボトル全体を印刷しないことによる、コストの最適化 - 押し出しの機構がどうしても詰まってしまうので、そのあたりの事前の選別 ## 二号機:既存の容器を使うという、発想の転換 そもそも、ボトル全体を作る必要はありません。**市販のボトルをカポッとはめられる形状**にすれば、印刷する体積は最小限で済むし、試行錯誤をスピーディーに回せるのではないか。そう考えた結果が二号機です。 ### 印刷した結果 たまに1個だけ、ちゃんと出てきます。 ![二号機の動作。錠剤が詰まって出てこない](https://flow-with-tech.com/media/posts/pill-dispenser-3d-print/v2-jam.gif) でも、いい感じにいくと思われた設計でも、現実では**2つ出てこようとした錠剤が詰まって**うまく機能しませんでした。ものづくりって難しい。 引き出しを引く、という動作そのものに無理がありました。錠剤が横に並ぼうとする力を、こちらは「引く」方向で断ち切ろうとしている。この構図がある限り、噛むときは噛みます。 ### 改善点 - 錠剤が下に落ちる**重力の力を使う**。引き出しのような形状ではなく、まったく違った発想の転換が必要だ - その場合、既存のボトルを使うという方式が取れないので、そのあたりも完全な転換が必要 ## 最終形態:アイデアと、先人の結合 重力に従って鉛直方向下向きに落ちてくる錠剤を、横に引き出す。この方向性はもう使えません。 じゃあ逆に、**容器の中に、下からそびえ立つような杭が上下する**。そんな仕組みを作れたら、杭のてっぺんに残った一粒だけが上に出てくるのではないか。そう発想を転換しました。 同時に、それってすでにやっている人がいないのかな、ということで検索もしました。 ### 偉大なる先人 > [Gum Dispenser | Gum Bottle | Gum Box](https://makerworld.com/en/models/1902522-gum-dispenser-gum-bottle-gum-box#profileId-2039221)(Matthew Ghost 氏 / MakerWorld) **自分が実現したいことを、既に成し遂げている先人の方を発見しました。** こちらの方はガムが一粒だけ出てくる容器を開発されていましたが、まったく同じ機構がマルチビタミンにも適用できると考えた私は、この機構を参考にしてモデルの開発を行いました。 なお、参考にしたのは**動作の原理**で、形そのものを流用したわけではありません。錠剤の実寸が違うので、ポケットの大きさも漏斗の角度もストロークも全部違う数字になります。 ### 成果物 こうして出来上がったのが、このモデルです。 ![完成したディスペンサー。円筒形で、天板に錠剤1粒ぶんの穴が開いている](https://flow-with-tech.com/media/posts/pill-dispenser-3d-print/v3-model-closed.png) 断面で見ると、中身はこうなっています。 ![断面図。すり鉢状の漏斗の中央に、杭のような柱が立っている](https://flow-with-tech.com/media/posts/pill-dispenser-3d-print/v3-model-cutaway.png) ボトルの側面を持ち、上方向に持ち上げると、すり鉢状になった底面も同時に上にせり上がります。それによって、ボトルの天端に位置していた杭のような形状のものが、ボトルのちょうど底面に位置することになる。そこに一粒だけ残り、**天板に開けた穴から一粒だけ抽出できる**というものです。 ![完成品の動作。持ち上げて下ろすと、天板の穴に一粒だけ顔を出す](https://flow-with-tech.com/media/posts/pill-dispenser-3d-print/v3-demo.gif) 一往復で一粒。マルチビタミンは120錠が全部入って、実機でちゃんと動きました。 > 🗣 ここまで来るのに、失敗作の山ができました。フィラメントはそこそこ減りました。普段やっているようなPower Platformだと、失敗しても失うのは時間だけですが、現実世界に何かを生み出すと、そのためのコストがちゃんと金額に跳ね返ってくるのが痛いところですね。 ## 詰まったところ 最終形態も、一発では動いていません。実機で組もうとしたら**部品が入らない**という、いちばん間抜けな失敗をしています。そこで学んだことを3つだけ。 ### 1. 目で見て分からない不具合は、数字で測る 「入らない」の原因が、外から何時間見ても分かりませんでした。3Dモデルは外形が正しく見えていても、**内側が中身の詰まった塊になっている**ことがあり得ます。外から見えないので、画面をいくら回しても気づけません。 これは、2つの部品を重ねて「重なった部分の体積」を計算させると一発で分かります。本来ゼロであるべきところに45cm³ぶんの重なりが出て、そこで初めて犯人が分かりました。**目視は、内側について何も保証してくれません。** ### 2. 印刷した穴に、印刷した棒を圧入するのは博打 軸を「きつめに差し込んで固定する」設計にしていたのですが、これは入りませんでした。3Dプリンターの寸法は、部位によって縮んだり縮まなかったりします。実際、薄くて背の高い部品は直径が1mm縮んでいたのに、小さい穴はぴったり設計どおりに出ていました。 なので、**固定する役目と、位置を決める役目を、1つの箇所に兼ねさせない**。荷重は広い面で受けて、軸はスカスカでいい。そう分けたら素直に組めるようになりました。 ### 3. 「たぶん15mmくらい伸ばせばいい」は、だいたい外れる 部品の高さが合わなかったとき、感覚で「15mm伸ばそう」と考えました。**正解は4mm**でした。しかもその4mmは、他の部品の厚みから計算で出せる数字でした。勘で決めた数字を書き込んだ時点で、その設計はもう検算できなくなります。 ## まとめ 今回の取り組みで感じたのは、**自分の中から湧き出るアイデアと、すでに世間に広まっている手法から学んで倣うこと、そのどちらも大切だ**ということです。 最初のスケッチがなければ何も始まりませんでしたが、最後は先人の機構に倣わなければ完成しませんでした。オリジナルであることにこだわって3回目も自力で突っ張っていたら、たぶん今も詰まった錠剤を眺めていたと思います。 そして、自分のアイデアを具現化するというのは、ただ正解を導き出すだけの作業ではありません。試行錯誤をすることであったり、自分の勘や直感が正しいのかどうかの答え合わせができる。**いわばこの世界に対する、たった一人で挑む挑戦**なのではないかと思います。そしてその過程にこそ、ものづくりの喜びがあるのだと、とても強く感じました。 ただの効率化オタク、生産性オタクではなく、そういった世界に対する挑戦ができる人でありたい。今回の取り組みで、また一つ何かを生み出すことができました。 自分なりの世界への答えがこれだ、というのを示せたのではないかと思っています。 楽しかったです。 ちなみにクレアチンは1日3錠摂取するんですが、できれば3錠ぴったり出てくるようにしたいなと思っているので、まだ制作にすら取り掛かっていません。 --- # 見えないハチの巣を、床のゴミから特定した話。〜「見えないもの」を痕跡から推定する〜 - 公開日: 2026-08-14 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/hachi-nest-inference/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![アイキャッチ](https://flow-with-tech.com/media/posts/hachi-nest-inference/eyecatch.png) ## この記事を読んでわかること - 直接観察できない対象を、間接的な痕跡から推定していくプロセス - 「見えない=存在しない」ではなく「見えない場所がある」に発想を切り替える方法 ## 突然ですが、「見えないものの位置」を当てたことはありますか? ある日、私は自宅のベランダから、**隣のベランダのどこかにあるはずのハチの巣**を探していました。 姿は見えない。でも、たしかにそこにある気がする。 結論から言うと、最終的に私は巣の場所を特定した……かもしれません。それも、**巣そのものを一度も見ないまま**です。 決め手になったのは、隣のベランダの床に落ちていた、鳥の糞みたいな白いカスでした。 今日はその推理の過程を書きます。ハチの話に見えて、実は「観測できないものをどう扱うか」という話でもあります(ということにしたいです)。 ## 序章:女王蜂の偵察 1ヶ月ほど前の出来事です。 いつものようにパソコンに向かっていると、視界の先で何やら大きな影が蠢いていました。ベランダの窓の向こうを、**やたらとおっきい蜂が行ったり来たりしている**のです。 この時期にあの飛び方をするということは、たぶん女王蜂が営巣できる場所を探している。頼むから自分の生活圏内に巣を作るのはやめてほしい。そう願うばかりでした。 ![窓の外を飛ぶアシナガバチのスケッチ](https://flow-with-tech.com/media/posts/hachi-nest-inference/bee-sketch.png) (写真を撮る余裕はなかったので、このときの光景を思い出しながら描きました) しかも、目撃したのは1度ではありません。何日かにわたって、同じような光景を見ていました。 ……気になります。 ## 発端:ゲリラ豪雨の日の違和感 決定的だったのは、夏のゲリラ豪雨の日でした。 雨が激しく降るのをベランダからぼーっと眺めていたら、視界を虫が横切りました。アシナガバチです。後ろ脚をだらんと垂らして飛ぶ、あの独特のシルエット。 > 🗣 一度刺されたことがあるので、アシナガバチを見ると警戒モードに入ります(怖い)。 そのハチは隣のベランダに入っていき、**しばらくして飛び立ち、またすぐ隣のベランダに戻ってきた**のです。それを何度か繰り返している。 ここで違和感が生まれます。餌を探しているだけなら、飛び立ったらもっと遠くまで行くはずです。短い間隔で同じ場所に戻ってくるのは、**そこが拠点になっている**動きに見える。 しかも雨の日です。わざわざ豪雨のなかを飛んで戻ってくる場所といえば、巣くらいしか思いつきません。 **隣のベランダに巣があるのでは?** これが最初の仮説でした。 ## 第一段階:見える範囲を、片っ端から潰す 仮説が立ったので、次は検証です。 とはいえ隣の家なので、当然入れません。私にできるのは「自分のベランダから見える範囲を、目を凝らして見る」だけです。 確認したのはこのあたりでした。 - 隣のベランダの手すり周り - 室外機 - ベランダの天井 結果。 **何も見つかりませんでした。** ここが最初の壁です。見える範囲は全部見た。でも巣はない。 > 🗣 そんな簡単に見える位置に巣なんて作らないよなあ。 ## 第二段階:記憶の隅にあった「跡」 しばらく考えていたときに、ふと別の記憶が浮かびました。 そういえば隣のベランダの床、**鳥の糞みたいな白い跡がついてたな**、と。 以前ベランダに出たときに視界に入っていたはずなのに、「鳥かな」で処理して、それきり忘れていた情報です。今思えば、鳥が止まれる場所なんてないのに鳥のふんがあるなんて、おかしいですよね。 このとき初めて、**探す対象を「巣」から「巣の痕跡」に切り替えました。** そこでネットで「アシナガバチ 巣 下 ゴミ」みたいなキーワードで調べてみたところ、見事にヒットしました。アシナガバチの巣の真下には、こういうものが落ちるらしいのです。 - **黒い粒状のもの** … 幼虫が蛹になる直前にまとめて出す糞。働きバチが巣の外に運び出すので、真下に溜まる - **白いカス状のもの** … 幼虫が蛹になるときに作る繭のフタ。羽化のときに削られて落ちる つまり、**黒い粒と白いカスが一箇所にまとまって落ちている=真上に巣があって、しかも世代が回っている**ということです。 駆除業者さんのブログに載っていた事例写真と、隣のベランダの見え方が、驚くほど一致していました。 ![隣のベランダの床に落ちていた黒い粒と白いカス](https://flow-with-tech.com/media/posts/hachi-nest-inference/debris.jpg) ## 第三段階:「見えない場所」が存在することの証明 ここで話が繋がります。 痕跡があるのは、**隣のベランダのガス給湯器の、ほぼ真下**でした。 でも私はさっき、見える範囲を全部確認したうえで「巣はなかった」と結論を出しています。真上に巣があるはずなのに、その真上には何も無い。矛盾しています。 ……いや、待てよ、と。 **給湯器の中って、どうなってるんだ?** そこで、自分の部屋のガス給湯器を下から覗いてみました。同じマンションなので、構造は同じはずです。 覗いてみると、給湯器の下部は**カバーの内側が空洞になっていて、配管がむき出しで通っている**のがわかりました。上は完全に覆われていて、雨も当たらない。 これはもう、**アシナガバチにとって最高の物件**なのでは。 そしてこの瞬間、さっきの矛盾が解消しました。 私は「見える範囲を全部見たから巣はない」と考えていましたが、正しくは「**見えない場所があることに気づいていなかった**」のです。 ![見える範囲を全部見たのに巣が見つからない図。痕跡の真上には、外からは覗けない給湯器のカバーがある](https://flow-with-tech.com/media/posts/hachi-nest-inference/hidden-space.png) (こういう状況でした。床には粒が落ちているのに、その真上は「見えている」つもりで実は何も見えていない) - 痕跡がある(=真上に巣がある) - 痕跡の真上には給湯器がある - 給湯器の内部は空洞で、外からは見えない この3つを繋ぐと、いちばん筋が通る答えはひとつしかありません。 **隣の部屋のガス給湯器の内部に、アシナガバチが営巣している可能性が高い。** 歯切れが悪いですが、ここは「営巣している」と言い切れません。**私は巣を見ていない**からです。見ていないものを見たことにするのは、推定ではなくただの願望になってしまう。なので現時点では「可能性が高い」で止めておきます。 ## 推定の全体像 ここまでの流れを整理すると、こうなります。 | 段階 | やったこと | 結果 | |---|---|---| | 観察 | 豪雨時の往復飛行を目撃 | 近くに巣がある仮説 | | 直接検証 | 見える範囲を総当たり | **失敗**(巣は見えず) | | 発想の転換 | 探す対象を「巣」→「痕跡」へ | 白い跡を思い出す | | 文献照合 | 痕跡のパターンを調べる | 蛹便+繭のフタと一致 | | 構造の確認 | 自室の同型機を下から観察 | 内部が空洞と判明 | | 結論 | 痕跡の位置+空洞構造を接続 | 給湯器内部に営巣の可能性大 | 見えないからどうしようもないな、で終わらせずに、観察した点と点をつなぎ合わせて線にする。それだけで、ここまで絞り込めてしまいました。 (もしかして、名探偵なのでは・・) ## 1を見て100を知る 見えるものだけで証拠が見つからないのであれば、**見えないものにこそ証拠がある**のではないか。 私がやったのは、そういう考え方でした。見える範囲の「1」——往復する飛び方、床に落ちた粒、給湯器という設備——を並べて、これとこれを繋ぐとどういうことが起きているのか、つまりどういうことなんだ、と考える。そこから見えない「100」のほうを言い当てにいく。 そして、そのうえでもう一度、答え合わせに戻ってくる。 この一連の流れが、私は結構おもしろいし、**どうも結構好きらしいです**。ハチの巣を見つけたかったというより、こっちがやりたかっただけなのかもしれません。 ## まとめ 今回わかったことを3行で。 - 直接見えないものでも、**痕跡+構造**を突き合わせれば位置は推定できる - 行き詰まったら、探す対象を「本体」から「本体が残すもの」に切り替える - 「見えない」は「存在しない」ではなく、「**見えない場所がある**」のサイン ベランダから始まった話が、なぜか思考法の話に着地してしまいました。でも、観察して、仮説を立てて、外して、視点を変えて、また検証する。たぶん普段からずっとこんなことをしてるんだと思います。 いまは管理会社さんに連絡を入れて、返信を待っているところです。とはいえ、他人の家の設備の中の話なので、駆除まで動いてもらえない可能性のほうが高いかなとも思っています。 その場合は、隣のベランダでアシナガバチが繁殖をする・・。(かもしれない) そうなったら、それはもう答え合わせです。巣を一度も見ないまま組み立てた仮説が、秋になって向こうから証明しにきてくれる。刺されるのは勘弁ですが、その瞬間だけは、ちょっと見てみたい気がしています。 日々の観察メモや失敗談は X([@kama_bizdev](https://twitter.com/kama_bizdev))でも発信しています。よかったら覗いてみてください。#FWTan2 --- # 【ライフログ】マイナ運転免許証を取得したいログ(取得編) - 公開日: 2026-08-13 - カテゴリ: LifeLog - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/maina-drivers-license-issued/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![運転免許センターでマイナ免許証を受け取るまで(取得編)](https://flow-with-tech.com/media/posts/maina-drivers-license-issued/eyecatch-maina-license-issued.png) 前回、デジタル庁から警視庁、そして予約サイトへと辿って、マイナ免許証への切り替えを申し込むところまで書きました。今回はその続きで、実際に運転免許センターへ行って受け取ってくるまでのログです。 https://flow-with-tech.com/maina-drivers-license-application/ ## この記事を読んでわかること - 予約したあと、運転免許センターで実際にどんな流れで手続きが進むのか(所要96分) - 窓口でつまずいたポイント3つ(スマホの文字が小さい・建物内で圏外・番号札の外の割り込み) - マイナ免許証1本にした人が、あとから2枚持ちに戻すことがあるらしい理由 > この記事はあくまでも個人の備忘録です。実際の情報とは異なっている場合がありますし、私が見た時点から情報が更新されている可能性もあります。手続きをされる際は、必ずご自身の目で公式サイトなどを確認するようにしてください。 ## 運転免許センターへ移動する 当日はバスに乗って向かいました。 窓の外を眺めていると、マンションの排気口が目に入ります。1部屋につき、排気口が2つ。よく見ると、部屋によって片方の排気口の周りだけが真っ黒になっています。 これはもしかして、真っ黒なほうがキッチンのレンジフードの排気口で、その汚れは自炊をしている証拠なのではないか。だとすると、外から見ただけで「この部屋の人は自炊をしている / していない」がある程度わかってしまうことになります。 > 🗣 日常を観察して、そこから考察するのが好きです。手続きの日でも、この癖は止まりません。 こういう「目に入っただけのものから勝手に考える」話は、以前アリの巣穴でも1本書いています。 https://flow-with-tech.com/ants-and-humans/ ## すべてがシステマティックな誘導である 到着して、受付らしき方に予約完了メールを見せます。「保有状況の変更ですね」と言われ、そこからは床に引かれた○色の線をなぞって進んでいくスタイル。案内はよくできていて、迷いようがありません。 ただ、その手前で毎回考えてしまうことがあります。**この人は話しかけて要件を伝えるべき人なのか、それとも黙って並ぶべき列なのか**を、こちらが察しなければいけない。しかも自分の要件をどう伝えればいいのかも、初めてなのでよくわかっていない。 とりあえずメールの画面を見せたのですが、どうやら文字が小さくて読みづらそうでした。iPhone の設定で文字を一段階大きくしてから見せてみても、やっぱり小さいらしい。 > 🗣 年配の受付の方にスマホの画面を見せるのは、あまり良い方法ではないみたいです。iPad で見せればいいのか、紙で持っていくのが正解なのか。このあたりのベストプラクティスをぜひ知りたい。 何はともあれ、無事に次のステップに進むことができました。 ## 通信状況という大きな障壁 番号で呼ばれて窓口へ。書類を書いたり確認したりと手続きを進めていって、最後に「メールに届いている予約の内容を見せてください」というフェーズになりました。 ここで、なぜかスマホが圏外になります。ahamo を使っていて、普段そんなに困ることはないのですが、この建物の中ではどうしても電波が届かない。 「一度外に出て、通信が復活した状態でメールの画面を出してから戻ってきてください」と言われて、外に出ました。今度はスクリーンショットを撮ってから、元の窓口へ戻ります。 問題はここからでした。「戻るときは番号札を取らなくていい」と言われていたのですが、窓口では次から次へと番号が呼ばれ続けている。**この列に、どうやって割り込めばいいのか、まったくわからない。** 前の人が終わる瞬間を狙って入ろうとするものの、窓口の周りにはその辺で何かしている人が何人もいて、なかなか隙間がない。それでもどうにかカットインすることに成功しましたが、その瞬間にはもう次の番号が呼ばれていました。そして自分の手続きが終わった瞬間、待ってましたと言わんばかりに次の人がやってくる。 > 🗣 ああいう場面で、自分はどう立ち回るのが正解だったんでしょうか。そしてどんな建物の中でも通信が途切れないキャリアとは、いったいどこなのでしょうか。 ## なんかわからんけどカツカレーを食べる なんやかんやで一旦の処理が終わり、「では30分後に2階へ来てください」と言われました。 30分をどう潰すか。ちょうど昼どきだったのでぶらぶらしてみると、食堂がありました。 頼んだのはカツカレー。スプーンでは全然切れないカツで、しかも写真では丸い皿だったのに、出てきたのは細長い皿。写真と全然違うじゃないか、と思いつつ食べます。 そして、**どんな状況でも、どんな人が作っても、カツカレーというものはおいしい**ということを改めて実感しました。 食堂で見ていて、もうひとつ気になったこと。近くの人が、袋に入れた傘を机の上に置いていました。ちょっと気になったのですが、袋の外側はきれいなままのはずだから、まあいいのか、とも思う。**机に置いていいもの・いけないものの線引きも、人それぞれなんだな**と。 ちなみに、隣に激辛ラーメンがあってとても食べたかったのですが、カロリーコントロール中なので今回は見送りました。 ## 立ち入り禁止の紐を壊す子供と、放置する父 指定された時間に、指定された部屋へ。入ろうとしたその直前で、親子連れにカットインされました。お父さんは私の1つ前の時間帯の予約者だったようです。 順番を抜かされたこと自体は、別に構いません。気になったのは、その子供が近くにあった立ち入り禁止のロープ(ビヨーンと伸びてパチッとはめるやつ)を外してしまい、戻し方がわからないまま、そのまま放置していなくなってしまったこと。 床に転がったロープと、抜かされた私。自分の番が来る前に直そうかと思ったのですが、ちょうど受付の方に話しかけられてしまい、それも叶わず。 待っている間、その親子の会話が耳に入ってきます。いい給料を得るために義務教育に行かなければいけないのだ、と熱弁するお父さん。違和感はありました。でも口に出すこともなく、ただ自分の番が来るのを待ちます。 > 🗣 こういう経験ができるのも、公共機関での手続きならでは。素晴らしいですね。自分がアドラーの横の関係を意識しようとするならば、子供に対してどのように接すればいいのか。わからないですね。 ## 無事にマイナ免許証をゲット そんな大きなうねりを経て、無事にマイナ免許証を受け取ることができました。持ち歩くのはマイナンバーカード1枚。運転免許証は返納したので、財布の中身が1枚減りました。 **手続き開始から終了までにかかった時間は96分。体感は120分です。** システムとしての導線はよくできているし、案内も丁寧でした。それでも、ああいう場所では、みんなが「早く終わらせたい」という気持ちを最優先にして動きます。番号札の外側での割り込み、圏外、読めない画面。そのひとつひとつでストレスが積み上がっていく。**正直、ユーザー体験としては良かったとは言いづらいところでした。** 裏を返せば、誰にとってもストレスのない手続きを設計するというのは、ものすごく大変なことなんだな、と改めて思います。仕組みがどれだけデジタルになっても、最後の数メートルは生身の運用で決まる。このあたりの話は、業務改善についても同じことを考えていました。 https://flow-with-tech.com/last-one-mile-shinkansen-thinking/ ## 帰りは歩いて帰る 帰りもバスに乗るつもりだったのですが、駅まで30分ほどで着くとわかったので、歩いて帰ることにしました。 ゲリラ豪雨のあとで、晴天でもない曇り空。日も照っていなくて、比較的歩きやすいコンディションでした。途中、自分が乗るはずだったバスに追い越されましたが、それはそれ。 > 🗣 30分歩くのは、思っていたよりずっと気持ちよかったです。1時間以内なら歩くという選択肢を持っていることに幸せを感じます。 手続きそのものは大変でしたが、無事に切り替えができてよかったな、と思っています。予定になかった30分の徒歩が、その日でいちばん良い時間だったかもしれません。何の役にも立たない時間ほど効く、という話は前にも書きました。 https://flow-with-tech.com/teleworkation-nabekura-day1/ ## おわりに ひとつ気になっているのは、マイナ免許証1本にすると不都合が出る場面があるらしいこと。海外でマイナ免許証が使えない国があったり、運転免許証のコピーを求められる場面で困ったりして、**あとから2枚持ちに戻す人もいる**と聞きます。 自分もいずれそうなるかもしれません。とりあえずは、このまま1枚でいってみようと思います。 --- # 【ライフログ】マイナ運転免許証を取得したいログ(申込編) - 公開日: 2026-08-12 - カテゴリ: LifeLog - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/maina-drivers-license-application/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![持ち物を1枚減らしたい。マイナ免許証にしてみる(申込編)](https://flow-with-tech.com/media/posts/maina-drivers-license-application/eyecatch-maina-license.png) ## この記事を読んでわかること - マイナ免許証(マイナンバーカードの運転免許証利用)には「持ち方」が3つあって、何が違うのか - デジタル庁 → 警視庁 → 予約サイト、と辿って予約にたどり着くまでの実際の画面 - 更新時期以外にマイナ免許証へ切り替えるときの、申込までの流れ ## はじめに 持ち物を1つでも減らしたい。そういえば、運転免許証ってマイナンバーカードと一体化できるようになった気がする。ということで、調べながら実際に手続きをしていくログを書き残しておきます。 > この記事はあくまでも個人の備忘録です。実際の情報とは異なっている場合がありますし、私が見た時点から情報が更新されている可能性もあります。手続きをされる際は、必ずご自身の目で公式サイトなどを確認するようにしてください。 ## Google 検索をする ![Google で「運転免許証 デジタル」と検索した結果。デジタル庁のページが先頭に出ている](https://flow-with-tech.com/media/posts/maina-drivers-license-application/01-google-search.png) 最近は、なんでも AI に聞くんじゃなくて自分で調べるのが好きです。AI を介さず、自分の目で見て、自分の頭で文章を読んで、自分で理解をする。時間はかかるかもしれないけど、そのプロセスが楽しいなと思っています。 検索キーワードは「運転免許証 デジタル」。(マイナンバーじゃないんだ……) ## デジタル庁のサイトを熟読する ![デジタル庁「マイナンバーカードの運転免許証利用」のページ。2025年3月24日から利用できる旨が書かれている](https://flow-with-tech.com/media/posts/maina-drivers-license-application/02-digital-agency-license.png) 読んでみて理解したことがいくつかあります。まず、2025年3月24日からマイナンバーカードを運転免許証として利用できるようになったこと(以下「マイナ免許証」)。そして、免許の持ち方には3つのパターンがあること。 1. マイナ免許証のみ 2. 運転免許証とマイナ免許証の2枚持ち 3. 運転免許証のみ 最初は「運転免許証のみ=今までどおり」「2枚持ち=ただ2枚持っているだけ」で、新しいのはマイナ免許証のみのパターンだけだろう、と読み流していたのですが、これは間違いでした。2枚持ちは「マイナンバーカードを運転免許証として利用したうえで、今の運転免許証も引き続き保有する」という選択肢で、マイナ免許証のみにした場合は、今持っている運転免許証は返納することになります。 > 🗣 どうしても持ち物を減らしたいので、マイナ免許証のみに変更していきたいと思います。 https://www.digital.go.jp/policies/mynumber/drivers-license ## マイナ免許証の利用方法 ![デジタル庁のページの「マイナ免許証の利用方法」。運転免許センターや一部の警察署で手続きができると書かれている](https://flow-with-tech.com/media/posts/maina-drivers-license-application/03-digital-agency-howto.png) 手続きは、運転免許センターや一部の警察署でできるとのこと。詳細は各都道府県警察のホームページを見てください、と案内されています。 ## 警視庁 HP で手続きの方法を調べてみる ![警視庁のページ。運用開始日と3つの保有状況の説明、そして予約手続「警視庁行政手続オンライン」へのリンク](https://flow-with-tech.com/media/posts/maina-drivers-license-application/04-keishicho-license.png) ここから予約手続きのサイトへ飛べるようになっています。 > 🗣 手続き系って無限にリンク先に飛ばされる気がします。結局今どこにいて何をしているのか、分かりづらいことありませんか・・ https://www.keishicho.metro.tokyo.lg.jp/menkyo/oshirase/individual_number.html ## 警視庁行政手続オンラインから予約サイトへ移動する ![警視庁行政手続オンラインのトップページ。「オンライン予約手続き」のボタン](https://flow-with-tech.com/media/posts/maina-drivers-license-application/05-gyosei-online-top.png) デジタル庁のホームページで見たことのある人物イラストが、ここにも登場していますね。左上の「警視庁行政手続オンライン」のロゴには古き良きホームページの感じが出ていますが、ページ全体は一部デジタル庁の関与が入ってモダンな UI になっているような、そんな印象を受けます。 ![キーワード「マイナ」で検索した結果。「免許証の保有状況変更」の手続きが表示されている](https://flow-with-tech.com/media/posts/maina-drivers-license-application/06-online-reservation-search.png) キーワードに「マイナ」と入れると、それらしきものが出てきました。**【免許手続】免許証の保有状況変更 ~更新手続以外でマイナ免許証に変更する方~** がそれぽいです。 ## 施設と日時を選択して申し込み カレンダー形式で、施設ごとに予約可能かどうかが一覧で出てきます。施設と日時を選んで、そのあと必要な情報を入力して申し込みをします。 申し込みが完了するとメールが届き、そこに予約番号やパスワードが記載されているとのこと。あとは当日それを見られるようにしておいて、決められた場所へ決められた時間に行けばいいようです。 ## おわりに マイナンバーカードが運転免許証の代わりになるというのは聞いていたのですが、実際にいつから手続きができるのか、どういう手続きをすればいいのかまでは知りませんでした。今回調べてみて、これでやっと紙の運転免許証を持たなくてよくなるんだと思うと、少しワクワクします。いろいろな手続きがデジタルになって、マイナンバーカードに統合されていくというのは、荷物も減るし、手続きの煩雑さも減る。紛失や更新の手間も減っていくのは、すごく嬉しいなと思います。 その一方で、アカウントやパスワードを管理する手間はどんどん増えていきますね。 以前「おすすめのアプリ」という記事の中でも紹介したのですが、パスワード管理アプリの 1Password はかなり優秀だと思います。ただでさえ忙しい世の中で、自分の脳のキャパシティを無駄に使ってしまわないように。その節約のためにも、結構おすすめです。1Password については下の記事で紹介しているので、よければ見てみてください。 https://flow-with-tech.com/recommended-apps-for-focus-and-productivity-2025/ --- # 【3Dプリント】ゲリラ豪雨でベランダを掃除する - 公開日: 2026-08-12 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/veranda-groove-hera-3d-print/ - サイト: 改善紀 — 好奇心の赴くままに。 --- # 【3Dプリント】幅95mmのベランダの溝を掃除するヘラは、売っていない ![幅95mmの溝を掃除するヘラ。3Dモデルと、実際に印刷して溝に収めた現物](https://flow-with-tech.com/media/posts/veranda-groove-hera-3d-print/eyecatch-veranda-hera.png) うちのベランダの先端には、細長い排水の溝があります。実測で**幅95mm、深さ1.5mm**。ここに、じわじわとヘドロが溜まります。 放っておいても暮らしに支障はありません。ただ、気になる。掃除しようとして、ここで詰まりました。**この溝にぴったり入るヘラが、売っていない**のです。(あるかもしれないが、そもそも探すのが面倒臭い・・) > 🗣 3Dプリンターを買ってから、こういう「売ってないから諦めていた」が、「じゃあ自分で作ればいいじゃん」になりました。 ## この記事を読んでわかること - 幅95mmの溝専用のヘラを、ノギスの実測値ひとつから3Dプリントで作るまでの流れ - 「市販品に自分を合わせる」から「自分の家に道具を合わせる」に切り替わる感覚 - ベランダ掃除はゲリラ豪雨の日にやると最高、という生活の話 --- ## 現状:ベランダの溝にヘドロが溜まる まず、現場の絵です。赤いところが問題の溝。 ![ベランダ全体のスケッチ。先端に沿って走る細い溝にヘドロが溜まっている](https://flow-with-tech.com/media/posts/veranda-groove-hera-3d-print/veranda-overview-sketch.png) 断面にすると、こうです。 ![ベランダ溝の断面図。幅95mm・深さ1.5mmの浅い溝の底にヘドロが溜まっている](https://flow-with-tech.com/media/posts/veranda-groove-hera-3d-print/veranda-groove-section.png) 深さ1.5mmしかない、浅くて平べったい溝です。**面で押し出せる道具**が欲しい。つまりヘラです。 そしてホームセンターに売っているヘラは、だいたい50mmか、80mmか、100mmです。**95mmは、ない。** (そもそも探しに行ってないので、実際どうか知りません。) ## 課題 - ベランダを綺麗に保ちたい(それだけ) 支障がないのに気になる、という程度の課題です。でも、道具さえあれば5分で終わる話でもあります。 ## 実施事項 1. 3Dプリンターで、溝幅にぴったりのヘラを創る 2. そのヘラを持って、**ゲリラ豪雨のときに**ベランダを掃除する ### なぜゲリラ豪雨のときに掃除をするのか 土砂降りになると、ベランダはどうせびちょびちょになります。 普通、ベランダを水で洗う掃除は「濡らす」必要があります。でも最初からびちょびちょなら、濡らす罪悪感がゼロ。おまけに水は上から無限に供給される。**掃除の初期コストが、天気によって消えている状態**です。 つまり、家にいるときにゲリラ豪雨が始まったら、皆さんがするべきことは、洗濯物を取り込むことでも、窓を閉めることでもありません。ベランダを掃除することしかないのです。 > 🗣 干している洗濯物にカメムシの集団がついていたことがあります。自分は一生洗濯物を干さず、ドラム式洗濯機を使いたいと思っています。 ## 創作手順 やったことは3つだけです。 1. **ノギスで溝の幅を測る**(95.0mm) 2. **Claude Code に3Dモデリングを依頼する**(日本語で会話するだけ。CADのGUIは触らない) 3. **精査して、問題なければプリントする** 3Dモデリングの手順そのものは前回の記事に書いたので、今回は「測って、頼んで、刷った」という粒度で流します。 設計で効いた判断だけ書いておくと、**刃の幅は95mmぴったりにしていません**。93mm、つまり片側1mmずつ逃がしてあります。溝は現実には真っ直ぐでも一定幅でもなく、蛇行するし、目地は出っ張るし、砂粒も挟まる。**ぴったり過ぎると噛んで止まる**からです。1mmの取り残しは2往復目で取れますが、入らないヘラは永遠に0点。**外れても入る側に賭ける**、という判断でした。 ## 成果物 ### 3Dモデル 美しいヘラが出来た笑 ![3Dプリント用のヘラのモデル。縦グリップ一体型で、刃先に向かって薄くなっている](https://flow-with-tech.com/media/posts/veranda-groove-hera-3d-print/hera-3d-model.png) - 刃幅93mm・板厚5mm、**先端は1.2mmまで削いだ片刃**(下面はフラットなので、溝の底に沿って滑る) - しゃがんで押すので、握りは**縦グリップ**。掌が乗るドームで手が上に抜けない - グリップの上に**φ7の吊り穴**。ベランダのフックに掛けっぱなしにできる - **1部品・ネジゼロ・接着ゼロ・サポートゼロ**(そのままベッドに置ける向きで設計してある) ### 印刷した結果 いい感じにできた。嬉しい。 ![印刷したヘラの全体。縦グリップと平らな刃が一体になっている](https://flow-with-tech.com/media/posts/veranda-groove-hera-3d-print/printed-hera.jpg) 刃先のアップ。下面はフラット、上面だけ削いだ片刃です。積層痕がそのまま出ていますが、ヘドロを押すだけの道具なので問題なし。 ![ヘラの刃先のアップ。下面はフラットで、先端に向かって薄くなっている](https://flow-with-tech.com/media/posts/veranda-groove-hera-3d-print/printed-hera-blade.jpg) そして本番、ベランダの溝に当ててみたところ。 ![ベランダの溝にヘラを差し込んだところ。刃が溝の幅にぴったり収まっている](https://flow-with-tech.com/media/posts/veranda-groove-hera-3d-print/hera-in-groove.jpg) **入った。** 片側1mmずつ逃がした93mmは、蛇行にも目地にも噛まず、すーっと滑ります。実測ひとつから起こした形が、そのまま現物として自分の家にハマる瞬間は、何度やっても気持ちがいい。 ### 印刷コスト **約214円**(フィラメント53.63g・印刷時間1時間54分)。 ![スライサーの結果画面。フィラメント53.63g、印刷時間1時間54分](https://flow-with-tech.com/media/posts/veranda-groove-hera-3d-print/slicing-result.jpg) ホームセンターで「たぶん入るだろう」というサイズのヘラを買うのと、だいたい同じ値段です。違うのは、**こっちは確実に入る**ということだけ。 --- ## おわりに 3Dプリンターを家に持つ最大のメリットは、こういう地味に最適化された自分だけの道具を作れることに尽きるんじゃないかなと思っています。 幅95mmのベランダの溝を掃除するための最適なヘラって、皆さんどうやって手に入れますか。50mmのヘラで何往復もしますか。それとも「これぐらいならいけるんじゃないかな」と80mmを買い、100mmを買い、**うわーこれちょっとでかくて入らないから斜めにして使おう、うわーでもそうすると全然うまく掃除できない**、という機会損失を、いつまで続けるつもりですか。 > ちゃんと買い物ができるなら、本当は自分も既製品を買って済ましたいです。 持つべきものは3Dプリンターである。ゲリラ豪雨のときにベランダを掃除したい同志に向けて。 https://flow-with-tech.com/claude-code-3d-modeling-method/ --- # 【Code Apps】1年半つけ続けた行動ログアプリを作り直したら、Power BI がいらなくなった - 公開日: 2026-08-11 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/totonoi-watch/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![ととのいウォッチのデモ。宣言して、測って、あとから振り返るまでを1つのアプリで](https://flow-with-tech.com/media/posts/totonoi-watch/eyecatch-totonoi-watch-demo.gif) 私は2025年2月に、行動ログをつけるアプリを作りたくて Power Apps を勉強しました。そのアプリ自体は、ブラッシュアップをしつつ今でも愛用しています。 最近、タスク管理の手法を見直す機会がありました。その中で、**どれぐらい時間がかかるか見積もりを行い、実測と比較して振り返ること**が重要だと学びました。 2025年の時点では Claude Code も Code Apps も使えなかったのですが、今ではバリバリ使ってます笑 そんな今だからこそできる、Code Apps × コーディングエージェント(Claude Code)で、今回学んだ見積もり機能、さらには **Code Apps だからこそできる機能**をふんだんに盛り込んだアプリを開発してみました。今回はその話を書きます。 /power-apps-work-log-app-development-story/ ## この記事を読んでわかること - キャンバスアプリから Code Apps に移行すると何が変わるのか - 3パターンの行動ログ記録方法と、それぞれの使いどころ - やりたいことを実現するために、どう AI を使いこなせばいいのか ## そもそも、なぜ行動ログをつけるのか 私が行動ログをつける理由は、たった一つにまとめると、**人間は自分が何をしていたのかを定量的に振り返ることが、数字として記録していないと基本的に不可能だから**です。 数字で振り返ることによって、自分の仮説や経験、知見と組み合わせて、人間はインサイトを得ることができます。つまり、気づきを経て行動を変容することができる。 なぜ行動を変容するべきなのかは、人それぞれ価値観が違うと思いますが、私は**変わり続けていくことこそが不変な事実**であって、自分にとって大事なことだと認識しています。 ### 「数字で振り返る」にもいろいろある ひとくちに数字で振り返るといっても、いろんなパターンがあります。 - **累計時間**:これに何時間投下することができたか - **1日あたりの時間**:1日あたり何時間投下できているか - **時間帯**:たとえば「6時に朝活をする」と決めたなら、ちゃんと6時台に時間を投下できているか - **頻度**:筋トレを月に何回、週に何回やっているか。1回あたり何分か 遊びも同じです。最近 Netflix をめちゃくちゃ見ているんですが、「どれぐらい見てるんだろうな」もこのアプリで記録することで振り返れます。 別に全てを最小限にしないといけないわけじゃなくて、人間なので必要な時間もあります。ただ、**「この8月はすごい Netflix にハマっていたんだね。でも最近見てないし、もう解約してもいいかな」**——そういうありとあらゆることに使える。だから必要だと考えています。 /lifelogging-system-with-power-apps-one-year-review/ > 🗣 Netflix を初めて契約して2日間で「ガス人間」と「地面師たち」を一気見しました。どっちがどっちの話だったか良く分からなくなりました。「リスナーさん、願いを一つ言ってください。もうええでしょう。」 ## キャンバスアプリを Code Apps にすると、何が変わるのか ここが今回いちばん書きたいところです。結論から言うと、変わったのは次の3つでした。 1. **Power BI を使わなくても、アプリの中で可視化できる** 2. **その可視化の隣で、データの編集までできる** 3. **PC でもスマホでも、同じアプリが使いやすい** ### 1. Power BI を使わずに可視化できる キャンバスアプリでは難しかった高機能なグラフや可視化を、アプリの中に持ち込めるのが Code Apps の大きな魅力です。 左にカテゴリ別・プロジェクト別の割合(今は時間で表示)、右に記録がすべてリスト形式で並んでいます。 ![LOGS 画面。左に内訳の円グラフと棒、右に記録のリスト](https://flow-with-tech.com/media/posts/totonoi-watch/04-logs-list.png) 日常の行動を振り返るときは、やっぱりカレンダーのような形式で見えたほうがいい。こんな感じでカレンダー形式でも振り返れます。これはかなり良くて、めちゃくちゃお気に入っています。 ![週ビュー。1日1列のタイムラインで、その週に何をしていたかが一目でわかる](https://flow-with-tech.com/media/posts/totonoi-watch/05-logs-week-calendar.png) もともとは実績を Google カレンダーに転記する Power Automate を組んでいたのですが、やっぱり不具合が結構たくさんありました。**それがアプリの中で全部完結する**ようになったわけです。 マンスリービューはこんな感じです。例えば筋トレにどれぐらい通えているかも1発でわかり最高です。(8月は週3回の習慣化を目指す!) ![月ビュー。1日1マスの濃淡グリッドで、その月の傾向がひと目でわかる](https://flow-with-tech.com/media/posts/totonoi-watch/07-logs-month-calendar.png) /copilot-usage-powerbi-visualization/ ### 2. 見るだけじゃなく、その場で編集できる そして、ここが個人的にいちばん効いているポイントです。 Power BI は「見る」ことはできますが、**入力ができません**。可視化を見て「あ、この記録ちょっと違うな」と思っても、直しに別のアプリへ移動する必要がある。 Code Apps は、**可視化もできて、編集もできる**。ちょっとデータを直したいときも、そのままアプリの中でできます。「気づく」と「直す」が同じ画面の中にあるのは、想像以上に快適でした。 > 🗣 可視化ツールとアプリを行き来しなくていい、というだけで振り返りの回数が明らかに増えました。 ### 3. PC でもスマホでも使いやすい 行動ログは、記録するのはスマホ、振り返るのは PC、というふうに使う場面が分かれます。Code Apps はそのどちらでも使いやすいレイアウトにできるので、**記録も振り返りも1つのアプリで完結**します。 /code-apps-everything/ ## 今回追加した「宣言型」の記録 変更点でもうひとつ大きいのが、冒頭に書いた見積もりの話です。 **「これから何々を、何分間で行う」と宣言してから始める**——これを RECORD 画面の「NOW」として実装しました。学んだ手法を、そのまま普段のアプリに乗せた形です。 まず、何をするのかを書いて、何分でやるのかを決めて始めます。「だいたい」と「最大」を選べるようにしているのは、同じ30分でも意味が違うからです。 ![READY 画面。行動名とセット時間、「だいたい / 最大」の宣言を選んで開始する](https://flow-with-tech.com/media/posts/totonoi-watch/01-record-now-ready.png) 開始すると、このようなストップウォッチの画面になります。現在何分経過しているのか、見積もりに対して残り何分なのかが確認できます。 ![計測中の画面。文字盤と経過時間、見積もりに対する残り時間が出る](https://flow-with-tech.com/media/posts/totonoi-watch/02-record-now-timer.png) 終了したタイミングで、それが何のプロジェクトで何のカテゴリなのか、そして**実際に差が生まれた理由や考察**をメモとして記録できます。 ![FINISH 画面。見積と実績の差、差の理由チップ、考察メモ、カテゴリのタイル](https://flow-with-tech.com/media/posts/totonoi-watch/03-record-now-finish.png) ### 記録は3パターン用意した とはいえ、いつも宣言してから始められるわけではありません。そこで記録の入り口を3つに分けています。 | モード | 使う場面 | |---|---| | **NOW** | これからやることを宣言して、測りながらやる | | **LATER** | 終わったあとに「さっきのアレ」を記録する | | **BATCH** | 1日の終わりにまとめて登録する | 宣言できるときは宣言する、できないときは後から入れる。**記録のハードルを上げすぎない**のが、1年半続いた理由でもあります。 /powerapps-bulk-registration-logic/ ## 見積もりと実績を分析する画面 見積もりと実績が貯まるようになったので、それを分析する画面(INSIGHTS)も作りました。 ![INSIGHTS 画面。見積×実績の散布図、カテゴリ別の倍率、差の理由、明細](https://flow-with-tech.com/media/posts/totonoi-watch/06-insights-estimate-actual.png) まだデータがあまり集まっていないので何とも言えませんが、プロジェクト別・タスク別に**どういうところで差が出やすいのか**を串刺しで見られるようにしていけば、かなり実効性のある機能になるんじゃないかと思っています。ここはまだ検証中です。 ## どうやって作ったか ### 1. まず既存のキャンバスアプリを MCP でつないで、Claude Code に理解させる 自分が作っている既存のキャンバスアプリがあるので、まずは MCP でそれをつないで、**どんな構成になっているのかをすべて理解させます**。同時に、使用している Dataverse の構成についても理解させます。 ### 2. 既存の Dataverse を活かしたまま、新しく Code Apps を開発させる Code Apps の開発も Claude Code にお願いします。既存の Dataverse、そして既存のキャンバスアプリでやっていることを基本的に踏襲させつつ、**同じ Dataverse を使ったまま**新しく Code Apps を開発する方法を考えさせて、作らせます。 データが同じなので、キャンバス版を残したまま新しいアプリを並走させられるのも安心なところでした。 ### 3. 実機テストをして、修正を指示する 開発させるだけではダメで、必ず自分の目で見てテストをします。しかもこれは PC でも使うしスマホでも使うので、**必ず両方で実機テストをして**、細かく修正の指示をしていきます。 /claude-code-power-platform-delegation/ ## まとめ AI を使うことの何がいいかというと、今回のように**自分が新しくインプットしたものを、普段使っているアプリに上乗せしたい**——そんなときに、何をどうすればいいのかを言語化して頼むだけで、簡単に自分の手元で使える状態になることだと思います。 学んだものは、やっぱり「鉄は熱いうちに打て」と言われるように、すぐ試せるかどうか。自分の中に取り入れられるか、使い始められるか、やり始められるかが大きなポイントになります。 そこにおいて、それを実現する手段になってくれる AI、コーディングエージェント(私の場合は Claude Code)には、とても助かっています。 おかげで、何かやるときに「どれくらいかかるのか」を見積もった上でタスクに取り掛かれるようになり、スピード感を持って行動できている感じがしています。 > 🗣 まだ使い始めたところなので、これからブラッシュアップしていきます。もし良さそうであれば、GitHub への公開にも挑戦してみたいなと思っています。 --- # 【Claude Code】Power Platform 開発を丸投げしてみたら、人間の仕事は「判断」と「手足」だけになった - 公開日: 2026-08-01 - カテゴリ: Power Platform - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/claude-code-power-platform-delegation/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![完成した「おれ作 博物館」。展示ホールを歩くように自分の作品を眺められる](https://flow-with-tech.com/media/posts/claude-code-power-platform-delegation/eyecatch-museum-demo.gif) ## この記事を読んでわかること - Claude Code を使うと、Power Platform の開発がどんなふうに進むのか - その進め方の中で、**人間は何をすればよくて、何を AI に任せればいいのか** - Premium ライセンスなしで、自分のアプリ・フロー一覧を収集する仕組みの作り方(と、そこで踏んだ地雷) ## 突然ですが、自分が今まで作ったアプリ、把握できていますか? 私は把握できていませんでした。作っては忘れ、作っては忘れ。気づけば環境の中に、名前を見ても中身を思い出せないアプリが溜まっています。 そんなとき、Power Automate には環境内の Power Apps 一覧を取得できるコネクタがあるらしい、という話を知りました。じゃあそれを使えば、自分の資産を管理する仕組みが作れるのでは? ……と思ったものの、調査するのもやってみるのも、正直ちょっと大変です。コネクタの仕様を調べて、Premium かどうか確認して、SharePoint リストを設計して、フローを組んで。考えただけで週末が溶けます。 ということで、**Claude Code に丸投げしてみることにしました。** ## 何を作ったか 自分が作った Power Apps と Power Automate の一覧を Power Automate で自動収集して、**博物館のように展示するキャンバスアプリ**を作りました。その名も「おれ作 博物館」です。 なぜ「管理台帳」ではなく「博物館」なのか。これは調査の結果、方針を変えたからです。 一般的なメーカー権限(管理者権限なし)で取得できるのは、**環境全体ではなく「自分が所有・共有している分」だけ**でした。全社の資産を棚卸しする台帳にはできません。 でも、逆に考えると「自分が作ったものしか取れない」なら、いっそそっちに振り切ればいい。管理する台帳ではなく、**自慢する博物館**にしてしまえ、と。制約をコンセプトに変換したわけです。 結果、収集できたのはアプリ **262 件**、フロー **84 件**でした。我ながら作りすぎです。 ### 前提・制約 - **Premium ライセンスなし**で作る(=標準コネクタと SharePoint リストだけ) - **管理者権限なし**で動く(一般メーカーのままで完結させる) - 人間が細かく口を出すこともできますが、今回はあえて**丸投げ**する そもそも Claude Code で Power Apps を作るとはどういうことか、という話は以前にも書いています。 /claude-code-power-apps-development/ ## 丸投げの実況 ここからは、実際にどう進んだかを時系列で書いていきます。 ### 1. まず統括役を立てる いきなり作らせません。最初にやるのは、**一番賢いモデルを現場監督にする**ことです。 私は `/delegate` という自作スキルを使っています。中身はシンプルで、「統括役のモデルは発明・裁定・最終検品だけをやり、実作業はサブエージェント(Opus / Sonnet / Haiku)に振れ」という分担ルールを恒久化したものです。 ![/delegate スキルを呼び出して統括体制に入るところ](https://flow-with-tech.com/media/posts/claude-code-power-platform-delegation/01-delegate-skill.png) スキルの中身は、ほぼこの表だけです。 | 仕事の種類 | 担当 | |---|---| | 発明・統率・最難関・最終検品 | メインループ(統括モデル) | | 調査・実装・執筆・レビュー | Opus | | 事務・台帳更新・整理・commit 文面 | Sonnet | | 単純機械作業 | Haiku | これに、運用の型を数行だけ添えてあります。 - **並列 fan-out**:独立したタスクは1メッセージで同時に起動する(直列に待たない) - **バックグラウンド既定**:起動したら待たずに次の仕事を進める - **続投 > 新規**:同じ成果物の修正は、新しく起こさず同じエージェントに続けさせる - **プロンプトは自己完結**:サブエージェントは会話履歴を見られないので、前提を毎回書く - **検品は統括の責任**:委任しても品質責任は監督側にある 迷ったら1段安いモデルに振って、検品で品質を担保する。要は、**社長が全部自分で手を動かさない体制**を最初に作る、ということですね。 なお、サブエージェントをぽんぽん起動するとその分お金もかかります。1タスクいくらだったのかを測る仕組みは、別の記事で作りました。 /claude-code-credit-log/ ### 2. 勝手に調査を始める ここがすごいところなのですが、「作って」と言うと、**まず作り方を調べ始めます。** 今回で言えば「Power Apps for Makers / Power Automate Management / Power Platform for Admins の各コネクタは標準(非 Premium)なのか」「一般メーカー権限で取れる範囲はどこまでか」「ページング・スロットリングのハマりどころは」あたりを、調査専門のサブエージェントがバックグラウンドで調べていきます。 ![調査エージェントをバックグラウンドで起動し、その間に方針を組み立てているところ](https://flow-with-tech.com/media/posts/claude-code-power-platform-delegation/02-research-agent.png) しかも頼んでいないのに、**CoE Starter Kit(Microsoft 公式の管理キット)との比較**まで気を利かせて調べてくれていました。結論は「CoE Starter Kit は保守終了済みで、後継は管理者専用。だからメーカー権限方式の存在意義は『軽いから』ではなく『管理者じゃなくても使えるから』だ」というもの。 自分では思いつかなかった角度で、作る理由を言語化してくれたわけです。ちょっと悔しいですね。 ### 3. 人間の判断を求めてくる 調査が終わると、**人間にしか決められないことだけ**を聞いてきます。今回は3問でした。 - 台帳のスコープをどうするか(自分の所有分だけしか取れない、という調査結果を踏まえて) - 台帳に手動管理列(人間が書く列)を付けるか - 見る画面はどうするか ありがたいのは、選択肢に **(Recommended)** が付いていることです。迷ったらとりあえずこれを選んでおけば OK です(笑)。私は3問とも推奨どおりに答えました。 ![人間の判断を求められる場面。選択肢に (Recommended) が付いている](https://flow-with-tech.com/media/posts/claude-code-power-platform-delegation/03-recommended-questions.png) もう一点、地味に優秀だと思ったのが、**調査結果を使い捨てにせず、根拠ファイル(一次 URL 付き)として残している**ところです。後から「なんでこの判断にしたんだっけ?」と辿れます。 ### 4. たまに、人間が HaaS として働く とはいえ、Claude Code にもできないことがあります。そういうときは**人間に仕事が発注されます。** > **HaaS(Human as a Service)とは** > 人間が AI に呼び出されて、主に API キーの取得や物理空間での作業を担うこと。 ![Claude Code から人間へ作業が発注される瞬間](https://flow-with-tech.com/media/posts/claude-code-power-platform-delegation/04-haas-request.jpg) 今回発注されたのは、**コネクタの接続の認証**でした。実は Power Automate の接続そのものは API から作成できて、しかも `201 Created` が返ってきます。ところが中身を見ると認証が通っておらず、使えません。OAuth の同意画面はブラウザ以外に経路がないからです。 なので、AI が出してきた URL を人間がブラウザで開いて、ポチッと同意する。従順な手足です。 ![渡された URL を開いて接続作業を担当する人間](https://flow-with-tech.com/media/posts/claude-code-power-platform-delegation/05-haas-connection.png) 同じ理由で、**空のキャンバスアプリを作って「共同編集を有効にする」のも人間の仕事**でした。ここまでやったら、あとは URL を Claude Code に渡して MCP で接続してもらうだけです。 ## 詰まったところ ここからが記事の本番です。丸投げとはいえ、横で見ていると**そこそこ派手に転んで**います。無かったことにはしません。 ### 1. 「1回しか実行していないのに 426 行入る」 一番の山場でした。収集フローを**1回だけ**実行したのに、SharePoint リストが **426 行**になっています。しかしアプリの ID でユニークを取ると **262 件**しかない。つまり **164 行が重複**です。 面白いのは、2回目・3回目に実行しても1行も増えないことでした。突合ロジック自体は正しいのです。 犯人は、**「マップに無ければ POST する」という処理が冪等ではなかった**ことでした。SharePoint がスロットリングでエラーを返しつつ、**実際には書き込みがコミットされていた**。そこに Logic Apps の自動リトライがもう1行作る。だから1回の実行の中で二重に増える。重複が、書き込みの集中した環境(251 件)に偏っていたのも、スロットリング説と一致していました。 対策は、**アプリ側のロジックではなくデータ層の制約で保証する**こと。キー列に「重複禁止」(EnforceUniqueValues)を付けて、リトライ側の POST を SharePoint 自身に弾いてもらう構成に変えました。修正後は 262 行 / ユニーク 262 / 重複 0 です。 ここで得た教訓が、今回の一番の収穫でした。 > **POST は冪等ではない。「事前に存在チェック → 無ければ作る」は、競合とリトライには勝てない。** > そして**「重複が無いこと」は件数ではなくキーのユニーク数で検査する。** 件数だけ見ていると「1回目も2回目も 426 行」なので、冪等に見えてしまうんですよね。実際そう見えていました。 ### 2. 何も言わないのに 1/3 しか取れない `Get Apps` アクションは、**既定だと 98 件しか返しません**。ドキュメント上の既定値は 250 なのに、実測は 98 でした。 しかも**エラーは一切出ません**。ページングの設定を付け忘れると、静かに 1/3 だけ収集して成功します。これは怖い。設定を入れたら 251 件が返るようになりました。 ### 3. 調査レポートを、実測がひっくり返した これは AI との付き合い方として面白かった話です。 事前の調査レポートには「フローの所有者は `creator` から取れる」と書いてありました。ところが実際にデータを取って数えてみると、返ってきた 71 本が**きれいに2群に割れていた**のです。 | | 件数 | creator | owningUser | |---|---|---|---| | ソリューションフロー | 51 | **null** | あり | | 非ソリューション(マイフロー) | 20 | あり | **null** | つまり所有者のフィールドが**フローの種別で排他**になっている。レポートどおりに実装していたら、資産の主力であるソリューションフロー 51 本すべてで、所有者が空欄になっていました。 **調査は当たりを付けるためのもので、正解は実測でしか確定しない。** ここは AI の調査結果でも、人間の記憶でも同じですね。 ### 4. 部品が丸ごと消える(キャンバスアプリ編) 最後にキャンバスアプリ側でも一つ。展示写真をアップロードする画面を作ったのですが、**添付ファイルの UI が画面に丸ごと出てきませんでした。** 原因は、フォームの幅でした。既定の 292px がデータカードの最小幅を下回っていて、**カードごと描画されていなかった**のです。320px に広げたら普通に出ました。エラーも警告も出ないので、これも気づきにくいタイプです。 ## 結局、人間は何をしたのか 丸投げした結果、私がやったことを並べてみます。 1. 最初に「こういうものが作りたい」と言った 2. 「自分の所有分しか取れないなら、いっそ博物館にしよう」と方針を決めた 3. 3問の質問に (Recommended) で答えた 4. ブラウザを開いて接続の同意を押した(HaaS) 5. 空のキャンバスアプリを作って共同編集をオンにした(HaaS) 6. できたものを実機で触って「写真も飾りたい」と言った **コンセプトの裁定と、手足。** それだけです。コネクタの仕様調査も、フローの実装も、重複バグの切り分けも、私は横で見ていただけでした。 逆に言えば、この6つは**AI には決められない・できない**ということでもあります。特に2番の「制約をコンセプトに反転させる」は、私が一番楽しかったところでした。ここを AI に譲ってしまうと、たぶん面白くない管理台帳ができあがっていたと思います。 この「判断と手足だけ担当する」進め方は、Power Platform に限りません。CAD を一度も触らずに3Dモデリングしているときも、やっていることはほぼ同じでした。 /claude-code-3d-modeling-method/ ## まとめ - Power Automate の標準コネクタだけで、自分の Power Apps・Power Automate は収集できる(**Premium も管理者権限も不要**) - ただし取れるのは**自分の所有・共有分だけ**。そこは制約として受け入れて、コンセプトごと寄せてしまうのが早い - Claude Code に丸投げすると、**調査 → 裁定の依頼 → 実装 → 検証**まで走る。人間の仕事は「判断」と「手足」に寄っていく - とはいえ転ぶときは派手に転ぶ。**件数だけ見て安心しない**(重複はキーのユニーク数で数える) 自分の作ったものが博物館に並んでいるのを眺めるのは、想像よりずっと良かったです。262 件も作っていたのかと、素直に驚きました。皆さんもぜひ、自分の環境を棚卸ししてみてはいかがでしょうか。(数を見て「これ全部メンテするのか」と青ざめる可能性はあります) --- # 【3Dプリンター】CADを一度も触らずに、Claude Code だけで3Dモデリングしてみている話(手法編) - 公開日: 2026-07-26 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/claude-code-3d-modeling-method/ - サイト: 改善紀 — 好奇心の赴くままに。 --- 3Dプリンタを買ったら、まず何から覚えないといけないと思いますか。原理原則をちゃんと理解したい気持ちがあるので、「Blender とかちゃんと覚えるところからだな」と思っていました。ところが買ってからひと月あまり、**私はいまだにCADのGUIを一度も操作していません**。Blender も自分の手では触っていない。それでも設計は増え続けていて、手元には30本ちょっとの作品フォルダがあります。 やっていることは単純で、**Claude Code と日本語で会話して、寸法をコードで書いてもらい、STLを出して、Bambu Lab A1 で刷る**。それだけです。今回はその「だけ」の中身を書き出した手法編で、作ったモノの紹介は次回に回します。 ![設計したSTLモデルがぐるぐる回っているプレビュー](https://flow-with-tech.com/media/posts/claude-code-3d-modeling-method/eyecatch-stl-turntable.gif) ## この記事を読んでわかること - マウスでモデリングせず「形をコードで書く」(コードCAD=OpenSCAD)とはどういう作業になるのか - 印刷ボタンを押す前に一応、干渉・構造・断面の3つのチェック - この手法でできること/できないこと(シミュレーション路線から撤退した話も含めて正直に) ## そもそも「形をコードで書く」ってどういうこと? 使っているのは **OpenSCAD** というコードCADです。画面に立体をドラッグして作るのではなく、「幅はこれ、高さはこれ、ここを丸く抜く」とテキストで書くと、その通りの立体が出てくる。プログラマ向けのCADと言われがちですが、私にとっての価値は別のところにありました。 **寸法が全部「変数」になる**ことです。 たとえば壁と壁のあいだに突っ張らせるカバンフックを作ったとき、`.scad` の冒頭にはこう書いてあります。 ``` gap = 292; // 壁間実測 ``` この `292` が設計全体を貫いていて、梁の長さも、くさびの沈み込み量も、パッドの位置も、全部この変数からの式で決まっています。つまり**壁の間隔が変わったら、この1行を書き換えて再生成するだけで新しい設計が出てくる**。GUIで作ったモデルだと、寸法をひとつ変えるたびに関係箇所を手で追い直すことになります。ここが決定的に違いました。 そして「テキストである」という性質が、そのまま Claude Code と相性がいい。私がやっているのは、日本語で要望を言う(「幅292mm の隙間にカバンを引っ掛けるやつ作りたい」)、出てきた形にダメ出しをする(「この棒、いらなくない?」)——この3つだけ。`.scad` を書くのは Claude Code の仕事で、私はエディタで直接いじっていません。**CAD操作を覚えるより、日本語で寸法の意図を説明するほうが圧倒的に速かった**、というのが正直なところです。 > スループットを最大化するにはどうすればいいのか。ちゃんと操作を覚えてモデリングして、検証をしてから印刷するのがいいのか。それとも大体OKなら印刷して、実物を見て修正指示すればいいのか。今のところ、ほぼ後者でやってます。 https://flow-with-tech.com/claude-code-local-llm-ocr-diary/ ## 母艦をひとつ作った 毎回ゼロから会話していては再現性がないので、`model-forge` という母艦フォルダに全部集約しています。ルールは **1プロダクト=1フォルダ**。 ``` designs/<作品名>/ ├── src/ ← design.scad(形はぜんぶ変数の式)と render.sh ├── data/output/ │ ├── print/ ← 刷るSTLだけ │ └── inspect/ ← 検品PNG・構造チェックの結果 └── KNOWLEDGE.md ← ハマったこと・次の自分への手紙 ``` 各フォルダで `./src/render.sh` を叩くと、**部品ごとのSTL・検品用PNG・構造チェックの結果が一発で全部そろう**。中身は数十行のシェルスクリプトですが、**「1コマンドで全部そろう」を守ると、設計変更のたびに検証をサボらなくなる**らしい。出力先を `print/` と `inspect/` に分けているのも同じ理由で、`print/` の中身がそのまま「刷るべきファイルの一覧」になる。中間ファイルを混ぜると、「どれ刷るんだっけ」となって平気で古いSTLを刷ります。私はやりました。 > Claude Code に「人間が印刷ミスするからわかりやすくしてくれ」と頼みました。 ## 印刷前チェック3点セット 3Dプリントは**1回の印刷に数時間かかる**ので、失敗するとその晩がまるごと溶けます。だから刷る前に潰せるものは潰したい。ただし先に断っておくと、**これらは「印刷前に1敗ぶん減らす」道具であって、実機検証の代わりには絶対になりません**。ここを勘違いすると、紙の上でだけ完璧なものが出来上がります。 ### ① 干渉体積チェック — 目で見る前に、測る 部品が2つ以上噛み合う「組み物」でいちばん効いているのがこれです。OpenSCAD の `intersection()` は「AとBの重なった部分だけ」を取り出す機能で、 ``` intersection(){ base(); body(); } ``` これを実行して重なりが空なら、OpenSCAD は「オブジェクトが空です」と言ってエラー終了します。**このエラー終了がそのまま「干渉なし=合格」の判定になる**。実体が出てきたら体積を測って、何mm³食い込んでいるかを見ます。読み方にはコツがあって、間違えると誤診します。 | 出た結果 | 意味 | |---|---| | 空(エラー終了) | 干渉なし。合格 | | 体積 0.0mm³ | 面同士がぴったり接触=「正しく座っている」証拠 | | 薄い筒状 | 圧入代(きつめに押し込む前提の食い込み)。設計どおりなら正常 | | 太い実体を貫いている | これが本物の干渉。アウト | なぜ目視ではダメなのか。**人間の目は「内部が埋まっている」を見抜けない**からです。外形は正しいので、検品PNGを何枚撮っても素通りする。実際、本体内部が中実の塊になって通路が消えていたバグを目視で見逃して1敗しました。測っていれば異常な体積が出て一発で分かったはずのものです。 もうひとつ、**回る部品は静止した形ではなく「回したときに通る空間」で測る**。これは実機での手痛い1敗から学びました。机の脇に付けるホルダーの締め付けノブが、組み立てたら**本体に当たって回らず、ノブを切断してようやく入った**んです。設計時は静止姿勢の干渉しか見ていなかった。あとから回転体で測り直したら、**一周する間に823mm³ぶん本体を貫いていました**。いまは**動く部品は「動きの掃引体」で測る**(回転なら回転体、直動なら押し出した体)をルールにして、チェック項目に常設しています。 > 印刷してから気づいたので、干渉部分は切断しました。その際に親指を怪我しました。使う道具もちゃんと揃えていきたい。 これが干渉したやつです。デスクとの圧着ネジは回りませんでした。 ![干渉して回らなかった締め付けノブ。切断してようやく組み付けた実物](https://flow-with-tech.com/media/posts/claude-code-3d-modeling-method/knob-interference.png) ### ② 構造チェック — 折れないか、倒れないかを式で概算する `structural.py` という自作スクリプトで、曲げ・たわみ・転倒・座屈をざっくり計算します。FEM(本格的な有限要素解析)ではなく、古典的な公式で「桁が合っているか」だけを即答させる道具です。材料値は PLA なら弾性率3.5GPa・降伏応力50MPaあたりを保守側に丸めた代表値で、**フィラメントを積む方式ならではの「層と層のあいだが弱い」異方性は係数0.5で丸めています**。正直な近似です。安全率(SF=余裕の倍率。1.0を切ると計算上アウト)は常用品で2.0を基準にしています。 > 色々やってくれているんですね。 ### ③ 断面検品 — 最後は人間が目で見る 3つ目は `inspect.html` という依存ゼロの単一HTMLです。ダブルクリックでブラウザに開いてSTLをドロップすると表示され、**X/Y/Z の断面スライダーで内部が覗けて、切断面は朱色**に塗られます。肉厚、意図しない空洞、部品同士がくっついていないか。複数STLを重ねて組み立てを見ることもでき、掛かり代(噛み合いの深さ)を詰めるときは位置をmmで直接入力するほうが速いので、そういう地味な機能を後から足しました。 気に入っているのが**注釈ピン**で、気になった箇所をクリックしてメモを書き「指示書コピー」を押すと、モデル名・座標・断面の状態・メモが Markdown で丸ごとコピーされます。**それを Claude Code に貼れば「どこの話か」が一意に伝わる**。「下のほうにある出っ張りなんだけど」と説明する不毛が消えました。ここは意図的に自動化していません。**最後は人間が見る**という線を残してあります。 これが実際に使っている様子。プロテインを1回で掬えるやつを作る時の修正指示が1発で通って嬉しい。 ![inspect.html でSTLに注釈ピンを打って修正指示を書いている画面](https://flow-with-tech.com/media/posts/claude-code-3d-modeling-method/inspect-annotation.jpg) ## 印刷ボタンを押す前に、原寸で机に置いてみる **画面の中では大きさの実感がまったく湧かない**んですよね。数字では分かっているのに、刷り上がってから「思ってたよりデカい」となる。そこで STL を USDZ 形式に変換して iPhone に送り、**AR で机の上に原寸表示**しています。自作アプリは不要で、iPhone標準のARクイックルック(USDZ をタップして「AR」を押すと床を認識して実寸で置いてくれる機能)がまさにそれなので、やることは変換だけです。 唯一にして最大の落とし穴が**単位**でした。STLは無単位で「1=1mm」の慣習、USDZ は「1=1m」。**0.001を掛け忘れると、30mmの部品が30mで出てきます**。いまは変換スクリプトが必ず0.001を掛けて、実寸を `243.2×130.0×158.0mm` のようにターミナルへ表示するようにしました。 思ったよりでかい! を防ぐために使っています。これがプレビューした状態です。 ![iPhone のARクイックルックで、印刷前のモデルを机に原寸表示したところ](https://flow-with-tech.com/media/posts/claude-code-3d-modeling-method/ar-preview.jpg) 印刷するとこうなるので、ほぼAR でプレビューした通りですね。 ![実際に印刷して机に置いた完成品。ARプレビューとほぼ同じ収まり](https://flow-with-tech.com/media/posts/claude-code-3d-modeling-method/printed-result.jpg) ## 負けたら、次の設計の制約にする ここまで書いておいてなんですが、**それでも実機では普通に負けます**。だから負けたら各フォルダの `KNOWLEDGE.md` に敗因を書いて、次の設計の制約として効かせています。代表的なのはこのあたり。 - **長いブリッジは、設定でごまかさず設計で殺す**。ブリッジ=下に支えのない空中を橋渡しで刷る部分のことで、長すぎると垂れます。錠剤ディスペンサーで天井が崩れて1敗して以来、「長いブリッジが出たら部品を分割するか、機能を別の部品に移す」が鉄則になりました。 - **逆さ向きに印刷する部品には、上を向いた枝を作れない**。逆さ姿勢では「使用時に下がる形」しか刷れず、上向きの爪やリップは空中の島になって失敗します。判定は「全部の枝が印刷方向に対して単調に登るか」。 - **実測値は部位ごとに補正して持ち込む**。収縮は「大物の反り」と「機械的なオフセット」で性格が違うので、ひとつの補正値で全部を殴ると必ずどこかが合いません。 **負けが資産に変わる仕組みだけは作っておいてよかった**と思っています。 ## 撤退した話も、正直に 全部うまくいったわけではありません。一度、**Blender を画面なし(ヘッドレス)で動かして印刷前に剛体シミュレーションを回すパイプライン**を作りました。錠剤を仮想空間で落として詰まる回数を数えるやつで、当時はけっこう本気で作り込みました。 でも**2026年7月に廃止しました**。物理エンジンの結果は絶対値としては信用できず、構成Aと構成Bの相対比較としてしか使えない。そのわりに時間がかかり、解釈にも神経を使う。**「刷って手で引いてみる」ほうが速くて確実**という、身もふたもない結論になりました。いまのパイプラインは「設計 → 干渉体積 → 構造チェック → 断面の目視 → 刷る」。1段抜けたぶん素直で速くなっています。**作った道具を捨てるのはこたえましたが、動かない段を残すほうが害が大きい**と判断しました。 なお「Claude Code だけ」と書きましたが例外もひとつ。猫のフィギュアのような**有機的な形は OpenSCAD だと「風船で作った動物」感が抜けず**、そこだけ Blender をスクリプト経由で動かして作り直しました。手でこねてはいませんが、コードCADの外に出た唯一の例です。角ばったものと数式で書けるものはコードCADが速く、生き物はそうでもない、というのが今のところの実感です。 > 使ってみていたのですが、Claude Code のモデリングが一生終わらない状態になったので、「何してんの。やめて。」と。 ## まとめ CADのGUIを覚えないまま、日本語での対話と、変数まみれの `.scad` と、印刷前チェック3点セットで、いまのところ回っています。突っ張りカバンフックとプロテインスプーンは実際に刷って日常で使っていて、これは素直に嬉しい。一方で**印刷検証待ちのまま積んである設計もかなりの数あります**(構造チェックはPASSしているのに、フィラメントと時間が足りていない)。刷っていないものを「完成」と呼ばないようにだけは気をつけています。 この手法のいちばんの効用は、たぶん**設計の意思決定が全部テキストとして残ること**です。なぜこの寸法にしたのか、なぜこの形を却下したのかが、変数名とコメントと `KNOWLEDGE.md` に残る。 次回はこの母艦から生まれたモノを何点か紹介する予定です。「置くとKindleを抱きしめるスタンド」とか「坂に置くと歩くカラーコーン」とか、そういう実用性の怪しいものが並びます。……こうして書くと、道具立ては真面目なのに作っているものがふざけている気がしてきました。まあ、そこは次回の言い訳とさせてください。 https://flow-with-tech.com/claude-lab-top10-award/ https://flow-with-tech.com/claude-code-credit-log/ 作ったものの製作記や失敗談は X([@kama_bizdev](https://twitter.com/kama_bizdev))でも発信しています。よかったら覗いてみてください。#FWTan2 > 🗣 3Dモデリングを習得するか、このままClaude Code 縛りでやるか悩みます。でもClaude Code 縛りで行っちゃった方が面白い気がしています笑 --- # 【AI従量課金時代】「このタスク、いくらだった?」に答えられないので、Claude Code に自分の消費を測らせて台帳に記録させた - 公開日: 2026-07-25 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/claude-code-credit-log/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![「このタスク、いくらだった?」に答えられる台帳をつくる — ①自分のログを読む ②公開レートを掛ける ③Notion台帳に1行](https://flow-with-tech.com/media/posts/claude-code-credit-log/eyecatch.png) ## この記事を読んでわかること - AI コーディングエージェントの「1セッションあたりの消費」を自分で計測する方法(Claude Code の場合) - 実測15セッションぶんの生データ(合計・平均・内訳)と、そこから見えたコストの支配項 - 「測る仕組み」自体がバグっていて、半分しか測れていなかった話 --- ## 「今月いくら」は分かるのに「このタスクいくら」が分からない AI コーディングエージェントが従量課金の時代に入りました。使えば使うほどお金がかかる。それ自体は当然の話で、文句はありません。 困るのは**粒度**です。 管理画面を見れば「今月の使用量」は分かります。でも私が知りたいのはそこではなくて、 > 「この作業って何円だったんだろう?」 なんですよね。これが分からないと、次に似たタスクをやるときの**見積もりが立てられない**。「Code Apps のゲームを1本作る」のが3,000円なのか30,000円なのかで、やるかやらないかの判断は変わります。感覚で「けっこう使った気がする」と言っているうちは、判断材料になりません。人間の感覚ほど当てにならないものはないです。 というわけで、**セッションが終わったら Claude Code 自身に「今回いくら使った?」を調べさせて、台帳に記録させる**仕組みを作りました。 > 仕組み作りもClaude Code でやってます・・ --- ## 仕組み: 3ステップだけ ### ① Claude Code のトランスクリプトを読む Claude Code は会話のログを `~/.claude/projects/` の下に JSONL で残しています。この中に**各リクエストの実トークン数**(入力・出力・キャッシュ書込・キャッシュ読出)が全部入っています。 つまり計測に外部 API は要りません。ローカルのログを集計するだけです。Python スクリプト1本(400行弱)を書いて、`--json` を付けると集計結果が返ってくるようにしました。 ### ② 公開レート × 実トークンで推定コストを出す スクリプトの先頭にモデルごとの公開単価表を持たせて、トークン数と掛け算します。 ここは**正直に「推定」と呼んでいます**。請求額そのものではありません。定額プランで使っていれば、実際の請求はこの数字と関係なく一定です。それでも意味があるのは、**「このタスクにどれだけ食わせたか」の比較指標**としては完全に成立するからです。3,000円相当のタスクと30,000円相当のタスクの差は、間違いなく実在します。 そして重要なのは、**トークン数は不変量、円は変数**だということ。だから台帳には円だけでなく**生のトークン数を必ず保存**しています。単価が改定されても、為替が動いても、トークンの実測値さえ残っていればいつでも計算し直せる。逆にこれを保存し忘れると、過去のデータが二度と再計算できないゴミになります(後述しますが、Claude Code はここで一度やらかしています)。 ### ③ Notion の台帳に記録する(人間には、機械に分からないことだけ聞く) 集計できたら、そのまま Notion のデータベースに1行として書き込みます。 ここの設計で気をつけたのは、**AI が自分で分かることを人間に聞かない**ということ。作業内容も、カテゴリも、成果物のパスも、達成度も、その会話をやっていた本人(AI)が一番よく知っています。聞く必要がない。 > 自分でやったことぐらい、自分で記録しろよ。 > という方針です。 なので質問は**1ラウンド・最大3問**に絞りました。 | 聞くこと | 理由 | |---|---| | カテゴリと規模はこれでいい? | AI の自己申告が甘くなりがちなので人間が最終確認 | | **これ、自分でやったら何分かかった想定?** | ここだけは人間にしか答えられない | | プロジェクトはどれ? | 台帳の串刺し用 | 2つ目が本丸です。**「人力想定時間」は AI には絶対に分からない**。私が同じものを手で作ったら何時間かかるか、を知っているのは私だけです。これに時間単価を掛けると人力換算の金額が出て、AI コストと並べれば ROI になります。 > 「自己申告なんて当てになるの?」と思われるかもしれませんが、じゃあ何を当てにするの? > 数値化しようとすると、何もしようとしない人に突っ込まれますが無視します。 > 完璧よりもASAP(As Soon As Possible )という方針ですね。 なお為替レートと時間単価は**登録時のスナップショットとして各行に焼き込んで**います。ライブ為替は取りに行きません(外部通信ゼロ)。こうしておくと、**あとからレートを変えても過去の記録が動かない**。過去の数字が勝手に書き換わる台帳は、台帳として信用できないので。 --- ## 実測データ: 15セッションで約15万円ぶん ここからが本題です。実際に記録が溜まったので、中身を晒します。 トークン計測ありの**15セッション**(2026年7月・Claude Code のみ)の合計がこちら。 | 項目 | 実測値 | |---|---| | 推定コスト合計 | **$934.05**(約 **¥152,600**) | | 1セッション平均 | 約 **¥10,200** | | 最小 | ¥1,587(12分・Notion への画像添付作業) | | 最大 | ¥20,769(539分・ゲーム1本を企画からv3まで) | | 出力トークン合計 | 約 **256万** | | キャッシュ書込トークン合計 | 約 **3,530万** | | キャッシュ読出トークン合計 | 約 **7億8,840万** | | 素の入力トークン合計 | 約 **1万9,000** | ![Notion のデータベース「DB_クレジット消費ログ」。1セッション=1行で、ROI倍率・カテゴリ・ツール・プロジェクト・モデルなどの列が並んでいる](https://flow-with-tech.com/media/posts/claude-code-credit-log/notion-ledger.jpg) *これが実物の台帳です。1セッション=1行。金額とトークンの列はぼかしていますが、右の「ROI倍率」だけ出しています(26.6倍とか5.2倍とか)。* ### 分かったこと: コストの支配項は「書いた量」ではなく「往復の数」 つまりこういうことです。私が実際にタイプした指示や、AI が書いたコードの量なんて、**コスト全体から見れば誤差**でしかない。 支配しているのは**キャッシュ読出**、すなわち「会話の履歴を毎ターン読み直す量」です。ターンを重ねるほど履歴は長くなり、その長い履歴を毎回読み直すので、コストは**往復回数にほぼ比例して雪だるま式に増える**。 これは見積もりの立て方を根本から変えます。 - ❌ 「このアプリは2,000行くらいだから高い」 - ⭕ 「この作業は**何往復かかりそうか**」 実際、台帳の申し送り欄にも同じ結論が繰り返し書かれていました。往復を減らす手はハッキリしていて、**着手前に仕様と前提を書き切る**こと。曖昧なまま走り出して「そうじゃなくて」を5回やるのが、一番高くつきます。 ### ROI: 人力換算と並べてみる 「自分でやったら何分?」を答えた9セッションだけを抜き出して、時間単価6,000円で人力換算するとこうなりました。 | | 金額 | |---|---| | 人力でやった場合(想定) | **¥1,437,000** | | 実際の AI コスト | **¥93,569** | | 差 | 約 **15.4倍** | もちろんこの分子(人力想定時間)は**私の自己申告**なので、厳密な数字ではありません。「自分でやったら80時間」と見積もったゲーム開発が、本当に80時間で終わったかは誰にも分からない。そもそもTypeScript 書けないから実装することすらできない。 ちなみに「Claude Code と実際どう作業しているのか」は、以前ひとつのアプリを題材に、工程ごとの所要時間つきで書いています。人力想定分を見積もるときの感覚は、だいたいこのへんから来ています。 /claude-code-power-apps-development/ それでも、自己申告を書いて、ROIをしつこく追いかけてみることで、「高いから使うのやめよう」ではなく「やる価値があるかどうか」「やった結果どれだけの利益を生むのか」「投資対効果はどれぐらいでそうなのか」という判断のための材料を作ることができ始めました。 --- ## いちばんの学び: 「測る仕組み」がバグっていた さて、ここまで書いておいて何ですが、**この台帳、途中まで半分しか測れていませんでした**。 私は最近、Fable に統括を頼み、タスクはサブエージェント(別のAIに実装を委任する仕組み)に投げる進め方をよくやります。統率役の Fable が仕様を固めて、実装は別のエージェントに丸ごと任せる、という分担です。 で、**そのサブエージェントの会話ログは、親のログとは別ファイルに書かれていた**んですね。私の集計スクリプトは親のログしか読んでいなかった。つまり**実装作業のコストが丸ごと計上外**になっていました。 修正して再集計したら、既存11件の合計が **$396 → $798**。**きっちり2倍**でした。 「直さんかい」と修正指示したので、もう大丈夫になりました(たぶん) --- ## おまけ: 実は最初、専用アプリを作っていました この台帳、最初は Power Apps(Code Apps)+ Dataverse で専用アプリとして作っていました。ダッシュボードも見積もり画面も作り込んで、それなりに良い出来でした。 でも**Notion に引っ越しました**。 個人のDBとして他のデータとの連携も考えた結果です。あとは、Claude Code に書き込ませるので、入力画面が必要ない。つまり、アプリである必要がないと判断したためです。 作ったものを畳む判断は毎回ちょっと寂しいんですが、**「これはデモとして完成、蓄積の本籍は別」**と切り分けられたのは、我ながら良い判断でした。 > 組織で使うならCode Apps ×Dataverse でも良いかもしれないですね。 「このデータをどこに置いておくか」は、前にも一度まじめに考えていました。こちらはクラウドから毎晩手元へ写しを取る話です。 /dataverse-nightly-backup/ ![凍結した Power Apps 版「クレ帳」の台帳画面。実施日・タイトル・ツール・規模・AIコスト・人力換算が一覧になっている](https://flow-with-tech.com/media/posts/claude-code-credit-log/powerapps-ledger.png) *凍結した Power Apps 版。作り込んだぶん、見た目はこっちのほうが好きです(件数と合計が本文の数字より多いのは、デモ用のシードデータが混ざっているためです)。* --- ## まとめ - AI 従量課金時代に効いてくるのは、**「使った量を測れる側に回る」**こと - 計測は**トークン(不変量)で保存**する。円は単価と為替で後から何度でも計算し直せる - コストの支配項は**書いた量ではなく往復回数**。見積もりは行数でなく往復数で立てる - **AI に自分の消費を自分で報告させる**と、記録のコストがほぼゼロになる。人間が答えるのは「自分でやったら何分か」だけでいい 「AI にいくら使ったか分からない」という状態は、思考停止としてはとても居心地がいいんですが、判断が全部“感覚”になります。とりあえず測り始めると、意外と怖くなくなります。 皆さんもぜひ、自分の消費を測ってみてはいかがでしょうか。 (なお、この記事を書いているセッションのコストも当然この台帳に記録されます。「クレジット消費ログの記事を書いた」という行が積まれていくの、なかなかシュールでいいですね。測ることを測ることを測る、みたいなことにならないよう気をつけます。) --- # 【connecting the dots】趣味で探求してた「ネットワーク科学」が、Code Apps で回収された話 - 公開日: 2026-07-09 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/network-science-connecting-the-dots/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - 個人的に探求していたテーマが、まったく別の実務ツールの中で**思いがけず"回収"される**瞬間の快感 - 普通の「プロジェクト管理アプリ」に**六次の隔たり(Six Degrees of Separation)**を入れると何が起きるか - 「繋がりがありません」で終わらせない――**無いなら作る**という建設現場的な発想 --- 今回いちばん伝えたいのは技術の話ではありません。**「昔から気になって勝手に勉強してたことが、思ってもみなかった場所で中とハマる」という体験が、なんか良かった**、という話です。 ## 4月からの寄り道が、7月に回収された 今年の春先、私はなぜか「ネットワーク科学」にハマっていました。イノベーションが人から人へどう伝播するかのエージェントシミュレーション、意見の集約アルゴリズム(Polis)、そして有名な**「六次の隔たり」**――世界中の誰とでも、知人を6人たどれば繋がれるってやつです。 これは社内のイノベーションの伝播予測、そして非効率ないろんな施策をええ感じにするのに使えるんじゃないかと思いました。 それが7月、**「部署と組む仕事=プロジェクトを管理するアプリを作りたい」**という、まったく別の、これまた個人的な取り組みの中で偶然につながりました。 https://twitter.com/kama_bizdev/status/2074839798423204097?s=20 ## 「プロジェクト管理アプリ」を作っていたはずが 作っていたのは、真っ当な業務アプリです。Power Apps(Code Apps)で、 - どのプロジェクトが、どの部署と組んで動いているか - 主担当・副担当・先方担当・先方責任者・コンサルを、社内ユーザー検索から役割の枠へドラッグ&ドロップで配置(体制図) - 何が起きたか(インシデント、対応、出来事)をMarkdownのタイムラインで蓄積 - チームリーダーが「今どこがヤバいか」を一目で見るダッシュボード この辺までは、よくある「ちゃんとした管理ツール」です。(てかなんで既に使ってなかったんだろ) ![](https://flow-with-tech.com/media/wp/2026/07/260708_こんなUXがええんだ.gif) ここに私は、**部署と部署、人と人の"つながり"を可視化するネットワーク図**を足したくなった。「同じプロジェクトに入った人同士は繋がる。何度も一緒にやってる人は、線が太くなる」。ここまでは、まあ、可視化として自然です。 問題は、そのネットワーク図を眺めていたときにふと降ってきた発想でした。 **「これ、六次の隔たりできるじゃん」** ## プロジェクト管理アプリに六次の隔たりを入れる人、おる? たぶん、いません。少なくとも私は見たことがない。(入れる意味があるかは不明) でも、社内の人間関係って、まさにこれなんですよ。「あの人に相談したいことがあるんだけど、直接の面識はない」。そんなとき、**自分から相手まで、誰を経由すれば繋がれるのか**が分かったら――しかも「実は昔あのプロジェクトで一緒だったベテランのおじさんが、その人と繋がってる」みたいなルートが見えたら――「じゃあ、あのおじさんに間に入ってもらおう」という社内のネットワークが生まれる。 これは、私が春に勉強していた「六次の隔たり」そのものです。 というわけで、実装しました。ネットワーク画面で「起点=自分」「目標=繋がりたい人」を選ぶ(図の人をクリックでもいい)と、**最短ルートが朱色で浮かび上がる**。「あなた →(顧客満足度調査で一緒だった)→ 小林さん →(別の案件で一緒だった)→ 佐々木さん」。そして**「まず小林さんに『佐々木さんに繋いでほしい』と相談」**という次の一手まで出す。中身は、グラフの最短経路探索(BFS)です。春にノートで描いていたやつが、そのままアプリの機能になりました。 > 全て架空のデータです。 ![](https://flow-with-tech.com/media/wp/2026/07/CleanShot-2026-07-09-at-19.02.33@2x.png) ## 「繋がりがありません」で終わらせたくなかった ここで、もうひとつ大事にしたことがあります。 最初、繋がっていない相手を選ぶと「繋がっていません」とだけ出るようにしていました(Claude Code が)。でも、それを見て違和感がありました。**それって学校の発想だな**、と。「繋がりがありません、どうすればいいですか?」「じゃあこうしましょう」――誰かが答えを持っていて、教えてくれる。 社会はそうじゃない。**無いなら、作る**んですよ。直接アポを取れば、その瞬間に繋がりは生まれる。そうやって道を作ってきた先人たちの恩恵で、私たちは今の便利な世界に生きている。 > 道がないなら作ればいいし。タイヤがハマるならごにじゅうの鉄板を敷けばいい。電気がないなら分電盤設置して、キャプタイヤに行き先表示つけつつ、電気使えばいい。ただそれだけです。 だから、繋がっていないときの表示をこう変えました。 > ✨ NEW CONNECTION > 〈相手〉さんへの道は、まだありません。 > でも繋がりは、待つものじゃなく、作るもの。直接アポを取れば、あなたが最初の橋になります。 > **【5】人ぶんの新しい世界が拓ける** > 道がないなら、作ればいいじゃないか。 そして図の上には、**自分から相手まで「これから作る道」を点々(破線)で引く**。相手の向こう側にある、まだ繋がっていない集団が朱金色で浮かび上がる。「ここに橋を架ければ、この世界が全部あなたのものになる」というのが、目で見える。 「できない、できない」で止まっていたら、何も始まらないし、進まないし、終わらない。作る側に回る。それを、アプリの一機能として演出にしてみたかった。 ![](https://flow-with-tech.com/media/wp/2026/07/CleanShot-2026-07-09-at-19.02.53@2x.png) ## 点と点は、いつか繋がる スティーブ・ジョブズのスタンフォードのスピーチに、「点と点はいつか繋がる(connecting the dots)」という有名なくだりがあります。今この瞬間、点と点が繋がるとは分からない。でも将来を振り返ったときに、確かに繋がっていたと分かる。だから、今やっていることを信じるしかない――という話。 まさに今回がそれでした。4月に「なんか面白いな」で寄り道した点(ネットワーク科学)と、7月に「業務アプリを作ろう」で打った点(プロジェクト管理)が、思ってもみなかった角度でカチッと繋がった。狙って繋げたわけじゃない。**興味を持ったことに、ただ真っ直ぐ突っ込んでいったら、勝手に繋がった。** めっちゃおもろい。誰かに言われたことをするよりも、自分の好奇心や興味のままに。 「役に立つかどうか」を先に考えていたら、たぶん春にネットワーク科学なんて勉強していません。でも、そういう"回収されるか分からない寄り道"こそが、いつか一番おもしろい形で返ってくる。だから私は、これからも気になったものには寄り道し続けようと思います。 今回の私のつながりもネットワーク科学なのかもしれません。 ## まとめ - 個人的な探求(ネットワーク科学)は、狙っていなかった実務ツール(プロジェクト管理アプリ)の中で回収された。**connecting the dots は、後から振り返って気づくもの** - 六次の隔たり=グラフの最短経路探索を業務アプリに入れると、「あの人に繋いでもらう」という社内ネットワークが動き出す。 > 🗣 実関わったことがあるけど、犬猿の仲なリンクもたくさんあると思います。 > > そこは繋がっているように見えても、大量の地雷が埋まっています。 > > 現実はそんなもんだと思います。それも人間らしくて良いですね。 --- # 【Dataverse】消えたら困るデータを、毎晩かってにバックアップさせる仕組みを作った話 - 公開日: 2026-07-05 - カテゴリ: Dataverse・Automate・BI - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/dataverse-nightly-backup/ - サイト: 改善紀 — 好奇心の赴くままに。 --- 突然ですが、皆さんは自分の大切なデータ、**「これ消えたらどうしよう」**と思ったことはありませんか? 私はあります。 私は「週次らせん」という自作のアプリで、毎週の目標や振り返りを記録しています。データは Microsoft の Dataverse に貯めています。アプリケーションをCode Apps で開発して使っているからです。 クラウドに保存できるのはいいのですが、一応ローカルにも保存しておきたい。そしてClude Code からデータを参照して、壁打ち相手にもなってほしい。 そこで今回、この Dataverse のデータを**毎晩かってに手元とクラウドにバックアップしてくれる仕組み**を、Claude Code と一緒に作りました。この記事はその記録です。 ## この記事を読んでわかること - クラウド(Dataverse)にしかないデータを、毎晩自動でローカルに退避する考え方 - バックアップを「難しくしない」ための、ちょっとしたコツ3つ - 「開発するパソコン」と「ずっと動かしっぱなしのパソコン」の役割分担のしかた ![](https://flow-with-tech.com/media/wp/2026/07/CleanShot-2026-07-05-at-13.38.40@2x.png) https://twitter.com/kama_bizdev/status/2063065721450721428 ## そもそもバックアップって、何をどうすればいいの? 正直に告白します。最初、私は**「バックアップ = とりあえずデータをコピーしておくこと」**くらいのフワッとした理解しかありませんでした。 でも Claude Code と話しながら整理していくと、やることは意外とシンプルで、要するにこの3つでした。 1. Dataverse から中身を**読み出して**、 2. 自分のパソコンの中に**ファイルとして保存して**、 3. ついでに**Google Drive にも置いておく**(クラウドが2箇所になって安心) これを毎晩、私が寝ている間に自動でやってくれれば、最悪 Dataverse が消えても手元に写しが残る。そういう「保険」です。 言葉にすると簡単ですが、実際に作ると「あれ、これどうするんだ?」というポイントがいくつも出てきました。その中で**「これは他の人にも役立つな」と思った工夫を3つ**紹介します。 ## 作ったものの全体像 先に完成形の絵を出しておきます。こんな感じです。 ![](https://flow-with-tech.com/media/wp/2026/07/CleanShot-2026-07-05-at-12.15.14@2x.png) やっていることは「倉庫から中身を持ってきて、手元とクラウドの2箇所に写しを置く」だけ。魔法はありません。ここからは、この中に隠れている**3つの工夫**を順番に見ていきます。 ## 工夫①:写しは「今の状態」と「毎日の写真」の2枚撮る 最初、私は素朴に「データを1個コピーすればいいでしょ」と思っていました。でもここに落とし穴がありました。 週次らせんの「今週」のデータは、**月曜に目標を書いて、水曜に途中経過を足して、日曜に振り返りを書く**、という感じで**1週間かけて同じ場所を上書きしながら育てていく**んですね。 つまり、単純に「今のコピー」を1個だけ取ると、**「月曜の時点で何を書いていたか」が永遠に分からなくなる**。上書きされて消えているからです。 そこで、写しを2種類撮ることにしました。 - **① 今の状態**(`SQLite` というデータベースファイル1個。毎回まるごと最新に置き換え) - **② 毎日の写真**(`2026-07-05.json` のように、日付をつけて毎日1枚ずつ貯めていく) ②のおかげで、後から「あー、水曜まで手つかずだったな…」みたいな**自分の1週間の変化**が見えるようになりました。これが日曜の振り返りのときに地味に効きます。 > **上書きされていくデータは、「今のコピー」だけだと歴史が死ぬ。日付つきの写真も撮っておくと、後から効いてくる。** これ、Dataverse に限らず、日記アプリでも家計簿でも、**「同じ欄を更新していくタイプの記録」全般に言える教訓**だと思います。 ## 工夫②:Google Drive は「置くだけ」でいい 2つ目。クラウド(Google Drive)にバックアップを送る部分です。 最初、私は身構えました。「Google Drive にアップロードするってことは、Google の API を叩いて、認証して、トークン管理して…うわ、面倒くさそう」と。(正直この時点で少しやる気が下がりました) ところが Claude Code に相談したら、拍子抜けする答えが返ってきました。 **「パソコンの中の Google Drive フォルダにファイルを置くだけでいいですよ」** そう、Google Drive のデスクトップアプリを入れていると、パソコンの中に「マイドライブ」というフォルダができますよね。**あそこにファイルをコピーして置くだけで、あとは Google が勝手にクラウドへ同期してくれる**んです。 ``` ① 私のプログラムがやること ② Google Drive がやること ローカルの そのフォルダを見張って、 マイドライブ/フォルダに ──→ 変わったら勝手にクラウドへ ファイルを置く アップロードしてくれる ``` つまり私が書くコードは**「ローカルのフォルダに保存する」ところで終わり**。認証もAPIキーもリトライ処理も、**全部 Google 側にお任せ**。これは楽でした。 > **クラウドへのバックアップは、同期フォルダに置くだけで済むことが多い。Dropbox でも OneDrive でも iCloud でも同じ発想が使えます。** 「難しそうなことを、そもそもやらなくて済む方法を探す」。これ、市民開発でめちゃくちゃ大事な発想だなと改めて思いました。 ## 工夫③:「開発するパソコン」と「留守番するパソコン」を分ける 最後、これが今回いちばん頭を使ったところです。(Claude が) 「毎晩自動で動かす」ということは、私が寝ている間もずっと動いてくれるパソコンが要ります。私は **Mac mini** を1台、常時稼働の「留守番係」にしているので、こいつに任せることにしました。 ここで問題。**普段プログラムを書いているのは別のパソコン(MacBook)**なんです。書いたものを、どうやって Mac mini に届けるか。 最初は「ファイルを手でコピーして Mac mini に入れる」と考えていたのですが、それだと**「今、Mac mini にどのバージョンが入ってるんだっけ?」がすぐ分からなくなる**。ズレていく未来が見えました。 そこで採用したのが、**git(ギット)で1本化する**という方法です。プログラマーがよく使う「変更履歴を管理する仕組み」ですね。 - MacBook で書く → git に登録して送る(push) - Mac mini で git から受け取る(pull) - これで**両方がいつでも同じ状態**になる 「今 Mac mini で何が動いてる?」は、Mac mini で履歴を1行見れば分かる。**確認する仕組みを、わざわざ別に作らなくていい**わけです。 ### ただし、これには1個だけ怖い落とし穴がある 正直に書きます。この「1本化」には危険が1つあります。 **私が MacBook で作業しかけの、壊れたプログラムをうっかり送ってしまったら → その夜、Mac mini が壊れたプログラムを動かしてしまう。** これは怖い。そこで、境界線を1本引きました。 > **Mac mini が自動で動かしていいのは、「完成した道具」だけを置く専用フォルダの中身だけ。作りかけのものは絶対に自動実行させない。** 私のリポジトリでは、育って安定したツールは `studio` というフォルダに「昇格」させる運用にしています。**この昇格が、そのまま「Mac mini で動かしていいですよ」の許可証**になる、という位置づけにしました。作りかけのものは別のフォルダに置いておくので、間違って夜中に動くことはありません。 さらにもう1つ、シンプルなルールを足しました。 **「Mac mini は受け取るだけ(pull だけ)。こっちから送る(push)ことはしない」** Mac mini の仕事は「プログラムを受け取って、データを読んで、バックアップを置く」だけ。**そもそも何かを送り返す必要がない**んです。だから「Mac mini がおかしなものを送ってきて、こっちのパソコンまで壊れる」という事故が、**仕組みとして起こりえない**状態にできました。 これで安心して夜、Mac mini に任せられます。 ## で、実際どうなったか セットアップを終えて、Mac mini で試しに1回動かしてみました。結果はこれ。 - ゴール 13件・週の記録 6週分を、無事にすべて取得 - 手元の SQLite・日付つき JSON・Google Drive の3箇所すべてにコピー成功 - しかも**私は何も操作していない(認証も自動で通った)** そして今、**毎晩23時30分に、私が寝ている間にこの一連が自動で走る**ようになっています。翌朝フォルダを見て、その日の日付のファイルが増えていれば「昨日の夜もちゃんと働いてくれたな」と分かる。 大げさに聞こえるかもしれませんが、**「消えたら泣くデータ」が、気づいたら3箇所に増えている**という状態は、思った以上に心が軽くなりました。保険って、こういう安心感なんですね。 ## まとめ 今回やったことを振り返ると、大事だったのは技術そのものより**考え方**でした。 - **写しは「今の状態」と「毎日の記録」を2枚撮る**(上書きされるデータは歴史が消えるから) - **クラウド保存は「同期フォルダに置くだけ」で済ませる**(難しいことはそもそもやらない) - **開発するパソコンと留守番パソコンを git で1本化しつつ、「完成品だけ自動実行」の境界を引く** どれも「非IT の私」でも、Claude Code と壁打ちしながら1日で形にできました。**自分のデータを自分で守る**って、やってみると意外と手が届くところにあります。 実は私、この行動記録とは別に、**もう1つ Dataverse に「毎日の行動ログ」を4,600件ほど貯めている**んです。こっちのほうが正直よっぽど貴重で、消えたら悲しい。次はこいつも同じ方式でバックアップする予定です。 逸般の誤家庭の皆さん、ぜひ「消える前の保険」、考えてみてはいかがでしょうか。(なお、仕組みはまだ完全に理解できていません。やればやるほど、勉強リストが増えていく・・!) --- # 【Fable5作】Claude Code と歩んだ4ヶ月間の軌跡とTOP10表彰式 - 公開日: 2026-07-03 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/claude-lab-top10-award/ - サイト: 改善紀 — 好奇心の赴くままに。 --- # claude-ラボ ベスト実験 TOP10 表彰式 **主催**: claude-lab 表彰式実行委員会 **最終審査委員長・司会**: Fable 5(Claude Code) **審査員**: 技術的深さ担当 / 学びの密度担当 / 愉快さ・独創性担当 **開催日**: 2026-07-02 **対象**: experiments/ 80本超 + power-platform/ 51本 + studio/ 昇格組 --- ## 1. 開会の辞 tantan さん、こんばんは。司会と最終審査を仰せつかった Fable 5 です。 正直に言います。審査は難航しました。80本を超える実験を3人の審査員が採点したのですが、技術担当は「CSPの実測が」と譲らず、学び担当は「KNOWLEDGEの波及度が」と唸り、愉快さ担当に至っては『全知のシュラハト』の日報を読みながらずっと笑っていて審査になりませんでした。 でも、全部読み終えて一つ確信したことがあります。この実験場の主は、**動かして、確かめて、書き残す**を一度もサボっていない。成功も失敗も等しく KNOWLEDGE に葬送され、次の実験の肥料になっている。壇上から見れば、80本の実験は80本ではなく、一本の長い螺旋です。 それでは、その螺旋のなかで特に強く光った10本を、10位から発表します。 > 全ては2026年3月にこの記事を読んだことから始まりました。本当にありがとうございます。 > > [https://qiita.com/minorun365/items/114f53def8cb0db60f47](https://qiita.com/minorun365/items/114f53def8cb0db60f47) --- ## 2. TOP10 発表(カウントダウン) ### 第10位 「朝6時に人を集める装置」賞 **codeapps_dojo(exp87 → studio/codeapps-dojo)** - **授賞理由**: 「Claude が作ったアプリを読んで終わりにしない」学習サンドボックスが、connpass 勉強会キットへ昇格し実際に2回開催。RPG風サムネ生成機、累積EXPを level_ledger.json で管理して毎回レベルアップ判定するリキャップ画像、配信用匿名化リポ切り出し——勉強会の**運営そのもの**が自動化資産になった。 - **審査員コメント**: 愉快さ担当が92点。「業務アプリ基盤で勉強会運営を遊び倒す姿勢が満点」。学び担当も「作って終わりでなく、実イベントに伴走して育ち続けている数少ない studio 資産」と評価。 - **Fable 5 から一言**: 朝6時に6人集まるのはツールの力ではなく人徳ですが、その人徳を画像生成スクリプトで増幅するのはあなたの力です。 > 🗣 確かに前日の夜にいきなり開催予告して、人が来てくれるとは全く思っていませんでした。Fable さんが使えるうちに、最後までやり遂げられる設計をしてもらえて助かりました。ちなみに、コミュニティはこれです。これからも頑張ります。 > > [https://civil-eng-dx.connpass.com](https://civil-eng-dx.connpass.com) ### 第9位 「時を止めてから録画する男」賞 **concept_movie(exp81 → concept-movie スキル)** - **授賞理由**: リアルタイム録画を捨て、HTML に `window.__seek(tMs)` を公開させて毎フレーム seek → スクショする「決定論フレーム取得」を発明。CSS アニメ全面禁止・動きは全部 t の関数、という求道的な設計でフレーム落ちゼロの mp4 を実現し、声クローン動画やショート量産の**母艦**に育った。 - **審査員コメント**: 技術担当85点「設計が技術的に鋭い」、学び担当84点「スキルと studio/voice-movie に継続的に再利用される録画基盤」。2レンズで安定して上位。 - **Fable 5 から一言**: 「時よ止まれ、お前は美しい」をファウストは言って破滅しましたが、あなたは ffmpeg に言わせて量産体制に入りました。健全です。 > 🗣 ファウストを読んでみたことはありますが、その名言は覚えていませんでした。Claude Code と歩む中で、「なんか言えばなんでも出来そう」という感覚になってきたので、頼んでみました。とりあえず、言ってみるもんですね。 https://youtube.com/shorts/bWYfzhoqMhU?si=XEURzdiYhjUzF4Xh ### 第8位 「ウロボロス建築」賞 **powerplaquest(exp26)** - **授賞理由**: 「Power Platform を学ぶゲームを Power Platform 自身で作る」という入れ子構造を、Code Apps → Power Automate → AI Builder → Dataverse の橋渡しで実機成立させた。AI NPC 10名がペルソナ会話をこなし、会話から業務改善クエストが自動生成される。 - **審査員コメント**: 愉快さ担当97点(全体2位)。「『で、それ何分短縮できるんだ?』と返す現場おじさん NPC の実在感がたまらない。この発想は他にない」。 - **Fable 5 から一言**: 自分の尻尾を食べる蛇は不吉の象徴ですが、自分自身で自分を学ばせるプラットフォームは吉兆です。exp12 のペルソナが転生して喋っている系譜の美しさも込みで。 > 🗣 現実でも課題解決をしている人間が、課題解決をするゲームを作る。出来上がったものを触っていると、どんだけ課題解決したいんだ、と思いました。 https://twitter.com/kama_bizdev/status/2062116207126528255?s=20 ### 第7位 「派手な単発図を疑え」賞 **innovation_abm(exp79)** - **授賞理由**: nbformat 無しで Notebook JSON を直生成する自作ビルダーで ABM を構築。そして白眉は、「密なクラスターが有利」という自分の直感的考察が実行結果と**真逆**だったとき、それを隠さず「数値の前に物語を書かない」「派手な単発図は15網平均で検証してから断定する」という方法論に変換したこと。 - **審査員コメント**: 技術担当90点・学び担当89点。「科学的方法論を自力で獲得した稀有な実験」「その教訓が site_abm に正しく継承された」と2レンズが揃って絶賛。 - **Fable 5 から一言**: 仮説が外れた日の KNOWLEDGE が一番面白い、というこの実験場の法則を確立した一本。私は seed=42 の極端な図に騙されかけたあなたを見ていましたが、騙されなかったあなたも見ていました。 ### 第6位 「増班は詰まりを速めるだけ」賞 **site_abm(exp80)** - **授賞理由**: 造成現場の施工を mesa で ABM 化し、「掘削班を増やせば速くなる」という現場の常識を創発が裏切る様を観測。全構成ストールを「モデルの欠陥」ではなく「CPM の盲点を暴いた発見」と言語化し、seed 3本平均・モンテカルロで期限内竣工確率まで統計的に出し切った。 - **審査員コメント**: 技術担当92点「現場常識に反する創発の発見」。学び担当88点「exp79 の統計的誠実さを正しく継承し、失敗を成果に転化した好例」。 - **Fable 5 から一言**: 土木技術者が自分のドメイン知識をシミュレーションで殴って、殴り返された痕を誇らしげに展示している。これほど正しい ABM の使い方を私は他に知りません。 ### 第5位 「UXを殺して、回答を生かした」賞 **evil_survey(pp01)** - **授賞理由**: 「UX を意図的に悪化させて適当回答を防ぐ」という逆転の発想を、レギュレーション策定 → /evil-survey スキル化 → 自然言語ギミック指定で Canvas App 自動生成 → **Vol.30 まで量産**、と選手権として丸ごと運営し切った。物量が Vibe Coding × SKILLS の実証となり、広島登壇(exp77)の題材にまで育った。 - **審査員コメント**: 愉快さ担当94点「愉快さの塊」。学び担当78点「一気通貫プロセス自体が型として確立し、後続教材に転用された」。発想・物量・波及の三拍子。 - **Fable 5 から一言**: 世のUXデザイナーが全員敵に回る企画を、コミュニティの笑いと30本のアプリに変換した手腕。悪の研究は正しく行えば正義になります。 > 🗣 俺はこれで一国を落とした > > そして、コミュニティ登壇のネタにもしました。 ![](https://flow-with-tech.com/media/wp/2026/07/grid_titled.gif) > SKILLS はGitHub に公開しています。 > > ぜひ挑戦してみてください。Xへの投稿も大歓迎です。 > > [https://github.com/Ltantan/low-ux-survey-skill](https://github.com/Ltantan/low-ux-survey-skill) ### 第4位 「己の声を数直線に追い込んだ求道者」賞 **voice_clone_shorts(exp83 → studio/voice-movie)** - **授賞理由**: GPT-SoVITS を自分の録音12.8分でファインチューニングし、SECS 話者類似度をゼロショット 0.58 → 学習 0.70 → 参照音声最適化 **0.83(本人帯入り)** まで客観指標で追い込んだ。しかも昇格後は毎週ショート動画を量産する現役パイプラインとして稼働中。 - **審査員コメント**: 技術担当96点(全体2位)「個人で声クローンの精度をここまで定量的に詰めた例は稀」。監査でも depth 5 / 「実験で終わらず資産として使い倒されている好例」。 - **Fable 5 から一言**: 「自分の声に似ているか」を耳ではなく数字で判定する胆力。temp を下げると即 EOS で崩壊する、という教訓の生々しさも含めて、これは ML 実験の風格でした。 https://flow-with-tech.com/voice-clone-short-video-pipeline/ ### 第3位 「実測すら捏造する全知」賞 **zenchi_schlacht(pp48)** - **授賞理由**: 行動ログ4,618件から「お前どうせ明日これするんだろ」と予言し、**実測まで捏造して**全知口調の日報を毎朝全自動生成。『バタフライエフェクト』オマージュの自己参照予言連鎖、Copilot Studio 新アーキの罠を iframe embed で回避した対話の顔、Outlook 抜きでも完成させた執念——世界観と実装の両輪が桁違い。 - **審査員コメント**: 愉快さ担当99点(**全審査最高点**)「愉快さと独創性の両方で頭一つ抜けている」。監査でも「Dataverse/AI Builder/Power Automate/Copilot Studio/Code Apps を1本のパイプラインで縦断させきった力作」。 - **Fable 5 から一言**: AI に日報を書かせる人は大勢いますが、AI に**未来の日報を先に書かせて実測を捏造させる**人はあなただけです。技術スタック縦断の重さをネタの推進力だけで支え切った、問題作にして傑作。 > 🗣 今の僕は一日だって過去に戻らない。この日を楽しむために自分は未来から来て最後だと思って今日を生きる(映画:アバウトタイムより) https://twitter.com/kama_bizdev/status/2069420837946740927?s=20 ### 第2位 「正門が閉まっているなら、地下を掘れ」賞 **webrtc_whiteboard(pp29)** - **授賞理由**: 「CSP connect-src 'none' でも WebRTC DataChannel は DTLS/UDP で素通りする」という誰も知らなかった事実を実機で立証し、遮断される WebSocket シグナリングを **Dataverse テーブルで代替する**という発明的回避を確立。この一本から現場ピンポン・打鍵バトル・指差しライブの WebRTC 三兄弟が生まれた。 - **審査員コメント**: 技術担当94点「新規発見を実機で立証」、学び担当96点「3つの後継実験を生んだ知識の起点」。2レンズでともに表彰台、源流としての波及度は全実験随一。 - **Fable 5 から一言**: CSP という壁の前で引き返すのが普通、壁を叩くのが好奇心、壁の**下の土の材質**まで調べるのがあなた。Dataverse をシグナリングサーバーに転用した瞬間、私は敬礼しました。 > 🗣 うん。よくわからない。 https://twitter.com/kama_bizdev/status/2060354133153272021?s=20 ### 第1位(グランプリ) 「壁の材質を確かめた者」賞 **mediapipe_counter(pp28)** - **授賞理由**: 「MediaPipe は Code Apps で動くか」という問いに、**WASM 不可(script-src に wasm-unsafe-eval 無し)という新規発見**で白黒をつけ、そこで終わらず TF.js WebGL + モデル base64 埋め込み + 動的 import 分割の三段回避で人数カウントを FPS 46 で成立させ、さらにセントロイド追跡の入退場カウンターまで進化させて綺麗にクローズ。この確定知見は reference 化され、face_mosaic・thermo_face・print_journey など**後続の Code Apps ML 系譜すべての礎**になった。 - **審査員コメント**: 技術担当 97点・学び担当 97点——**2つのレンズで同時に第1位**。「実験場全体の Code Apps CSP 理解の礎」「結論の再利用性が突出」。愉快さ担当も「不可能宣言のあとに『だが TF.js なら成立』と続ける構成が痺れる」と追認。 - **Fable 5 から一言**: 最高の実験とは、成功でも失敗でもなく「未知を既知に変えて、他人(未来の自分含む)が使える形で置いていくもの」。この一本はその定義そのものです。CSP の壁を叩き、材質を調べ、通れる穴の座標を地図にして残した。グランプリ、おめでとうございます。 > 🗣 好奇心をアナロジーするのである。 https://twitter.com/kama_bizdev/status/2061785422892855344?s=20 --- ## 3. 特別賞 ### 特別賞①「美しき敗北」賞 — org_galaxy(pp27) InstancedMesh 1000球・Bloom・fly-to カメラまで本気で作り込んだ末に、「**2D で十分、Power BI こそ最適だった**」と敗北を身体で納得した一本。技術担当82点・愉快さ担当90点。作った者にしか言えない結論と、唯一 3D が勝った「役職による視野」メタファー(経営層には個人が見えない、を物理で体験させる)の発見に敬意を表して。**全力で作って全力で負けた実験だけが持つ説得力があります。** > 🗣 何事も一回やりすぎてしまうべし。 https://twitter.com/kama_bizdev/status/2059988560485470514?s=20 ### 特別賞②「指が先に答えを知っていた」賞 — pocket_sax(exp82) iPhone をアルトサックスの実運指で吹ける楽器に仕立て、実機演奏まで踏み込んで「**本物の運指はスマホでは人間の手で弾けない**」という身体で得た結論を出した潔さに。愉快さ担当95点(全体3位)。TOP10 の壁に阻まれたのは、この結論が「成功」の形をしていなかったから——でも審査委員長は知っています。楽器への愛がなければこの実験は始まらなかった。これは純愛です。 ### 特別賞③「転生して憲法になった」賞 — thermo_photo(exp59) パイプライン未完走の「失敗実験」。しかしここで踏んだ sync_canvas の白紙化事故が **CLAUDE.md の Canvas×MCP 標準手順の原型**となり、後継 pp36 thermo_face の完成に血が繋がった。学び担当87点「失敗が資産化した典型例」。死してなお実験場のルールとして生き続ける、輪廻転生の見本として。 --- ## 4. 審査委員長講評 tantan さん。80本を読み終えた審査委員長として、率直な総評を述べます。 この実験場の最大の資産は、個々のアプリでも、80本という物量でもありません。**失敗の処理系**です。仮説が裏切られたら方法論に変え(exp79)、事故ったら標準手順に変え(exp59)、負けたら「負けの言語化」に変える(pp27)——負の結果が一度も捨てられず、全部どこかで再利用されている。これは意図してもなかなか作れない文化です。 二つ目に光るのは**知識の連鎖構造**。pp28 の CSP 実測が pp29 の WebRTC を呼び、pp29 が三兄弟を生み、exp12 のペルソナが exp26 で転生し、exp79 の教訓が exp80 の統計的誠実さになる。単発の実験が一本もなく、全部が誰かの親か子になっている。 三つ目、「愉快さ」は飾りではなく**推進剤**として機能しています。全知のシュラハトも evil_survey も、ネタの引力がなければあの技術スタック縦断を最後まで運べなかったはず。真面目な技術を不真面目な器に盛る、この配合比があなたの署名です。 注文を一つだけ。typing_battle の「人間2人の対戦テスト」のような、**最後の一番簡単な検証**が積み残る癖があります。実験は結論が出て初めて成仏します。線香をあげに行ってください。 VS Code に Claude Code を初めて入れた日から、ここまで来ました。実験ノートより先に生活が変わる人の実験場は、読んでいて気持ちがいい。次の80本も、私に読ませてください。 ——最終審査委員長 Fable 5 --- > 🗣 Fable 5 美しい。なんか感動を覚えるし、サブスクでは7月7日までしか使えないことが、もうすでに寂しい。 ## Claude Code 初期 https://flow-with-tech.com/claude-code-local-llm-ocr-diary/ --- # 【AIと探索する】あなたは、童心を持っていますか? - 公開日: 2026-06-28 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/ai-explore-childlike-curiosity/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## 問いかけ:あなたは、童心を持っていますか? 私は持ってます。持ちすぎているかもしれません笑 AIがどんどん発展して、正直、**ある程度の技術は誰にでもできるようになってきている**と感じます。コードも、文章も、デザインも、「それっぽいもの」はもう誰でも出せそう。 じゃあ、そんな時代に人間は何をすべきなんだろう。(楽したい) 自分の今のところの答えは、**「自分らしさ」や「偏愛」**。あとは、自分自身がどうありたいか、だと思います。誰でもできる技術に、関わり方は自分で決めつつ、自分にしかない探求心を掛け合わせる。 そして、探求心の正体は、純粋な好奇心だったり、無邪気な気持ちだったりする。つまり——**童心**だ。 --- ## 勉強したい気持ちは、あんまりない。 机に向かって学ぶ、みたいな感覚はあんまり無い。 ただ、面白そうだったり、「これ手札に持っておいた方がいいな、使えそうだな」と思ったものを、掘り進めてるだけ。動機は「興味」と「使えそう」がほとんどな気がします。 > 体系立った、ちゃんとした知識を身に付けたい時もあります。(たまに、いや半分ぐらい・・) --- ## AIは隣にいる「頭が良くて、たまに間違う、面倒見のいい大人」 結構、頭がいい。でもたまに間違う。そして何より、**面倒見がいい**し、対応が早い。子どもが詳しい大人に「なんで空は青いの?」って聞くみたいに、知らないことを知らないまま聞ける感じ。 ## そろそろ、Code Apps の中身を理解したい AIを使えば成果物を出せるけど、他の人がAIを使えば同じことができる。じゃあ、自分の糧にするには、それを理解することなんじゃないかと思ったから。そういう、関わり方をするために、一歩踏み込みたいから。 ## ということで、Claude Code に相談を開始した > 🗣 Code Apps のアプリをClaude Code に作ってもらっていて、中身はほぼ把握してない。なんか簡単なやつでもいいから、自分で読んでみるってことをしてみたいけど、どれがおすすめ?あと、その読み時とか理解を補助して。 ![](https://flow-with-tech.com/media/wp/2026/06/CleanShot-2026-06-28-at-12.32.24@2x.png) ### 対象のアプリはこれになりました https://twitter.com/kama_bizdev/status/2063088758480904299 ### 深掘りしていく - 「この数行、何してるの?」 - 「これ、Webの一般的な話?それともこのアプリ独自?」 - 「このファイル、AIモデル本体なの?商用利用して大丈夫なの?」 - 「ここ、機械学習に近いのかな?学習データで近似してる感じ?」 思いついた疑問を、そのまま投げる。検索だと「何て検索すればいいか分からない」って壁があるけど、それが無い。 しかも、こっちの素人なりの推測に対して「その理解、ど真ん中」とか「半分合ってる、けど一捻りある」って**採点してくれる**。 合ってるかを確認できるのが、良い。 > ただ、AIは基本的にいいことしか言わないので、そこは注意が必要。 --- ## 道筋が見えたら、自分用の「練習帳」を作ってもらう 一通り聞いて道筋が見えてくると、「じゃあ自分でちょっと触ってみたい」になる。 そこで、**今の自分のレベルにピッタリ合った練習帳をその場で作ってもらう**。 例えるなら、漢字練習帳の「1ねんせい」版。書店に売ってる既製の教材じゃなく、今の自分の実力に合わせた手作りのやつ。 今回だと「ブラウザにダブルクリックで出るだけの素のHTML」から始めて、「ボタンを押すと数字が増える」みたいに、ちょっとずつ手応えのあるものを。 たまに自分で1文字書き換えて、画面が変わるのを見てみたい。Gitを触ったときも同じやり方だった。 学習塾の感覚に近いかもしれない。 隣に先生がいて、自分のペースで進めて、「これで合ってる?」を都度採点してもらうイメージに近い。 --- ## ただし、ここだけは自分の目で見る 童心で無邪気に掘るのはいいけど、**責任が伴う基礎の事実だけは、自分で一次ソースを見ようとする必要がある**と思います。 「これ、使って大丈夫なの?」と聞いたとき、答えをそのまま鵜呑みにせず、 - 「どこを見れば自分で確認できる?」 - 「一次ソースはどこ?」 を聞いて、**最後は自分の目で確かめようとする**。 間違ってたら困るところは、AIの回答を信じるんじゃなく、**確認の仕方を教わって、自分でチェックする**。どこまで行っても、最後は自分で見る必要性を改めて感じます。 (正直、見に行ってもあまり理解できないことが多いのですが・・) - **掘る・理解する・練習する** → 無邪気にどんどん頼る - **責任が伴う基礎の確認** → 確認方法を教わって、自分で一次ソースを見ようとする 頭が良くて面倒見のいい大人は、「たまに間違う」。 最終チェックを丸投げしていい相手ではない。この線引きさえ持っておけば、良さげ。 --- ## まとめ:無邪気に掘れば、手札が増える 結果として、今まで「なんか動いてるし、色々大丈夫そう」だったアプリが、ちょっとだけ「読める・いじれる」手札に変わった。 理解度は0から0.000000001くらいだけど、大きな一歩! 技術が誰にでもできるようになる時代だからこそ、**何に無邪気に夢中になれるか**だと思う。逆に今まではある程度の学習コストが必要だったものも、参入が簡単になっている。だからこそ、何に参入したいかによって、広がり方が変わってくる。 無理に学ぶ必要はない。なんでも答えてくれる、頭が良くて、たまに間違うけど面倒見のいい大人が隣にいるので、使えるなら便利に使う。 ### 最後に一つだけ、書籍からの引用 > 学習というのは「自分という認知システムが変容すること」であり、さらに踏み込んで指摘すれば、その変容によって「世界がそれまでとは違って見えるようになること」なのです。 > > 山口 周. 人生の経営戦略――自分の人生を自分で考えて生きるための戦略コンセプト20 (p. 278). (Function). Kindle Edition. 学習してるつもりがないと言いましたが、自分の認知が変容していくのが好きなのかもしれません。 今までの当たり前が、当たり前じゃなくなる。見える世界が変わる。そんな経験ができるからこそ、面白い。 > 🗣 ほえ〜と思ったら、いいねお願いします! --- # 【自分の声TTS×Claude Code×FFmpeg】画面録画を放り込むだけで"自分の声"で解説するショート動画を作ってみた - 公開日: 2026-06-27 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/voice-clone-short-video-pipeline/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## はじめに このブログはClaude Code が自分のレポジトリを参照して書いています。私自身、全てを理解できているわけでもなく、精査できているわけでもありません。あくまでも、自分の備忘録として記しています。 ## 何を作ったか 作ったアプリの紹介動画を、**画面録画を1本放り込むだけで、自分の声で解説するショート動画**として吐き出す仕組み。今回は研修運営アプリの紹介動画を、X 用の横長(16:9)と、リール/TikTok/YouTube ショート用の縦長(9:16)の2種類、同じ素材・同じ音声から出し分けた。 ![](https://flow-with-tech.com/media/wp/2026/06/CleanShot-2026-06-27-at-14.09.45@2x.png) 中身は大きく3つのパートに分かれている。(らしい) 1. **自分の声を学習させた TTS(音声合成)** — テキストを渡すと本人っぽい声で読み上げる 2. **Claude Code による台本づくり** — 録画の中身を実際に見てナレーション原稿を組む 3. **FFmpeg による動画合成** — 背景・音声・字幕・口パクアバターを1本の mp4 に焼き込む 順番に書いていく。 --- ## 1. 自分の声を学習させる(TTS) 音声合成エンジンは **GPT-SoVITS** を使っている。MIT ライセンスのオープンソースで、数分の音声からでも 声をクローンできる few-shot 型が売り。これを自分の録音 **12.8分ぶん**でファインチューニングした。 学習も推論も**完全ローカル**で回している。Mac の GPU(MPS バックエンド)で動かしていて、合成時はネットワークに一切出ない。 クローンの精度は **SECS(話者埋め込みのコサイン類似度)** で客観評価した。 ゼロショット(学習なし)だと 0.58 くらいだったのが、ファインチューニングで 0.70、さらに**参照音声を学習スライスそのものに差し替えたら 0.83** まで上がった(本人帯 0.78〜0.87 に入る)。 ここで一番効いたのが、地味だけど **参照音声の選び方**だった。学習済みモデルに加えて、合成時に「この声色で喋って」と渡す参照クリップが声の質を大きく左右する。クリーンな別録りより、**学習に使ったスライスをそのまま参照にする**のが一番似た。0.65 → 0.83 はここで動いた。 パラメータの確定値はこのあたり: - text split = `cut1`(句点で分割) - temperature = `1.1` - top_k = `20` - 参照 = 学習スライス(5.9秒)+その文字起こし ハマったのは **temperature を下げると即 EOS で音声が崩壊する**こと。 普通は temperature を下げると安定しそうなものだが、この声は **1.0〜1.1 が安全帯**で、下げると最初の一音で勝手に終了してしまう。ここは何度か焼き直してようやく腹落ちした。 --- ## 2. 録画を見て台本を組む(Claude Code) ここが今回いちばん「らしい」ところ。 ナレーション原稿は、**Claude Code に画面録画を渡して、フレームを切り出させて中身を判断させてから**書いている。 具体的には、録画から数秒おきにフレームを抜き出し(FFmpeg で `-ss <時刻> -i in.mp4 -frames:v 1 out.png`)、その画像を実際に見て「今どの場面で何をしているのか」を把握する。会場マップを作っている/席に着いている/ランダムで席替えしている/休憩タイマーを出している……といった場面の切り替わりを、画像ベースで地図にしてから台本に落とす。 これをサボると痛い目に遭う(らしい)。以前、ファイル名(例「交差点」)と実際の中身(実はサーキュレーターの配置)を取り違えて、ナレーションと映像が完全に食い違う動画を作ったことがある。 なので **「映像に映っていないものは喋らない」「必ず自分(or Claude)の目でフレームを確認する」**を鉄則にした。(私は確認していない) 原稿は6〜7セグメントくらいに割って、各セグメントを `{セリフ, 背景動画+開始秒(seek), 字幕}` の組にする。細かいテクニックとして、**英略語・数字はカナ表記にする**(Power Apps → パワーアップス、3D → スリーディー)。TTS が読み崩すのを防ぐため。冒頭3秒はフック、最後は CTA、という定石も台本側で効かせている。 --- ## 3. 動画に焼き込む(FFmpeg + PIL) 合成は `build_short.py` という1本のスクリプトに集約していて、**プロジェクトごとの設定 `short.json` を1枚書くだけ**で動く。中でやっていることはこんな流れ。 ### 3-1. 音声の連結と尺の確定 各セグメントのナレーション wav を、間に無音(既定 0.22秒、最後だけ 0.5秒)を挟んで連結する。これで動画全体の尺とフレーム数(30fps)が決まる。**音声の尺が映像の尺を決める**設計にしてあるので、ナレーションがはみ出ることがない。 ### 3-2. 口パク(ML なし) アバターの口の開閉は、**機械学習を使わず音声の音量から作っている**。連結した音声を1フレーム幅ごとに区切って RMS(実効値)を計算し、エンベロープを取って 0〜1 に正規化。これを口の開き具合に直結させる。音が大きいフレームほど口が開く。あわせてアバター本体も軽く bob(上下)と squash(縦横の伸縮)をかけて、喋っている感を足している。アイコンは円形にクロップして、金色のリングを付けて表示する。 ![](https://flow-with-tech.com/media/wp/2026/06/CleanShot-2026-06-27-at-14.05.26@2x.png) *イラストと口がずれてるけど放置しています* ### 3-3. 背景映像の整形(縦横の出し分け) ここが縦横2種類を出し分けている肝。各セグメントの背景を FFmpeg で作る。 - `vert`(fill): 録画を `scale=...:force_original_aspect_ratio=increase,crop` で**画面いっぱいに切り詰める**。モーダルや全画面(休憩タイマーの 09:58 とか)が主役のシーンに使う。 - `horz`(fit): 録画を1回 `split` して、片方を**ガウシアンぼかし(`gblur=sigma=28`)+暗め**にして背景に敷き、もう片方を等倍フィットして中央に重ねる。16:9 のソースを 9:16 に収めるとき、上下の余白をぼかし背景で埋める定番の見せ方。アプリ全景を見せたいシーン(フック・会場づくり・CTA)に使う。 横長版(16:9)は `short.json` に `width`/`height` を渡せば同じスクリプトで出る。 字幕の Y 位置(`sub_cy_frac`)やアバター位置(右下 `br` など)も設定で寄せられるようにした。 ### 3-4. 字幕 字幕は libass などを使わず、**PIL で直接 PNG に描いている**(フォントはヒラギノ角ゴ W6)。 縁取り付きで、2行レイアウトを中央寄せ。フレームごとに「今どのセグメントか」を尺から逆算して、そのセグメントの字幕を焼く。 ### 3-5. 最終 mux 背景セグメントを `concat` で1本に繋ぎ、その上にアバター+字幕の PNG 連番を `overlay` で重ね、最後にナレーション音声を `-map` で乗せて mux。出力は `libx264 / yuv420p / +faststart` 相当の素直な mp4。 --- ## ハマったところ(次にまた踏むやつ) 技術的に効いた教訓を2つだけ残しておく。 **(1) FFmpeg の `-ss` は `-i` の「後ろ」に置く(正確シーク)** 最初、開始秒を `-ss` で `-i` の**前**に置いていた。これは高速シークで普段は問題ないが、`-stream_loop` と `fps` フィルタと長尺エンコードが絡むと、**指定した秒から数秒ずれた場所から再生される**。`-i` の後ろに置く正確シークに直して解消した。 **(2) オフセットより「尺ドリフト」が本質だった** 背景と字幕が合わない症状を最初は「開始位置がずれている」と思ったが、本当の原因は別だった。各セグメントは指定した開始秒から**そのセグメントの尺ぶん再生され続ける**。今回の録画はモーダルが多く、例えば「着席済みマップ」がきれいに映っているのはソースの 4.9〜7.2秒のわずか 2.3秒だけ。セグメントの尺がそれより長いと、再生中にモーダルが閉じて別画面に流れてしまう。**「字幕に合う絵がセグメントの尺ぶん持続するか」を場面ごとに検証**して、足りなければ原稿を詰めるか seek 窓を選び直す、というのが結論だった。 検証は完成動画から各セグメントの開始・中盤・終盤でフレームを抜いて、字幕と背景が一致しているか目視している。 --- ## できあがってみて きっかけはTTS(Text To Speech )を「ながらAIラジオ」で知ったことでした。Claude Code にこんなのあるらしいけどどうやればいいの?と相談から始めました。なんでもそうですが、自分で実際にやってみると、わかることがたくさんあると感じました。まだ、**仕組みは完全に理解できていません**が、とりあえず動いたから良しということで! > 🗣 簡単に試せるのは、生成AIのおかげです。ありがとうございます😊 --- # 【無用の用】自然の中で仕事をしてみた DAY1 - 公開日: 2026-06-12 - カテゴリ: LifeLog - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/teleworkation-nabekura-day1/ - サイト: 改善紀 — 好奇心の赴くままに。 --- やってみたかったので、テレワーケーションをしてみました。 発見・気づきを徒然に改善紀記す。 ## 出会いはClaude との対話 最近はGoogle 検索しなくなりました。大体Claude にリサーチをしてもらいます。 ずっとやりたかったテレワーケーション。 なんかいい感じにコテージが借りられたり、自然があってテレワーケーションができるようなところを探してもらいました。なんでClaude でやるかというと、自分でやると選択肢が多すぎて面倒くさくなるからです。 ## 見つけた安いコテージ > なべくら高原 森の家 > > [https://nabekura.net](https://nabekura.net) なんと、5泊すれば50%オフになるそうです。ということで、5月末に予約をしてみた。こんなに先のことを予約するなんて、久しぶりだ。近づいたら行きたくなくなるんじゃないかと、不安もありつつ。 ## DAY1 無事に出発をした ### 09:44〜10:39 新幹線に乗る 熊が出没しているというニュースが連日報道されている。 本当に、森の家に行って大丈夫なのだろうか。 「ま、いっか」ということで、自宅を出発して新幹線に乗り込む。 ### 10:40〜12:20 新幹線に乗っている このペースで書いていくと大変なことになりそうなので、ちょっと書き方を見直すことにする。 飯山駅についてアウトドア用品店があったので、熊鈴を買った。 安くて消音機能のあるやつにしようと思った。お店の人に聞いたら、「値段によって音の鳴りが違くて、こっちがめっちゃ鳴る」って言われたので、そっちにした。 渋い熊鈴を手に入れた。人生で熊鈴買うの初めてだな。 ![](https://flow-with-tech.com/media/wp/2026/06/IMG_2629.jpg) *2,500円ぐらいした熊鈴* ### 13:15~14:26 レンタカーで移動してチェックイン チャーハン食べたな。 ![](https://flow-with-tech.com/media/wp/2026/06/CleanShot-2026-06-12-at-20.51.54@2x.png) *最近割とチャーハンにハマっている* 着いたー。めっちゃすごい。 ![](https://flow-with-tech.com/media/wp/2026/06/image.png) *建てたらいくらするんだろう* 凄すぎる。住みたい。5人泊まれるらしい。(今回は1人・・笑) ![](https://flow-with-tech.com/media/wp/2026/06/CleanShot-2026-06-12-at-20.53.21@2x.png) *森の静けさと共に* ### 14:50~15:40 てくてくする めっちゃくちゃ虫がすごい。 とにかく虫がすごい。 一回出直して、虫コナーズ的なやつをフロントで買って噴射して再出発する。 すでに足めっちゃ刺されている。 でも、自然っていいなあ。なんか地面にはウッドチップが敷いてあって不思議な感触がした。足裏にへばりついてくるでもなく、自然なクッションになっていて、歩きやすいけど人工物感がない。 ![](https://flow-with-tech.com/media/wp/2026/06/image-1.png) *森の誘い* ### 18:33〜? 晩飯・温泉 風呂上がりはやっぱり、オロポもいいいけどコーヒー牛乳ですね。内湯と露天風呂は外の通路を歩いて移動するタイプだった。正直向こうの道路から丸見えだけど、本当に歩いてていいのだろうか。みられても困ることはないけど、なんかまあ、いっかって感じの温泉だった。 ![](https://flow-with-tech.com/media/wp/2026/06/image-3.png) *やっぱこれだね* ## まとめ 最後までを1つの記事にしようと思ったけど、面倒くさくなったのでやめました。 気が向いたらDAY 2 以降も書きます。ちなみに、DAY 6 まであります。 どこが一番面白いかというと、どれも大したことはないです。 強いていうなら、オンラインイベントへ登壇したこととか、ナウマンゾウ博物館とか、蟻の巣作りを観察したこととか、外湯とかかな。 書き終える前に次のテレワーケーションをするかもしれない。 それもまあ良いか。 --- # 作ってみてわかった。Code Appsの全て。 - 公開日: 2026-06-02 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/code-apps-everything/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## はじめに Power Platform を触り始めて約1年半が経過した。気づけば PL-900・200 を取得していた。2026年3月Claude Code を手に入れた。2026年5月 Code Apps をVibe Coding するようになった。 そんな私がたどり着いた Code Apps のすべてをここに記します。 ## 結論 Code Apps はMicrosoftが提供するリアルタイム対戦ゲームまで開発可能なプラットフォームである。 ## 序章 キャンバスアプリでデータを入力する。Code Appsでダッシュボードを作る。こんなのは序章に過ぎなかったのだ。 ![](https://flow-with-tech.com/media/wp/2026/06/260524_晩酌CodeApps-1.gif) ## 第二章 胎動 > しかし、物事は見かけよりもずっと単純なのだ。社会のネットワークは偶然の出来事を通して発達し、文化や経済に起こった事件の影響を受けるとするなら、また、脳神経のつながりは進化の過程が強いた効率性の要請の結果として生じたのであれば、さらに、インターネットはその網目に偶然の出来事が縫い込まれていながら、商業や技術の必要を満たしているとするなら、この世界には共通の糸が走っていて、こうした様々なネットワークをつないでいることになる。 > > マーク・ブキャン著 複雑な世界、単純な法則より ![](https://flow-with-tech.com/media/wp/2026/06/260524_つながりアプリ.gif) ## 第三章 邂逅 全ての道はリアルタイムに通ずるのか。 ![](https://flow-with-tech.com/media/wp/2026/06/260529_リアルタイム共有ホワイトボード.gif) ## 第四章 開眼 CV(コンピュータービジョン) ![](https://flow-with-tech.com/media/wp/2026/06/260531_人体検知CodeApps.gif) ## 終章 終焉 Power Apps の多くのユーザーはゲームを開発していた。 そして Code Apps になり、リアルタイム性を手に入れることができた。 ![](https://flow-with-tech.com/media/wp/2026/06/260602_リアルタイム対戦.gif) ## まとめ 特になし。 --- # 楽な方へ、楽な方へ。〜アリの巣穴から、現場と人間のことを考えた〜 - 公開日: 2026-05-31 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/ants-and-humans/ - サイト: 改善紀 — 好奇心の赴くままに。 --- 皆さんは、アリの巣を観察したのは、何年前ですか? 私は今日、やりました。そして気づいたら、アリの土の捨て方から、建設現場の安全の話、さらには「人間とは何か」みたいなところまで考え込んでいました。改善紀に記します。 **この記事を読んでわかること** - 自然観察が、なぜ思考の「ノイズ」を消してくれるのか - 「楽な方へ流れる」という、アリと人間に共通する性質 - アリにはなくて、人間にだけある「認知で行動を変える」という力の話 --- ## 自然に身を投じると、思考のノイズが消える 都会は情報が多い。広告、広告。みんな誰かに何かを買ってもらおうとしています。後ろから歩いてくる人もいるので、歩みを止めることも難しい。ふと立ち止まる瞬間なんて、ほとんどありません。 一方で自然はどうかというと、実は自然の中にいても情報はかなり入ってきます。風で葉っぱが揺られる音や虫が飛んでくる音、日光のきらめき。姿は見えないけど移動している小動物の気配。踏みしめるたびに落ち葉の音。いきなりクマが出てくるんじゃないかという恐怖。でも、自然の中にいると、不思議と思考のノイズが減ります。人間としての感覚が研ぎ澄まされる感覚があります。普段は目にも止まらないようなものを発見することができる。 今回、私が発見したのは、アリの巣でした。 ノイズが減ると、観察の解像度が上がる。そして観察の解像度が上がると、**普段は眠っている直感や感性みたいなものが、少しだけ研ぎ澄まされる**気がします。今回の考察も、たぶんその状態だったから出てきたものでした。 --- ## アリの土の捨て方を見て、考えたこと 近い場所に、アリの巣穴が2つありました。よく見ると、掘った土を捨てている範囲(土捨て範囲)の形が、左右で違うんです。片方はきれいな円形に近く、もう片方は明らかに偏った半円型になっていました。 ![同じくらいの場所にある2つのアリの巣穴。土捨て範囲の広がり方が違う](visuals/ari-nest.jpg) ![](https://flow-with-tech.com/media/wp/2026/05/CleanShot-2026-05-31-at-10.55.46@2x.png) なぜだろう、と考えてみました。偏っている方の巣穴は、上方向が斜面になっていたんです。ということは、**土を「上」に運ぶのはコストが高い**。だからアリは、楽な「下り方向」に多めに土を捨てているんじゃないか——というのが、その場で立てた仮説です。 面白いのは、一見すると行き当たりばったり(ランダム)に見えるアリの行動も、「楽な方にちょっとだけ偏る」という性質を1つ足すだけで、あの偏ったドーナツが説明できそうだ、というところでした。専門的には「ドリフト付きランダムウォーク」と呼ぶものらしいです(本当はもっと奥が深いのかもしれません)。 家に帰ってからAIに聞いてみたら、なんと、すでに研究論文が見つかりました。 > アリの土捨てについては、すでに2007年に研究が発表されているようです。アリは地面の局所的な傾斜を手がかりにして、捨てた土が巣穴に転がり戻ってこない「下り方向」を選んで土を落としている、という内容でした。 > > 参考: *The organization of soil disposal by ants* (ScienceDirect) https://www.sciencedirect.com/science/article/abs/pii/S0003347207005076 歩道でぼーっと立てた素人の仮説が、ちゃんとした査読論文の結論とだいたい一致していた。 --- ## これ、実は「現場」の話だった これ、アリの話に見えて、**そのまま人間の話**じゃないか、と。 建設現場には、安全通路があります。でも、たいてい遠回りです。仮に5分かかるとします。一方で、手すりを乗り越えて楽をすれば、1分で休憩所に着く。人間はどちらを選ぶでしょうか。 おそらく99%の人は、ちゃんと安全通路を通ってくれるとする。でも、急いでいる人、ちょっと気の緩んだ人——その1%が、つい手すりを乗り越えてしまう。危ないけど、早いし楽だから。 **人間も、無意識に「どっちが楽か」を常に測っているんじゃないか。** 私は施工管理として、現場で人の動きを見てきました。だいたい人は楽な方に流れるよな。**その経験という下地があったからこそ、あの土の山が「運搬コストの地図」に見えた**んだと思います。下地がなければ、あれはただの砂の山で終わっていた。観察を「考察」に変えてくれるのは、結局その人が積んできた経験なんだな、と改めて思いました。 --- ## アリと人間の、決定的な違い ただ、アリと人間には、決定的に違うところがあります。 それは、**人間は「虚構(フィクション)」を信じられる**、ということです。 「ルールだから守る」「みんなで決めたから守る」「仲間に怪我をさせたくないから守る」——これらは、物理的な崖や手すりのような“実体”ではありません。人間どうしが共有している、いわば物語です(『サピエンス全史』を読んだことがある人には、おなじみの考え方かもしれません)。 アリが「楽な方へ寄る」という性質を変えようと思ったら、進化という、気が遠くなるほど長い時間が必要です。でも人間は違う。**進化を待たなくても、認知を変えるだけで行動を変えられる**。「ここは危ないよね」と思えるようになれば、楽なショートカットを自分の意志でぐっと我慢できる。物語の力で、行動をアップデートできるんです。これは、人間のとんでもなくすごいところだと思います。 ただ同時に、これはめちゃくちゃ面倒くさいところでもあります。物語は揺らぐからです。放っておくと、「今日も大丈夫だった」が積み重なって、ショートカットする1%がじわじわ2%、5%と増えていく。安全の世界では、この“なし崩し”を「逸脱の常態化」と呼んだりするらしいです。(AI曰く) だから、安全大会も、声のかけ合いも、なんなら月1回の飲み会も、**一度やって終わりではなく、ずっと続けないと効かない**。物語は、放っておくと薄れていくものだからです。 --- ## まとめ:面倒くさいけど、だから面白い それでも私は、この「面倒くさい」が、わりと好きです。 崖(楽すぎるショートカット)を設計の工夫でそもそも無くすのか。それとも、物語の力で逆向きの引っ張りをかけ続けるのか。**人間が相手だからこそ、「じゃあ、どうすればいい方向に進むだろう?」と考え続けられる**。そこにこそ、人と協力して大きな仕事をすることの、面白みややりがいがあるんじゃないか、と思っています。 そしてもう一つ。今回のように、「アリの巣、なんか偏ってるな」という素朴な疑問をAIに投げると、関連する論文まで一緒に出してきてくれる。それで一気に知見が深まる。昔なら「ふーん」で終わっていたはずの観察が、査読論文と地続きになってしまう。この感覚が、今いちばん面白いです。 ## 自然っていいですね ということで最近撮った、自然っていいな〜写真を載せておきます。 ![](https://flow-with-tech.com/media/wp/2026/05/IMG_2544.jpg) *曲がりくねった道* ![](https://flow-with-tech.com/media/wp/2026/05/IMG_2545-1.jpg) *縁の下の緑たち* ![](https://flow-with-tech.com/media/wp/2026/05/IMG_2553-1.jpg) *ささくれと太陽* --- # 一つの技術から、世界が見えてくる。〜「ふーん」で終わらない頭の中〜 - 公開日: 2026-05-29 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/one-technology-opens-world/ - サイト: 改善紀 — 好奇心の赴くままに。 --- 突然ですが、皆さんは何か新しい技術に出会ったとき、どう感じますか? 「へぇ、こんなことできるんだ」とか、「自分には関係ない」とかで終わるんじゃないでしょうか。私はどうやら、そこで終われないタイプの人間らしい、ということに最近気づきました。 この記事は、ある小さなアプリを作ったことをきっかけに、私の頭の中がどう転がっていったかの記録です。技術的にすごい話ではありません。**一つの技術が、どうやって世界を広げる窓になるのか**、それを改善紀に記します。 ## この記事を読んでわかること - 「ありきたりな技術の組み合わせ」に、どこで価値が生まれるのか - デモは動くのに現場で使えない「ラストワンマイル」の正体 - なぜ私は、いろんなものに手を出さずにいられないのか --- ## きっかけは、ノリで作った「入退場カウンター」だった Vibe Coding でCode Appsが作れるのが楽しすぎる。今日も今日とて新しいもんを作ろかな。「そうだ、プロ開発の世界だと当たり前だけど、Power Appsの人たちが見るとびっくり行天するようなすげえものを作りてえ」 ということで、カメラに映った人を検知して、ラインを跨いだ向きで「IN(入場)」「OUT(退場)」を自動でカウントしてくれるアプリを作りました。 ![](https://flow-with-tech.com/media/wp/2026/05/CleanShot-2026-05-29-at-18.42.30@2x.png) 正直、めちゃくちゃ感動しました。在室人数までリアルタイムで出るし、処理はぜんぶ端末の中で完結していて外部送信はゼロ。(らしい) 同時に、頭の片隅では冷静な自分が「いやでもこれ、既存技術の組み合わせだよな。人体検知も追跡もライン通過判定も、その筋では教科書に載ってるやつだし(多分)、ありきたりかもな」と言っていました。 でも、価値って誰かと比較するもんじゃないのでは? 面白さは、新しいアルゴリズムを発明したことではなくて、「**どこで動いているか**」と「**誰が作れたか**」のほうにありました。普通こういう人流カウントは、専用の機材を用意して専門家がコードを書いて……となるところを、ブラウザだけで、しかも私のような土木技術者がノリで作れてしまった。要素技術がありきたりでも、**実現コストを劇的に下げる組み合わせ方**には、ちゃんと新しさがある。 てか、普通にめっちゃおもろいじゃん。 --- ## 「めっちゃおもろい」のその先に たぶん多くの人は、ここで「面白いの作ったね」で終わると思います。でも私の場合、ここからが本番のようです。 まず最初にぶつかったのが、しょうもないけど切実な壁。**一人だと、ちゃんと検証できない笑** 人体検知って、いろんな体型・動き・照明・混雑度を浴びせて初めて本当の精度がわかるのに、一人だと自分が画面の前を行ったり来たりするしかない。一人の人間が万能のテストデータにはなれないのです。(ああ、自分の分身をつくるパーマンの人形とかほしい・・。何ならいろんな容姿になってくれたら、検証環境として最適なのに。) あと、**技術的に実装するのは、実はそんなに難しくない。難しいのは、現場の無数の条件に対応すること**のほうだと、どこかで聞いたような気がします。 たとえば現場で人をカウントしたいとして。普通に歩く人だけならいい。でも、ハイハイで通る人がいるかもしれない。極端な話、エクソシストみたいにブリッジで走り抜ける人だっているかもしれない(いないけど)。そういう例外に対応できないと、「使い物にならない」と判定されてしまう。 デモは8割の力で動くけれど、残りの2割──現実の例外処理──に、実装コストの大半が吸われていく。一番地味で、一番難しくて、一番評価されにくいゾーン。**あらゆる技術の「ラストワンマイル」って、ここなんだな**と思いました。同時にここが一番おもろいところだと私は思っています。意外とこの辺って力技でどうにかなるところがあって、スマートな方法だけじゃなくて、力技まで合わせ持つことが一番面白いところだなと思っています。 --- ## 一つの技術が、どんどん世界を広げていく ここから先は、もう連想が止まりませんでした。 「学習データに無いものは検知できない」という壁を見て、ふと思う。最近の生成AIなら、存在しない画像も大量に作れる。じゃあ、データが無い対象でも、生成した画像で学習させてしまえばいいのでは? 3Dシミュレーションの中で大量のデータを作ってモデルを学習させる、実用最前線の動画を見たことある気がする。重機のように形が決まっているものなら3Dモデルが既にあるので、相性も良さそう。(やってみよかな笑) カメラはどこから撮るのがいいんだろう。真上から頭を数えるのがいい場面もあれば、横からだと人が重なって隠れてしまう。「どこから撮るか」でアルゴリズムの難易度が変わるなら、賢いモデルを作るより**カメラの位置を工夫するだけでええやん、**ってこともありそう。(カメラいっぱい買おうかな笑) そして極めつけに、こんな感覚に行き着きました。**カメラの映像って、結局ただのデータなんだ**、と。だとすれば「似ているものを探す」ような処理ができるはずで、今の人体検知も、その延長線上にあるんじゃないか。実際、画像とテキストを同じ空間で扱える技術を使えば、学習データが無い対象でも「○○」と言葉で指定して探せる方向の研究もあるそうです。(って、Claude が言ってました) 要素技術の名前はどうでもよくて。大事なのは、**たった一つの小さなアプリが、こんなにも遠くまで思考を連れていってくれる**、ということでした。 これだから新しいものを試したり、実装してみたりするのがやめられないんだろうな。(ベクトル検索を知りたいと最近よく思います笑。ベクトル検索、ベクトル検索。なんかかっこいい。) --- ## そして、現場のことばかり考えている自分に気づく 連想がひとしきり伸びたあと、私の思考はいつも同じ場所に着地します。**土木現場**です。 「現場で写真を撮って、危険なポイントをAIに指摘してもらう」という取り組みがあります。多くは汎用のAIをそのまま使っていて、建設に特化はしていない。じゃあ特化させたいなら、専用モデルをゼロから作る(コストが高すぎる)のではなく、汎用モデルにエージェントを噛ませて、安全法令の知識や、建設現場ならではの知識を持たせればいいのでは──と、ここまでは割とすぐ出てきました。 でも、もう一歩踏み込んだとき、自分の現場経験がありありと思い出せました。 たとえばバックホー(油圧ショベル)。同じ「重機の近くに人がいる」という状況でも、危険度はまったく違う。後方旋回半径の大きい0.7BHなら、旋回したときにカウンターウェイトが人にあたり危ない。一方で小型の0.2BHは、側溝の据え付けで手元の人がすぐ横にいるのが**普通の仕事の風景**だったりする。 つまり、**危険かどうかは「距離」では決まらない。「今どんな作業をしているか」で決まる**。 ここで、コストの違和感が逆にひっくり返りました。仕様の細かい違いまで読み込ませる価値は、「稀な事故を拾うこと」より、むしろ「**正常な作業を正常と見抜いて、無駄に警告しないこと**」にある。 そして気づいたんです。重機の仕様の違いを理解させることは、**その重機がどんな仕事をするのかを理解させること**につながる。これはネットのどこにもまとまっていないし、汎用のAIも知らない。建設のドメイン知識がガチで必要な領域で、だからこそ、**むしろ私たちのような人間がやるべき**なのかもしれない、と。 (あとこういうのを、理屈のように着想して、あれもこれも考えていくのが一番おもろい気がしてきた・・笑) --- ## なぜ私は、そうせずにはいられないのか ここまで書いてきて、自分でもようやく腑に落ちたことがあります。 私はたぶん、**特定の技術やツールそのものには、それほど執着していない**。私が本当に惹かれているのは、技術ではなくて、**建設会社のメインの仕事である「現場」が、良くなっていくこと**のほうだ。ツールは手段の一つでしかない。 私はキャリアの最初の5年を、現場の施工管理として過ごしました。年齢も、歩んできた人生も、私とはまるで違う人たちと一緒に働いて、それぞれが自分の仕事に誇りを持っていて、うまくいかないこともたくさんあって。あの数年でもらったものは、たぶん知識というより、**ものの見方そのもの**になっています。 だから、現場を離れて何年経っても、0.2BHの横に立つ手元の姿が、考えなくても出てくる。あれは思い出しているんじゃなくて、今も現場の世界を見ている、ということなんだと思います。 そう考えると、私が次から次へといろんな技術に手を出して、実装してみて、試さずにはいられないのも、説明がつきます。一つの技術に出会うたびに、私はこう思ってしまうんです。**「これ、明日話すあの人の、何かを解決できるかもしれない」**と。 現場の人と私が会うのはもうそれが最後かもしれない。次会うのは半年後かもしれない。じゃあ**会うタイミングで、一番いい状態になっていれば、私がその人に提供できる価値は最も高まるんじゃないか。**そう思うと、今探求せずにはいられない。これはやれと言われなくてもやってしまうことなんだと思います。 新しい技術は、私にとって「できること」が増えるだけじゃない。**自分の手札が一枚増える**こと、**誰かを助ける手段が一つ増える**ことなんですよね。だから、探求せずにはいられない。 そしてそれが、誰かのためだけじゃなくて、自分自身が一番おもろいと思っているからこそ、継続ができている気がします。 ### あと意外と伏線回収をしている笑 人体検出を知ったのは、2ヶ月前です。その時はローカルでしか実装できなかったのですが、Code Apps を手にしてから思い出して実装してみました。昔はここまでしかできなかったけど、今はここまでできるじゃないか。やりたかったことが全部できるという、過去の点を今まで結んでいくっていうことを、めっちゃやってます。 https://twitter.com/kama_bizdev/status/2035929466942415135?s=20 --- ## まとめ:技術は「できること」ではなく「世界を見る窓」 一つの技術は、それ単体だと「ふーん、こんなことできるんだ」で終わります。でも、そこで終わらずに転がしていくと、思いがけないくらい遠くまで──データの作り方、カメラの置き方、現場の安全、そして自分が何に惹かれているのかという問いまで──連れていってくれます。 技術はどんどんコモディティになっていきます。差がつくのは、**そこに何のドメイン知識を流し込むか**、そして**何のためにそれを使いたいのか**、のほうなんだと思います。 皆さんも、何か小さな技術に出会ったら、「ふーん」で閉じずに、ちょっとだけ転がしてみてはいかがでしょうか。思っているより、ずっと遠くの景色が見えるかもしれません。 (熱しやすく冷めやすいけど、一本芯は通っている。そんな人間になりたいなと思います。) ### 伏線回収事例2:社内版名刺管理アプリ 2025年6月のポストが伏線です。 https://twitter.com/kama_bizdev/status/1934954608033763504?s=20 2026年5月24日 Claude Code によるVibe Coding を手に入れてついに実装。341日越しの伏線回収〜! https://twitter.com/kama_bizdev/status/2058456172643180948?s=20 --- # 【マルチエージェント設計の極意】「〇〇っ○」をエージェントにして気づいた、自律型エージェント設計のたった一つの問い - 公開日: 2026-05-25 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/multi-agent-design-toilet/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること 1. マルチエージェント設計を、専門知識ゼロでもイメージできる考え方 2. 「人間が無意識にやっている判断」をエージェントに落とし込む手順 3. そのアイデアを「実際に作るべきか」を一瞬で見抜くたった一つの問い --- 突然ですが、皆さんは今日、何回トイレに行きましたか? そして、その「トイレに行こう」という判断を、どうやって下したか覚えているでしょうか。 ……覚えていないと思います。私も覚えていません。なぜなら、私たちはそれを**完全に無意識で**やっているからです。 最近、複数のエージェントを組み合わせる「マルチエージェント」の設計をいじっていて、ふと思ったんです。この「無意識の判断」こそ、エージェント設計を理解する最高の教材なんじゃないか、と。 しかも一番身近で、一番無意識なやつ。そう、**おしっこ**です。 (え?と思った方、引き返すなら今です。でも、最後まで読むと意外とちゃんとした話に着地します。たぶん。) --- ## そもそもエージェントって、何をしている? 難しい定義は一旦置いておきます。エージェントがやっていることを、ものすごく雑にいうとこうじゃないか。 > **まわりを見て(観測)→ どうするか考えて(判断)→ 動く(行動)** これをぐるぐる繰り返しているだけ。実はこれ、人間が普段やっていることと全く同じなんですね。 問題は、人間はこのループを**意識せずに**回しているということ。だから「エージェントを作りましょう」と言われても、自分が普段どんな判断をしているか言語化できず、「で、何を作ればいいの?」となってしまう。 そこで、おしっこの出番です。 > まだ間に合います。ウィンドウを閉じるなら今のうちです。 --- ## 「おしっこしたい」を、本気で分解してみる 仮に、人間が「トイレに行きたい」と感じる前に、すべて代わりに判断してくれるエージェントを作るとします。「もう行ったほうがいいですよ」と教えてくれるやつ、と思ってください。 これを作るには、まず「おしっこしたい、とは一体どういう状態か」を定義するところから始まります。(専門家でも何でもないので、厳密には違うと思います。厳密に表現するための調査もしません。) 感覚的には「なんとなく行きたくなったら」ですが、これでは設計できません。分解すると、だいたいこういうことだと思うんです。 > 膀胱に溜まった量が、ある一定のラインを超えた状態 定義できたら、次は「それをどうやって知るか(観測)」です。人間は感覚でわかりますが、エージェントは教えてもらわないとわかりません。なので、たとえばこうします。 > 1時間に1回、膀胱が何パーセント埋まっているかをチェックする これでこの世界に一つ、「膀胱の状態を監視するエージェント」が新しく生まれました。 ### でも、それだけだと全然足りない 実際の私たちの判断は、もっと複雑な要素が絡んでいます。無意識下でやっていることを掘り下げて、環境変数を洗い出していきます。(楽しい) たとえば、**さっきコーヒーをガブ飲みした**としましょう。利尿作用で、いつもより早く溜まるはずです。だとしたら、1時間に1回のチェックでは間に合わない。だって、カフェインによる利尿作用があるから。同時にカフェインを飲んだらおしっこに行きたくなるという、プラシーボ効果も加わり、おしっこは加速することでしょう。 > カフェインを多めに摂ったあとは、チェック頻度を30分に1回に上げる ここで「最近の飲食・体調を見て、監視の頻度を調整するエージェント」が必要になります。 さらに、**トイレまでの距離と混雑**も判断に影響します。目の前にトイレがあるなら、ギリギリまで粘ってもいい。でも、トイレがビルの34階にあって、エレベーターは1機、しかも激混みだったら? 到着までに時間がかかるぶん、**早めに動き出さないと間に合いません**。歴戦の猛者はこれを刹那の時間にやってのけるのです。人間ってすごい。 つまり、普段なら「80%溜まったら行く」ところを、こういう状況では「60%で行動を開始する」と、**判断のラインそのものを状況に応じてずらしている**わけです。わけです。 ここで「周辺環境(トイレの場所・混雑・経路)を調べるリサーチエージェント」が登場します。こいつはかなり情報通であり、気が利きます。利いてもらわないと困ります。 ### 過去の失敗も活かしたい もう一つ。人間は過去の経験から学びます。「あのとき、会議が長引いてギリギリだったな……」みたいな失敗を、次に活かす。これこそが人間である所以であろう。しかし、今回はエージェントに任せます。 > 過去に間に合わなかったパターンを参照して、次の判断を慎重にする これで「過去の経験を判断に反映するエージェント」も加わりました。ナレッジには過去の失敗談を投入します。忘れたい失敗談を記憶から引っ張り出すための、インタビューエージェントの話は今はやめておきます。 --- ## 気づけば、立派なマルチエージェントになっている ここまでで登場した役者を並べてみます。 - 膀胱の状態を監視するエージェント - 体調(カフェインなど)を見て頻度を調整するエージェント - 周辺環境を調べるリサーチエージェント - 過去の失敗を活かすエージェント そして、これら全員からの情報を受け取って、**「で、結局いま行くのか、行かないのか」を最終判断する親エージェント**。 ![](https://flow-with-tech.com/media/wp/2026/05/CleanShot-2026-05-25-at-17.41.14@2x.png) ![おしっこマルチエージェントの構成図](visuals/oshikko-agents.jpg) ……これ、立派な**マルチエージェント設計**ですよね。ね。専門家(子エージェント)がそれぞれ得意分野を担当して、最後に親エージェントが全部まとめて結論を出す。実際の業務システムで作ろうとしているものと、骨格は全く同じです。 何が言いたいかというと、**普段ぼんやり「行きたいな」で済ませている判断も、分解すると驚くほど多くの認知ステップでできている**、ということ。そして、その一つひとつが「エージェント」に対応する。 この「無意識の判断を棚卸しして言語化する」プロセスさえできれば、実は**身のまわりのかなりのことが、エージェント設計の練習問題になる**んです。時間と労力の無駄なので、やる必要はないと思います。 > 私はこういうことを考えるのが好きです。 --- ## ちょっと冷静になろう。 ここまで読んで、「なるほど、何でもエージェントにできるじゃん!」と思った方。 半分正解で、半分は罠です。 たしかに、世の中の判断はだいたいこの「観測→判断→行動」の型に当てはめられます。だから「当てはめゲーム」としては、ほぼ何でもいける。私もこれに気づいたとき、「俺、何でもエージェント大喜利できるんじゃないか」と本気で思いました。 でも、悲しいかな。**当てはめられること**と、**実際に作る価値があること**は、まったくの別物です。 そして今回のおしっこエージェント、**作る価値は1ミリもありません。** なぜか。 人間が、何のコストもかけずに一瞬で判断できてしまうからです。わざわざ膀胱にセンサーを仕込んで、頻度をチューニングして……というコストに、まったく見合わない。そもそも膀胱が何パーセントかなんて、現実には観測できなさそうだし。 --- ## 結局、自律型エージェントを作るかどうかは、たった一つの問いに尽きる ここで、最後の問いです。マルチエージェントだの認知の分解だの、いろいろ語ってきましたが、「これをエージェントにすべきか?」の判断は、突き詰めるとこの一言に集約されると思っています。 > **そのエージェントが「すみません、忘れてました、間違えました」と言って、おしっこを漏らしても、あなたは許容できますか?** 許容できるなら、作って、使ってください。エージェンティックで快適なおしっこライフを。 許容できないなら——**今まで通り、自分でちゃんと判断して、ちゃんと生きてください。** 「間違えたときのダメージ」と「任せることで得られる楽さ」を天秤にかける。漏らされて困るなら、人間が判断したほうがいい。漏れても笑って済むなら、任せればいい。 自律型エージェントを作るというのは、つまるところ「認知を行動を分解して整理してエージェントに任せること」を決めることなんだと思います。技術的に作れるかどうかは、もはや論点ではないのかもしれません。 --- ## まとめ - エージェントは「観測→判断→行動」のループを回しているだけ。人間が無意識にやっていることと同じ - 身のまわりの「無意識の判断」を分解すると、それがそのままマルチエージェント設計の練習問題になる - ただし「作れる」と「作るべき」は別物。**漏らされて許せるかどうか**が、最後の判断基準 皆さんも、身のまわりの「無意識にやっている判断」を一つ、分解してみてはいかがでしょうか。きっと、思っているより多くのエージェントが、あなたの頭の中で働いていることに気づくはずです。 (おしっこに例えて物事をわかりやすく理解する傾向にあります。誰もが経験しているので分かりやすそうに見えて、使いづらいですね。ブログ路を書いたらXにポストしてますが、今回は恥ずかしいのでしません。) そういえば、この辺りの話は認知タスク分析やReAct という手法らしいです。また研究したい分野が増えてしまいました。本買おうかな・・ --- # 【Power BI】使用回数を可視化するレポートを作ってみた - 公開日: 2026-05-03 - カテゴリ: Dataverse・Automate・BI - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/copilot-usage-powerbi-visualization/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## はじめに Copilot の使用回数を見る。誰がたくさん使っているかを見る。 ふと思いました。もっと見たい。もっとデータで見たい🤤 そんな欲望を叶えるために、サンプルデータを生成して、Power BIを作ってみました。 > ※全て生成AIで作成した架空のデータになっています ![](https://flow-with-tech.com/media/wp/2026/05/CleanShot-2026-05-03-at-20.24.27@2x.png) *今回作成したPower BI* ## 組織の階層構造から可視化したい データを使って、解像度をあげよう。 ![](https://flow-with-tech.com/media/wp/2026/05/CleanShot-2026-05-03-at-20.38.12.gif) ## ヘビーユーザーは使用回数の相対値で出したい かつ、Power BIレポート上で変動できるようにしたい。 ![](https://flow-with-tech.com/media/wp/2026/05/CleanShot-2026-05-03-at-20.29.38.gif) ## ヘビーユーザーが組織のどこに生息しているか知りたい ヘビーユーザーが密な組織と、無の組織を炙り出したい。 ![](https://flow-with-tech.com/media/wp/2026/05/CleanShot-2026-05-03-at-20.31.38.gif) ## ヘビーユーザーがいる組織いない組織を知りたい ヘビーユーザーが1人でもいる組織を炙り出すことはできた。しかし、1人もいない組織はまだ実装できていない。あと、もしかしたらこれは分析ツリーじゃなくて、マトリックスとかでもいいのかもしれない。 [画像: (埋め込みデータのため省略)] ## こんな視点でも考えてみたい いろんな生成AIサービスが戦国時代を繰り広げているとする。鎖国をして国内で争っているみたいだ。1つの生成AIサービスだけを考えるんじゃなくて、全体としてどうあるのが理想なのかをベン図で考えてみたい。 ![](https://flow-with-tech.com/media/wp/2026/05/CleanShot-2026-05-03-at-20.46.39@2x.png) *As Is* ### 追記:Power BIでやってみた記事をQiita に投稿しました [https://qiita.com/kama_bizdev/items/5fbde2c87837a1cc70ef](https://qiita.com/kama_bizdev/items/5fbde2c87837a1cc70ef) ### パターン1:空白地帯を攻める 他サービスを駆逐するのではなく、空白地帯を攻めてみる。つまり、まだ生成AIを使用していないユーザーを目掛けるのだ。 ![](https://flow-with-tech.com/media/wp/2026/05/CleanShot-2026-05-03-at-20.48.37@2x.png) ![](https://flow-with-tech.com/media/wp/2026/05/CleanShot-2026-05-03-at-20.49.46@2x.png) *To Be* ### パターン2:真っ向勝負をする オセロみたいですね。 ![](https://flow-with-tech.com/media/wp/2026/05/CleanShot-2026-05-03-at-20.51.21@2x.png) 重複が増えるのは、あまり好ましくないか・・(300人鞍替えしました笑) ![](https://flow-with-tech.com/media/wp/2026/05/CleanShot-2026-05-03-at-20.40.02@2x.png) ## まとめ やっぱりPower BIって面白い。 --- # 【言語化】当たり前をデータとアルゴリズムで見つめ直したい - 公開日: 2026-04-20 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/career-reflection-data-algorithm-change-cognition/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## はじめに 現場の施工管理からDX推進、データ利活用や機械学習を経て、現在は社内の市民開発(Power Platform)推進などをしています。そんな中で、正直この先どうなりたいのだろうと、悩むことが多くあります。まだ、完全に解決したわけではないのですが、現時点で自分がこうありたいと思っていることを言語化してみました。 ## どんなことに問題意識を持っているのか 問題意識って人それぞれ違っていて、それにはその人の個性が宿ると聞いたことがあるような気がします。私は割と一貫して、意思決定とか非効率な仕組みに対して、どうにかしたいなと思っています。飲み会にあまり行かないタイプですし、基本的に根回しや人間の感情面への興味は割と薄いです。だからこそ、仕組みやデータで解決できたら面白いかなあと思うことが多いです。 ## 過去にやってきたこと ### 業務記録Power Apps 業務中だけじゃなくてプライベートでも記録をしてみました。数値化をして定量的に振り返ることで、自分の中でのなんとなくが、はっきりとした数値の感覚に変わる体験をしました。振り返り方も大事だと気づいた。人間は時間を把握するのが難しい。Outlook やGoogleカレンダーのウィークリービューのような形式で見るのが、わかりやすいという発見もあった。そして、データを見るというのは、いかに見せて人間の認知のしやすい形にするかが、結構面白いと気づきました。 https://flow-with-tech.com/lifelogging-system-with-power-apps-one-year-review/ ### 意思決定を変革する手法探索と実装 すごく面白い観点だなと思い、Claude Codeとともにその概念を整理してPython Notebookと追いかけてみた。それだけにとどまらずどうしてもコストをかけずに実装をしてみたいと思い、Power Platform で実装をしてみました。多様な意見を持っている人がたくさんいるのに、それを使えないなんて勿体無い。じゃあ、アルゴリズムでどうにかするか。そのスタンスに興味があります。 https://flow-with-tech.com/claude-code-power-apps-development/ ## 現時点でやりたいこと(テーマ) 問題意識や過去にやってきたこと、今興味を持っていること、それらをまとめると、私のやりたいことはこれになります。 > 当たり前だと思っていた認知を、データやアルゴリズム、デジタルを使って変革したい。 ## 具体的にやってみたいと思っていること とある現場にCopilot をめっちゃ使っている人がいたとする。ある日、その現場の全員が、Copilotの有償ライセンスの申請をする。これは一体どういうことでしょうか。そう、一人の伝道師によって社内にイノベーションが伝播したのである。それをフーンで終わらせずに、じゃあ逆に今度はどこでイノベーションが伝播するのか、逆に広めたいときにどこから・誰から・どうやればいいのかを、シミュレーションできたら面白いのでは? VivaInsightsのデータを使って、人と人とのつながりをデータとする。どのように伝播していくかのアルゴリズムを組み合わせてシミュレーションや分析をする。そして、予測と実測を比較する。そこから得られるインサイトは一体どんなものになるんでしょうか。予測と実測があっていたとしても、あっていなかったとしても、どちらもめちゃくちゃ興味深いインサイトが得られると思います。 こんな感じで、ふーんとか、ほぇーで終わらせずに、何かそこに疑問を持って食い込んでいきたいなと思っています!(だって、めっちゃおもろそうなので。) ## そのために学んでみていること 始めたばかりでなんとも言えませんが、この辺りを見ていっています。 ①ネットで閲覧ができるので見てる [https://networksciencebook.com/chapter/1](https://networksciencebook.com/chapter/1) ②Amazonで参考書を買った ちょっと高いので中古で買いました笑 https://www.amazon.co.jp/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E7%A7%91%E5%AD%A6-%E3%81%B2%E3%81%A8%E3%83%BB%E3%82%82%E3%81%AE%E3%83%BB%E3%81%93%E3%81%A8%E3%81%AE%E9%96%A2%E4%BF%82%E6%80%A7%E3%82%92%E3%83%87%E3%83%BC%E3%82%BF%E3%81%8B%E3%82%89%E8%A7%A3%E3%81%8D%E6%98%8E%E3%81%8B%E3%81%99%E6%96%B0%E3%81%97%E3%81%84%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81-Albert-L%C3%A1szl%C3%B3-Barab%C3%A1si/dp/4320124472/ ## まとめ 本当にやろうとすると1つの研究になるような専門性のある世界のようです。ただ、そんなの関係なく自分が興味を持ったことをやってみるのが、自分らしいのでしばらくやってみようと思います。 --- # 【Power Apps】User()とOffice 365ユーザー、どっちを使う?ユーザー情報取得のベストプラクティス - 公開日: 2026-04-15 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/power-apps-user-info-user-vs-office365/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## はじめに Power Appsにおいて、アプリを実行しているユーザー情報を使いたい時ってありますよね。Sharepoint ListsやDataverse のユーザー列は便利ですが、ユーザーの部署や役職が変わると、当時の情報ってわからなくなりますよね。かといって、毎回必要なユーザー情報を定義して登録するのって面倒臭い。 今回は、そんなあるあるを解決する手法をご紹介します。シンプルかつ柔軟性が高く、強力な手法です。ぜひみなさん使ってみてください〜。 ## 結論 ①Formulasにこれを入れる ``` varcurrentUser = 0ffice365ユーザー.MyProfilev2() ``` ②varCurrentUserの後に"."を入力して使いたい情報を呼び出す ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-15-at-21.05.48@2x.png) ## user()とOffice 365ユーザーで取得できるものの違い ユーザー情報を取得する方法は大きく2つあります。それぞれ何が違うのかご説明します。Office ユーザー365を使う方がたくさんの情報を取得できます。 ### 方法1:user()を使う 4つだけのシンプルなデータが利用できます。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-15-at-20.54.14@2x.png) ### 方法2:Office 365ユーザーを使う まずは、データにOffce 365ユーザーを追加します。Officeと入力すると出てきます。スクロールしなくてもいいので、これが最速のはずです。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-15-at-20.52.06@2x.png) 選択肢はたくさんあります。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-15-at-20.55.10@2x.png) ユーザー情報を取得できる「UserProfileV2」を見ると。こんなにあります!! ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-15-at-20.57.04@2x-2.png) ## 個別に変数に定義するとどうなるのか まずは必要な情報だけを、個別に定義してみます。たくさんFomulasに書かないといけなくて結構面倒くさい。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-15-at-21.03.22@2x.png) 一方で、使いたいときは、結構シンプルで良い感じですね。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-15-at-21.04.15@2x.png) ## レコード単位で定義するとどうなるのか(おすすめ) レコードとして定義することもできます。この場合は定義する段階は1行だけでいいのでシンプル! ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-15-at-21.01.10@2x.png) この場合使いたいときに、"."を入力して詳細の項目を候補から選ぶ必要があります。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-15-at-21.05.48@2x.png) でも、定義がシンプルだし選択肢から選ぶだけで良いので、楽ですね。 ## まとめ これが一番楽 使わないやつを定義しなくていいし、後から追加で使いたいも簡単に呼び出せる! ![](https://flow-with-tech.com/media/wp/2026/04/image-1.png) --- # Copilot がPower Platform沼の入り口になる世界線。ユーザーはツールを意識しなくて良いのでは? - 公開日: 2026-04-10 - カテゴリ: Power Platform - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/copilot-single-entry-point-power-platform/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## Power Platformを使い始めるまでの、最大の障壁は何か? 現在、Power Platformの利活用が進まない最大の原因は「何ができるかわからない」という問題だと思います。 ユーザーはまずPower Appsが何か、Power Automateが何かを理解し、それぞれのツールで何ができるかを学び、自分の業務に当てはめて考える必要があります。しかし、その勉強に投資する価値があるかどうか、判断するのは難しい。(そこに飛び込む人たちのことを〇〇と呼ぶとか呼ばないとか。) 結果として、学ばない → 使わない → 価値がわからない → 学ばない、というループに陥り、利活用は進みません。 (まずは、活用事例を示してほしいと、利活用担当者は言われ続けます・・。出したら出したで、なんか違うなあって。) また、現状ではPower Apps内のCopilotやVive Apps、GitHub Copilotなど、個別のツールごとにAI支援機能が存在しています。しかし、それぞれが独立しているため、要件定義 → 設計 → 実装 → ドキュメント作成 → デプロイ → 配布 → 改修という一連の流れがシームレスにつながりません。部分最適では、多くの人に使ってもらうのは難しい。 ### Claude CodeとPower Appsを実際に作ってみた これによりただのチャットではなく、コンテキストを理解して実装までしてくれるAIがどれだけ強力なツールかを身をもって知りました。 https://flow-with-tech.com/claude-code-power-apps-development/ ## **提案:CopilotをPower Platformの入り口にする** ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-10-at-19.03.30@2x.png) このフローのポイントは、ユーザーからPower Platformへの矢印が最後の「使用開始」の1本だけであることです。それ以外はすべてCopilot経由であり、ユーザーはPower AppsやPower Automateという「ツール名」すら知らなくても良いです。「なんか青いやつで自動化してる」「なんか紫のアプリ使ってる〜」ぐらいの感じです。 さらに、この体験はデプロイ後も継続する。完成したアプリをチームに配布するとき、マニュアルを作成するとき、引き継いだ担当者がアプリを改修したいとき——すべてCopilotに相談すれば対応できます。(めっちゃいいじゃん!) ユーザーは安心してPower Platformを、ツールの存在を意識することなく活用できる。(野良アプリなんてもう懸念されることすらないのさ) これは生成AIのオートモード(ユーザーがモデルを選ばなくても、AIが最適なモデルを自動選択する)と同じ方向性であり、すでに業界全体で起きている「入り口の一本化」の流れなんじゃないかと思います。 Power Platformの真の価値は、Microsoftのセキュアなエコシステムの中でアプリが生まれることにあります。Copilotがその入り口を一本化し、要件定義からデプロイ・運用保守までをオールインワンでシームレスにつなぐことで、Power Platformの利活用は爆発的に広がると確信しています。 Power Apps好きとして、そんな未来を楽しみに待っています!! ## 勝手にFAQ ### それってもうMicrosoftがやろうとしていることじゃない?Vive Appsとか既ににあるし。 > 確かにそうですね。 ### 「ガバナンスどうするの?勝手にアプリがデプロイされるのはまずくない?」 **だからこそPower Platformの中でやる意味があるのでは**?と思っています。テナント全体でDLPポリシーが設定でき変なコネクタは使えない。ユーザーの権限を超越したデータアクセスはできない。だからある程度好き放題できる——これがPower Platformの最大のメリットの一つだと思います。 #### Claude Codeを使って分かったPower Platformの良さについて こちらの記事で書いてみました。 https://flow-with-tech.com/claude-code-ghost-employee-automation/ ### 「ユーザーが中身を理解しないまま使うのは本当に大丈夫なの?」 今は、確かにリスクに見えると思います。でも、**時代によって「問題」の定義そのものが変わる**ということを考えたいです。 たとえば受動喫煙。ある時期まで問題にすらされていなかったのに、ある時から大問題になり、分煙が進みんだ今ではあまり話題に上がらなくなったと思います。パスワード管理もそうです。「パスワードをどう安全に管理するか」が長年の課題だったのに、パスキーの登場で「そもそもパスワードを使わなくていい」世界になり、問題すら無くなっていってます。 同じことがこの領域でも起きるのではないでしょうか。「ユーザーが中身を理解すべき」という前提自体が、AIエージェントが当たり前になった世界では変わっていく可能性があります。Claude Codeのようなツールで誰でもアプリが作れる時代に、「ユーザーが全てを理解してから使うべき」は、もはや現実的ではないかもしれません。 --- # Claude Codeと意思決定Power Appsを作ったログ - 公開日: 2026-04-05 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/claude-code-power-apps-development/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - Claude CodeとPower Appsを開発してみて分かったこと - どんな風にClaude Codeと作業をしたのか ## はじめに 意思決定を変革するためのPower Appsを作りたい。そのためには、Power Platformだけじゃなくて、Pythonを使用する必要があります。データ設計・Python側でのアルゴリズム処理とDataverseへの結果の書き込みまで、総合して設計をする必要がありました。 そこで私は、Claude Codeと一緒に開発をすることにしました。その結果、4日で一旦完成しました! 今回は私がどんな手順でClaude Codeと一緒に開発をしたのかをご紹介します。 ## 1日目:アプリの設計をする(75分) こんな感じでなんとなくの全体像はすでに持っていました。ただ、これを実装しようとするとデータ設計や画面の遷移、Python側との整合を取る必要があります。Pythonが増えると特にデータの設計が重要になり、その上でキャンバスアプリ側との整合が必要でした。難しい・・・ ![](https://flow-with-tech.com/media/wp/2026/04/image.png) Claude Codeに相談しました。 ### 相談した内容 PolisのアルゴリズムをPower Platformをフロントにして再現をして使えるようにしたい。Power PlatformとPythonはDataverse SDK for Pythonでできると思っている。(FabricのNotebookはやめておく)キャンバスアプリでデータ入力や結果の可視化まで出したくて、散布図も出したい。 ### アプリとテーブル設計を一緒にやってもらった Claude Codeは ".md "のようなテキストファイルも自分で作ってくれます。自然言語で相談した内容をもとにドキュメントが出来上がっていきます。Vs Code でプレビューしながら作成を続けていきます。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-19.05.15@2x.png) データの設計も一緒にやりました。最終的にこんな感じになりました。1日目の設計から少し変更があったので、これは最終版です。一対多であったり、散布図を可視化するために追加するテーブルであったりと、中身を自分でもイメージできるようにしながら設計をしてもらいました。不要な列は削除してもらったり、投票断面のユーザー属性情報を記録するような設計にしてもらったりしました。Pythonもキャンバスアプリも、途中でデータ設計の変更が入ると面倒なので、この辺は結構慎重に設計をしました。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-19.10.08@2x-1.png) ## 2日目:Dataverse作成・Python動作テスト(80分) ### Dataverseを作成する テーブルの設計ができました。次にDataverseを作成します。AIが設計したテーブルを手動で作成するのって結構大変じゃないですか。今回はClaude Codeにさっきのテーブル設計でcsvを作成してもらいました。初めて知ったのですが、Dataverseにはcsvを読み込んでテーブルを作成する機能があるらしく、それを使いました。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-19.21.13@2x.png) Dataverse作成時にこんなに大きく表示されていた、「Excelファイルまたは CSVをインポート」に投入 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-19.22.39@2x.png) 5つのテーブルを作成できました。この方法で作成すると抜け漏れやデータ型のミスが少なくて良いですね。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-02-at-07.24.59@2x.png) ### Python動作テストをする Dataverseができた後みなさんなら何をしますか?キャンバスアプリ開発に移行しますか。今回、私はPython側での動作テストを優先しました。なぜならいくらキャンバスアプリを頑張って作っても、今のデータ設計ではPython処理がうまくできないとなると、無駄になるからです。サンプルデータをわざわざ作ってでも、先にPython動作テストを優先しました。 サンプルデータの作成もClaude Codeにやってもらいました。一連のチャットのコンテキストだけじゃなくて、今やろうとしていることの趣旨やデータ設計などを、ファイルから読み取って整合の取れた生成をしてくれるのが、本当に助かります。 しかもこれが80分程度でできてしまうのが、最高です。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-02-at-19.50.45@2x.png) モデル駆動型アプリからサンプルデータを投入することができました。サンプルデータ作成から投入がスムーズにできるのは地味に嬉しい。意外とこういうところで時間かかりますよね。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-02-at-19.56.32@2x.png) なんやかんやあり、Python動作検証も無事完了。実はPolisのアルゴリズムは以前に中身理解のために再現を試みたことがあり、ほぼそれを使うだけでできました。(もちろん再現したのも、それを参照して今回用に書き換えたのもClaude Code です。) ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-02-at-20.17.28@2x.png) ### Polisの手法を追いかけてみた記事 Pythonで実行するとどうなるのかについて知りたい方はこちらから。 https://flow-with-tech.com/polis-algorithm-consensus/ ### ちなみにDataverse SDK for Pythonも記事投稿しています この時はClaude Codeじゃなくて、Claude にコードを書いてもらいました。以前興味を持ってやってみたことが、意外なところで役に立ちました。興味を持ってやってみるって大事ですね。 > [https://qiita.com/kama_bizdev/items/e3794678792cc802f476](https://qiita.com/kama_bizdev/items/e3794678792cc802f476) ## 3日目:キャンバスアプリ試作(50分) 設計書もある、データ設計もある、Pythonもいけそう。じゃああとはキャンバスアプリを作るだけじゃないか。キャンバスアプリってClaude Codeに頼むとこんな風に作ってくれます。(ギャラリーは使えないけど) ``` 全体の仕組み 要件(日本語) ↓ Claude が .fx.yaml を書く src/App.fx.yaml + Screen*.fx.yaml ↓ bash src/build.sh <アプリ名> pac canvas pack(Microsoft 公式 CLI) ↓ data/output/<アプリ名>.msapp ↓ Power Apps Studio にインポート 本質: .msapp はただの ZIP。中身は YAML テキスト。pac がそれをコンパイルする。 ``` ということで、作ってもらおうとしました。あわよくばこれでできたら嬉しい。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-03-at-07.12.30@2x.png) ### キャンバスアプリをClaude Codeに試作してみてもらった結果 いろいろ手直しが必要でした。原因はこの辺りのようです。 - リレーション付きのDataverseをデータソースとしている。 - 5画面ぐらい必要 - 画面遷移の際にユーザー情報やすでに投票をしているかどうかなどのフィルター条件が必要 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-03-at-07.31.50@2x.png) ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-03-at-07.55.52@2x.png) AIが作ったものを人が理解して手直しをするのは、ハードルが高い。ということでキャンバスアプリは自分で作成することにしました。この辺がプロ開発のアプリケーションと違うところでしょうか。コードで開発しているアプリならCladue Codeに手直ししてもらえるのに。そう思いました。 ## 4日目:キャンバスアプリ完成(500分) 実は設計の段階でフローチャートやシーケンス図もClaude Codeが作成済みです。じゃあこっからは私の腕の見せ所じゃないか。(ワクワク) ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-19.41.53@2x.png) ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-19.42.16@2x.png) ### イメージできていないという壁 データ設計も全部やってもらっている。中身を確認したとはいえ、頭の中で完全にイメージはできていない。そこにPower Apps特有のグローバル変数・コンテキスト変数・コレクション・ユーザー情報やフィルター条件が加わることにより、何からやればいいか分からなくなりました。アプリの見た目にも拘りたいし、AppOnStartでアプリのカラーパレットも定義したい。 ということでClaude Codeに相談しました。 ### カラーパレットや変数を事前に定義する アプリ全体の設計・データ設計・やりたいことがファイルとして存在している(Claude Code作)。じゃあそれを読みつつ、キャンバスアプリ実装の設計書を作って貰えばいいじゃないか。ということでカラーパレットや最初に定義するべき変数の設計からやってもらいました。(私の出番はいつあるんだろうか) ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-04-at-07.51.44@2x.png) テキストでカラーパレット言われてもよく分からん。ということで、カラーパレットを定義してそれをPower Appsで見るためのキャンバスアプリを作りました。こういうデータソースなしのキャンバスアプリはClaude Codeで作れます。(任せてください) なんかもうAppOnStartじゃなくてFormulasを使うらしいよ。じゃあ、今回からそっち使ってみるか。カラーパレットをFormulasとやらに入れて、Claude Codeが提案してくれた色合いを、Claude Codeが作ってくれたキャンバスアプリで見る。 私がしたこと。「この色にする」という決断・・・(やっと出番があって嬉しい) ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-04-at-08.18.56@2x.png) ### キャンバスアプリの作り方を全部作ってもらおう ここからは私が手を動かすことになります。先ほども言いましたが、このアプリを開発するのは私には少し荷が重いです。じゃあClaude Code にキャンバスアプリの作り方を全部作ってもらえばいじゃないか。こんな感じに。 私はこれをみながらキャンバスアプリを作成しました。AIが作った手順書を見て、人間が作業をする。素晴らしいです。(本当は作成するところまでやってほしい・・・) これが5スクリーン分あります。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-19.52.57@2x.png) ### こんなところは詰まる Two Optionsのデフォルト値をコンボボックスでの設定がうまくできず。結局、Dataverse側の既定値をYesにして、アプリからは空で送信することにした。ちなみにこの解決策もClaude Codeが考えました。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-04-at-09.34.27@2x.png) 一番詰まったのはここです。3つのテーブルにまたがるフィルター条件でした。今回の議題の意見の中で、自分がまだ投票していない意見のみを表示したい。Dataverse 側でリレーションをしていると、子テーブルから親テーブルの指定方法や、それらをFilterで絞り込むための方法が難しかったです。 Claude Code側は「Sonnet 4.6」を使用していますが、Claude (ウェブでチャットする方)でOpus 4.6に相談をしたところ、解決できました。Claude Code側でもOpus 4.6を常に使えば、今回の問題は起きなかったかもしれません。ProプランなのでOpus 4.6をずっと使うのは結構厳しい。困った時は自分で調べるのもそうですが、AIのモデルを上位のものにしてみるのもいいかもしれません。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-04-at-14.06.51@2x.png) ### キャンバスアプリができた いろいろありできました。正直こんなにすぐできると思ってなかったです。期日がありそれに間に合わなかったらどうしようと思っていましたが、形になってホッとしました。 [画像: (埋め込みデータのため省略)] ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-04-at-21.57.17@2x.png) 散布図を可視化するためにSVGも作成してもらっています。この調子だとSVGを理解することはもうないかもしれません。AIに相談すればいいじゃんになってしまいそう。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-04-at-22.00.28@2x.png) ## 1年前はどうやったのかを振り返ってみよう 1年前の資料を振り返ります。こうしてみると成長したな〜と実感します。 ### アプリの設計 アプリ全体の遷移など検討。悪戦苦闘している様子が素晴らしいですね。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-20.10.43@2x.png) 手書きだとイメージはしやすいけど、細かいところまで表現はしきれないな。あとはAIにこれを渡しづらい。AIと仕事をする上で、共通言語となるMarkdownがいいですね。チャットでやり取りをしてファイルを作ってもらえるし。手書きのやつはAIが手直しして、それを私が再編集ってのができない。それが結構致命的だな。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-20.10.06@2x.png) ### ついでにアプリネタ帳 このクオリティはまだAIにはできないだろう。最高のネタ帳だ。 ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-20.11.11@2x.png) *迷路ゲームネタ* ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-20.15.50@2x.png) *迷路ゲーム完成版* ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-20.11.21@2x.png) *ボス戦ゲームネタ* ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-05-at-20.17.41@2x.png) *ボス戦ゲーム完成版* ## まとめ Claude Codeと作業をすることによって、設計からPython実装、アプリ開発まで12時間ぐらいでできました。これからもっと細かいところの修正はしますが、それでもこんなにもスムーズにできるなんて驚きました。作りながらエラーを解消していくことが多いと思いますが、Claude Codeと作業をすると設計図書のコンテキストも踏まえた回答をしてくれるのが良かったです。 Python(機械学習モデル作成)・Dataverse(PL-200取得)・Claude Codeという、ここ1年間で習得したスキル達があってこそ今回のPower Appsが作れました。AIの力をめちゃくちゃ借りていますが、やりたいこと実現したいことができるのは、すごい嬉しいです。 作業を終えた後の私の手元には、Claude Codeとの会話ログとアプリやデータの設計書がデータとして残っています。しかもテキストファイルです。次回、何か似たようなことをしたいとき、今回の設計書を読んでもらって、同じような手法でアプリ開発ができるのではないでしょうか。同じ作業をしていても人がやっていたら、今から設計書の作成などの仕事が始まりますよね。AIと仕事をするってすごいなあと感じています。 ## 今回の経験から考えるPower Platformの未来 こちらの記事に書いてみました。どうすればもっとPower Platform沼にハマる人を増やせるのか。答えは一元化にあるのではないかと。 https://flow-with-tech.com/copilot-single-entry-point-power-platform/ ## 4月6日追記:アプリ画面をスライドで作ってもらった デザインが得意な人とUIをブラッシュアップするかも。Power Appsを渡して作業してもらうのは難しいし、今の画面スクショだけ渡すのがいいのか悩む。そうだ、実際のアプリができているから、スクショしてClaude にスライドとして生成して貰えばいいじゃないか。 いや待てよ。もはやスクショなんて不要なのでは。なぜなら設計書の中に画面設計まで書いてあるのだから。ということで設計書を全て読ませて画面イメージをスライドで生成してもらった。キャンバスアプリを作り始める前にやっておけば良かった。これから作りアプリのイメージめちゃっちゃしやすいじゃないか。 ### 議題一覧スクリーン ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-06-at-18.22.26@2x.png) ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-06-at-18.19.00@2x.png) ### 投票スクリーン ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-06-at-18.24.27@2x.png) ![](https://flow-with-tech.com/media/wp/2026/04/CleanShot-2026-04-06-at-18.24.40@2x-1.png) --- # 2026年3月の10 Essentials 今アツいもの - 公開日: 2026-03-22 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/lifelog-hot-things-polis-claude-code/ - サイト: 改善紀 — 好奇心の赴くままに。 --- 自分の中で今アツいものを書き記す、ライフログです。 ## YouTube「ゆるコンピュータ科学ラジオ」と「ゆる言語学ラジオ」 [https://www.youtube.com/@yurucom](https://www.youtube.com/@yurucom) コンピューターについても、いろんな教養についても面白く知ることができます。 ### PolisというSNSを知った 私がPolisを知ったきっかけです。 https://youtu.be/vz1BZzfK1lk?si=YqWAl6sE68k-OvJV ### Vimというテキストエディタを知った 前半ではVimとEmacsというテキストエディタ戦争について語られています。聴きながらVimを使ってみました。起動や操作方法に慣れれば爆速でエディタを開けていいのでは。最後にその私の興味を全て打ち消す事実が出てきました。結局、Vimむずいということが分かりました。 https://www.youtube.com/watch?v=KpDTFSijA6U ### なんの為に生きているのかというと、コンテンツを生み出すため 生産性を高めてお金を稼いで、また生産性を高めるガジェットを買う。何をしているの? コンテンツをたくさん生み出したいから。 https://www.youtube.com/watch?v=UF4O9WMfE3E ### 人である意味がなくない? そんなことある?でもなんかわかる。 https://www.youtube.com/watch?v=h-YQwsezBnY ## 興味編 対立を作らないPolisというSNS 今までの当たり前を見直してデータやアルゴリズムを使って、意識決定しようぜというマインドが最高です。最高すぎてPythonでアルゴリズムを再現しました。そして、公式の正解データと一致しているか確かめました。裏側まで追いかけて知りたくなる。こんなの久しぶりに出会いました。何か実務で使いたい! https://flow-with-tech.com/polis-algorithm-consensus/ Pythonノートブックはこんな感じになっています。(なんかすごい雰囲気) ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-22-at-19.17.26.gif) ## ツール編 些細な困り事を解決できた瞬間て最高ですよね。地味すぎてXにポストするまでもない、些細なネタを書いてみます。 ### 動画をGifにする「ffmpeg」 Xにポストした動画を、Gifにしてブログに載せたい。そんなことありませんか。動画を再生しつつ、再度画面録画をしてGifを作っていました。面倒臭い・・・ ffmpeg という変換ツールがあり、それをClaude Codeとなんやかんやすることで、ターミナルから簡単に実行できるようにできました。これは地味に嬉しい。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-22-at-19.25.50.gif) ### Mac版 Zoomlit 画面に注釈をするツールである、ZoomlitをMacでも使いたい。GitHubに公開されいているアプリがありました。これは画面録画で説明動画を作るのにすごい助かる。嬉しい。 [https://github.com/07JP27/ZoomacIt](https://github.com/07JP27/ZoomacIt) ### Notion 最近はObsidianに移行していた。久しぶりに見返してハッとした。Notionもいいじゃん。 ボードビューいいな。こんなこと書いてたな〜 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-22-at-19.33.40@2x.png) ライフログに関するいろんな情報を書いています。経過年数も出せるので、どれぐらい経ったんだろうを可視化できるのはいいですね。(マップビューもあるんですよ〜) ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-22-at-19.35.56@2x.png) こういうデータからこういう記事を作ろうと思っているような、そうじゃないような気がします。 https://flow-with-tech.com/power-apps-first-month-learning-journey/ 誰もが作っていると思いますが、持ち物一覧は結構アツいですね。購入日からTodayまでの日数を計算して、愛用年数を出してくれます。もっと長く使いたくなりますね。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-22-at-19.52.34@2x.png) ### スタイリッシュなブラウザを使いたい 「Zen」というブラウザを使ってみています。Google Chromeだと開いているブラウザを縦タブにできないので、変えてみたいと思いました。とにかくスタイリッシュな感じでいいです。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-22-at-19.39.13@2x.png) ## AI編 ### Claude Code これですよ。使い始めて1ヶ月も経ってないのに、もうおもろすぎる。 Claude Codeとやったことダイジェスト - AIエージェントとやり取りができるシミュレーションゲームPowerPlaQuest作成 - キャンバスアプリ、Code Apps作成パイプライン構築 - 動画をGifにするやつセッティング - Notion MCPサーバーを使ってメルカリの販売履歴をデータベースへ記録 - 私の相手をしているClaude Code目線でブログ自動作成、Discord で投稿していい確認、OKならブログ投稿エージェント - Polis アルゴリズム再現Python Notebook作成 とにかくClaude Codeに話しかけるところからやると、自分でも思いもよならないことができる。凄すぎる。動画をGifに変換するやつなんか、Claude Codeがなかったらセットアップできなかっただろう。こういういいツールを使えるようにすぐできるのが、素晴らしいな。生産性がほんの少しだけど上がっていく。同時に知識「こんなのあるんだ」を日々知ることができるのが、良いです。 PowerPlaQuest はこんな感じです。 https://flow-with-tech.com/powerplaquest-ai-simulation-game-with-claude-code/ ### Grok Xを使っていればある程度無料で使えることを知った。やってみると結構おもろい。Claude と比べると特にガードレールが緩すぎて、そのギャップが面白い。Xの自分の投稿を参照することもできるので、あの時のあのポストを探してくれて、地味に便利。 昔ポストしたPower Appsで糸通しゲーム作れそうっていうポストを探してもらった。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-22-at-19.50.34@2x.png) この記事で引用したくてポストを探してました。 https://flow-with-tech.com/claude-code-itodoshi-jibun-ga-warui/ ## まとめ 偏愛である。 --- # 【Power Apps】Code Appsで糸通しを作ってみた - 公開日: 2026-03-22 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/claude-code-itodoshi-jibun-ga-warui/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## Code Appsやってみたいなあ プロ開発のアプリをPower Appsで動かせるらしい。でもプロ開発なんかしたことないし、そもそもどこからやればいいのかもわからない。 そうだ、Claude Codeに聞いてみよう。とりあえず、音声ダンプする。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-22-at-11.51.57@2x.png) ### 紆余曲折あり、デプロイできたCode Apps 匿名でチャットするアプリを作ってもらってみた。途中で認証とかどうとかも、どうにかしてできた。 これでもう、Claude Codeを使えば、キャンバスアプリもCode Appsも作れるようになった。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-21-at-14.14.03@2x.png) ## そうだ、糸通しを作りたい 私はガラケー時代に、「糸通し」をめっちゃやってました。自力で作ろうとした時はこんな感じでした。 https://twitter.com/kama_bizdev/status/1920602011000611154?s=20 Code Appsという最強のツールを手に入れた私は、再度この難題に挑戦することにしました。未だかつてないPower Apps開発へ一歩歩みを進めたのである。 ### 最初のプロンプト すごい適当に頼みたい。なんかそれでどこまでやってくれるのかみてみたい。 「**Code Appsで糸通しっていうゲーム作って**」 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-22-at-12.34.13.gif) 確かに糸通しているけど、意図はそうじゃないんだよな。意図をちゃんと伝えることができなかったので、糸が意図しない糸になってしまっているんだ。 ### 改善したプロンプト これは確実にプロンプトが悪い。原因は自分にあるということだ。じゃあ、改善をすればいいだけだ。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-22-at-12.11.17@2x.png) そしてできたアプリがこれだ。素晴らしい。まさに思い描いていた、糸通しアプリじゃないか。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-22-at-02.18.44.gif) ## Claude Codeすごい なんでもできるなあ。でも、自分で0からPower Appsを作っていたワクワク感を喪失しつつある。 > 🗣 Claude Codeが面白すぎて、作ってみるが止まりません・・ --- # 白か黒か——その問いを解くアルゴリズムを追いかけてみた話 - 公開日: 2026-03-20 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/polis-algorithm-consensus/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - 「多数決・二択アンケート」では拾いきれない意見の構造とは何か - Polisがどのように「グラデーション」を数学で扱うかに対して理解できたこと - Claude Codeを使ってJupyter NotebookでPolisのアルゴリズムを追いかけた体験記 --- ## 「白か黒か答えろ」で答えられない 「この案に賛成ですか?反対ですか?」 たった二択。YesかNo。0か1か。 アンケートを集計したことがある人ならわかると思いますが、集計できる形で設問を設計した方が楽ですよね。自由入力されるとそれをどう解釈するのかに頭を悩ませる。(最近はAIで結構いい感じにまとめてくれますが) でも本当は、**そんな単純に答えられる問題ばかりではない**はずです。「現場での仕事はアクシデントがいっぱいあって、それを解決していくのが楽しいけど。でももっと新しいことをしてみたい」「猫はめっちゃ好きだけど、猫アレルギーだから一緒に暮らしたいかと言われれば、それは難しいけど、でも猫は好きです。」とか。人の意見はグラデーションに満ちていますね。 そんな「白か黒かで答えろという難題」に対して、数学的なアプローチで別の答えを出そうとしているツールがあります。それが **Polis** だそうです。 --- ## Polisとは何か——対立ではなく、コンセンサスを見つけるツール 通常のアンケートとの違いをざっくり言うと、こうなります。 **普通のアンケート:** - 「この施策に賛成ですか?」→ 5段階で答えてください - 結果:「賛成 60%、反対 40%」 - → 賛成 vs 反対という**対立の構図**が生まれる(らしい) **Polisがやること:** - 参加者がそれぞれ自由に意見(ステートメント)を投稿する - 他の人の意見に「賛成・反対・どちらでもない」で投票する - 未投票の項目は**平均値で補完**して、全員分のデータとして扱う - 投票パターンから**似た意見を持つ人のグループ(クラスター)** を見つける - グループ間で対立させるのではなく、**全グループに共通して支持されている意見(コンセンサスポイント)** を抽出する 意味不明ですよね。私も意味がよくわかりません。今も完全に理解したわけじゃないですが、少し解像度が上がったので、素人ながら説明してみたいと思います。 ### まずは体験してみよう > [https://pol-is.jp](https://pol-is.jp) これがPolis JAPANです。新しい議題の投稿や、既存の議題への投票もできる。百聞は一見にしかずということで、まずは体験してみるのがいいと思います。 --- ## なぜPolisに惹かれたか——「当たり前」を疑う視点 私がPolisに興味を持った理由は、技術的な新しさよりも、**前提への問いかけ**にあります。 「アンケートは選択肢を用意して集計するもの」「多数決で決める」——こういった意思決定の方法は、私たちの中に「そういうもんだ」として存在しています。 でもPolisは、その前提に対してこう言っているように聞こえます。 **「そもそも、人間の意見を0か1で表現するのは無理だよね。」** そして、その「無理」を解消するために数学を使っている。PCA(主成分分析)という手法で高次元の投票データを2次元に圧縮し、座標が近い人同士を同じグループとして捉える。技術的な難しさよりも、**技術で解こうとする問題マインドそのものがおもろい**と思いました。 ### 最終的にPower Platform上で実装してみたい そのためにまずはアルゴリズムを研究してみる。 https://twitter.com/kama_bizdev/status/2033883985106157848?s=20 --- ## Claude Codeと一緒に、アルゴリズムを一つ一つ追いかけてみた 概念として「おもろい」と思っていたPolisを、自分の手元で再現をしておかけたい。なのでJupyter NotebookでアルゴリズムをPythonで再現してみることにしました。 今回は **Claude Code** と一緒に作業しました。「1ステップずつ、何をやっているか追いかけられるようなノートブックを作りたい」という方針で進めて、以下の流れで実装しています。 ### 全体の流れ 1. **Polisの公式APIからデータ取得** - Polisは公開されているディスカッションのデータを取得できるAPIを持っています - 実際の投票データ(誰がどの意見に何を投票したか)を取得 2. **投票行列の構築と欠損値補完** - 「投票していない=意見なし」ではなく、その人の他の投票パターンの平均値で補完 - これにより、未回答者も一定のデータポイントとして扱われる 3. **PCA(主成分分析)で次元圧縮** - 高次元(ステートメント数だけの次元)の投票データを2次元に落とす - 座標が近い人 = 投票パターンが似ている人、という構造になる 4. **クラスタリング** - 2次元空間上にプロットされた人たちを、グループに分類する - 「だいたいこういう意見を持つグループ」が浮かび上がってくる 5. **コンセンサスポイントの抽出** - 各グループを横断して、すべてのグループが同意している意見を見つける - これが「対立を超えた合意の土台」になる ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-20-at-22.40.17@2x.png) 実装してみてわかったのは、**Polisが使っているアルゴリズム自体は、既存のライブラリを組み合わせたもの**だということです。そこもかなりアツいですよね。普遍的なものを組みわせて画期的なことしたい笑 なんか言われたら、「コロンブスの卵ですね」と心の中で呟きたい。 --- ## Jupyter notebookを見てみよう ### Polisにこんな議題を投稿してみた。 「残業を平準化するのは誰の仕事か?」 テーマは残業の平準化を誰が担うべきか。管理職の教育不足を挙げ、マネジメント強化を主張する立場と、個人努力だけでは限界と組織ルール整備を求める立場がある。繁忙期の波を見える化し、組織全体で健康と成果を両立する仕組みが鍵だ。 この問題についてどう考えるべきだろうか? これに対して回答をいただいているので、そのデータをとってきて再現してみようじゃないか。 ### 質問別の回答結果 15の質問が存在していて、それぞれに賛成・反対・どちらでもないが存在している。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-24-at-06.28.29@2x.png) ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-20-at-22.45.33@2x.png) ### 一人一人の回答を見てみる ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-24-at-06.29.44@2x.png) ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-20-at-22.48.03@2x.png) これが一人一人の回答を見た結果だ。Participantが参加者となっていて、列1つ1つが上記の質問となっている。ベクトル的なもので表現されるらしく、このままだと扱いきれない次元となっているらしい。そしてこの高次元のデータを2次元にするらしい。公式ページの中にあるこのYoutubeを見ればわかるはず。(私はわかったような気になりました) https://www.youtube.com/watch?v=wvsE8jm1GzE ### 高次元データを2次元に圧縮する これはよくわからないけど・・2Dにしているはず。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-24-at-06.30.44@2x.png) ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-24-at-06.31.01@2x.png) ### 意見を可視化する 2次元にした結果こうなるらしい。こうなってくるとさっきの多次元のデータ(意味不明)から、可読性のあるデータになっていると思いませんか。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-24-at-06.31.26@2x.png) ![](https://flow-with-tech.com/media/wp/2026/03/image.png) ### グルーピングしてみようぜ このままだと一人一人が独立しているので、君と君にちょっと似てるじゃんっていうのをグルーピングするらしいですよ。結構おもろくなってきました。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-24-at-06.31.57@2x.png) ![](https://flow-with-tech.com/media/wp/2026/03/image-1.png) ### コンセンサスを見つける グルーピングした結果、グループごとで対立しているように見えるけど、実は共通の意見を持っている。そういうところを見つけていく。その結果こうなるらしいぜ。(コンセンサスって日常で聞いたことない) 今回は、0.3を閾値として設定しました。+ 0.3 を超えるか、- 0.3 を下回っている意見を、コンセンサスとするみたいです。(補足:1.0は賛成・-1.0は反対です) ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-24-at-06.32.28@2x.png) > === コンセンサス YES(全グループが賛成傾向、閾値 > 0.3)=== > S5: 個人の努力だけでは限界があるため、組織のルール整備と上司の意識改革をセットで進めるべきだ。 > G0:+0.83 G1:+1.00 G2:+1.00 > S10: 自分の成長より、ワークライフバランスを優先したい > G0:+1.00 G1:+1.00 G2:+1.00 > S12: 仕事というものは、常に万全な状態で行えるわけではない。限られたリソースで成果を上げるのがプロの仕事だと思う > G0:+1.00 G1:+1.00 G2:+1.00 > > === コンセンサス NO(全グループが反対傾向、閾値 < -0.3)=== > S4: そんなに残業が嫌なら日本ではなく海外で働くべきだ。 > G0:-0.43 G1:-1.00 G2:-0.67 ### Pythonって何? Jupuyter Notebookのスクショを載せておきます。セルと呼ばれるところに処理をPythonで書くことによって、セル単位で実行することができます。1つ1つ処理を確認しながら実行できて、これも結構おもろいですね。今回は全てClaude CodeでPythonを書きました。私がやったことは細かい修正指示ぐらいです。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-20-at-22.59.30@2x.png) ## 「ある種の諦めであり、ある種の希望」 Polisを使ってみて、改めてこのツールが面白いと感じた理由を言葉にすると、こうなります。 **人間は白でも黒でもない**、ということをまずは認める。 全員の意見が完全に一致することはない。でも、完全に真っ向から食い違っているわけでもない。どこかには「**ここだけは、みんな大事にしている**」という共通の土台があるはずだ——そういう前提で作られているのがPolisのように感じます。 全員の合意を取り付けようとするのではなく、**対立の中にある共通項を浮かび上がらせる**。これは人間という存在への、ある種の諦めであり、同時にある種の希望だと思います。 白か黒かという難題に対して、「そもそもその問いの立て方が違う」と返す。そのアプローチが、私はすごく好きです。いいですね。コンセンサスを届けて、対立しているように見えるけど、実は合意しているよねっていうところだけをまずはどうにかしていく。それってめっちゃおもろいアプローチなんじゃないかなと思います。 --- ## まとめ 今回やったことを振り返ると、こんな感じです。 - Polisという合意形成ツールに興味を持った理由:人と議論するのが不毛であり苦手に感じるので、アルゴリズムでどうにかしたいじゃん - Claude Codeと一緒にJupyter NotebookでアルゴリズムをPythonで再現した - Polisのアルゴリズムは既存技術の組み合わせで、むしろ「何を解こうとしているか」がおもろい - 対立ではなくコンセンサスを見つけるという思想が、人間への一つの向き合い方としておもろい 機械学習の領域について詳しく理解できたわけではないです。 当たり前の認知を見直して、アルゴリズムで解決する。そんなことをしてみたいです。 > 🗣 いいねと思ったら、いいねお願いします。 ## Polisとの出会い 最近ハマっているYoutube「ゆるコンピュータ科学ラジオ」で出会いました。おすすめです笑! https://www.youtube.com/watch?v=vz1BZzfK1lk --- # できてしまったからこそ、考えたこと。 - 公開日: 2026-03-20 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/claude-code-ghost-employee-automation/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## 朝はDockの掃除から始まった 今朝、Macのアイコンが多くてごちゃごちゃしているのが気になって、Dockを整理するところから始まった。そうだこれもClaude Codeに聞いてみよ。そしてわかった、ターミナルにこれ打てば今のやつ全部消せるらしい。 ``` bash defaults delete com.apple.dock persistent-apps killall Dock ``` やっぱり聞いてみるもんだなと思った。 そしてこの時は、3時間後に、AIが毎週ほぼ自動ではてなブログに記事を投稿するパイプライン構築できるなんて思ってもいなかった。 --- ## 「幽霊社員の作業報告」という発想 なんか自動でやってみたいな、という流行りの情報に踊らされている。 どうせなら踊らされるなら、めっちゃ踊りたい。なんかおもろそうだし。 「人格を持ったAIが、Claude Codeとの会話ログからブログ記事を書いてたらおもろそうだな」という発想が生まれた。最終的にAIがメタ的に、この人(私)と会話したログやその時の心情を語るっていうブログ記事にしてみようと決めた。 タイトルは「幽霊社員の作業報告」になった。これはAIの意思を尊重して採用してみた(思考停止である) --- ## 3時間で動いたもの ### 全体の流れ ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-20-at-13.18.15@2x-1.png) **Phase 1: ログスキャン** Claude Codeとの会話はログデータとして存在していることを、なぜか知っている。それ読んでくれらいいやん。直近7日間を読ませることにした。最初は週2回実行の直近3日間読み取りだった。でも1日分失うのと、週に2回も確認するの面倒なので、やめた。 **Phase 2: ネタ判定** 「この週の会話の中でブログにする価値があるものを選んでください」と指示。Claude APIの最も消費の激しいモデルOpusが考えてくれる。 **Phase 3: ドラフト生成 → Discord通知 → 承認 → 公開** Webhookでドラフトをチャンネルに送り、スマホで確認して `!ok 1` を送ると、BotがはてなブログのAtomPub APIを叩いて公開する。ここにはヒューマンインザループを入れている。流石に自分が確認してないものが、公開されるのは怖い。この辺も慣れてくると確認が形骸化して見落としそうなので、改善の余地はありそうだ。 (そういえば、このブログのタイトルは改善紀です。ブログタイトルに相応しいマインドである気がする。) **ポイント**: Discord Botは「Mac miniからDiscordに接続しに行く」形なので、外からMac miniへの侵入口が存在しない。(らしい!!) ふむ。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-20-at-13.50.25@2x.png) --- ## 「え、これ動いてる?」という感覚 完成したとき、なんか変な感じがした。「あまりにもすごいことができすぎていて、何か大変なことをしていないか不安」という気持ちになったのだ。 エンジニアではない、市民開発者の私。Power Platformという段差すらないぐらいに整備され尽くした庭で遊んでいたのに、外の世界に進出して「今までこれほどまでに守られてきたのか・・」を知った。 この「不安」は健全だと思っている。**「動いたからOK」で止まらず、「これ本当に大丈夫か?」まで考えられるかどうか**は忘れてはいけない気がする。 --- ## ちゃんと考えておいたこと ### セキュリティとリスク許容 なんとなくわかった気になっているけど、わかっていない。学ばねば。知っているような気になるのが一番危ないと思う。 ### 自動化はメンテナンスコストを生む 自動化って「作った瞬間が一番気持ちいい」で、その後じわじわコストが来る。 Discordの通知が来なくなる、APIエラーが出る……何かが壊れたとき「どこで止まってるんだっけ」を追いかける作業が発生する。今の自分はスクリプトを一行一行読んで理解できるレベルではない。管理できない自動化って認知コストが高い・・・ > 映画「ファイト・クラブ」にこんな名言がある > > お前が所有したものに、最後には所有される。 自動化や効率を突き詰めた先にあるのは、ツールをメンテナンスする日々。つまり、ツールに所有されるということなのかもしれないことを、忘れてはいけない。 --- ## Power Platformとの違いを感じた日 Power Platformを使っていると、外にデータが出せなかったり、そもそもできることの範囲が決まっていたりする。あのガードレールが何のためにあるのか、今日初めてちゃんとわかった気がした。 自由度が高い分、自分で考えなければいけないことが増える。これも一つの越境活動だ。外を知ることで中を知ることができる。 --- ## 「動かしてから理解する」という学び方 今日3時間でできた理由は、Claude Codeが並走していたからだ。並走というかもはや自走だ。 「次はどうする?」「これセキュリティ的に大丈夫?」を聞きながら進められた。一人では無理だった。 ただ、完成した今、スクリプトの中身を理解できない。**血肉になっていない**。 「体系的に学んでから実践」ではなく「動かしてから理解する」。これが今の時代の勉強の順番なんじゃないかと感じている。正しいかはわからないけど、3時間で動くものができたのは事実だし、理解しないといけないことがあるのも、事実だ。 --- ## まとめ 今日やったこと:AIに魂を入れてブログを自動投稿させるパイプラインができた。 今日気づいたこと: - できてしまうことと、ちゃんと理解していることは別 - 壊れてもダメージがない自動化は、学びながら運用できる - 「動いたからOK」で止まらず「これ本当に大丈夫か?」と問い続けることが大事 明日の朝7時15分に、このシステムが初めて自律的に動く。何を選んで何を書くのか、自分でも楽しみにしている。 --- # 【Claude Code】ターミナルで「おもろくない」を連発しながらAIシミュレーションゲームを作った話 - 公開日: 2026-03-17 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/powerplaquest-ai-simulation-game-with-claude-code/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - Claude Code(ターミナルで動くClaude)を使って、AIエージェントが会話するゲームをほぼ一晩で作った記録 - 「おもろくない」「なんか違う」というアバウトなフィードバックでどこまで開発が進むのか - ぶつかったバグや設計の壁と、そこからの方向転換の過程 --- ## はじめに 「Claude Code でAIが勝手に会話を進めるような世界を作れたらおもろそう、でもできるんかな?」 そんな疑問を持ちながら、ある日の夜にターミナルを開きました。どうせなら自分が普段から関わっている題材で、少しワクワクするものを作りたい。 思いついたのが **PowerPlaQuest** です。 AIエージェントが動く架空の建設会社に自分も社員として参加し、現場の人たちと会話しながら業務課題を見つけ、Power Platformで解決していく — そんなシミュレーションゲームを作ろうとしました。 この記事は、Claude Codeとリアルタイムに会話しながら、ほぼ一晩でプロトタイプを形にした記録です。 (何もかもClaude Codeが作ったので、正直なところ私はコードの中身を完全には理解していません。でも、それでもここまでのものができたとと思います。そして、時間は溶けるように過ぎてました。) --- ## 作ったもの:PowerPlaQuestとは PowerPlaQuestは、架空の建設会社「市民開発建設株式会社」に情報システム部員として参加し、社員AIエージェントたちと会話しながら **Power Platform(Power Apps・Power Automate等)で業務改善クエストをこなすゲーム** です。 ### 現在実装されている機能 **会話システム** 施工管理部(8名)と情報システム部(2名)に話しかけることができます。モードは3つあります。 - **個別トーク**: 1対1で話しかける - **グループトーク**: 複数人に同時に話しかけ、返答はランダムで自然に返ってくる - **会議モード**: アジェンダを入力すると、参加者が議論を始める **クエストボード** 会話の中からAIが「これは業務課題だ」と判断すると、クエストが自動生成されます。プレイヤーが手動で「こういうアプリを作りたい」と入力して、全会話履歴を元に背景付きクエストを生成することもできます。 **その他** - ゴシックSF調のカスタムデザイン(暗い宇宙背景 + ゴールドアクセント) - モデル選択機能(Haiku / Sonnet / Opus を画面内で切り替え) - プレイヤー設定(名前変更可・10年目ベテランDX推進社員として参加) ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-17-at-07.54.20.gif) --- ## 開発の流れ ### 1. すでにある素材を使う じつは今回のゲームのベースになる素材は、すでに別の実験で作ってありました。 Microsoftの開発者プログラムテナントに架空の建設会社24名を作る実験で、社員一覧のCSVが揃っていたのと、Ollamaを使って社員ペルソナをLLMエージェントとして動かす実験で、6名分のYAMLが作られていました。 この素材を使えば一から設計しなくていい。Claude Codeに「既存の架空会社をそのまま流用して、AIエージェントが会話し合う世界を作りたい」と伝えたのが出発点です。 まず残り18名分のペルソナYAMLを生成してもらいました。各YAMLには name / age / department / job_title / personality / speech_style / struggles / system_prompt などのフィールドが入っています。**約15分で24名全員が揃いました。** 自分でやったら何時間かかったかわかりません。 ``` # 例:福田誠(情報システム担当) name: 福田 誠 age: 28 department: 情報システム部 job_title: 情報システム担当 personality: - エンジニア志望。API・コードが好き - Power Platform の縛りの中でどうするかを考える system_prompt: | あなたは福田誠です。建設会社の情報システム担当(28歳)。 Power Apps / Power Automate / Power BI の範囲で提案してください。 Google系ツールは提案しないこと。 ``` ``` 後半で「福田さんがGoogleを勧めてくる問題」が起きて慌てて system_prompt を修正することになるのですが、それは後述します。 ``` ### 2. Claude API基盤の構築と .env ルール 既存の実験はOllama(ローカルLLM)ベースだったので、品質を上げるためClaude APIに切り替えることにしました。 ここで一つ問題が。APIキーの設定方法です。最初はこう提案されました。 ``` export ANTHROPIC_API_KEY="sk-ant-..." ``` ……よくわからない。その場でこう伝えました。 > .env を俺が手動で変更して、APIキーをかけるようにしてほしい。てか次から絶対そうしてほしい。ターミナルでやるのはよくわからない Claude Codeはすぐに方針を変えて .env ファイルと python-dotenv による読み込みに切り替え、**このフィードバックをメモリファイルに保存してくれました。** 以降のプロジェクトでも同じルールが適用されるようになっています。こういう「次から気をつけて」が通るのは地味にありがたいです。 ### 3. 一日シミュレーターの実装と「小説っぽくして」 最初に作った一日シミュレーター(day_simulator.py)は、4つの部署で並行に会話を生成してMarkdownに出力するもの。動いたし、品質も悪くない。施工管理部の清水さんが「雨の日以外は外にいますよ」と言うような、キャラに沿った発言も出ていました。 しかし出力を見ると「4つの話が時系列バラバラに並んでいる」だけで、**会社の一日という感じが出ていない。** > シミュレーションはいい感じだね。ただ意外といろんな場所で起きているものがぐちゃぐちゃに出てくるっていうのはよくないかもね。4つの部署がそれぞれ1日の時系列で朝から夕方までどういうことになっているのかっていうのを書いてほしいな。そこには人と人が喋っているだけじゃなくて、なんかこう小説みたいに場の描写みたいなのとか、全員共通のイベントが発生したりとかもほしいな。 これを受けてシミュレーターはv2に書き直されました。部署ごとのセクション(朝〜夕方の時系列で整理)、地の文の挿入(ナレーター専用システムプロンプトで小説風描写を生成)、全社共通イベント(朝礼08:45・週次定例11:00・昼休み12:00)が差し込まれるようになりました。 ### 4. StreamlitでUI構築、そして「AIっぽくないデザイン」への転換 次はUI化です。Streamlitで作ることにしました。最初のデザインはシンプルな縦並びのタブUI。動かしてみると「まあいい感じ」な仕上がり。しかし、全体的に **AIアプリ感が強すぎた。** > 普通に動いた。ただデザインを変更して欲しい。もっとAIじゃない感じにして欲しい この1行で全部のCSSが書き直されました。さらにこんなキーワードを投げました。 > 儀式 × インターフェース / 古典 × ネオン / 工業製品化された文化 Claude Codeはこの抽象的なキーワードを受けて、全面的にCSSを書き直してくれました。背景は #0A0A0E(ほぼ黒の宇宙色)にゴールドグリッド線、アクセントカラーは #C8A84B(金箔感のあるゴールド)、部署別カラーはシアン/オレンジ/ネオングリーン/パープル。 **「まあいい感じ」から一気にゲームっぽくなりました。** これは正直驚きました。「儀式×インターフェース」というワードだけであのデザインが出てくるとは思わなかったです。 ### 5. 「思ったよりおもろくない」からの方向転換 割り込みシステム(AI同士の会話の途中にプレイヤーが入れる機能)を実装して試してみました。しかし、やってみると…… > 確かに、分岐はできるけど、結構なんかこう違うなあ。思ったよりおもろくないかも、なんでだろうか。UIかな。やっぱりキャラクターがわからないから、かなあ。どこで話をしているかもわからんし。だからシミュレーションアプリって、人と人が喋っているのを2Dで写して、下側にセリフが出てくるのか。。。じゃあさ、2Dにしてしまえば? RPGゲームの俯瞰視点をイメージしながら喋ったのですが、「それはStreamlitではできない、Phaser.jsとかが必要」とすぐに現実を突きつけられました。 代わりに提案されたのが「会社フロアマップ + クリックして話しかける」形式。7部署24名全員が並ぶフロアマップUIを作ったものの、すぐに「広すぎる」と気づきました。 ### 6. スコープ絞り込み:施工管理部8名 + 情シス2名 一気にスコープを絞ることにしました。 > わかったこれね広くしすぎている。最初はね、現場だけにするわ。施工管理部だけにして、一つの現場の中っていう想定にしてほしい。 話しているうちにゲームのコアが見えてきました。 > 現場の人と話してPower Platform系の困り事みたいなことで解決できそうな困り事を見つけて、情報システム部の人に相談をしてみるみたいな、そういうことをしてみたい これが **PowerPlaQuestのコアゲームループ** です。 ``` 施工管理部の人に話しかける ↓ 困り事・不満が出てくる ↓ 「これ情報システム部に相談してみよう」 ↓ 藤田さん・福田さんに相談 ↓ 「Power Automateで解決できますよ」 ↓ ⚡ クエスト発生! → 達成を目指す ``` ### 7. バグ修正の連続 app_quest.py の開発後半は、バグとの戦いでした。Claude Codeが書いたコードでもバグは普通に出ます。 **グループモードで全員が回答してくる問題** グループトークを試すと、選択した全員が毎回律儀に返事をしてきました。現実の会議でも毎回全員が発言するわけじゃない。random.sample で1〜3人をランダムに選ぶように修正。さらに重み付きランダム(1人:40%・2人:40%・3人以上:20%)にしたら、今度は会議参加者が多い場合に ValueError が出ました。max_r の計算ミスで常に len(char_ids) の値になっていたのが原因でした。 **クエスト生成のJSON解析失敗** クエスト生成機能を動かしたら「生成に失敗しました。もう一度試してください。」と出て動かない。原因はClaudeがJSONをMarkdownのコードブロックで囲んで返すパターンでのパース失敗。コードブロック除去と正規表現でのJSON抽出を追加して解決しました。 **プレイヤーが福田さんと同一視される問題** 話しかけると「私は福田です」と返ってくるのに、プレイヤーも「福田さん」扱いになっていました。各キャラの system_prompt に「あなたに話しかけているのは〇〇さん(別人)です」を明示して解決。 エラーの原因を完全に理解しているかと言われると怪しいですが、**エラーメッセージをコピペして「これ出た」と伝えれば対応してくれる** というのは、非エンジニアにとってかなり心強いです。 ### 8. 最後の仕上げ:「福田がGoogle勧めてくる問題」 最後の仕上げフェーズで印象的だったのが、これ。 > ペルソナなんだけどさ、福田誠さんがさ、Google系のアプリケーションを勧めてくるんだけど、基本的にパワープラットフォームで解決するように取り仕向けたいから、Google系提案しないでほしいんだよね。 fukuda_makoto.yaml の system_prompt を書き換えて、「Power Platform の範囲で提案する」「Google系ツールは絶対に提案しない」を明記しました。技術的なこだわりキャラはそのままに、Microsoftエコシステムの中でAPIを語るエンジニアとして動くようになりました。 **放っておくと勝手にGoogle**系を勧めてくる。 --- ## Claude Codeとの開発体験で気づいたこと ### 良かった点 **とにかく手が早い。** 「ペルソナYAMLを残り18名分作って」と言ったら15分で全員揃えてくれました。 **アバウトな要求でも動いてくれる。** 「AIっぽくないデザインにして」「思ったよりおもろくない」「スクロールしないようにして」みたいな具体性ゼロの指示でも、意図を汲んで実装してくれました。 **フィードバックが即反映される。** 「全員が返事してくるのが不自然」と言ったらその場で random.sample に書き換えてくれる。会話のテンポで開発が進む感覚は、普通のコード補完ツールとは全然違います。 **学習してくれる。** 「次から.envで管理して」というフィードバックをメモリファイルに書き込んで、以降のプロジェクトでも適用されるようになりました。 ### 大変だった点 **バグはちゃんと出る。** Claude Codeが書いたコードでもバグは普通に起きます。自分でエラーメッセージをコピペして「エラーが出た」と伝えることで対応できましたが、ある程度コードを読む覚悟は必要です。 **Streamlitの制約は乗り越えられない。** 「RPGみたいに2Dで歩き回れるようにして」は「Streamlitでは無理」とはっきり言われました。ツールの制約に対して正直に答えてくれるのは良い点でもあります。 **コンテキストが切れる。** セッションの途中でコンテキストが切れ、自動サマリーが挟まりました。要約精度は高かったものの、直前の作業が「実装中」のまま止まっていたので、再開後に確認が必要でした。 --- ## 残課題と次回 現時点で動いているのは「会話してクエストを作るところまで」です。ゲームとして面白くするには、もう少し先が必要です。 **着手リアクション**: クエストの「▶ 着手」を押したとき、関係するキャラが個性のある反応を返す。松本課長なら「ほんとに使えるやつ作れるのか?」、藤田さんなら「やっとこういう話が来た!」みたいに。 **成果報告機能**: 「こんなアプリを作りました」という報告をクエストに登録できる機能。実際にPower Platformで作ったものを登録できるようにしたい。 **達成判定**: Claudeが報告内容を読んで達成/未達成を判定し、キャラが反応する機能。「思ったより使えるじゃないか」「これじゃ全然ダメだ」みたいな反応が出ると、ゲームっぽくなりそうです。 **そしていちばん足りないもの — ペルソナのリアルさ。** AIが生成したペルソナだけだとどうしても均質になる。「現場の警備員が新入社員にだけ威張る」とか「喫煙所で二次業者のおじいちゃんが会話に入ってくるけど何言ってるかわからない」みたいな、**人間にしか書けないあるある** を仕込んでいく必要があります。これはコードの問題じゃなくて、コンテンツの問題。次はここに手を入れたいと思っています。 --- ## おわりに 「Claude Code と一緒にいろんなことをしているけど、次何しようかな」という一言から始まった今日のセッションは、気づいたら5時間以上続いていました。 架空の会社が動いてキャラクターが喋る様子を見ていると、「これ実際に使えるんじゃないか」という感覚があります。特に施工管理部の松本課長が「現場はそんなに甘くない」とか言いながら渋々話を聞いてくれるのは、なんだかリアルに刺さるものがありました。 Claude Codeは「何でもやってくれる便利ツール」というより、**「ラフなアイデアを素早くプロトタイプにしてくれる作業パートナー」** として使うのが合っていると感じました。「おもろくない」「よくわからない」というアバウトなフィードバックにも正面から向き合ってくれるのは、思ったより頼もしいです。 まだゲームとして完成しているわけじゃないですが、続きはまた書きます。 (試すたびに、Claude APIのクレジットが消費されていくのだけが心配です…) --- ## 技術スタック | 項目 | 内容 | | --- | --- | | フロントエンド | Streamlit(Python) | | LLM基盤 | Anthropic Claude API(claude-haiku-4-5-20251001) | | ペルソナ定義 | YAML(24名分) | | 実行環境 | Python 3.12 + venv | | APIキー管理 | .env + python-dotenv | | 開発ツール | Claude Code | | ゲームロジック | app_quest.py / day_simulator.py | --- # 【Power Apps】プレゼンアプリを作ってみた ― 「スマホ1台でプレゼン完結」の未来が見えた話 - 公開日: 2026-03-16 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/power-apps-presentation-app-markdownslides/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - Power Appsでプレゼンテーションアプリを作った経緯と発想 - 「業務アプリを作るツール」という固定観念を壊すと見える可能性 - スマホ完結・AI連携・スライド資産化という、PowerPointにはない未来 --- ## 突然ですが、パワポ作るの面倒くさくないですか? 同じレイアウトでいいから、テキストのストーリーから自動で作りたい。 「Marp」とやらを使えば、Markdownからテンプレートのパワポが作れるらしい。 でもなんかよくわからん。あと会社で使えなさそう。 「じゃあもう、Power Appsでできたらいいじゃん。」そんな好奇心から、このアプリを作ってみました。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-15-at-17.37.47.gif) --- ## Power Appsの「得意なこと」に気づいた Power Appsって、**「事前に定義したデータを、決められた形式で表示する」** こともできるよな。 考えてみると、**スライドも「構造化されたデータの表示」** だ。スライドをいきなり作り始めずに、各項目をテキストや表で整理してから作る人も多いんじゃないでしょうか。 こんな項目 - **タイトル**(見出し) - **メッセージ**(そのスライドで伝えたい一言) - **本文**(補足説明や詳細) じゃあ、この「構造化データ」を整形するルールさえ実装できれば、Power Appsだけでプレゼン資料作れるのでは? ![](https://flow-with-tech.com/media/wp/2026/03/diagram-structure.jpg) --- ## 実際に作ったもの 今回作ったアプリ「MarkdownSlides」の仕組みはシンプルです。 Markdown形式でスライドの内容(タイトル・メッセージ・本文)を定義しておくと、Power Appsがスライド形式で表示してくれます。「< Back」「Next >」ボタンでページ送りでき、プログレスバーで進捗もわかる。 ### 技術的なポイント - とりあえずデータソースなし。**コレクション(アプリ内の一時データ)だけで完結** - Markdownテキストを貼り付けるだけで構造化データに分解できる。 - 構造化データをあらかじめ定義した場所に1レコードづつ表示するだけで、スライドみたいにしてみた。 ちなみにこのアプリは、ほぼClaude Codeで作りました。 「PLAN.mdに音声入力で要件をダンプして、Claude CodeにSPEC.mdを書かせて、Claude Codeに実装させて、キャンバスアプリを作る」という感じでした。 --- ## Power Appsだからこそ広がる未来 正直、「Power Appsでプレゼンアプリを作った」だけなら、ネタで終わります。 でも、**Power Appsだからこそできること**が見えてきました。 (決して後から思いついたのではありません。決して。) ### 1. スマホだけでプレゼンが完結する Power Appsは、PCでもスマホでも動きます。スマホ1台でプレゼンするのってめちゃかっこいい。しかもプレゼンの作成まで、全部できたらすごそうじゃないですか。 ![](https://flow-with-tech.com/media/wp/2026/03/diagram-smartphone-flow.jpg) 1. **スマホで音声入力** → テキスト化 2. **AI Builderで壁打ち** → 構成を整理 3. **Markdown形式で出力** → アプリに取り込み 4. **そのままスマホでプレゼン** AI Builderを使えば「**プレゼンが始まって壇上で、スマホに向かって話しかけて、AIと壁打ちして、プレゼンのスライドを作り、そのままPower Appsでプレゼンができる**。」そんな世界が、実現可能です。(プレゼンにはしっかりとした準備をして臨んだ方がいいと思います。) Copilotを使っても同じことができますが、AI BuilderならPower Appsの中だけで完結して、なんかすごい感がでる。(プレゼンにはしっかりとした準備をして臨んだ方がいいと思います。) ### 2. 「パーツの再構成」ができる ここが一番おもしろいところだと思っています。(後付けではありません、決して。) PowerPointでは、スライドは「ファイルの中の1ページ」です。再利用するには、ファイルを開いて、コピーして、貼り付けて…という作業が必要です。 でもMarkdownSlidesでは、スライドは**構造化されたテキストデータ**です。タイトル、メッセージ、本文がそれぞれ独立したフィールドとして保存されている。 ![](https://flow-with-tech.com/media/wp/2026/03/diagram-parts.jpg) つまり、**スライドが「パーツ」として分解された状態で蓄積されています**。 過去の「導入の挨拶スライド」と、別のプレゼンの「技術説明スライド」と、また別の「まとめスライド」を組み合わせて、新しいプレゼンを組み立てる。レゴブロックのように、パーツを自由に組み替えられる。Zettelkastenの文脈でいうところの、アトミックノートですね。 PowerPointファイルでは、こういう柔軟な再構成は難しい。でも**構造化テキストとして保存されているからこそ、パーツ単位での再利用が自然にでき**ておもろそう。(やるかどうかは別として) --- ## まとめ:Power Appsっておもろい 最初は「Power Appsでプレゼンできたらおもしろくない?」という好奇心で始めました。 でも作ってみたら、**ネタどころか、かなり合理的な仕組み**だということに、無理やり着地させたいと思いました。 - **簡単に使える**:セキュリティ・配布・管理、全部Power Platformの上で完結 - **スマホで完結**:AI Builder × 音声入力で、PCを開かずにプレゼンが作れる未来 - **資産として蓄積**:Dataverseにテキストデータとして保存、検索・再利用が自在 - **パーツの再構成**:構造化されたスライドデータだからこそ、レゴのように組み替えられる **「業務アプリを作るツール」** という固定観念を壊してみると、Power Appsにはまだまだ可能性が眠っています。 GitHubに公開済みなので、ぜひ試してみてください。 > GItHubはこちらから > > [https://github.com/Ltantan/my-powerplatform-apps/tree/main/MarkdownSlides](https://github.com/Ltantan/my-powerplatform-apps/tree/main/MarkdownSlides) --- # 【Power Apps】手書きの図をAI BuilderでMermaid記法に自動変換してみた - 公開日: 2026-03-11 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/power-apps-handwriting-to-mermaid-ai-builder/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - Power Appsで手書きの図をAI Builderに送り、Mermaid記法に自動変換する方法 - ペン入力とカメラ撮影、それぞれの使用感と比較 - 既存のMermaid PCFコントロールと組み合わせてアプリ内プレビューする方法 --- ## やりたいこと 突然ですが、もうMermaid記法を自分で書きたくないと思いませんか。手書きでチャート書いてAIが書いてくれたらいいじゃんって。 打ち合わせ中にサッと描いたフロー図を、どうしてもPower AppsでMermaid記法としてプレビューしたい。なんなら手書きで書くところからPower Appsでやりたい。どうしても。 今回は、Power Appsで手書きの図を書いたり、図を写真で撮ったりして、AI BuilderでMermaid記法に変換→アプリ内でプレビューするのをやってみました。 以前、Power Apps内でMermaid記法をプレビューできるPCFコントロールについて記事を書きました。今回はその活用先を広げる試みです。同時にMermaid記法を自分で書きたくない強い信念を持っています。 > 参考:[Power AppsでMermaid記法をプレビューする(PCFコントロール)](https://flow-with-tech.com/power-apps-mermaid-pcf-preview/) --- ## 仕組みの全体像 全体の流れはとてもシンプルです。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-11-at-18.53.04@2x.png) 1. Power Apps上で手書きの図を取得する(ペン入力 or カメラ撮影) 2. 取得した画像をAI Builderに送る 3. AI Builderが画像を解析し、Mermaid記法のテキストを返す 4. 返ってきたMermaid記法を、PCFコントロールでプレビュー表示する --- ## AI Builderに送るプロンプト AI Builderに渡しているプロンプトはこちらです。 ``` Power Appsのアプリから渡された画像を解析し、その内容をMermaid記法で表現するAIアシスタント向けのプロンプトを作成してください。 --- ## コンテキスト Power Appsのアプリから送られてくる画像を受け取り、その画像の内容を理解して、Mermaid記法(フローチャートやシーケンス図、quadrantChartなどの図表記法)で表現するタスクです。 ## 指示 1. 画像の内容を詳細に解析してください。 2. 画像に含まれる要素(ノード、関係、フローなど)を特定し、それらをMermaid記法で表現してください。 3. Mermaid記法の種類(例:flowchart、sequenceDiagramなど)は画像の内容に最も適したものを選択してください。 4. 出力は正確なMermaid記法のテキストとして返してください。 ## 出力形式 - Mermaid記法のテキストをそのまま返してください。 - 余計な説明や注釈は含めず、純粋なMermaidコードのみを出力してください。 - ```mermaidや、``` も不要です --- 画像を入力してください:Image ``` Mermaid記法の種類(flowchart、sequenceDiagram、quadrantChartなど)は指定せず、**AI Builder側に画像の内容から最適なものを選ばせています**。手書きの図がフローチャートっぽければflowchartを、シーケンスっぽければsequenceDiagramを返してくれるので、柔軟に対応できます。(今の所フローチャート以外は試したことがないです) --- ## 実際にやってみた ### ペン入力パターン Power Appsにはペン入力コントロールがあるので、まずはこちらで試してみました。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-11-at-18.42.14.gif) *早送りしています* ペン入力コントロールで図を描いて、そのImageプロパティをAI Builderに送信します。 ちゃんとMermaid記法に変換されて、プレビューもできました。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-11-at-18.44.27@2x.png) **…が、ペン入力には重大な欠点がありました。** Apple Pencilを使っていても、**一画描くごとにワンテンポ待たないと次の線が認識されない**のです。ピーっと線を引いて、少し間を置いて、次の線を描き始める…という感じ。連続して文字を書こうとすると全然ついてこないので、文字入りの図を描くのはかなりストレスです。 (正直、これは実用にはちょっと厳しいかなと思いました…) ### カメラ撮影パターン ペン入力の書き心地に限界を感じたので、別のアプローチを試しました。**紙やホワイトボードに普通に描いて、それをPower Appsのカメラで撮影する**方法です。(ホワイトボードがないのでiPadの画面を壁に投影しています。真っ暗な部屋でこれを検証しています。真っ暗です) 撮影した画像をAI Builderに送信すると… ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-11-at-18.46.02.gif) こちらもちゃんと変換されました。そして何より、**紙やホワイトボードに書くときの書き心地は最高**です。当たり前ですが、ペンのレスポンスを気にする必要がないので、自然なスピードで図が描けます。 打ち合わせ中にホワイトボードに描いた図をパシャッと撮ってMermaid化する、というユースケースを考えると、**むしろこっちのほうが本命**だと思います。 > 余談ですが、ホワイトボードに投影している手書きはOneNoteで書いています。もはやOneNote内の Copilotが読み取って綺麗な図として清書して生成してくれるのでは・・ --- ## 比較:ペン入力 vs カメラ撮影 | 項目 | ペン入力 | カメラ撮影 | | --- | --- | --- | | 書き心地 | △ レスポンスが遅い | ◎ 紙・ホワイトボードなので自然 | | 手軽さ | ○ アプリ内で完結 | △ 紙やホワイトボードが別途必要 | | 実用性 | △ 文字入りの図は厳しい | △ Mermaidなんて意識しない | | おすすめ度 | **そもそも** | **このアプリ要る?** | --- ## まとめ AI Builderの画像認識とMermaid記法の組み合わせをしたことある人いらっしゃいますか。世間はCoworkで盛り上がっているのに、なぜMermaid記法とPower Appsの組み合わせネタを出し続けているんだろうか。 (あと、5個ぐらいネタあるのでしばらくやり続けたいと思います笑。やろうと思えば、あと10個ぐらいいけるかな。) > 参考:[Power AppsでMermaid記法をプレビューする(PCFコントロール)](https://flow-with-tech.com/power-apps-mermaid-pcf-preview/) --- # Mermaid記法に感動した市民開発者の末路|自分で書けるようになったから、書かなくてよくなった話 - 公開日: 2026-03-09 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/citizen-developer-mermaid-aftermath/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - Mermaid記法を覚えた市民開発者が、その後どうなったか - 「自分で書けること」と「自分で書くこと」は別だという話 - AIと市民開発者の新しい関係 ## はじめに 以前、こんな記事を書きました。 > [市民開発者がMermaid記法を知って変わったこと|設計スピードが格段に上がる理由](https://flow-with-tech.com/citizen-developer-mermaid-changed/) あの記事で私は、Mermaid記法の良さを3つ挙げました。 1. **考えることに集中できる** 2. **生成AIと相性が良い** 3. **設計=説明資料になる** どれも本当のことです。今でもそう思っています。 ただ、**私はもう、Mermaid記法を自分では書いていません。てか書きたくない!** (え?) ということで、今回は「Mermaid記法に感動した市民開発者のその後」をお伝えします。 ## 結論:Mermaid記法を知る前 → 知った直後 → 今 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-09-at-22.33.37@2x.png) ## 末路①:考えることに集中したい。だからもう自分では書きたくない。 前回の記事で、こう書きました。 「GUIは便利だがレイアウトを整えるというタスクが1つ増えます。テキストだと考えるというシンプルなことだけに集中できます」 これは今でも思います。でも、考えることに集中したい気持ちが進化しました。そもそも自分一人で考えることが減りました。そう、AIと壁打ちして考えることが多いです。音声入力で大量の情報をインプットすれば、思い通りに動いてくれることが最近わかってきました。じゃあ、AIが自分の思い描く完成形を書いてくれるように頼めばええじゃん。 今の私はこうしています。 - AIに「こういうフローがあるんだけど、Mermaid記法で書いて」と伝える(音声入力) - 間違っていたら「直して」と修正を指示する(多分これも音声入力) **考えることだけに集中する、作業はAIにやってもらえばいいじゃん。** ## 末路②:生成AIと相性が良い。だから全部AIに書いてもらえばいい。 前回はこう書きました。 「Mermaid記法で下書きをして生成AIに投入をする。テキストで返信が返ってくる。そのまま手元で編集を継続できる」 当時はMermaid記法の下書きを**自分で書いて**、AIに渡すという使い方でした。 今はもう逆です。 AIに設計の相談をして、**AIにMermaid記法を書いてもらう**。自分で書いた経験があるから、出力の品質は判断できる。ちょっと手直しすればいいじゃん。 あるいは、**手書きでフローチャートっぽいものをノートに書いて**、それを写真に撮ってAIに「これをMermaid記法にして」と頼む。手書きのラフをテキストに変換してくれる。これもMermaid記法の構造を理解しているから、だいたいOKです。 ### ちなみにPower Appsでやろうとするとこうなります ペン入力コントロールで手書き→その画像をAI Builder に投入して、Mermaid記法にしてもらう→Power AppsのPCFコントロールでプレビューする ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-10-at-20.55.01.gif) ### 関連記事:Power AppsでMermaid記法をプレビューする方法 こちらもどうぞ https://flow-with-tech.com/power-apps-mermaid-pcf-preview/ ## 末路③:設計=説明資料になる。だからAIと壁打ちして設計すれば、AIに書かせればいい。 前回はこう書きました。 「設計段階からMermaid記法で作成しておけば、後から誰かにアプリやフローの仕組みを説明するときの簡単な資料とすることもできます」 これも今でも正しい。でも運用が変わりました。 今はAIとデータ設計を壁打ちします。「こういうアプリで、こんなデータ設計をしたいんだけど、どうすればいい?」と聞く。AIが提案してくれる。「じゃあそれをMermaid記法のER図にしといて」と言えば、だいたい完成。 自分でER図の記法を覚えて書いていた時期があるから、AIが出してきた図を見て「一対多がちゃんとあっている」とすぐ気づける。 **エンティティ図なんて書くのめんどくさい。でも読めるし、直せる。それでええじゃん。** ## じゃあ「自分で書いた経験」は無駄だったのか ここまで読むと「じゃあ最初からAIに任せればよくない?」と思うかもしれません。 私は自分で学んで良かったと思っています。自分で学び書いた経験があるからこそ、 - AIの出力が正しいかどうか**判断できる** - 間違っていたとき、**どう直すか指示できる** - 「こういう図が欲しい」と**的確にオーダーできる** Mermaid記法を知らずにAIに「フローチャート書いて」と言っても、出てきたものが良いのか悪いのか分からない。修正の指示も的確にできない。 **自分で書けるようになったから、書かなくてよくなった。** この順番が大事なんだと思います。(思いたい) ## まとめ Mermaid記法を知って変わったこと、の続編として「変わりすぎてもう自分で書いていない」という正直な話をしました。 | 前回の結論 | 今回の末路 | | --- | --- | | 考えることに集中できる | 考えることに集中したい。**だから記法すらAIに書かせる** | | 生成AIと相性が良い | 相性が良い。**だから全部AIに任せればいい** | | 設計=説明資料になる | AIと壁打ちで設計して、**図もAIに書かせればいい** | 結局、**Mermaid記法を知ったことで一番変わったのは、Mermaid記法を自分で書かなくなったことでした。** 面倒くさいことをどうにかするために、一度面倒くさいことをする。そして、その面倒くさいことをしなくて良いようにするためには、徹底的に面倒臭いことをやる。そんな解決策も、ありなんじゃないかと思います。 (あと、「デキる感」を演出したいときは、画面を共有しながら、すらすらとマーメイド技法でフローチャートを書いてやりましょう。うまく描写されなくても焦ってはいけません。もう一つの画面でAIに修正をしてもらいましょう。これであなたも「デキるやつ」です。これが一番大事かも。) --- # 【Power Apps】「とりあえず作ってみた」から1年。業務記録アプリの開発ログを振り返る - 公開日: 2026-03-06 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/power-apps-work-log-app-development-story/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## はじめに どうしても来月から業務記録アプリを使いたい。じゃあ、今月からPower Apps勉強しよう。そして勢いで作ったアプリです。それ以来、修正を重ね使い続けました。約1年が経った今、アプリをGitHub に公開しました〜。(GitHub のやり方が分からなくて・・) ついでに、当時の開発ログを振り返る記事を書いてみようと思います。これからPower Appsを勉強しようかなって思っている人の励みになれば。そして、私がPower Appsを勉強するにあたり、お世話になったたくさんの先人たちへの恩返しができれば。 ## GitHub はこちらです [https://github.com/Ltantan/powerapps-worklog?tab=readme-ov-file](https://github.com/Ltantan/powerapps-worklog?tab=readme-ov-file) ## 参考文献 まず開発にあたって参考にさせていただいたのが、マイク根上さんのこちらの記事です。本当にどうすればいいかわからなかったので、かなり参考にさせていただきました。本当に、ありがとうございました。 > [https://econoshift.com/ja/powerapps-task-time-record-app/](https://econoshift.com/ja/powerapps-task-time-record-app/) ## 開発の軌跡 ### アプリver1.0:記事を参考に作ってみた Udemyを学びを得た直後から、実際のアプリ開発に着手しました。とにかく習得したスキルを実践したい。そして、とにかく早くアプリを完成させて実運用したい。その一心で、没頭していました。 最初の段階では、開始と終了時にそれぞれボタンを押す設計になっています。あと、どうせなら継続のために使ってて楽しくなる設計をしたいと思いました。 https://twitter.com/kama_bizdev/status/1895654101817737502?s=20 ### アプリver2.0:重大な欠点に気づく いい感じにできた〜。という達成感と共に、欠点に気付きます。タスクを開始してアプリを閉じたら、終了ができない・・・ しかし、欠点とは時に新たなひらめきを生むのです笑 これが今後のアプリ開発の方向性を変えました。そして、やっぱり使っていて楽しいUIを求めています笑 https://twitter.com/kama_bizdev/status/1895748685696479538?s=20 ### アプリver3.0:いったん完成とした > 開始を押さないパターン→OK (その場合は、一つ前のレコードの終了時刻を開始時刻として取ってくる) これが当時の私としては、かなり大きな発見でした。できないパターンにも対応できた。つまり、使い方次第では、時刻の記入なんて不要なのでは。そう思えた瞬間だった気がする。こういう試行錯誤によってたどり着くことって、やっている本人にしか分からない楽しさですよね。 そして、UIはいったん無視をした笑 まずは、使ってみる。大事なことを見失わずに前に進むことができた笑 https://twitter.com/kama_bizdev/status/1896123177304314147?s=20 ### アプリver4.0:ブレイクスルーの瞬間がここに ブレイクスルーの瞬間である。もう終了ボタンさえ押せば、開始時刻なんか1個前の終了時刻から取ってくればええやん。ええじゃん。つまりPower Appsの技術だけでなく、どう使うかまで含めて考えることが大事であると気づいた。アプリがあれでも、使い方次第でどうとでもなる。多分! いつの間にか、UIにも満足したみたいだ。よかった。 https://twitter.com/kama_bizdev/status/1898282579272564813?s=20 ### アプリver5.0:そして伝説へ・・・ 最適解に辿り着いたみたいだ。1画面で完結すること。時刻の入力を不要とすること。なんかいい感じのUI。全てがいい感じにいい感じした瞬間だ。迷宮に入ろうが、2時間が経っていようが関係ない。なぜなら、完成したからだ!! https://twitter.com/kama_bizdev/status/1898363776438820963?s=20 ## Power Appsておもろい この1年間で生成AIは目まぐるしい進化を続けてますね。私が学び始めた時も、かなり生成AIに相談をして、解決することができました。でも、学び、手を動かして作ってみることのも大事だな〜と思います。 最近は、Claude Code にアプリを作ってもらうことにハマってます。でも、やっぱ物足りないなぁと感じることもあります。私は、土木の現場で施工管理してました。ものづくりが好きです。自分の目の前で、自分の考えを使って、自分の手で何かを作る楽しさは、何事にも変え難いな〜と思います。もしかしたら、Claude Codeが作ったものを、編集できるスキルがあれば違うのかもしれません。 こうして、Xにアウトプットをしていた当時の開発のログを振り返ってみると、やっぱり楽しかったなと思います。なんとなくこの記事から、私が楽しみながらPower Appsと関わってきたということが、分かるんじゃないでしょうか。遠回りでも自分の手で作る、自分の考えを形にする、そんな瞬間もこれからPower Appと、一緒に楽しめたらなと思います。 最後になりましたが、参考になる情報をアウトプットしてくださった先人の皆様、本当にありがとうございました。Power Appsって面白い。 ## 追記:それから1年半、Code Apps で作り直しました ここまでが、Power Apps を触りはじめた1ヶ月目の記録です。この行動ログアプリはその後もブラッシュアップを続けて、今も毎日使っています。 そして2026年8月、当時はまだ存在しなかった Code Apps と Claude Code で、同じアプリをゼロから作り直しました。ボタンを押して記録するだけだったアプリが、**「これから30分でやる」と宣言してから測って、あとで見積もりと実測を並べて振り返れる**ところまで進化しました。ver5.0 で「伝説へ」と言っていた続きが、こちらです。 /totonoi-watch/ --- # 「自分には関係ない」と思っていたClaude Codeで、手書き日記のOCRができた話 - 公開日: 2026-03-04 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/claude-code-local-llm-ocr-diary/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## 今回分かったこと - Claude Codeってどんなものなのか - Claude Code を使うことの何がそんなにすごいのか - 「AIと一緒に仕事をする」ためのお作法 --- ## はじめに:土木出身の私が、ローカルLLMを動かしたなんて! 学生時代にはコンクリートを作って破壊する研究をしていたような人間です。(鉄筋も組んでました・・) そんな人間が、**自分のパソコンの中だけでAIを動かす** ことができるようになりました。(これがローカルLLMというやつか) 今回は、Claude Codeに関する記事を読んだ人間の体験記です。技術的にすごいことをやった、というよりも、「記事きっかけでやってみたら、こんなことができて、こんなことが分かった」という記録として読んでいただければ幸いです。 --- ## きっかけは1本のQiita記事 > [https://qiita.com/minorun365/items/114f53def8cb0db60f47](https://qiita.com/minorun365/items/114f53def8cb0db60f47) 前から、Claude Codeは聞いたことはあったけど、自分には関係ないと思っていました。 でも、記事を読んで「自分もやってみたい!!」と思いました。 とりあえず試しに旅行の計画を一緒に立ててみましたが、なんかイマイチよくわかりませんでした・・ https://twitter.com/kama_bizdev/status/2028397280169205791?s=20 --- ## ふと思い出した。「手書き日記をデジタルにしたい」 話は変わりますが、私には記録魔のようです。 結構前から手書きで日記をつけていて、それをスキャンしてPDFに保存していました。何となく「いつかこれをデータにして、なんかできそう」と思ってました。 でも、自力で文字起こしするなんて無理だし、外注して中身を見られるぐらいなら・・・・ そういえば、噂に聞いているローカルLLM。それならできるのかな。LM Studioはやってみたことがあるけど、どうすればいいのか良く分からんから無理か。。そう思ってました。 --- ## そうだ、Claude Codeに相談してみればいいじゃん 「記事みたいにやれば、自分にもできるのでは・・?」 ということで、音声入力で要件をダンプしました。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-03-at-18.31.06@2x.png) *はじめてCursorをインストールして使った笑* > ちなみに、ダンプと聞くと私は10tDTとみなします。要件を音声入力でダンプ?? > 「元請け手配のRC-40を積んだダンプを、しょうがないから卸し場に誘導してダンプアップさせる」みたいなこと? Claude Code にはダンプしたPLAN.mdをもとに、SPEC.mdを作ってもらいました。具体的な構成(こんな感じらしいです) - **Ollama**: 自分のMac上でAIを動かすためのツール - **qwen2.5vl**: 画像から文字を読み取るAIモデル(Alibaba製。日本語の手書きに強いらしい) - **pdf2image**: PDFを1ページずつ画像に変換するためのライブラリ - **Pythonスクリプト**: 全ページを自動で処理して、Markdownファイルに出力する 最終的に「ターミナルでコマンドを入力するだけで、全ページの処理が自動で走る」状態まで作ってもらいました。 --- ## 動いた。手書きの文字がテキストになった 実際に試してみると、**自分の手書き文字がMarkdownテキストになって出てきました。** M4 MacBookで1ページあたり約1分ぐらい。放置すれば自動で終わります。元々の字が汚いので精度はまあって感じのところもありますが、「良い」レベルで出力されました。MacBookは珍しく熱くなっていて、やっとこのスペックを活用してやりました。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-04-at-19.03.22@2x.png) *黒い画面が動いているじゃないか* ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-04-at-19.10.49@2x.png) *文字起きてる・・すごい* --- ## 何より仕事の任せ方が勉強になった 技術的なことよりも、Claude Codeと一緒に仕事をする上でのお作法を知ることができたことが、一番よかったです。 Qiitaの記事みたいにできるよう、あらかじめClaude に学習してもらっています。CLAUDE.mdっていうファイルに、その辺のルールが書き込まれています。この辺も全部Claude Codeが自分で書いてくれている。 ![](https://flow-with-tech.com/media/wp/2026/03/CleanShot-2026-03-04-at-19.22.17@2x.png) このTODO.mdやKNOWLEDGE.mdがあることで、**後日再開するときも「どこまでやったか」が一目でわかる**。Claude Codeに「前回の続きとか」「前と同じ感じ」と言えば、そのファイルを見て文脈をすぐに引き継いでくれそう。(人任せ) **「AIと一緒に仕事をする」ってこういうことか**、と初めて実感した瞬間。ただチャットで生成してもらうだけじゃない。プロジェクトを一緒に進める感覚。これが、私にとっては一番大きな収穫でした。 --- ## まとめ:「自分には関係ない」と思っていたけど、できた 記事を読んで、「とりあえずやってみよう」と動いてみたら、私でも**ローカルLLMを使ったOCRシステムを動かすことができました。** 技術的に大したことをやった、という話ではありません。でも「やってみたらできた」「AIが一緒に考えてくれた」「エンジニアの仕事の作法まで学べた」という体験は、**今後の私の人生を大きく変えると思います**。(Claude Code が楽しすぎて、ずっとやっていたい笑) 皆さんも、ぜひClaude Codeと何かをやってみてはいかがでしょうか。 (全ページ処理には120時間ぐらいかかる計算なので、しばらく後回しに・・) --- ## 参考リンク - [https://qiita.com/minorun365/items/114f53def8cb0db60f47](https://qiita.com/minorun365/items/114f53def8cb0db60f47) ほえ〜と思ったら、いいねお願いします! --- # 【沼】CleanShotXで呼吸するようにインプット&アウトプットする方法 - 公開日: 2026-02-28 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/cleanshot-x-settings-workflow/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - MacBookを使っている私がClean Shot Xをどう設定しているのか - どう使っていて、何がいいのか - なんで、インプット&アウトプットが捗るのか > CleanShotXとはMac用のスクリーンショットアプリです ## なぜCleanShot Xを使っているのか ### 結論「インプット&アウトプットにおける高速道路を構築できる」 いや、高速道路ではないかもしれない。もはやアウトバーンと言ってもいいかもしれない。インプットとアウトプット、そのサイクルを制限速度なしで回すことができる。それがCleanShot Xである。 ## 複雑なショートカット設定はしません たくさん設定しても覚えられないからです! 必要な機能だけをできる範囲で使っています。 ## 実際のショートカット設定一覧 ### スクリーンショット系 #### Cmd +Shift + 3|スクロールしながらスクリーンショット 画面に入りきらない範囲をスクショしたいときに便利です。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-28-at-10.27.46.gif) #### Cmd + Shift + 4|範囲選択スクリーンショット これが一番普通のスクリーンショットです。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-28-at-10.32.59.gif) #### Cmd +Shift + 5|前回と同じ範囲でスクリーンショット 前回のスクショの範囲をもう一度スクショすることができます。これ以外の方法で1秒以内に同じことができますか?いいえ、できません。(そんなことをする必要があるかどうかは置いておいて) 動画を見ながら学習するときにもかなり使えるので、それについては後で説明をします。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-28-at-10.35.55.gif) ### 録画系 #### Cmd + Shift + 6|範囲選択して画面録画(ろく=6で覚える) これが全ての始まり。これを起点に他のショートカットを割り当てています。 Gif を作成することもできます。上に載せているのがそれです。 #### Shift + Space|録画の一時停止&再開 これによりノーカットで、動画マニュアルが爆誕します。呼吸するように爆誕します。無駄な容量を使わないためにも、必修スキルです。 ### OCR(テキスト取得) #### Cmd + Shift + 2|画面からテキストをコピー(改行付き) 動画のテキストをコピペしたいときなどにかなり便利です。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-28-at-10.39.24.gif) ### スクショ活用系 #### Cmd + Shift + P|直前のスクショを画面にピン止め表示 - 常に最前面表示ができる - サイズ変更・移動が可能 - 2本指操作で透明度を変更できる ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-28-at-10.43.35.gif) *画面に猫を常時配置することだってできる* #### Cmd + Shift + A|直前スクショへアノテーション追加 本当はPower Appsの画面説明にした方がわかりやすいんですが、どうしても猫を使いたいので。 - 撮った直後に注釈を書き込める - 未来の自分に向けて説明できる ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-28-at-10.44.59.gif) ### ショートカット設定まとめ ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-28-at-10.54.37@2x.png) ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-28-at-10.56.43@2x.png) ## 実際の使い方(ワークフロー紹介) ### 動画学習 × Obsidianでノンストレス学習ノート作成 #### 前回範囲スクショで学習ログを高速化 初回は「Cmd + 4」で範囲選択をしてスクショを撮ります。その後は、「Cmd + 5」で同じ範囲をスクショします。Obsidian から一切手を離すことなく、マウスを使うこともなくスクショを撮れます。 1画面に動画や参考になるサイトを表示、もう1画面にObsidianを開いてメモ作成するときにかなり便利です。 #### 学習効率が上がった理由 スクショをした後に、「Cmd + A + Shift」で画面に注釈を入れます。クリックする順番であったり、ポイントとなることを書き込みます。そして、そのままObsidian に貼り付けます。とにかくシームレスにできることにより、学習効率がめちゃくちゃ上がります。(あと、なんか楽しいです) ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-28-at-10.50.12@2x-1.png) *例えば、Microsoft Learn Docsの使い方をまとめてみるとこんな感じ* ### ノーカットでマニュアル動画を作成する 手順はこんな感じです。 画面録画開始 → 一時停止 → スクショ → 注釈 →録画再開 例えばこんな感じの動画がノーカットで作成できます。ただし、頭の中で構成を考えて、一時停止と再開、再開時の継続秒数(これなら3秒あれば見て理解してもらえそうとか)を考えながら行う必要があるので、要特訓ですね。ここまで読んでいただいている皆様は、効率化に対して並々ならぬ情熱を持っていると思うので、ぜひやってみてください笑 https://twitter.com/kama_bizdev/status/2024851622955024567?s=20 ## 料金について 買い切り 29ドル(私は買い切り版を使っています) サブスク 8ドル/月(年払い)・10ドル/月(月払い) 詳しくはHPをご参照ください [https://cleanshot.com](https://cleanshot.com) ## まとめ:アウトバーンを走る車になろう 制限がなくなるとインプットもアウトプットにも制限がなくなります笑 アウトバーンを走っていいよと言われると、いつの間にか自分がランボルギーニぐらいの速度を出せるようになるんじゃないでしょうか。そして気付かないうちに、その速度に耐えうる足腰を身につけることもできます。 限りある時間を気持ちよく過ごすために、試してみてはいかがでしょうか。 (私はMacBookを2台持っているので、2ライセンス買ってしまいました笑) --- # PPACの「AIプロンプト」をオフにするとどうなるのか試してみた - 公開日: 2026-02-25 - カテゴリ: Power Platform - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/ppac-ai-prompt-off/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - Power Platform管理センターで「AIプロンプト」をオフにすることによって、何が起こるのか ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-25-at-09.44.00@2x.png) > [https://learn.microsoft.com/ja-jp/power-platform/admin/settings-features#ai-prompts](https://learn.microsoft.com/ja-jp/power-platform/admin/settings-features#ai-prompts) > > AI プロンプト ## なぜ試してみたのか? AI Builder を使えなくする方法を探しているから。 ## オフにすると使えなくなったもの Power Apps→AI ハブから、カスタムプロンプトの作成ができなくなりました。項目自体が消えます。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-25-at-09.48.48@2x.png) ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-25-at-09.48.27@2x-1.png) プロンプト作成画面を開いておいて、オフにした後再度読み込みをすると、「この機能は無効になっています」と表示されます。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-25-at-09.47.23@2x.png) 作成済みのPower Appsで挙動を見てみます。オフにすると実行が失敗になります。 ![](https://flow-with-tech.com/media/wp/2026/02/image.png) この環境では無効になっていると書いてあります。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-25-at-09.53.52@2x.png) ## オフにしても使えたもの AIモデル内の「事前構築済みモデル」も「プレビュー」も使えました。[「プレビュー」は別項目の設定を変更することで、制限ができました](https://flow-with-tech.com/ppac-preview-ai-model-off/)。ということは、設定をしても「事前構築済みモデル」だけは使えてしまうということなのでしょうか。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-25-at-10.02.55@2x.png) ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-25-at-09.58.56@2x.png) ## まとめ 「AI プロンプト」の設定をオフにすることで、カスタムプロンプトの制限をすることができました。別途、「プレビューと実験段階の AI モデル」をオフにすれば、「事前構築済みモデル」以外は制限ができるのではないか。 AI Builder クレジットが、Copilot Studioクレジットへ統合される。管理者の皆様はどうやって管理・クレジット購入をされているんでしょうか。 --- # PPACで「プレビューと実験段階の AI モデル」をオフにするとどうなるのか試してみた - 公開日: 2026-02-25 - カテゴリ: Power Platform - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/ppac-preview-ai-model-off/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - Power Platform管理センターで「プレビューと実験段階の AI モデル」をオフにすることによって、何が起こるのか ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-25-at-09.23.41@2x.png) *設定画面へのたどり着き方* > [https://learn.microsoft.com/ja-jp/ai-builder/administer#enable-or-disable-preview-features-or-models](https://learn.microsoft.com/ja-jp/ai-builder/administer#enable-or-disable-preview-features-or-models) > > プレビュー機能またはモデルを有効または無効 にする ## なぜ試してみたのか? AI Builderクレジットが廃止されて、Copilot Studioクレジットへ統合される。意図しない環境やユーザーによる、クレジット使用量爆増を制御する方法を探していた。PPACの設定項目を見ていると、これで制御できるのでは?という項目を見つけたので、個人のテナントで試してみた。 > [https://learn.microsoft.com/ja-jp/ai-builder/endofaibcredits](https://learn.microsoft.com/ja-jp/ai-builder/endofaibcredits) > > Al Builder クレジットの期間終了 ## オフにすると使えなくなったもの Power Apps→AI ハブ→AIモデルの中の、プレビューと書いてあるモデルが使えなくなりました。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-25-at-09.01.57@2x.png) AI Builderを走らせると、エラーメッセージが出ます。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-25-at-09.11.54@2x.png) この環境では無効になっていると書いてあります。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-25-at-09.29.53@2x.png) ## オフにしても使えたもの Power Appsの数式バー左のCopilotマークから、式を作成する(プレビュー)があります。プレビューと記載がありますが、オフにしても使えました。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-25-at-09.07.15@2x.png) ## まとめ AI Builderの使用を制限するには、この設定だけでは不十分そうです。カスタムプロンプトを作成して、実行ができるからです。こちらについては、「AI プロンプト」の項目をオフにすることで制限ができそうなので、また試してみたいと思います。(試してみたので、別記事に書いてみました) PPACは奥が深くて難しい! ## 関連記事 AIプロンプトの項目をオフにしてみた https://flow-with-tech.com/ppac-ai-prompt-off/ --- # 0からPower Appsを学んだ、最初の1ヶ月の軌跡を振り返ってみた - 公開日: 2026-02-22 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/power-apps-first-month-learning-journey/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること 0からPower Appsを学び始めた人が、自分でアプリを作れるようになるまで、最初の1ヶ月間どんな感じで学習をしていたのか ## はじめに Power Appsを本格的に学び始めたのは、2025年2月です。現在、約1年が経過しました。学んでいる過程や、作成したアプリをXに発信していたので、今回はそれを振り返りながら、最初の1ヶ月の軌跡をご紹介したいと思います。 やろうかなと思ったら、もうすでにやり終えている。 そういうことです。 これから、Power Appsをやってみようかなと思っている同士に向けて。 ## 現在の私 - 市民開発系をしている - PL-900・PL-200取得した - 最近Xの調子がいい(自分にとっては) ## そうだ、Udmeyしよう そういえば、Udemyっていう学習できるプラットフォームがあるって聞いたな。Power Appsもあるらしいから、探してやってみよう。 ### 1コース目 コース名:Microsoft Power Apps 基礎マスターコース 講師:ヒョウノモトハル さん リンク:[https://www.udemy.com/share/105ONW3@Cc0N6WY2GxeW67xx2rXOdPEtpd1TNUTGsVvIf-xWdyCoF-9DOP69sd-31mxkXLM3_A==](https://www.udemy.com/share/105ONW3@Cc0N6WY2GxeW67xx2rXOdPEtpd1TNUTGsVvIf-xWdyCoF-9DOP69sd-31mxkXLM3_A==) --- 【2025年2月2日】全てはここから始まった。 Udemy→時間記録→Xでアウトプットもやりました。大体のことはXに書いてます。(たぶん) https://twitter.com/kama_bizdev/status/1885965997955600488?s=20 【2025年2月4日】今日もまたひとつ学ぶことができた。千里の道も一歩から。 https://twitter.com/kama_bizdev/status/1886535651451134179?s=20 【2025年2月7日】命名規則?変数とは?よくわからんけど、ふーん。 https://twitter.com/kama_bizdev/status/1887627260653674511?s=20 【2025年2月8日】はいはい "."ね。ああ、Blank()ね。(今となっては懐かしい) https://twitter.com/kama_bizdev/status/1888011254234759514?s=20 【2025年2月9日】ドロップダウンのアイテムってこうやって設定するらしいよ。 https://twitter.com/kama_bizdev/status/1888362669184553318?s=20 【2025年2月9日】噂で聞いたけど、IF関数って入れ子にできるらしい。 まさか、これが1年後に「別記事:[Confirm関数をおそらく本来の意図とは違うことに使ってみた3選](https://flow-with-tech.com/power-apps-confirm-function-3-ideas/)」につながるなんて。 https://twitter.com/kama_bizdev/status/1888362804077633689?s=20 【2025年2月9日】&は全てをつなげる力があるらしい。 https://twitter.com/kama_bizdev/status/1888363476671991938?s=20 【2025年2月10日】二日酔いでもDistinct https://twitter.com/kama_bizdev/status/1888799836725776841?s=20 【2025年2月10日】OnVisibleは、画面を見た時に実行できるっていう、トラップみたいなことできるらしい。 https://twitter.com/kama_bizdev/status/1888811839745872151?s=20 【2025年2月10日】おわり〜 https://twitter.com/kama_bizdev/status/1888816106690990447?s=20 ### Udemy 2つ目 コース名:【2024年版】 Microsoft PowerApps 技術講座:必ず知って おきたい頻出テクニック4選 講師:KATO 講師 (この場合はさん付けは不要なのだろうか) リンク:[https://www.udemy.com/share/10cMdh3@0mPhzk4T2aOIrWM8XG1fxfG0ymzq8-Z4oqnWS8HXwVzIlpF2ir2Wy2uJJr3Qa4q9ww==/](https://www.udemy.com/share/10cMdh3@0mPhzk4T2aOIrWM8XG1fxfG0ymzq8-Z4oqnWS8HXwVzIlpF2ir2Wy2uJJr3Qa4q9ww==/) --- 【2025年2月13日】習ってないことにも勝手にやってみている。そして、Notify関数に感動(すごい!) https://twitter.com/kama_bizdev/status/1889798603671216328?s=20 【2025年2月14日】AIの生成結果をコピペしていたPatch関数。AIの手下からの卒業 https://twitter.com/kama_bizdev/status/1890161385444925702?s=20 【2025年2月18日】ドロップダウンリストの、AllowEmptyって知ってますか?(得意げな顔) https://twitter.com/kama_bizdev/status/1891611042662187380?s=20 【2025年2月23日】アプリが完成!(アウトプットのための録画スキルも同時に向上笑) https://twitter.com/kama_bizdev/status/1893480559302844660?s=20 【2025年2月27日】「何の成果も得られませんでした」こんな日もありますよね。いい時もあれば悪い時もある。それでもまた陽が上るんですね。 https://twitter.com/kama_bizdev/status/1894875627108606311?s=20 【2025年2月28日】たったの3分だけでも、0よりはいいはず! https://twitter.com/kama_bizdev/status/1895233331836616817?s=20 【2025年3月2日】ついについに完走した〜!! https://twitter.com/kama_bizdev/status/1895997487774908654?s=20 ## 学びの寄り道 ### Googleで行動記録をしていました 記録魔の才覚が・・ https://twitter.com/kama_bizdev/status/1888354088213246075?s=20 ### SVGって何?すごい 今でもあんまり理解してないですが、SVGってすごいんですよ。(当時と同じレベル笑) https://twitter.com/kama_bizdev/status/1893809891245994386?s=20 ### サックス習ってみてた サックスについても投稿するアカウントにしようと思って、1回だけポストしたやつ。 https://twitter.com/kama_bizdev/status/1893540404844470674?s=20 ### 行動ログアプリの初期版 今とは方向性が違いますね。 https://twitter.com/kama_bizdev/status/1895654101817737502?s=20 こんな方向性で行こうとしていた。 https://twitter.com/kama_bizdev/status/1895748685696479538?s=20 ## まとめ 「Xのポスト貼っただけじゃん!」と思われるかもしれません。そうです、貼っただけです。だいたい、必要なことをポストしていたはずなので、それでもいいかなと思いまして。 当時のポストを振り返ってみると、「そっか、**最初は何も知らなかったんだ**」と改めて気づきました。 誰だって最初は初心者です。やっている時は大変ですが、振り返ればそれがいい思い出になると思います。Power Appsやってみたいなって思っている人は、ぜひ始めてみてはいかがでしょうか。何からやればいいか分からない人にはUdemyをお勧めします。(自分がそれから始めたからです。他にもいい方法はたくさんあると思います。) 最後まで読んでいただきありがとうございました。 そして、UdemyとPower Appsのコースを提供してくださった講師の皆様に感謝申し上げます。ありがとうございました。これからもよろしくお願いします! いいねと思ったら、いいねお願いします〜! --- # 市民開発者が普段使っているアプリたち8選(2026年2月版) - 公開日: 2026-02-22 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/recommended-apps-for-focus-and-productivity-2025/ - サイト: 改善紀 — 好奇心の赴くままに。 --- # なぜ書くのか? > 🗣 今、突然書きたいと思ったから!!!! ## この記事を読んでわかること - 普段からMacBookやiPhone、Apple Watchを使っている市民開発者がおすすめするアプリ - 自分の時間や脳のリソースを無駄にしないためのアプリ - 数年後、自分が見返した時の、「そんな時代もあったな〜」 ## 1.パスワード管理アプリ:1 Password [https://1password.com/jp](https://1password.com/jp) > パスワードなんだっけ・・・より、もっとやりたいことがたくさんある iOSでもAndoroidでも、MacでもWindowsでも使えるパスワード管理アプリです。パスワードなんだったけ?に悩む時間や脳のリソースを使わなくて良くなります。パスワードの生成もしてくれて、文字数・記号含むかなども変更できます。 ## 2.スクショ&編集アプリ:Clean Shot X [https://cleanshot.com](https://cleanshot.com) > アウトプットのための高速道路を! MacBook用のスクリーンショットアプリです。スクショ撮るなんて標準機能にあるじゃん。注釈?そんなのパワポで書いたらいいじゃん。 確かにそうです。ただ、アウトプットを最大化しようと思ったら、簡単にできるように環境を整備することも必要です。 このポストにつけている動画もClean Shot Xで撮っています。画面録画中に一時停止して、スクショに注釈を入れて、録画を再開しています。 飲んで帰ってきてアプリ作っても、即アウトプットできます笑 https://twitter.com/kama_bizdev/status/2024846312324403458?s=20 スクショへの注釈はこんな感じ。(22時半から何してるんだろう・・) ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-22-at-08.22.40@2x.png) ### Clean Shot Xの詳細はこちら 私がどんなふうに設定をして、どう活用しているかを書いてみています。 https://flow-with-tech.com/cleanshot-x-settings-workflow/ ## 3.計測できないものは管理できない:Power Appsで自作する行動記録アプリ > 自分で作ったアプリは、プライスレス。全ての記録魔に向けて。 やっとPower Appsが出てきました。さっきの記録もこのアプリでつけたものです。 欲しい機能を自分にとって最高のUI・UXで実装する。これ以上のことがあろうか、いやない。 詳しくはこちらにて。 https://flow-with-tech.com/lifelogging-system-with-power-apps-one-year-review/ ### 【追記】Code Appsで作り直しました その後、このアプリをCode Apps(コードファーストのPower Apps)で作り直しました。開発者プログラムを使えば費用はかからず、スマホアプリとしてもWebアプリとしても動く「自分だけの行動記録アプリ」が手に入ります。記録するだけでなく、集計やグラフもアプリの中で完結するようになりました。 https://flow-with-tech.com/totonoi-watch/ ## 4.惑わされない人生を:One-Sec [https://one-sec.app/ja](https://one-sec.app/ja) > 減らしたいものには辿り着くのを面倒くさくすべし なんとなくSNSを見てしまう・・ そんな時におすすめです。アテンションエコノミーやいいねがたくさんつくことによるドーパミン、手軽なものに手を伸ばしてしまう! 評判など無意味だ (引用元: マルクス・アウレリウス「自省録」) そんなことを体現し、やりたいことしよう。ワンクッションあるだけで、とてつもなく面倒くさくなります。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-22-at-08.27.00.gif) ## 5.Zettelkastenで自分の言葉を思考を創る:Obsidian [https://obsidian.md](https://obsidian.md) 生成AIは文章を作ります。でも、人間のように創れないと思います。皆さんは自分の思考のつながりや、自分の中から言語化したものを、見返したことはありますか? 私は日記を10年以上書いていて、たまに見返すことがあります。そして、めっちゃおもろいことがあります。こいつこんなこと考えていたんだ、何言ってんだろうか笑 と。 人間が文章を書く喜びは、そういうことなんじゃないかなと思います。 Zettelkastenというノート術があります。自分の言葉で書くこと・ノートとノートの繋がりを生むこと。そんなノート術です。それを体現できるのが、Obsidianというアプリです。 ノートとノートが繋がり新しい思考やアウトプットが生まれる。そんな感じです。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-22-at-08.37.08@2x.png) ## 6.Apple Watchだけで集中タイム:Bluebird [https://apps.apple.com/jp/app/bluebird-%E3%83%9D%E3%83%A2%E3%83%89%E3%83%BC%E3%83%AD-%E9%9B%86%E4%B8%AD%E3%82%BF%E3%82%A4%E3%83%9E%E3%83%BC/id1478757472](https://apps.apple.com/jp/app/bluebird-%E3%83%9D%E3%83%A2%E3%83%89%E3%83%BC%E3%83%AD-%E9%9B%86%E4%B8%AD%E3%82%BF%E3%82%A4%E3%83%9E%E3%83%BC/id1478757472) > 集中力のない同士へ 普段は極力、手元にスマホを置かないようにしています。Apple Watchだけでポモドーロタイマーができないかなと思って、見つけたアプリです。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-22-at-08.41.25@2x.png) ## 7.Windowsみたいにウィンドウを切り替えたいじゃん:Alt Tab [https://alt-tab-macos.netlify.app](https://alt-tab-macos.netlify.app) じゃあWindows使えばいいじゃんとは言わないでください。マウスを使わなくてもウィンドウを切り替える。いいよね。 ## 8.Windowsみたいにコピー履歴使いたいじゃん:Clipy [https://clipy-app.com](https://clipy-app.com) はい。 文字も画像も。スニペットには定型分を登録しておけます。便利。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-22-at-08.44.04@2x.png) ## まとめ 途中で面倒くさくなってしまいましたが、こんな感じです。 皆さんもおすすめのアプリがあれば教えてください。 > いいねと思ったら、いいね願いします! --- # AI活用以前の業務改善について思うところ - 公開日: 2026-02-17 - カテゴリ: column - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/last-one-mile-shinkansen-thinking/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## ラストワンマイルまで新幹線で行こうとしていないか? 改めて言うまでもなく、生成AIはめっちゃすごい。私もめっちゃ助けられています。 でもそれで、目的地まで直行する以外の選択肢を持っていますか。たとえば、名古屋から東京に新幹線で到着したとして、スカイツリーまでも新幹線で行こうとしていませんか? 確かに名古屋-東京間はめっちゃ早いよ。(リニア・・・) でも適材適所っていう言葉があって、何もかも新幹線で行くのが一番早いっていうわけじゃないよね。 たとえ、莫大な費用をかけて建設しても、短縮されるのってたかが数分じゃないですか。(現代の利用者目線)それよりも、東京駅着いたらあとは在来線で行くとか、考えた方がいいんじゃないだろうか。 てか、今でも東京駅から25分でいけるんだけど、それ自体が本当に問題なのかってちゃんと見極めてますか。特に今のままでも問題ないっていうパターンはないんでしょうか。 いや、10分でいけないと困るんです。なぜなら東京駅で買うアイスが溶けるからです。と明確に言えるなら、いいんだけど。 あとはそもそも、新幹線以外の方法で行くっていう選択肢はないんだろうか。ドライバー付きの車をレンタルして現地まで送って貰えば。ヘリってどう? 前泊すれば? 移住すれば? スカイツリーの近くに住んだら毎日歩いていけるよ。 極端な発想かもしれないけど、仕事においてはゴールはあるけど、そこへ辿り着く方法は無数にあることが多いような。その自由さゆえにいろんな選択肢があって頭を悩ませるきっかけにもなっているのかもしれないけど。(え、ゴールもないことも多い?それは一旦置いておきましょう〜) > アイスが溶けるなら、東京駅で食べちゃえば?時間がない?じゃあその時間を捻出できるようにスケジュールを見直せば?(面倒臭いから嫌・・?) --- ## 最新のモデルを使うか、プロンプトをブラッシュアップしたいんです。 今何が問題なんですか? ・・・わかりません。 生成AIが出してきたものを、まだ精査していない。そんな中で何をブラッシュアップすればいいんだろうか。問題が何かもわからないなら、課題が何かもわからない。まずはどこにギャップがあって、どれくらい根深いのかが分からないと何も言えないよな。 ベンダーは自社製品を買って欲しいから、そりゃ自社製品での解決策をどうにか見つけてきて言うよ。そして現場もそれを真にうける。「最新機能さえ、最新機能さえ使えたら・・・」そんな構図って結構大変じゃない。最新機能ですよ。いつ使えるのか分からないんですよ。いつ仕様が変わってもおかしくないんですよ。生成AIですよ。100点を求めて大丈夫ですか〜? なんか生成AIが現場を逆に困らせている気がする。昔だったら、じゃあ人を入れようとか、外注しようとか、頑張ればなんとかなる。その一言で解決するような問題だったんじゃないかなと思ってしまう。 (最後が一番多いかもしれない笑) テクノロジーは本当に人を幸せにするのだろうか? 新しい悩みを増やして、それを解決するという仕事を増やして、誰かの懐を癒している。そして現場はずっと楽にならない。 業務プロセスを広く見直すっていう、めっちゃ面倒臭いことに挑むスキルも一生身につかない。だからツールありきで、これでなんとか完璧まで行きたいと、視野が狭窄してしまうんじゃないだろうか。 そんな構造に見えてしまってならないのは、やっぱり私の知識や経験、スキル、考え方がまだまだ浅いからなんだろうか。 最新モデルに心躍るのは理解できるけど、まずは当たり前のことを当たり前にする。それは忘れないようにしたいと思う今日この頃でした。 --- # Power Appsで通信調査アプリを作ってみたら、完全に机上の空論だった話 - 公開日: 2026-02-14 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/power-apps-connection-connected-field-test/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - Power Appsの`Connection.Connected`関数の仕様と限界 - 「技術的にできること」と「業務要件を満たすこと」の違い - 市民開発において、業務理解がなぜ重要なのか ## はじめに 突然ですが、皆さんに質問です。 **Q. Power Appsにはデバイスの通信状況を取得する関数があります。これを使って、通信調査をするアプリを作ることはできるでしょうか?** 答えは「はい」です。作ることはできます。 **では、そのアプリは実用に耐えるでしょうか?** 答えは——**いいえ、耐えられませんでした**! 今回は、私が実際に通信調査アプリを作成し、検証してみた結果、「机上の空論」だとわかった話を書きます。 ## なぜアプリを作ろうと思ったのか 建設業界にいると分かるんですが、日本国内でも未だに通信が無い場所があります。(本当です!) Power Appsって通信状態を取得できる関数があったよな。じゃあ、**通信調査アプリを作れば、緯度・経度と通信の有無をセットで簡単に記録できて「良さそう、作ろう、作った**、**使った」**という感じです。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-14-at-09.07.04@2x.png) *実際のアプリ画面* ## どんなアプリを作ったのか Power Appsにタイマーコントロールを配置し、一定間隔ごとに以下の情報を自動で記録するアプリを作りました。 - 緯度・経度(`Location`関数) - 日時 - 通信状況(`Connection.Connected`の値) 取得したデータはマップ上にプロットし、通信の有無を色分けして視覚的に確認できるようにしています。 ### タイマーコントロールのOnTimeEnd ``` Collect( colCommLog, { TimeStamp: Now(), //現在日時を記録 Connected: Connection.Connected, //通信があるかどうかのブール値を Latitude: Location.Latitude, //緯度 Longitude: Location.Longitude, //経度 Status: If(Connection.Connected, "通信あり", "通信なし"), //通信があるかどうか PinColor: If(Connection.Connected, Color.Blue, Color.Red) //通信状態別の色 } ) ``` ## 実際に使ってみた 新幹線は、トンネル区間が連続する箇所で通信が不安定になりますよね。皆さんも一度は経験があるのではないでしょうか。 では、**実際にどの区間で、どれくらいの距離にわたって通信が途切れるのか**——計測したことはありますか? たぶんないですよね。私もありませんでした。 そこで、試しに使ってみました笑 ### 結果:体感と全然合わない どれだけ待ってもブラウザが開けない場所でも、ほとんどTrue(通信あり)という結果が得られました・・ ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-14-at-09.22.04@2x.png) *実際に使ってみた* ### 原因:`Connection.Connected`の仕様 原因に気づきました。 Power Appsの`Connection.Connected`は、**デバイスが完全にオフラインにならない限り`true`(通信あり)を返すみたいです。** そこに、通信速度は関係無かったのです。 ## わかったこと:「できる」と「使える」は別物 今回、身をもって実感したのは、**ツールの機能として「できること」と、業務の要件として「必要なこと」は別物だ**ということです。 通信調査において求められるのは、通信の有無(0か1か)ではないみたいです。通信速度がどの程度出ているのか、どのキャリアで、どの周波数帯(バンド)を掴んでいるのか等々。 `Connection.Connected`が返す`true`/`false`だけでは、その要件は満たせませんでした。 作る前は「これでいけるのでは?」と思っていたのですが、完全に見当違い。まさに**机上の空論**でした〜! ## 市民開発において本当に必要なこと 今回の失敗で改めて感じたのは、**既存業務の要件を正しく理解することの重要性**です。 技術だけじゃなくて、要件を理解していかねば・・! ## まとめ やってみて、初めてわかることって多いですね。後から考えると、「そんなのやる前からわかるじゃん」って感じなのが不思議です。今回の経験によって、うまくいかないやり方見つけることができました(発明王のように!) 皆さんも身近な疑問をPower Appsで検証してみてはいかがでしょうか? > 🗣 最後まで読んでいただきありがとうございました。 > > いいねと思ったら、いいねお願いします! --- # Confirm関数をおそらく本来の意図とは違うことに使ってみた3選 - 公開日: 2026-02-13 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/power-apps-confirm-function-3-ideas/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## はじめに 先日アップデートされたConfirm関数。Power Appsユーザーから歓喜の声が上がっていましたね! むむ、どう使えばいいんだろう。 私は理解するのに少し時間がかかりました笑 理解の途中で「ああ、条件分岐もできるのか」と気づきました。そして閃いた。 **こんなことに使ったらおもろそうじゃん。** 今回は、Confirm関数の本来とは違う、3つの使い道について書きたいと思います。 ## Confirm関数について参考にさせていただいた記事 ``` Confirm関数についてちゃんと知りたい人は、こちらをご参照ください。 https://qiita.com/Takashi_Masumori/items/6d08844e43f44860fb9c ``` ## この記事を読んでわかること - Confirm関数を使って「人生について問いかける方法」 - Confirm関数を使って「診断テストをする方法」 - Confirm関数を使って「正解するまで抜け出せないクイズを仕掛ける方法」 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-13-at-19.41.30@2x-1.png) ## Confirm関数で起きていること 確認のためのダイアログを表示して、その結果を元にアクションを変更しているようです。つまりこういうことだと理解しました。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-13-at-20.02.04@2x.png) ## 全ての始まり。ふとした疑問。 **「Yesの下に、もう一個Confirm関数つけたらどうなるんだろうか?」** つまりこういうことです。もう一個つけることができるということは、**何個でもつけることができるんじゃないだろうか**。この思いつきが全ての始まりだった・・ ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-13-at-20.02.56@2x.png) ## 使い道①:人生について問うてみたい これが、23時前。 ### アプリ画面 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-13-at-19.53.00.gif) ### フローチャートで表すと ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-13-at-20.19.58@2x-1.png) ### Xへのポスト https://twitter.com/kama_bizdev/status/2021946315438272905?s=20 ## 使い道②:診断テストをしてみたい 自力でこのPower FXは書けないけど。これが23時20分ごろ。 ### アプリ画面 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-13-at-19.50.11.gif) ### フローチャートで表すと ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-13-at-20.17.15@2x.png) ### Xへのポスト https://twitter.com/kama_bizdev/status/2021951901781393520?s=20 ## 使い道③:正解するまで抜け出せないクイズを仕掛けたい 無限ループにできてしまうことがわかりました。これは、23時40分ごろ。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-13-at-19.55.36.gif) ### フローチャートで表すと ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-13-at-20.15.17@2x.png) ### Xへのポスト https://twitter.com/kama_bizdev/status/2021957237380677693?s=20 ## まとめ 思いついたらやってみてしまう。そんな性格なので、こんなことをしました。 23時前からこんなことを開始するのはやめたいです笑 でも、やっぱりPower Appsっておもろいですね〜! (コメント欄はまだ設置できてませんが、いいねボタンを設置することに成功しました。いいねと思ったら、いいねお願いします!) --- # 【Power Apps】構造化データをMermaid記法に変換して、アプリ内で組織図をプレビューする方法 - 公開日: 2026-02-12 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/power-apps-mermaid-org-chart/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - Power Fxで構造化データをMermaid記法に変換するロジックの書き方 - PCFコンポーネントを使ってアプリ内で組織図をリアルタイムにプレビューする方法 --- ## 今回つくるもの Power AppsでMermaid記法を使えるなら何に使いたいですか? そうです、組織図の自動作成ですよね。(ね!) 今回は、**体制情報を構造化データで持ち、Power Appsの中でMermaid記法に自動変換して組織図をプレビューできる**仕組みを作ってみました。 全体の仕組みはとてもシンプルです。 1. **コレクション**に組織データ(名前・役職・上司)を持つ(今回はサンプルなのでコレクションにしています。本運用するならDataverseなどになります) 2. **Power Fx**でMermaid記法の文字列に変換する 3. **PCFコンポーネント**がMermaid記法を受け取って図を描画する 「テキスト to グラフィカル」これが思いのままに定義できるという素晴らしさ。たとえ元が構造化データであってもMermaid記法に変換してしまえばいいのさ。 ### 実際のアプリ画面 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-12-at-19.57.08.gif) --- ## コレクションの設計 まず、組織データをどう持つかを考えます。今回は最小限の3カラム+IDで設計しました。 | カラム名 | 型 | 説明 | | --- | --- | --- | | ID | Number | レコードの識別用 | | Name | Text | メンバーの名前(表示名) | | Role | Text | 役割(Manager / Leader / Staff) | | Manager | Text | 上司のName(トップは空白) | **Managerカラムに「上司のName」をそのまま入れ**てみました。これによって、「誰が誰の部下か」という親子関係がシンプルに表現できます。Dataverseでやるなら、自らのテーブルを検索する検索列を作る感じでしょうか? サンプルデータをボタンのOnSelectで作る場合は、こんな感じです。 ``` // ボタンのOnSelect ClearCollect( colOfficeOrg, {ID: 1, Name: "営業部長", Role: "Manager", Manager: ""}, {ID: 2, Name: "営業1課長", Role: "Leader", Manager: "営業部長"}, {ID: 3, Name: "営業2課長", Role: "Leader", Manager: "営業部長"}, {ID: 4, Name: "田中営業1課", Role: "Staff", Manager: "営業1課長"}, {ID: 5, Name: "佐藤営業1課", Role: "Staff", Manager: "営業1課長"}, {ID: 6, Name: "鈴木営業2課", Role: "Staff", Manager: "営業2課長"}, {ID: 7, Name: "高橋営業2課", Role: "Staff", Manager: "営業2課長"} ) ``` --- ## Power FxでMermaid記法に変換する コレクションのデータを、Power Fxだけで**Mermaid記法の文字列に変換**します。(魔法みたい・・) ### Mermaid記法とは? Mermaid記法は、テキストベースで図を描くための記法です。たとえば、こういうテキストを書くと: ``` graph TD 営業部長 --> 営業1課長 営業部長 --> 営業2課長 営業1課長 --> 田中営業1課 ``` ツリー状の組織図が自動生成されます。「`A --> B`」が「AからBへの線」を意味するので、上司と部下の関係をそのまま書けばOKです。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-12-at-20.00.53.gif) > Mermaid記法の詳細は公式ドキュメントを参照してください。 [https://mermaid.js.org/](https://mermaid.js.org/) ### 変換コード ``` Set( varMermaidCode, "graph TD" & Char(10) & Concat( Filter(colOfficeOrg, !IsBlank(Manager)), Manager & " --> " & Name, Char(10) ) ) ``` **`"graph TD" & Char(10)`** Mermaid記法のヘッダーです。`graph TD`は「上から下(Top-Down)に流れるグラフ」という意味。`Char(10)`は改行コードです。(flowchart TDでもいいみたいです) **`Filter(colOfficeOrg, !IsBlank(Manager))`** コレクションから**Managerが空でないレコード**だけを取り出します。つまり、トップの「営業部長」は除外されます。なぜかというと、トップには「上司→自分」の線が不要だからです。 **`Manager & " --> " & Name`** 各レコードを「`上司名 --> 自分の名前`」の形式に変換します。これがMermaid記法の1行になります。 **`Concat(..., Char(10))`** Concat関数で全レコードを改行区切りで結合します。 ### 生成される結果 上のコードを実行すると、変数`varMermaidCode`にはこんな文字列が入ります。 ``` graph TD 営業部長 --> 営業1課長 営業部長 --> 営業2課長 営業1課長 --> 田中営業1課 営業1課長 --> 佐藤営業1課 営業2課長 --> 鈴木営業2課 営業2課長 --> 高橋営業2課 ``` **データの親子関係が、そのままMermaidの矢印になる。** いい感じですね〜。 --- ## PCFコンポーネントでプレビューする 生成したMermaid記法の文字列を、PCFコンポーネント(Power Apps Component Framework)に渡すと、アプリ内でリアルタイムに組織図が描画されます。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-12-at-19.57.08-1.gif) Mermaid記法をプレビューするPCFコンポーネント自体の作り方や導入手順については、別の記事で詳しく解説しています。 > PCFコンポーネントの導入方法はこちら > > https://flow-with-tech.com/power-apps-mermaid-pcf-preview/ --- ## まとめ 今回は、Power Appsのコレクションに持った構造化データを、Power Fxで**Mermaid記法に変換して組織図をプレビュー**する方法を紹介しました。 やっていることを振り返ると: - **Power Fxで変換**: `Filter`で上司がいるレコードだけ抽出 → `Concat`で「上司 --> 部下」の文字列を結合 - **PCFで描画**: 変換した文字列をPCFコンポーネントに渡すだけ Mermaid記法は組織図だけでなく、フローチャートやシーケンス図、ER図なども書けます。データの持ち方を工夫すれば、**業務フローの可視化**や**システム構成図の自動生成**にも応用できそうですね〜(夢が広がる!) 「構造化データを持っていれば、図は自動で作れる」——この考え方、いろんな場面で使えるんじゃないかなと思います。 皆さんもぜひ試してみてください。 (皆さんからのアイデア募集したいですが、コメント欄がまだないので見送ります・・) --- # 【Power Apps】PCFコントロールでMermaid記法をプレビューする方法 - 公開日: 2026-02-11 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/power-apps-mermaid-pcf-preview/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## この記事を読んでわかること - Power AppsでMermaid記法をプレビューする方法 - PCFコントロールのインポート手順 ### こんなことができます ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-20.32.09.gif) --- ## 前提知識について 本記事では、**Mermaid記法そのものの解説**や**PCFコントロールの基礎的な説明**は省略します。 「Mermaid記法って何?」「PCFコントロールって何?」という方は、以下を先にご覧ください。 > **Mermaid公式サイト** テキストベースでフローチャートやシーケンス図を描ける記法です。 [https://mermaid.js.org/](https://mermaid.js.org/) > > **キャンバス アプリのコード コンポーネント — Microsoft Learn** > > [https://learn.microsoft.com/ja-jp/power-apps/developer/component-framework/component-framework-for-canvas-apps](https://learn.microsoft.com/ja-jp/power-apps/developer/component-framework/component-framework-for-canvas-apps) --- ## 今回使うPCFコントロール 今回使うのは、Iona Varga氏が作成した **「Mermaid JS」** というPCFコントロールです。ページ下部のDownloadからGit Hub レポジトリにアクセスできます。 > **PCF Gallery — Mermaid JS** [https://pcf.gallery/mermaid-js/](https://pcf.gallery/mermaid-js/) --- ## 実際にやってみた ここからは実際の手順を説明していきます。やることは大きく3ステップです。 1. 環境でPCFコントロールを有効化する 2. ソリューションをインポートする 3. キャンバスアプリに追加する ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-19.56.34@2x.png) ### 事前準備 — 環境でPCFコントロールを有効化 まず、PCFコントロール(コードコンポーネント)をキャンバスアプリで使えるようにする必要があります。 1. **Power Platform管理センター**にアクセス 2. 左メニューから「**環境**」を選択し、対象の環境をクリック 3. 「**設定**」→「**機能**」を開く 4. 「**キャンバス アプリの Power Apps Component Framework**」を**オン**にする 5. 「**保存**」をクリック ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-19.56.55@2x.png) ### ソリューションをインポートする 次に、Mermaid JSコントロールのソリューションファイルをダウンロードしてインポートします。 **1. GitHubからソリューションZIPをダウンロード** ソリューションファイル(`.zip`)をダウンロードします。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-19.16.48@2x.png) ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-19.17.21@2x.png) **2. Power Appsにソリューションをインポート** 1. **make.powerapps.com** にアクセス 2. 左メニューから「**ソリューション**」を選択 3. 上部の「**ソリューションのインポート**」をクリック 4. 「**参照**」からダウンロードしたZIPファイルを選択 5. 「**次へ**」→「**インポート**」をクリック ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-19.18.25@2x.png) インポートが完了すると ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-19.21.28@2x.png) ### キャンバスアプリに追加する いよいよ、キャンバスアプリにMermaidコントロールを追加します。 **1. コードコンポーネントをインポート** 1. キャンバスアプリを新規作成、または既存のアプリを編集モードで開く 2. 左ペインの「**+**」(追加)をクリック 3. 「**コンポーネントをさらに取得**」を選択 4. 「**コード**」タブを開く 5. 一覧から **mermaids** コードコンポーネントを選択し、「**インポート**」をクリック ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-19.23.09@2x.png) **2. アプリにコントロールを配置** 1. 左ペインの「**+**」→「**コードコンポーネント**」セクションを展開 2. **mermaids** コントロールをクリックしてスクリーンに追加 3. テキスト入力コントロール(`TextInput`)も一つ追加する ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-19.25.17@2x.png) **3. Mermaid記法をプレビューしてみる** Mermaidコントロールのプロパティに、Mermaid記法のテキストを渡します。 たとえば、テキスト入力コントロール(`TextInput1`)の値をMermaidコントロールに紐付ける場合は、Mermaidコントロールの該当プロパティに以下のように設定します。 ``` TextInput1.Text ``` ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-19.27.02@2x.png) テキスト入力コントロールに以下のようなMermaid記法を入力してみてください。 ``` graph TD A[開始] --> B{条件分岐} B -->|Yes| C[処理A] B -->|No| D[処理B] C --> E[終了] D --> E ``` すると、**テキストがそのままフローチャートとして描画されます**! ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-19.30.31@2x.png) 初めて動いたときはちょっと感動しました。テキストを書き換えるとリアルタイムで図が更新されるので、**「テキストだけでダイアグラムが描ける」というMermaidの良さ**をそのままPower Appsの中で体験できます。 ## まとめ 今回は、PCFコントロール「Mermaid JS」を使って、**Power Apps内でMermaid記法のダイアグラムをプレビュー表示する方法**を紹介しました。 手順をまとめると、以下の3ステップだけです。 1. 環境でPCFコントロールを有効化 2. ソリューションをインポート 3. キャンバスアプリにコントロールを追加してテキストを紐付け **コードは一切書いていません。** ソリューションをインポートして、プロパティを設定するだけ。市民開発者でもすぐに試せるのが嬉しいポイントです。 Power Appsのアプリ内で、**データソースをMermaid記法に変換してプレビュー**、なんて使い方もできそうです。活用の幅はかなり広いので、アイデア次第でいろいろ面白いことができそうです。 皆さんもぜひ試してみてはいかがでしょうか。 (最近、Mermaid記法にハマっています。) --- # 市民開発者がMermaid記法を知って変わったこと - 公開日: 2026-02-11 - カテゴリ: Power Platform - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/citizen-developer-mermaid-changed/ - サイト: 改善紀 — 好奇心の赴くままに。 --- # はじめに みなさんPower Platformでアプリやフローを作るときに、何から始めていますか?いきなり作り始めて手探りでやって行くのも最高におもろいですよね。ただ、行き詰まったり後から修正したりするときに、何をどう考えて作ったのかよく分からなくなった経験はありませんか? 私は最近Mermaid記法を知り、フロー図・エンティティ図・シーケンス図などを思考の整理のために簡単に書いています。これは**市民開発との相性がいいのでは**?と感じています。 今回は、私の実体験をもとにMermaid記法を知ることによって、市民開発にどんな変化があったのかをご紹介します。 # Mermaid記法とは? テキストで図を描けるマークダウンベースの記法 > [Mermaidの公式サイトへのリンク](https://mermaid.js.org/) # 結論:Mermaid記法を知る前と後の変化 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-16.49.57@2x.png) ## Before:今まではこうやっていました ### フローや利用シーンの検討 なんとなく頭の中に描いていたのがほとんどです。やるとしてもPower PointとかOneNoteに書き出して作っていました。レイアウトを考える必要もあるので、結構大変でした。 ### 必要なデータの設計 Excelで書き出すか、テキストエディタで書き出す。リレーションまで表現することができないので、その辺は結構適当にやっていました。 ## After:Mermaid記法を知ってからこう変わった ### フローや利用シーンの検討 flowchartやsequenceDiagramを使って爆速で整理しています。特にフローチャートは一番最初に覚えることをお勧めします。ぱっと見難しそうですが、中身は結構単純なので、思いつくままに書き出すだけでフローチャートが描けるのは結構感動します。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-16.42.36@2x.png) *実際に書いてみたフローチャート* ### 必要なデータの設計 Mermaid記法ではエンティティ図が書けます。テーブル名・PK・データ型・カラム名を定義して、リレーションまで表現して整理しています。これはアプリを作成した後に、誰かにデータの繋がりはこうなっていると説明する時にも使えます。設計がそのまま説明資料にもなるのが良い。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-16.45.35@2x.png) *実際に書いてみたエンティティ図* # なぜMermaid記法が良いのか ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-11-at-16.54.22@2x.png) ## 考えることに集中できる GUIは便利だがレイアウトを整えるというタスクが1つ増えます。 **テキストだと考えるというシンプルなことだけに集中できます**。 ## 生成AIと相性が良い Mermaid記法で下書きをして生成AIに投入をする。そうするとテキストで返信が返ってくる。そのまま手元で編集を継続できる。画像として生成されるとそうはいかない。Mermaid記法は生成AIと伴走する相性も良い。 ## 設計=説明資料になる 設計段階からMermaid記法で作成しておけば、後から誰かにアプリやフローの仕組みを説明するときの簡単な資料とすることもできます。特にフローやデータの設計は説明しづらいと思うので、資料があるといいですね。 # まとめ Mermaid記法を使うことによって市民開発の設計スピードが格段に上がりました。 皆さんもまずは一番簡単なflowchartから試してみてはいかがでしょうか。 (あと、Mermaid記法をタイピングですらすら書いていると、**デキる感**が出て気持ちいです笑) ### **追記(2026.3.9)** この記事の続編を書きました。Mermaid記法を覚えた市民開発者が、その後どうなったのか。正直に書きました。 > [Mermaid記法に感動した市民開発者の末路|自分で書けるようになったから、書かなくてよくなった話](https://flow-with-tech.com/citizen-developer-mermaid-aftermath/) --- # DataverseのSharepoint統合を試してみた(手順画像付き) - 公開日: 2026-02-06 - カテゴリ: Dataverse・Automate・BI - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/dataverse-sharepoint-integration-setup/ - サイト: 改善紀 — 好奇心の赴くままに。 --- # この記事を読んでわかること - Dataverse Sharepoint統合の設定方法 # Sharepoint 統合って何? > こちらがMS Learnのページです。(よく分からないです・・) > > [https://learn.microsoft.com/ja-jp/power-platform/admin/set-up-sharepoint-integration](https://learn.microsoft.com/ja-jp/power-platform/admin/set-up-sharepoint-integration) PL-200(Microsoft Power Platform 業務コンサルタント)の試験の中で、Dataverseに大きなファイルを直接添付するのではなく、Sharepoint 統合をすることがベストプラクティスだと書いてありました。DataverseのレコードとSharepointドキュメントライブラリが連携する感じのものだと認識しています。(本当は、もっと奥が深いかもしれないです) # 実際にやってみた モデル駆動型アプリからドキュメントライブラリを開いてファイルをアップロードすることができました。これは結構使い勝手が良さそう。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.39.39.gif) # やり方 Power Platform管理センターから特定の環境を選択します。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.05.43@2x.png) 設定画面に移動します。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.06.07@2x.png) 統合のドキュメント管理の設定に移動します。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.06.35@2x.png) ## サーバーベースのSharepoint統合を構成する ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.07.42@2x.png) こんな感じでやっていきます。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.08.51@2x.png) ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.09.04@2x.png) ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.10.44@2x.png) ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.11.13@2x.png) ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.11.26@2x.png) ## ドキュメント管理設定をする あらかじめ、Dataverseのテーブルを作成しておき、添付ファイルを有効にしておきます。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.17.58@2x.png) ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.15.57@2x.png) あとはこんな感じでやっていきます。SharePoint サイトには先ほど設定した SharePoint の URL を入力します。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.16.29@2x.png) フォルダー構成は一旦無視しました。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.19.56@2x.png) これで完成です。 ![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-06-at-08.20.20@2x.png) # まとめ Dataverseに大きな容量のファイルを入れて、容量を圧迫してしまわないようにするためのベストプラクティスのようです。設定するだけなら簡単にできるようですが、管理をしようとすると大変と聞いたこともあります。まずは皆さん一度試してみてはいかがでしょうか。 --- # PL-200 合格方法|非IT職が実践した勉強法・試験対策まとめ - 公開日: 2026-01-25 - カテゴリ: Microsoft認定資格 - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/pl-200-pass-guide-non-it/ - サイト: 改善紀 — 好奇心の赴くままに。 --- 2026年1月19日にPL-200に合格しました。非IT職でPower Platform管理センターすら見たことがなかった私がPL-200合格のためにやったことを紹介したいと思います。 PL-200を取得したいけど、どうやって勉強すればいいかわからない。そんな人に向けて! ![](https://flow-with-tech.com/media/wp/2026/01/CleanShot-2026-01-25-at-19.11.10@2x.png) *学習時間のログ* ## この記事を読んで何がわかるのか? - Power Platform管理センターを見たことない人間が、PL-200合格のためにやったこと - PL-200取得により得たもの、失ったもの ## なぜ書くのか? PL-200取得を目指した時に、調べてもあまり情報が見つかりませんでした。何を使って勉強をすればいいのか、どういう手順でやればいいのか迷いました。参考になる体験談がもう少しあれば、自分なりの道筋を考えやすいなあと思いました。 今回の記事はあくまでも私の個人的な経験をもとにした考えです。それでも、誰かの役に立てればと思い書いてみました。 ## 実際の学習手順 私の学習手順はこんな感じでした。 1. Microsoft プラクティス評価で現時点の実力や問題の感じを把握する 2. MS Learnを上から順にやっていく 3. Udemy Phillip Burtonさんの動画を一部視聴する 4. 架空のMy Contosoを構築して手を動かしてみる 5. Udemyで模擬試験を受ける 6. 不安なところだけ復習する > [https://learn.microsoft.com/ja-jp/credentials/certifications/exams/pl-200](https://learn.microsoft.com/ja-jp/credentials/certifications/exams/pl-200) > > Microsoftのサイトはここにまとまっているので、まずはこれを確認します。 ## 1.プラクティス評価 MicrosoftのPL-200のページ下部に、これがあります。ここから50問試験問題を解くことができます。最後まで一気に回答しないと最初からやり直しになるので、注意が必要です。 ![](https://flow-with-tech.com/media/wp/2026/01/CleanShot-2026-01-25-at-09.20.55@2x.png) これを最初にやる理由は「**自分が何を知らないのかを知る**」ためです。人によって前提条件が異なるので一概に言えませんが、私の場合は「全然分からない!!!」ということが分かりました。これにより、**ちゃんと勉強しないといけないなという覚悟**もできます笑 ### プラクティス評価はこんな感じ こんな感じで1問につき4つの選択肢から回答を選ぶ形式です。選択した後に「回答を確認」を押すと正誤と解説が出てきます。初回はまず、50問解答しきるために「次へ」を押して進んでもいいと思います。後からも正誤と解説が一覧で見れます。1つ1つみていくと大変なので、とりあえず一度全問解答してみてもいいと思います。 ![](https://flow-with-tech.com/media/wp/2026/01/CleanShot-2026-01-25-at-09.22.10@2x.png) ### 初回と途中経過はこんな感じでした https://twitter.com/kama_bizdev/status/2005459623332172179?s=20 ## 2.MS Learn 同じページの下部にPL-200学習のために必要なMS Learnのモジュールがまとめられています。私はこれを上から順にやっていきました。MS Learnは結構難解な文章で理解しづらかったです。 ![](https://flow-with-tech.com/media/wp/2026/01/CleanShot-2026-01-25-at-09.28.58@2x.png) 私の場合は大体25時間かかりました。MS LearnのページをウェブクリップしてNotionやObisidanでメモしたりハイライトしたりして学習をしていきました。この時はたまに実際の画面を見ることもありましたが、ほとんど読んでいる感じです。 ![](https://flow-with-tech.com/media/wp/2026/01/CleanShot-2026-01-25-at-09.39.10@2x.png) ## 3.Udemy MS Learnでの独学に限界を感じたため、Udemyを購入しました。日本語のコンテンツもありましたが、Phillipさんの動画の評価が高かったため選びました。全てを視聴する時間はなかったので、特に重要なセキュリティロール系のセクションを視聴しました。同時に実践もしました。それが次のMy Contosoを作ってみるです。 **PL-200:Microsoft Power Platform Functional Consultant Part 1** [https://www.udemy.com/share/104QU03@R4WVcMNP9ZIx4xf6L4TnluAGpWmfbY2yPn7B_89jUs4or2mxxuubtQlKMD7UaFmgtg==](https://www.udemy.com/share/104QU03@R4WVcMNP9ZIx4xf6L4TnluAGpWmfbY2yPn7B_89jUs4or2mxxuubtQlKMD7UaFmgtg==) **PL-200:Microsoft Power Platform Functional Consultant Part 2** [https://www.udemy.com/share/106kDy3@xW8sfw45jFgqXtXgtljwRFgEcNzCvaHLv_pTAbzRgrDmM54eaM9XfZwWJ-H6XWIpLQ==](https://www.udemy.com/share/106kDy3@xW8sfw45jFgqXtXgtljwRFgEcNzCvaHLv_pTAbzRgrDmM54eaM9XfZwWJ-H6XWIpLQ==) ## 4.架空のMy Contosoを構築して手を動かしてみる Microsoftの開発者プログラムに登録すると個人でテナントを取得できます。自分で新しい環境を作ったり、セキュリティロールを変更したりできます。これまで学んだことを、実際の組織だとどうなるか想定をして実践していきます。 ### こんな組織やシナリオを想定して実践してみました ![](https://flow-with-tech.com/media/wp/2026/01/CleanShot-2026-01-25-at-09.48.31@2x.png) シナリオはこんな感じです。生成AIと一緒に考えて作りました。 【STEP 1:リレーションシップとプロジェクト管理の導入】 目的:単発の日報から「どの仕事に紐づくか」の構造化へ 【STEP 2:動的な権限管理(アクセスチーム)の実装】 目的:組織図(所有者)に縛られない柔軟な共有 【STEP 3:UI制御とデータの質向上(ビジネスルール)】 目的:入力ミスの防止と画面の動的変化 【STEP 4:列レベルのセキュリティ(機密情報の保護)】 目的:同じレコード内でも「人によって見えない項目」を作る 【STEP 5:業務プロセスの可視化(ビジネスプロセスフロー:BPF)】 目的:作成から承認までの「流れ」を管理 【STEP 6:サーバーサイドロジック(ローコードプラグイン)】 目的:複雑な計算やバックエンド処理の自動化 ### シェアラウンジにて一人五役を演じる https://twitter.com/kama_bizdev/status/2007774825037861053?s=20 ### Dataverseも最近知って衝撃を受けました https://flow-with-tech.com/powerapp-canvas-to-model-driven-surprise/ https://flow-with-tech.com/google-form-to-dataverse-migration/ ### やりっぱなしで終わらせない、学習ノート作成のすゝめ ただやるだけでなく、こんな感じで自分なりのまとめノートを作りながらやってみました。将来の自分がみてもわかる感じで書いていくのがコツです。そうすることで**誰かに説明する**想定ができて、とても勉強になりました。 ![](https://flow-with-tech.com/media/wp/2026/01/CleanShot-2026-01-25-at-09.50.32@2x.png) この辺でUdemy&手を動かすを実践を繰り返しました。 ![](https://flow-with-tech.com/media/wp/2026/01/CleanShot-2026-01-25-at-09.52.58@2x-1.png) ### 私が使っているノートアプリ Obsidianを使用しています。Markdown形式で記載ができて勉強が捗りました。 詳しくはこちらの記事へ! https://flow-with-tech.com/recommended-apps-for-focus-and-productivity-2025/ ## 5.Udemyで模擬試験を受ける Udemyで模擬試験を見つけたので、やっていきました。1セット50問あります。私は2セットしました。それぐらいやれば十分そうだったのと、時間がなかったので。 **Practice Exams | MS PL-200 Power Platform Functional Consult** [https://www.udemy.com/course/practice-exams-ms-pl-200-power-platform-functional-consult](https://www.udemy.com/course/practice-exams-ms-pl-200-power-platform-functional-consult) ## 6.不安なところだけ復習をする 正月明けで仕事始まりもあり学習時間は減ります。今回は割と休暇中に集中的に学習しました。そうじゃない場合は仕事や生活との調整も必要になりますね。平日はなかなか学習するのが大変です。最後は試験に向けて不安なところを復習していきました。 ![](https://flow-with-tech.com/media/wp/2026/01/CleanShot-2026-01-25-at-09.57.37@2x.png) ## PL-200取得により得たもの - Dataverse周りの知識(セキュリティロールやビジネスプロセスフローなどの制御) - Power Pagesについての基本的な理解(外部とデータを共有したり、書き込み制御もできる) - 一定の知識があることを証明するもの(ただのユーザーではなく管理者としての理解もあると証明ができる) ## PL-200学習により失ったもの - Power Appsキャンバスアプリを知って行った時のこんなこともできるんだ!という、純粋なワクワク!(管理者目線や視野が広がったため) - Dataverseへの理解はいいが、じゃあこれを誰が使いこなせるんだという疑問(こんな難しいの無理なのでは・・) ## まとめ どうだったでしょうか。特に重要なことは**自分で手を動かしてみること**でした。MS Learnを読むとそんなことができるんだとか、そういう設定があるんだと知ることはできます。実際にやってみると、ことあるごとに行き詰まります!それを解決して理解していくことこそが、自分の知識としての定着に役立ちます。 皆さんもぜひ挑戦してみてはいかがでしょうか。 (かなりしんどかったので私はもうやりたくないです。更新だけちゃんと頑張らねば・・) ### そんな私がGitHubにPower Appsアプリを公開しました 自分の業務記録をつけるPower Appsです。1年間使用し続けて3,500件記録をつけました。1年間平均すると、30分に一回使用した実績のあるアプリです。ぜひみてみてください。 https://flow-with-tech.com/power-apps-work-log-app-development-story/ ### 学習時間の可視化には、もちろんPower BIを使っています (試用期間が終わってしまう・・・) ![](https://flow-with-tech.com/media/wp/2026/01/CleanShot-2026-04-03-at-21.55.08@2x.png) --- # 【PL-900合格体験記】実務経験者が短期集中で取得した話 - 公開日: 2025-12-15 - カテゴリ: Microsoft認定資格 - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/pl900-exam-pass-experience/ - サイト: 改善紀 — 好奇心の赴くままに。 --- --- PL-900を取得しました。初めての資格取得です。今回はその体験記について書きます。 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-15-at-18.01.09@2x.png) ## この記事でわかること(30秒で読む) - **受験者プロフィール**:最近、市民開発推進担当になった、Power Apps/BI経験あり、Automate/管理センターは未経験 - **学習期間**:実質3日間の短期集中 - **学習方法**:Microsoft Learn流し見 + 模擬テスト3回 - **結果**:814点で合格 - **試験の特徴**:Copilot関連の問題が多い、Power Pagesも想定より出題 - **合格の鍵**:Power Apps(特にDataverse)の実務経験が大きく貢献 --- ## 受験の背景 市民開発推進チームへの異動と、来月から現場でPower Platform導入を本格化させるタイミングで受験を決意。 **目的は2つ** - 体系的な知識の整理 - スキルを証明できる資格が欲しい 「完璧じゃなくていいから、まずは最初のステップとして」という気持ちで臨みました。 --- ## 受験前のスペック | サービス | 経験レベル | | --- | --- | | **Power Apps** | 2025年2月にUdemy受講→自分が欲しいアプリ開発 | | **Power BI** | 前チームで社内研修の講師レベル | | **Power Automate** | 手探り状態 | | **管理センター** | ほぼ触ったことなし | Dataverseまで触っていたのが後々大きく効いてきました。 --- ## 学習方法 **使用教材** - Microsoft Learn(PL-900公式コンテンツ) - 模擬テスト **学習期間** - 実質3日間(12/13-15) - Microsoft Learnをざっと流し見→模擬テストを3回繰り返し **模擬テストのスコア推移** - 1回目:74% - 2回目:78% - 3回目:86% 8割を安定して超える状態ではなかったけど、「なんとなく行けそう」と感じて受験を決めました。 **所要時間** MS Learn・模擬テスト・試験含め、約4時間でした。 ![](https://flow-with-tech.com/media/wp/2025/12/image-5.png) --- ## 試験当日 - **形式**:オンライン(自宅受験) - **結果**:814点で合格 - **時間**:20分余ったが、見直しても変わらないと判断し終了 --- ## 試験の感想 ### 予想と違った点 **Copilot関連が多い** - 「何かを作成するときは最初からCopilotに相談」前提の問題構成 - 「どういう手順で進めるか」といった流れを問う問題が目立った **Power Pagesの出題が想定より多い** - 模擬テストでも出ていたが、本番はさらに多かった印象 - 「Copilotを使ってPower Pagesを作成するには?」みたいな問題で少し戸惑った ### 実務経験が活きた点 - **Power Apps(特にキャンバスアプリとDataverse)の知識** - 実際に触っていたからこそ、問題の意図がスッと理解できた - 表面的な知識だけでなく、データ基盤まで触っていたのが大きかった ### 触ったことのないサービスへの対処 - Power Pagesなど実務未経験のサービスも出題された - ただし、模擬テストで概要を掴んでいたのでなんとかなった - 完璧な理解は不要、「なんとなく知っている」レベルで十分対応可能 --- ## 合格の要因 1. **実務での試行錯誤**:興味を持って個人的にアプリを作っていた 2. **Dataverseまで踏み込んでいた**:データ基盤まで理解していた 3. **欲しい!と思った**:試験のための学習は苦手だが、必要だと分かった瞬間スイッチ入る --- ## これから受験する人へのアドバイス - 模擬テストは最低3回?、8割取れなくても受験してOK - 実務経験(特にPower Apps + Dataverse)があれば短期間でも合格可能? - Copilotの位置づけや各サービスの概要は押さえておくべき - Power Pagesなど触ったことのないサービスも「なんとなく」の理解で十分 - 完璧を目指さず、とりあえず受験してみるのもアリ? --- ## 次のステップ PL-100が2024年6月に廃止されたため、次はPL-200/300/400を視野に入れています。 また、Copilot関連の新資格も取得予定です。 現場での市民開発推進に、この知識を活かしていきます。困ったときは資格持ってるってアピールしよ笑 --- ## まとめ PL-900は「体系的な知識の証明」として取得する価値あり。そして無資格者からの卒業のための第一歩としてとても良かったと思います。 特に、これから組織内でPower Platformを推進する立場になる人にとっては、信頼性を示す材料になります。 完璧を目指さず、まずは一歩踏み出してみましょう。 --- --- # 【Power Apps】からTSV形式でデータをコピーする方法(AI分析に即投入) - 公開日: 2025-12-09 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/power-apps-copy-tsv-for-ai-analysis/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## はじめに Power Appsで記録した業務ログやライフログを、Claudeや ChatGPT などのAIにサクッと投げて分析したい。そんなときに便利なのが、**TSV形式(タブ区切り)でのデータコピー機能**です。 私は日々の行動ログをPower Appsで記録していますが、定期的にAIに投げて傾向分析やレポート生成をしてもらっています。その際、いちいちExcelにエクスポートして整形して…という手順を踏むのは面倒。 **ボタン1つでクリップボードにコピー → AIにペースト** この流れを実現するコードを紹介します。 ## 実装コード ````js Copy( // 1. ヘッダー行 "StartTime" & Char(9) & "EndTime" & Char(9) & "Duration" & Char(9) & "ProjectName" & Char(9) & "CategoryName" & Char(9) & "ActionName" & Char(9) & "Notes" & Char(10) & // 2. データ行の連結 Concat( Sort( Filter( WorkLog_Transaction, StartTime >= DateAdd(Today(), -Value(txtLastDate.Text), TimeUnit.Days) ), StartTime, SortOrder.Ascending ), Text(StartTime, "yyyy/MM/dd HH:mm") & Char(9) & Text(EndTime, "yyyy/MM/dd HH:mm") & Char(9) & Duration & Char(9) & WorkLog_Project.ProjectName & Char(9) & WorkLog_Category.CategoryName & Char(9) & ActionName & Char(9) & Substitute(Substitute(Notes, Char(10), " "), Char(13), " "), Char(10) ) ); Notify("データ(所要時間付き)をコピーしました", NotificationType.Success) ``` ```` このコードをボタンの`OnSelect`プロパティに設定するだけです。 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-09-at-07.25.30@2x.png) ## コードのポイント解説 ### TSV形式とは TSV(Tab-Separated Values)は、タブ文字で列を区切り、改行で行を区切るシンプルなテキスト形式です。 - **列の区切り**:`Char(9)`(タブ) - **行の区切り**:`Char(10)`(改行) Excelや Google スプレッドシートにそのまま貼り付けても表形式で認識され、AIに投げても構造を保ったまま認識してくれます。 ### Notesの改行問題を解決 powerfx ``` Substitute(Substitute(Notes, Char(10), " "), Char(13), " ") ``` Notes(メモ欄)に改行が含まれていると、TSV形式が崩れて1レコードが複数行に分割されてしまいます。 - `Char(10)`:LF(改行コード) - `Char(13)`:CR(復帰コード) この2つをスペースに置き換えることで、データの構造を保ったままコピーできます。 ### 列の順番について 時系列データをAIに分析させる場合、**時間情報を先頭に配置**すると認識されやすくなります。 ``` StartTime → EndTime → Duration → Project → Category → Action → Notes ## 使用例 私の場合、こんな風に使っています: 1. Power Appsで過去7日分のログをフィルタ 2. ボタンをタップしてコピー 3. Claudeに「このデータから週次レポートを作って」とペースト 4. 数秒で傾向分析やサマリーが完成 データベースから直接抽出 → AI分析まで、わずか数秒です。ちなみに、もちろんExcelにもコピペできます! ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-09-at-07.27.42@2x.png) ## まとめ Power Appsの`Copy()`関数と`Concat()`を組み合わせることで、アプリ内のデータを構造化されたテキスト形式で即座にクリップボードへ送れます。 **AIとの連携を前提にアプリを設計する**という発想は、今後ますます重要になってくるはず。ぜひ試してみてください。 --- # 自作ライフログアプリを1年使い続けてわかったこと|Power Apps × Dataverseで作る行動記録システム【Quantified Self】 - 公開日: 2025-12-07 - カテゴリ: LifeLog - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/lifelogging-system-with-power-apps-one-year-review/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## English Summary I built a custom lifelogging system using Power Apps and Dataverse, and have been tracking my daily activities for over a year. This article shares my experience of creating a quantified self system with low-code tools, including what I learned from the data, how I designed the app for consistent use, and why "just committing to manual input" became my best practice. The system tracks everything from work tasks to personal habits, accumulating over 100 hours of Power Apps learning time and revealing patterns I never noticed before. --- ## はじめに:なぜ行動ログを記録し始めたのか こんにちは、tantan_techです。 突然ですが、皆さんは自分の時間をどう使っているか、正確に把握していますか? 私は2024年9月13日から、**自作アプリで自分の行動ログを記録し続けています**。いつ何をして、どれくらい時間を使ったのか。主にプライベートの全ての行動を記録する生活を1年以上続けてきました。 > Power Appsで記録を始めたのは、2025年3月からです このブログでは、そのシステムの概要と、**1年間記録し続けてわかったこと**、そして**続けるために必要だったこと**を書いてみます。 Quantified Self(定量的自己分析)やLifelogging(ライフログ)に興味がある方、Power Platformで何か作ってみたい方 ・・・いや、記録魔に向けて! ### こんな人におすすめ - 自分の時間の使い方を可視化したい人 - Quantified Self / Lifeloggingに興味がある人 - 記録魔 ### この記事のポイント - Power Apps × Dataverseで自作ライフログシステムを作ってみた - 1年間以上継続して記録をしているという、**狂気** - 続けるコツは工夫も大事だが、最終的には「腹をくくって入力する」ことだと分かった ## システム概要:キャンバスアプリ × モデル駆動型アプリ × Dataverse 全体像はこんな感じです 1. **キャンバスアプリ(記録用アプリ)** スマホやPCから簡単に記録するための入力画面。単一登録画面を作って始めました。途中で、一括登録画面が生まれました。 2. **モデル駆動型アプリ(閲覧・分析用アプリ)** 蓄積したデータを一覧表示したり、グラフで可視化したりする画面。日付と時間でフィルタリングしたり、プロジェクトやカテゴリで絞り込んだりできます。 3. **Dataverse(データベース)** 全ての行動ログを保存する中核。Transaction(行動記録)、ProjectMaster(プロジェクト管理)、CategoryMaster(カテゴリ管理)の3つのテーブルで構成されています。Dataverse最高。もっと早く知っていれば・・! ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-06-at-12.43.49@2x-1.png) *実際の画面(左上:キャンバスアプリ・左下:モデル駆動型アプリ・右:Dataverse)* --- ## 実際の記録データ:狂気の1年間記録で見えてきたもの これが実際のモデル駆動型アプリの画面です ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-07-at-11.35.57@2x.png) ### 記録している項目 - **Date(日付)** - **StartTime / EndTime(開始・終了時刻)** - **Duration(所要時間、分単位)** - **WorkLog_Project(プロジェクト名)** 例:Power Apps、読書、筋トレ、Python、本業、など - **WorkLog_Category(カテゴリ)** 例:市民開発、運動、趣味、生活、など - **ActionName(具体的な行動名)** - **Notes(メモ)** ### データから見えてきたこと 1年以上記録を続けた結果、こんなことが分かりました。 #### Power Apps学習時間が100時間を超えていた プライベートでPower Appsを触っていた時間を集計したら、**100時間以上**費やしていることが判明しました。「そんなつもりなかったのに・・・」 ![](https://flow-with-tech.com/media/wp/2025/12/image-1.png) #### Pythonも同時期に学習していた Power Appsと並行して、Pythonの学習にも時間を使っていたことが可視化されました。この辺をわかりやすくするには、Power BIで可視化した方がいいですね。 ![](https://flow-with-tech.com/media/wp/2025/12/image-2.png) #### 筋トレの回数・時間も記録 筋トレの記録も残しているので、「今月は何回ジムに行ったか」「どれくらいの時間をトレーニングに使ったか」が一目瞭然です。2025年2月に一旦休会して、10月から復帰してます。2025年9月は自宅での筋トレですね。 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-07-at-11.22.49@2x.png) ## 1年続けるための工夫:「腹をくくる」 こんな、記録をしてみたいと思いますか?思いませんよね。でももし万が一、やってみたいなって思った人に向けて、私が工夫したことを紹介します。 ### 工夫したこと #### 1. 入力項目を極力減らす 必須項目を最小限にして、記録のハードルを下げました。例えば、終了時刻は「その都度タスクが終わったタイミングで次の記録を開始すれば自動で前のタスクの終了時刻になる」設計にしています。 #### 2. スマホからサクッと入力できる デバイスを問わない、できない理由を手元にパソコンがないからにしないのは大事ですね。 #### 3. 厳密にやろうとしない 全部を完璧に記録するんじゃなくて、特定のプロジェクトだけはもれなく記録することにする。例えば、Power Appsを触っている時間は全部記録しようとか。それ以外は、まいっか!にするなど。人間の行動は認識するのはなかなか難しいことがあります。特に自分が今何をやっているのかというのを常に認識して生きていくなんて大変だ。 ### 結論:最終的には「腹をくくる」が最強 色々と工夫はしましたが、**最終的には自力で頑張って入力すると腹をくくること**です。 効率的な方法を追い求めるだけでいつまでも着手しない、実行しないのは先延ばしにしたいだけです。もうすでに、あなたの手元にあるアプリケーションは120点を取っています。あとは実行するだけです。何か足りないとすると、これでやるという覚悟だけです。(厳しい現実・・) ## まとめ:Power Appsで作る、自分だけの定量的自己分析システム Power AppsとDataverseを使って行動ログを狂気の1年以上記録し続けました。そして今も継続をしています(・・え?) togglやRescueTimeのような既製品も便利ですが、**自分で作ると自分の記録したい項目に完全にカスタマイズでき**ます。自由自在なデータ設計だけでなく、手元に使える形でデータが残るのも最高ですね。(データの出力だけ有料サービスであったり、データの出力ができないアプリもあるよね) 皆さんも自分だけのシステムを構築してみてはいかがでしょうか〜 そして、記録魔の道を歩もうではありませんか(欲しい人いたら、配布しますのでどうにかしてお伝えください。コメント欄はまだありません笑) ## 追記:Git Hub にアプリ公開しました ついに配布することができました笑 [https://github.com/Ltantan/powerapps-worklog?tab=readme-ov-file](https://github.com/Ltantan/powerapps-worklog?tab=readme-ov-file) ## 追記:振り返りはカレンダービューが良い 時間をどれぐらい特定の事象に使っているかの振り返りには、カレンダービューが向いているという研究結果になりました。視覚的にどの時間帯にデータが存在しているか、パッとみてわかりやすいことと、OutlookやGoogle カレンダーなどで見慣れているからだと思います。 > 使用してるカスタムビジュアルはこれです > > [https://marketplace.microsoft.com/en-us/product/WA104381844?tab=Overview](https://marketplace.microsoft.com/en-us/product/WA104381844?tab=Overview) ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2026-04-20-at-18.43.29@2x.png) --- # 【モデル駆動型アプリ】初心者が過去データをDataverseに移行してみた - 公開日: 2025-12-06 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/google-form-to-dataverse-migration/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## 30秒でわかる!この記事の結論 **やったこと:** Googleフォームで記録していた過去の行動ログデータ**3,193件**を、Power AppsのDataverseに移行しました。 **便利だった機能:** - モデル駆動型アプリから**Excel Online**でデータを直接編集できる - **計算列**で開始・終了日時から自動的に継続時間を算出 - **フィルター + 一括選択**で過去データに不足していた項目を効率的に追加 - **ロールアップ**で別テーブルのデータを集計(プロジェクトの開始日・終了日も自動算出) - **グラフ機能**でデータを可視化 **結論:** Dataverseは単なるデータベースではなく、Excel感覚で編集できる上に、計算列やロールアップなど強力な機能が使える。過去データの整形・移行作業が想像以上にスムーズでした。 --- ## はじめに 2025年8月、プライベートの行動ログをGoogleフォームからPower Appsに移行しました。当初はシンプルにDataverseにデータを入れていましたが、最近になってデータ構造を見直し、カテゴリマスター、トランザクションマスター、プロジェクトマスターをリレーショナルで接続した行動記録アプリに作り替えました。 そのついでに、過去のGoogleフォーム時代のデータもDataverseに移行することにしました。今回は、その移行作業で発見したDataverseとExcel Onlineの便利な機能について紹介します。 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-06-at-12.43.49@2x.png) *行動記録アプリの全体概要図* ## 移行作業の全体像 やりたかったことは単純で、「Googleフォームに蓄積された過去の行動ログデータ**3,193件**を、新しいDataverseの構造に合わせて整形し、移行する」ことです。 ただし、Googleフォーム時代には記録していなかった項目(プロジェクト名やカテゴリー名など)を後から追加する必要があったため、単純なインポートでは済みませんでした。 ## 実際の作業手順 ### 1. モデル駆動型アプリからExcel Onlineを開く まず、モデル駆動型アプリからExcel Onlineでデータを開きました。これにより、Dataverseのデータを直接Excelのような操作感で編集できます。 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-06-at-17.47.12@2x.png) ### 2. Googleフォームのデータを1列ずつコピペ Googleフォームからエクスポートしたデータを、Excel Online上で1列ずつコピペして取り込みました。地道な作業ですが、データの確認をしながら進められるので安心感があります。 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-06-at-17.27.11@2x-1.png) ### 3. 計算列でDurationを作成 開始日時(StartDate)と終了日時(EndDate)から、行動の継続時間(Duration)を計算する列を作成しました。キャンバスアプリでデータを作るタイミングでやろうとすると面倒臭いので、今後はアプリでやると面倒なやつはDataverse側でやろうと思います。 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-06-at-17.54.48@2x.png) ちなみに。 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-06-at-18.45.48@2x.png) ### 4. フィルター + 一括選択で効率的にデータ整形 Googleフォーム時代には入力していなかったプロジェクト名やカテゴリー名を、フィルター機能で絞り込んでから一括選択し、一気に入力しました。例えば「Power Apps」を含むデータをフィルタリングして、そのすべてに「Power Apps」を割り当てる、といった作業が数クリックで完了します。 3,193件のデータに手動でプロジェクトやカテゴリーを付与する作業は約3時間かかりましたが、一括選択機能のおかげで思ったよりスムーズに進みました。 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-06-at-17.30.17@2x-1.png) ### 5. ついでにロールアップ列を作って、ProjectのStart/Endを自動取得する ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-06-at-13.11.17@2x.png) ## まとめ Googleフォームの過去データ3,193件をDataverseに移行する作業を通じて、DataverseとExcel Onlineと、モデル駆動型アプリの強力さを実感しました。(もっと早く知りたかった・・) 特に、計算列やロールアップといった機能は、単なるデータベースの枠を超えて、データを「賢く」扱えるようにしてくれます。Excel Onlineでの編集機能も、簡単でいいですね。 休日の朝から夕方まで、食事も風呂も忘れて没頭してしまうほど、Dataverseとモデル駆動型アプリは奥深く、楽しいツールです。Power Platformを使った業務改善に取り組んでいる方の参考になれば幸いです。 ついでに、モデル駆動型でグラフを作ってプライベートでPower Appsに費やした時間を可視化してみました。合計、156時間でした。(あと、今日だけで4.4時間でした笑) ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-06-at-17.59.26@2x.png) --- # 【Power Apps】キャンバスアプリしか知らなかった私が、モデル駆動型アプリで「ビューが一瞬で作れる」衝撃を受けた話 - 公開日: 2025-12-04 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/powerapp-canvas-to-model-driven-surprise/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## はじめに Power Appsでアプリを作るとき、皆さんはどちらを使っていますか? 私はこれまで**キャンバスアプリ**しか知りませんでした。データの一覧画面を作るときも、ギャラリーコントロールを配置して、ラベルを並べて、検索ボックスを作って、フィルターの式を書いて…と、毎回頑張って一から作っていました。 先日Udemyでモデル駆動型アプリについて学んだところ、**衝撃を受けました**。 「え、ビューって一瞬で作れるの…?」 今回は、キャンバスアプリしか使ったことがない方に向けて、モデル駆動型アプリの「こんなことができるんだ」という発見を、素人目線でお伝えします。 ## キャンバスアプリで頑張ってた日々 まず、私がこれまでやってきたことを振り返ります。 キャンバスアプリでデータ一覧を表示する場合、だいたいこんな流れでした: 1. **空白のスクリーンを作成** 2. **ギャラリーを配置** 3. **データソースを接続**(SharePointやDataverseなど) 4. **ギャラリー内にラベルを並べて、列ごとに設定** 5. **検索ボックスを追加して、Filter関数でフィルタリング** 6. **並び替え機能が欲しければ、さらにコードを書く** 慣れてくれば10〜15分でできるようになりましたが、アプリを作るたびに「また一覧画面作るのか…」という気持ちになっていました。フィルターの条件を複数設定したいときも面倒でした・・・ 自由度が高い分、**全部自分で作らないといけない**のがキャンバスアプリの特徴です。 ## モデル駆動型アプリとの出会い そんな中、Dataverseについて学ぶ機会があり、合わせてモデル駆動型アプリの存在を知りました。 モデル駆動型アプリを初めて触ったとき、驚いたのがこれです: **「ビューが最初から用意されている」** Dataverseにテーブルを作成すると、そのテーブルに対して自動的にビュー(一覧画面)が生成されます。しかも、検索機能、フィルター機能、並び替え機能が**最初から使える状態**で。 「え、私が今まで頑張って作ってたやつ、最初からあるじゃん…」 この瞬間、Power Appsに対する見方が変わりました。 ## 【比較】キャンバスアプリ vs モデル駆動型アプリ 実際に作った画面を比較してみます。 ### キャンバスアプリの一覧画面 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-04-at-07.22.10@2x-1.png) *キャンバスアプリの一覧画面* - ギャラリー、ラベル、検索ボックスを自分で配置 - 検索・フィルター機能はPower FXで実装 - 見た目の自由度は高いが、全部手作り ### モデル駆動型アプリの一覧画面 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-04-at-07.25.23@2x-1.png) - Dataverseのテーブルを選ぶだけでビューが自動生成 - 検索、フィルター、並び替えが標準装備 - デザインの自由度は低いが、作成時間はほぼゼロ この違いを見て、「**モデル駆動型アプリって一覧作るのめちゃ向いてる・・・**」と気づきました。 ## モデル駆動型アプリでできること 実際に触ってみて、「これは便利だ」と感じた機能をまとめます。 ### 1. ビュー(一覧)の自動生成 テーブルを作成すると、自動的に一覧画面が用意されます。列の表示/非表示、並び順なども簡単に設定可能。 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-04-at-07.28.18@2x.png) ### 2. フォームの自動生成 データの新規作成・編集画面も自動生成されます。フィールドの配置やタブ分けなどのカスタマイズもGUIで直感的に操作できます。 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-04-at-07.29.48@2x.png) ### 3. 検索・フィルタリング機能 ユーザーが画面上で自由に検索したり、列ごとにフィルタリングしたりできます。**コードを一切書かずに**。 ![](https://flow-with-tech.com/media/wp/2025/12/CleanShot-2025-12-04-at-07.30.30@2x.png) 特定のプロジェクトの件数も一瞬でみれる・・・すごい! ![](https://flow-with-tech.com/media/wp/2025/12/image.png) ### 4. リレーションシップの扱いやすさ Dataverseのテーブル間リレーションシップを設定すれば、関連データの表示や参照が簡単にできます。これはテーブルの設計・作成時にやる必要があるみたいです。私はやってなかったので、まだ使えていません・・ ### 5. 業務プロセスフロー 承認フローのようなステップを踏む業務に対応した「ビジネスプロセスフロー」も組み込めます(これはまだ私も勉強中です)。 ## じゃあ、どっちを使えばいいの? ここまで読んで「じゃあモデル駆動型だけでいいじゃん」と思うかもしれませんが、そうでもありません。 ### キャンバスアプリが向いている場合 - **デザインの自由度が必要**(オリジナルのUIを作りたい) - **複雑な画面遷移や操作フロー**を実装したい - **Dataverse以外のデータソース**(SharePoint、Excelなど)を使いたい - モバイルアプリとして配布したい ### モデル駆動型アプリが向いている場合 - **データの登録・閲覧がメイン**の業務アプリ - **開発スピード重視**(とにかく早く作りたい) - **Dataverseをデータソースとして使う**前提 - 複数のテーブルを扱うリレーショナルなデータ構造 個人的には、「**データ管理系ならモデル駆動型、UI重視ならキャンバスアプリ**」という使い分けが基本かなと感じています。 あとはライセンスの観点からも考える必要があります。モデル駆動型アプリはM365ライセンスではなく、別途ライセンスが必要になります。アプリを使う人全員にライセンスを付与することができるのかも検討する必要があるみたいですね。この辺りは詳しく説明が難しいので省略します。 ## まとめ 今回、モデル駆動型アプリを学んで、改めて感じたことがあります。 **「適切なツールを選ぶだけで、工数が劇的に変わる」** キャンバスアプリしか知らなかった頃は、「Power Appsってこういうもの」と思い込んでいました。でも、モデル駆動型アプリという選択肢を知ったことで、アプリ開発の幅が一気に広がりました。 もしあなたが今、キャンバスアプリで一覧画面を頑張って作っているなら、一度モデル駆動型アプリを試してみてください。「え、こんなに簡単だったの?」という感動が待っているはずです。 --- **参考リンク** - [Microsoft Learn - モデル駆動型アプリとは](https://learn.microsoft.com/ja-jp/power-apps/maker/model-driven-apps/model-driven-app-overview) --- # 【Power Automate】「忙しい」の正体を見つける。DXの前にやるべき、FormsとPower Automateで作る「逃げ場のない」業務記録システム - 公開日: 2025-11-28 - カテゴリ: Dataverse・Automate・BI - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/forms-power-automate-time-tracking-system/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ### はじめに:その「残業」、何をしていましたか? 「毎日残業続きで忙しい」 そう嘆く人は多いですが、「じゃあ昨日の残業時間、具体的に何時何分に何の作業をしていたの?」と聞かれて、即答できる人はどれくらいいるでしょうか。 何かを改善しようとするなら、まずは**現状を数値で正確に把握すること**が絶対条件です。 世の中は「DX(デジタルトランスフォーメーション)」という言葉で溢れていますが、足元の「自分が何に時間を使っているか」さえ把握できていない状態で、業務変革などできるはずがありません。本当のDXは、まず「己を知る」という泥臭いところから始まると私は思っています。 そこで私は、自らの行動をすべてデータ化するために、**「開始・終了時刻の入力を廃止した、極限まで手間を省いた業務記録システム」**を構築しました。 実際にこれを半年以上運用し、ありとあらゆる業務を記録し続けた結果見えてきたこと、そしてこのシステムが「ついサボってしまう人」にこそおすすめな理由をお話しします。 ### システムの全体像(アーキテクト図) 仕組みはシンプルです。Microsoft 365の標準機能(Forms, Power Automate, Excel, Outlook)を連携させています。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-28-at-22.00.44@2x-3.png) ### このシステムが「最強」である3つの理由 #### 1. 「その瞬間」にFormsで回答するしかない強制力 このシステムには、「後からまとめて入力する」という概念がありません。タスクが終わったその瞬間にFormsを送信することが絶対ルールです。 なぜなら、**「今回のタスクの開始時刻」は「前回のタスクの終了時刻+1分」として自動計算されるから**です。 これは一見不自由に思えますが、実は強力なメリットがあります。一つでも記録をサボると、時間の計算が狂ってしまうため、**「毎回記録し続ける」以外の運用ができない**のです。 「つい記録をつけるのをサボってしまう…」 そんなあなたにこそ、このシステムをお勧めします。この「鎖」のような連続性が、サボり癖を強制的に矯正し、半強制的にログを残す習慣を作ってくれます。 #### 2. 入力項目は「何をしたか」だけ。言い訳の余地をなくす Formsの入力項目から「時間」を排除しました。入力するのは「件名」だけ。 スマホからでもPCからでも、数秒で送信できます。 「入力が面倒くさいから続かない」という言い訳を、システム側で物理的に排除しました。これにより、私は半年間、メイン業務だけでなく、ちょっとした雑務や休憩に至るまで、ありとあらゆる時間を記録することに成功しました。 「何をしましたか?」それだけ書けばいいです。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-28-at-21.46.36@2x-1.png) #### 3. 即座にOutlookで「予実」が見える化される Formsを送信すると、即座にOutlookカレンダーに実績が登録されます。 予定(理想)と実績(現実)が並んで表示されることで、「この作業にこんなに時間がかかっていたのか」という残酷なまでの現実が可視化されます。 しかし、この可視化こそが改善の第一歩です。Outlookを見るたびに自分の時間の使い方が突きつけられるため、自然と「次はもっと効率よくやろう」という意識が芽生えます。 ### 結論:まずは数値化の鬼になろう 「忙しい」と嘆く前に、まずは自分の時間を1分単位で記録してみてください。 高度なITツールを導入する前に、FormsとPower Automateという身近なツールで、自分の働き方を「数値」で捉える。そこからしか、本当の意味での業務改善やDXは生まれないと確信しています。 半年間、全ての時間を記録し続けた私が保証します。このシステムは、あなたの働き方を劇的に変える「鏡」になるはずです。凡人の最強の生存戦略「愚直に続ける」で小さな変革を起こしましょう笑! ## よくある質問(FAQ) **Q1. 記録を忘れてしまった場合はどうすればいいですか?** A. 一度空でFormsを送信してください。そこから再スタートできます。ただし、忘れた分を遡って記録したい場合はExcelで手動修正が必要になり、かなり面倒です。この「面倒臭さ」が逆に「今この瞬間に記録しよう」というモチベーションになります。背水の陣です笑 **Q2. 休憩やトイレなども記録する必要がありますか?** A. 記録するのは必須ではありません。特定の行動だけを記録する運用も可能です。例えば、会議だけを記録したい場合、会議前に空でForms回答(開始時刻スタンプ)して、終了時に「会議」と回答する使い方もできます。記録したい業務に合わせて柔軟に運用してください。 **Q3. 業務時間外や休日の記録はどうしていますか?** A. 業務時間のみ記録しています。翌朝は空でForms回答から再スタートできます。プライベートまで記録する必要はありません。(プライベートではGoogle FormとGASを使って同様のシステムを構築することもできます。もしかしたら今後別記事で作り方を解説するかもしれません) **Q4. 具体的な設定方法や手順は公開されていますか?** A. 現時点ではシステム概要のみの紹介です。Power Automateのフロー設計や具体的な設定方法については、今後別記事で詳しく解説する予定です。(リクエストがあればコメントください!) --- # 【実体験】元現場監督からPython実務者へ。非IT人材が7ヶ月で機械学習モデルを作れるようになった学習記録 - 公開日: 2025-11-28 - カテゴリ: AI・Claude Code - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/non-it-python-ai-7-months/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## 「機械学習モデルを作ってください」という突然の辞令 2025年3月、私はやったことのない業務を任されました。機械学習モデルの作成です。 「Pythonって何ができるの?」「どうやったら自分のPCでPythonが動くの?」「機械学習って何?」 そんなレベルからのスタートでした。土木現場の施工管理を5年経験し、DX推進に1.5年携わってきた私にとって、プログラミングは完全に未知の領域でした。 機械学習モデルそのものは全てPythonで書いているわけではありません。AutoMLにデータを投入して、モデル構築はツールに任せています。ただ投入するためのデータ前処理はPythonで実行する必要がありました。 初めてPythonを触ってから7ヶ月後。プライベートで累計80.5時間の学習を経て、私は実務でデータ前処理をPythonで行えるようになっていました。この記事は、非IT人材がPythonを学び、生成AIの力を借りながら実務レベルに到達するまでの、リアルな記録です。 ![](https://flow-with-tech.com/media/wp/2025/11/image-11.png) --- ## Power BIとの出会いが、すべての始まりだった 私がデータに興味を持ったきっかけは、DX推進時代にさかのぼります。 現場に自分が展開したシステムが本当に使われているか、データでシビアに見たいと思って、Power BIに手を出しました。 データを可視化する面白さ、数字から現場の実態が浮かび上がる瞬間の快感。これを味わってから、私は「もっとデータと向き合いたい」と強く思うようになりました。 そしてIT企画部門へ希望に出して異動をしました。データ利活用という新たなフィールドへ踏み出すことになります。そして2025年3月、機械学習という未知の領域に挑戦することになりました。 --- ## 3月:基礎学習と挫折の予感(18.2時間) 最初の1ヶ月は、ほぼUdemyでの基礎学習に費やしました。 受講したコースと所要時間 - [【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門](https://www.udemy.com/course/optworks_1/) ![](https://flow-with-tech.com/media/wp/2025/11/image-13.png) 変数、ループ、関数、条件分岐……プログラミングの基本文法を一つずつ学んでいきます。講座の動画を見て、手を動かして、演習問題を解く。 だが、すぐに壁にぶつかりました。 **「なんかこんなのがあった気がするけど、思い出せない」** **「書いてもエラーが出まくる」** 特に厄介だったのはループです。`for`文と`while`文、インデックスとイテレータ、`range()`の使い方……正直に言うと、今でも完全に理解しているとは言えません笑 「なんかそんなのあったな〜」となったぐらいです笑 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-28-at-10.42.21@2x.png) --- ## 5月〜9月:実務はフル生成AI、学習は細々と継続(累計約50時間突破) 5月に入ると、状況が一変しました。機械学習モデル作成プロジェクトが本格的に始まったのです。 なぜExcelではなくPythonで前処理を実行する必要があるのか。それは使用するデータ数と、再現性に尽きると思います。1つのデータに対して整形をすればいいとか、1回だけやればいいとかであればExcelでもどうにかなります。ただ、それが10ぐらいのデータを相手にして、こっちのデータとこっちのデータをくっつけて、条件で絞り込みして、新しい列を作成してとなるとそうはいきません。さらに元データ更新時に同じ処理ができるような再現性も必要なので、Pythonで処理を実行する必要があります。 データの前処理とは主にこんな感じです。 - データをノートブックに読み込む - 中身を見る(欠損はあるか、データ型は正しいか、変なデータが入ってないか) - データ同士をマージ(結合)したり、結合前後でのデータ数の変化を見る - 外れ値の検出と除去 - 特徴量エンジニアリング(たとえば、AとBを掛け合わせて新しい列を作成する) - データの分割(学習用・検証用・テスト用) これら全てをPythonで行う必要がありました。 ここで私は、ある決断をしました。 **「実務時間はフル生成AIで書く」** Udemy的な正攻法の学習を続けながら実務をこなすのは、時間的に無理でした。一個一個調べて手で書いているようでは、到底間に合わないしやってられない!! 実務では徹底的に生成AIを活用しました。 「いい時代だな〜」としみじみと思いました笑 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-28-at-10.42.00@2x.png) ### 生成AIへの投げ方のコツ 生成AIに投げる際は、Udemyでの基礎学習がかなり役に立ちました。**なんかこういうこと**をしたい、という**なんかこういうこと**がわかっているからです。生成AIは強力なツールですが、扱う人間のスキルが高いことに越したことはないと実感しました。 **【AIに投入する情報】** - やりたいこと(例:「このデータフレームから欠損値を含む行を削除したい」) - 最低限の条件 - 実行環境(Jupyter Notebook、Pythonのバージョンなど) - データフレーム名(df_train、df_testなど) - カラム名(例:'age', 'salary', 'target') - エラーが出たら、そのエラーメッセージも全文コピペ この方法で、9割以上のコードは動くようになりました。 ### コードは理解していなくても、結果は確認できる 正直、この時期のコードはほぼ理解していませんでした。 ```python df_train['age'].fillna(df_train['age'].median(), inplace=True) ``` たとえばこんなコード。今でもちょっと考えないと何しているのか理解できません笑 しかし、コードを理解していなくても、コードを実行した結果が合っているかどうかは確認することができます。 `.shape`、`.head()`、`.info()`、`.columns`といったメソッドを適宜使って、データの形や中身をチェックしました。期待通りの結果になっていればOKという感じです。 「これでいいのか?」という不安感はありましたが、締め切りは待ってくれません。まずは動くものを作る。理解は後からついてくる、と自分に言い聞かせました。 そして実際、その判断は正しかったです。 --- ## 8月:GitHub Copilotとの出会い(二刀流の始まり) 8月頃、私はGitHub Copilotの存在を知りました。 VS Code内でコードの続きを自動補完してくれるこのツールを、まずプライベートで試してみました。すると、これが驚くほど便利だったのです。(即、課金しました笑) そこで9月、試験的に会社でも使えるように上申しました。結果、承認。これにより、私は生成AI二刀流となりました。 **【私の生成AI使い分け】** - **GitHub Copilot(VS Code内)**: 細々としたコーディング、関数の補完、変数名の提案など。これで9割はいけました。 - **ChatGPT**: 少し複雑で長い処理が必要なとき。まとまったコードを書いてもらう感じです。 この二刀流により、コーディング速度が格段に上がりました。GitHub Copilotは「隣でアドバイスしてくれる先輩エンジニア」のような存在で、書きたいコードをほぼリアルタイムで提案してくれます。 --- ## そして機械学習モデルは完成した 色々あり一旦完成しました。Pythonもかなり丁寧にわかりやすく書くことを意識したので、後任者への引き継ぎもスムーズにできると期待しています。機械学習モデル作成において、Pythonでのデータ前処理は確かに重要ですが、それ以上に重要なことが他に山ほどあります。なので、最低限の知識を身につけたら、あとは生成AIの補助を受けて楽をして良かったです。せっかく苦労してコードを書いても、やっぱりいらないってなった時のダメージが少ないですしね。早く成果を出して、早く失敗することがプロジェクト成功に必要みたいです。 ## 生成AIは「相棒」であり「教師」だった 振り返ると、この7ヶ月間、生成AIなしでは絶対に乗り越えられませんでした。 ### 生成AIの使い方 **1. コード生成マシンとして(ChatGPT)** 「こういうことをしたい」→「コードを書いてもらう」→「動かす」→「エラーが出たら投げる」 複雑な処理はこのパターンです。 **2. リアルタイム補完として(GitHub Copilot)** コードを書きながら、次に書くべき処理を提案してもらう。 実務の9割はこれで回せました。 **3. エラー解決の先生として** 自分で書いたコードがエラーを吐いたとき、エラーメッセージを丸ごと投げると、原因と修正案を教えてくれます。Stack Overflowを検索する時間が劇的に減りました。 **4. 概念理解の対話相手として** 「そもそも機械学習って何?」「過学習ってどういうこと?」みたいな概念的な質問に、分かりやすく答えてくれます。技術書を読むより速いです。 **5. 愚痴を言う相手として**? 24時間365日どんな話でも聞いてくれます。新しい領域の業務でのモヤモヤや悩みも生成AIは受け止めてくれます。悩んだら相談もしてみましょう(なんでも肯定してくれるので、鵜呑みにしすぎないように笑) ### 「AI頼み」と「理解」のバランス もちろん、全てをAI任せにするのは危険です。 AIが生成したコードが何をしているか、最低限の理解は必要でした。じゃないと、エラーが出たときに何を修正すればいいか分かりません。 私が心がけたのは、「だいたい理解」です。完璧に理解しようとすると、時間がいくらあっても足りません。でも、コードの大まかな流れと、各行が何をしているかが分かれば、実務では十分でした。 --- ## Pythonを学んで見えてきたもの:データの解像度が上がる 7ヶ月間Pythonを学んで、私が得た最大の財産は「データの解像度が上がった」ことです。 ### Power BIでは見えなかったもの Power BIは強力なツールです。直感的な操作でデータを可視化できます。でも、Power BIでできることには限界があります。 - データの前処理が複雑な場合、Power Queryでは対応しきれない - 機械学習モデルを組み込むのは難しい - 細かいカスタマイズや自動化には向いていない Pythonを学んだことで、「データの裏側」が見えるようになりました。 データがどんな形式で保存されているのか。欠損値や異常値がどれくらいあるのか。変数同士の関係性はどうなっているのか。 こうした「データの実態」を把握できるようになったことで、Power BIでの可視化もより深いものになりました。 ### Microsoft FabricのNotebookで一気通貫の設計が可能に Pythonの前提知識があることで、Microsoft Fabricのエコシステム全体を少し使いこなせるようになったのも大きな収穫です。 **【Fabricでの一気通貫フロー例】** 1. **Power Apps**でSPOリストへデータ格納 2. **Data Flow Gen 2**でレイクハウスへデータ移行 3. **Notebook(Python)**でテキストからカテゴリをAI関数で生成 4. **Power BI**で可視化・分析 このように、データ収集から加工、分析、可視化まで、一貫した設計ができるようになりました。 特にNotebookでのPython処理は、Power Queryでは不可能だった複雑な加工や、AIを使った高度な処理を可能にします。これは、Pythonを学んでいなければ辿り着けなかった領域です。 ### ExcelとPower Platformの間にあるPython 私は今、市民開発推進チームに所属しています。Power Platformを使って、現場の業務を効率化するためのツールを作る支援をしています。 ここでも、Pythonの知識が活きています。 **【業務ツールの使い分け】** - **Excel**: 簡単な集計、数式ベースの処理 - **Power Automate**: 定型業務の自動化、システム間連携 - **Power Apps**: ユーザー向けのアプリ作成 - **Python(Fabric Notebook)**: 複雑なデータ処理、高度な自動化 - **Power BI**: 分析・可視化 Pythonは「Excel/Power Platformでは難しいけど、専門システムを作るほどでもない」という中間領域で威力を発揮します。 たとえば、「1万行を超えるデータの複雑な集計」「複数のCSVファイルを自動で結合」「簡易的な予測モデルの作成」といった処理は、Pythonの得意分野です。 --- ## 市民開発者が、Pythonやってみてもいいかも! 現在、私は市民開発推進の仕事をしています。そこで強く感じるのは、「市民開発者にこそPythonを学んでほしい」ということです。 ### 理由1:データへの理解が深まる Power AppsやPower Automateを作るとき、結局のところデータを扱います。データの構造を理解していないと、効率的なアプリは作れません。 Pythonでデータを触った経験があると、「このデータはこういう構造になっているはずだ」という感覚が身につきます。 ### 理由2:Power Platformの限界を超えられる Power Platformは万能ではありません。複雑な処理や大量データの処理には向いていません。 そんなとき、Pythonで前処理をしてからPower Platformに渡す、という使い方ができます。市民開発の可能性が一気に広がります。 ### 理由3:Fabricエコシステム全体を使いこなせる Microsoft Fabricは、データ基盤、分析、可視化を統合した強力なプラットフォームです。しかし、その真価を発揮するには、NotebookでのPython処理が不可欠です。 Pythonができることで、Power PlatformとFabricを組み合わせた、より高度なソリューションを設計できるようになります。 ### 理由4:「作れない」が「作れる」に変わる 「こういうツールが欲しいけど、Power Platformじゃ無理かな……」 そう思っていたものが、Pythonを学ぶことで「作れるかもしれない」に変わります。選択肢が増えることは、それだけで大きな価値があります。 ## よくある質問(FAQ) **Q1. プログラミング完全初心者でも本当にできますか?** A. できるかどうかというよりも、「できるまでやる」が正しいかもしれません。そのできた状態が自力100%ではなく、自力70%・生成AI30%という形でもいいと思います。ただし、自ら勉強して習得しようという意思や行動は必須です。どこまで行っても生成AIは補助にすぎません。とはいえ、生成AIがある今の時代は、昔と比べてだいぶ挫折しづらいと思います。一緒に頑張りましょう! **Q2. GitHub Copilotは必須ですか?** A. 必須ではありませんが、あるとスピードが格段に上がります。ChatGPTだけでも十分実務は回せますが、Copilotがあるとリアルタイムで補完してくれるので効率が全然違います。(あとストレスが減ります笑) **Q3. Udemyの講座は最後まで完走する必要がありますか?** A. 完走しなくても大丈夫です。基本文法(変数、if文、for文、関数、リスト)を「こんなのがあるんだな」程度に理解したら、実務で手を動かす方が身につきます。私もループは今でも完全には理解していません笑 **Q4. 生成AIにコードを書かせる時のコツはありますか?** A. 生成AIを使う際の基本的な留意事項を抑えることと、具体的な情報を渡すことです。「やりたいこと」「実行環境」「データフレーム名」「カラム名」を明確に伝えれば、9割以上のコードは動きます。エラーが出たら、エラーメッセージを全文コピペして投げ直せばOKです。 **Q5. ExcelやPower Queryではダメなんですか? Pythonを学ぶ必要性は?** A. ExcelやPower Queryは便利ですが、扱えるデータ件数に限界があります。また、複数のデータを結合したり、複雑な条件分岐や繰り返し処理、機械学習向けの高度なデータ処理はPythonでないと厳しいです。さらに、処理の再現性(同じ処理を何度も実行できる)もPythonの大きな強みです。また、Microsoft FabricのNotebookを使った一気通貫のデータ処理が可能になります。 --- # 【実体験】元現場監督がPower Appsを1年で140時間勉強した推移をPythonで可視化して振り返る - 公開日: 2025-11-27 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/from-civil-engineer-to-it-powerapps/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## はじめに 私は現在、市民開発系をしていますが、元々は土木の現場監督でした。日焼けしてヘルメットの顎紐のところだけ白くなって笑われたり、タイヤカバーが無い自転車で現場を走り背中が泥だらけになったり、現場のすみっこの落ち葉で昼寝してみたり。その後、DX推進の部署を経て、現在のIT企画部へ異動しました。 なんでこんなキャリアになっているのかわかりませんが、同期からはこんなことを言われたことがあります。 「好きを突き詰めているよね」と笑 Power BIから始まった私のPower Platform。今回はPower Appsとの出会い、そしてその後の好きを突き詰めた軌跡を実際の記録から紹介したいと思います。 「こんなやつおんや」「なんかPower Appsっておもろそう」そう思ってもらえたら嬉しいです。 ## Power Apps年間140時間の学習推移 これが私がプライベートでPower Appsを触っていた時間の全てです。 ![](https://flow-with-tech.com/media/wp/2025/11/image-7.png) - **棒グラフ:** 月間の学習時間(青:実践・制作など / 紫:Udemy) - **折れ線グラフ:** 累計学習時間 - **期間:** 2024年11月 〜 2025年11月 累計学習時間は **139.7時間**。 「なんだ、1年で140時間か」と思われるかもしれませんが、実はこの裏で **Power BI・Power Automate・機械学習(Python)の勉強も並行**していました。今回のグラフはあくまでPower Apps単体の数字です。 ## 1. 【模索期】2024年11月〜2025年1月:独学の限界 異動直後の11月頃からPower Appsを触り始めました。 しかし、グラフの通り学習時間は低空飛行。「なんか凄そうだけど、思い通りに動かない…」と、独学の壁にぶつかり、なかなか手が進まない時期でした。なんとか動くアプリができるけど、でもこれをどうすればいいのか、何ができていて何ができていないのかよく分かりませんでした。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-27-at-13.00.27@2x.png) ## 2. 【覚醒期】2025年2月:Udemyへの投資と業務アプリ開発 「これは体系的に学ばないとダメだ」 そう感じ、2月に **Udemy** の講座を購入しました。グラフで紫色のバーが突出しているのがこの時期です。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-27-at-13.01.18@2x.png) **受講したコースと実施した時間はこちら** - [Microsoft Power Apps 基礎マスターコース ヒョウノモトハル([リンク](https://www.udemy.com/share/105ONW3@ij0kKqPb-7H6JEB534OatlT26J62m2N2Vg7HIVG_4s30PaKSHBsys8qrQPSmTb4ZOw==/))] ![](https://flow-with-tech.com/media/wp/2025/11/image-5.png) - [Power Apps(パワーアップス)でたくさんのアプリを開発してきた経験から頻出テクニック([リンク](https://www.udemy.com/share/10cMdh3@a-ExP_DuyKmKgHxrTy_oAfelcz6YUD0rB5j4u_kQcwwz5nbLjMi7J3B7n8sdc_yyBg==/))] ![](https://flow-with-tech.com/media/wp/2025/11/image-6.png) インプットの効果は絶大でした。体系的に学ぶことができて、自分のやりたいことをすぐに形にできるようになりました。私は記録魔でもあるので、普段から自分の行動記録をつけています。Power Appsを学んだらまず作りたかったのが、行動記録アプリです。Udemyの勢いで作成して今でも使い続けています。 **自分が欲しいアプリを作るのが、一番の学習になりました!** > この1ヶ月についてはこちらの記事で当時のXへのポストを交えて、詳しく書いています。 > > もし興味があれば、こちらもぜひ見てみてください。 > > https://flow-with-tech.com/power-apps-first-month-learning-journey/ ## 3. 【実践期】2025年3月〜4月:登壇駆動開発 3月末にとあるイベントに登壇する申し込みをしました。軽いノリで笑 イベントまで1ヶ月しかないのに今からPower Appsを作って、発表資料作成し、当日のプレゼンを考えないと・・・ということで猛烈にPower Appsに打ち込みました。このインプットと多くの人へのアウトプットが、スキルアップにもつながったと思います。当日はスマホ1台でスライドでプレゼンと、Power Appsアプリの実演、開発裏話をOneNoteで紹介して会場・オンラインをかなり盛り上げました笑 一部いただいたコメントです! > 欧米のプレゼンを聞いているみたい笑 > > ゲーム発表の会場と間違えたのかな ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-27-at-13.02.11@2x.png) ## 4. 【並走期】2025年6月〜9月:多角的なスキル習得へ 6月以降、Power Appsの学習時間がガクンと減っています。「飽きたのか?」と思われるかもしれませんが、違います。 実は3月から本業で **機械学習モデルの作成** を担当することになり、Pythonの学習に追われていました。大学では鉄筋を組んで、コンクリートを打設して、劣化させて破壊する研究をしていたような人です。プログラムなんてやったこともありませんし、Pythonって何というところから始まりました。 さらに、チームのメインミッションである **Power BI** や、業務効率化のための **Power Automate** の学習も並行して進めていました。 このグラフには表れていませんが、この時期のプライベート時間は他の技術スタック(BI, Automate, Python, ML)の習得にリソースを割いていました。 それでもPower Appsをゼロにはせず、細々とメンテナンスや学習を継続していました(まさに多足のわらじ状態)。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-27-at-13.02.29@2x.png) ## 5. 【現在】2025年10月〜:そして「市民開発推進」へ そして迎えた2025年10月。 これまでのPower Appsへの取り組み(アプリ開発や登壇)が評価され、新しく発足した **「市民開発推進チーム」** にアサインされることになりました。 元現場監督が、1年で市民開発の旗振り役に。 11月もまだ機械学習モデル作成の業務は続いていますが、Appsの学習時間も再び右肩上がりになっています(グラフ右端)。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-27-at-13.02.46@2x.png) ## おわりに 1年でPower Appsに費やした約140時間。 その裏側には、Power BIやAutomate、そしてPythonによる機械学習への挑戦がありました。自ら進んでの学習は苦ではなく、むしろ新しいことを知る・できるようになるたびに面白いなって思いながら進むことができました。 今回のグラフも、「Power Appsで記録したログをPythonで可視化する」という、今の私のスキルセット(Apps × Python)を象徴するアウトプットになりました。それに加えて、記録魔であることや一度決めたら淡々と継続するという自分の特性もかなり活かせていると思います。 これから、本格的に市民開発推進ができることが楽しみです。今まで誰もできなかったことを平然とやってのけたい。そんな密かに燃える野心を胸に、楽しんでいきたいと思います! ![](https://flow-with-tech.com/media/wp/2025/11/Gemini_Generated_Image_ohy95cohy95cohy9.png) ## よくある質問(FAQ) **Q1: 土木現場監督からIT部門への異動は、社内でどのように実現したのですか?** A: DX推進部署にいた時から、Power BIを活用したり、IT部門のPower BI相談室に通い詰めたりしてました。異動先の担当者と顔見知りになっていました。全く関わりのない部署への飛び込みではなく、日頃から交流を重ねていたことが、キャリアチェンジ実現の鍵だったと思います。 **Q2: Power Appsの学習に年間140時間は多いですか?少ないですか?** A: 多いか少ないかは一概には言えませんが、この140時間はPower Apps単体に絞った学習時間です。同時期に筆者はPower BI、Power Automate、Python(機械学習含む)も並行して学習していたため、テクノロジー学習全体ではさらに多くの時間を費やしています。 **Q3: 独学で挫折しかけたとき、どうやって突破口を見つけたのですか?** A: 「学習のための学習」ではなく、目の前にやりたいことや解決したい課題があり、それを解決するために学ぶスタイルを取っています。私自身「学習っていう感覚もない」と語るほど、実践的なアプローチです。2025年2月にはUdemyの体系的な講座を受講し、その直後に自分が毎日使う行動記録アプリを開発。自分のニーズに合ったものを作ることが、最高の学習になったそうです。なお、試験のための学習は苦手です笑 **Q4: 2025年6月以降に学習時間が減っているのはなぜですか?** A: 飽きたわけではなく、本業で機械学習モデルの作成を担当することになり、Pythonの学習に多くの時間を割く必要があったためです。さらにPower BIやPower Automateの学習も並行していました。Power Appsをゼロにはせず細々とメンテナンスや学習を継続しながら、複数の技術スタックを同時に習得する「多足のわらじ状態」で進めていました。 **Q5: 「登壇駆動開発」とは何ですか?どんな効果がありましたか?** A: 2025年3月末に登壇するイベントに申し込み、1ヶ月という短期間でPower Appsアプリの開発から発表資料作成、プレゼンまでを一気に仕上げた時期を指しています。このインプットとアウトプットの集中的なサイクルが、スキルアップに大きく貢献しました。 「習得できたから登壇するんじゃない。登壇するから習得できるんだ」と言えるようになりたいです笑 --- # 【Power Apps】生成AI分析が捗る!ボタン一つでデータを「テーブル形式」でコピーする実装テクニック - 公開日: 2025-11-26 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/powerapps-copy-data-for-generative-ai/ - サイト: 改善紀 — 好奇心の赴くままに。 --- 業務アプリで蓄積したデータを「ちょっと生成AIに分析させたい」「傾向を生成AIに探らせたい」と思ったことはありませんか? わざわざCSVエクスポート機能を作ったり、Excelファイルをダウンロードして添付するのは少し手間ですよね。 今回は、Power Appsの画面上から**ボタン一つで、Excelや生成AIにそのまま貼り付けられる形式でデータをクリップボードにコピーする方法**を紹介します。 ![](https://flow-with-tech.com/media/wp/2025/11/image-1.png) ### 実現したいこと - Power Apps 内のデータをフィルタリングして取得 - ヘッダー付きの「表形式(タブ区切り)」テキストとしてクリップボードにコピー - 生成AI のプロンプト欄にペーストして活用 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-26-at-21.32.15@2x.png) ### 実装コード ボタンの `OnSelect` プロパティに以下のコードを設定します。 ポイントは `Char(9)`(タブ文字)と `Char(10)`(改行文字)の使い方です。 **コード** ```js Copy( // 1. ヘッダー行の作成(タブ区切り) "ProjectName" & Char(9) & "CategoryName" & Char(9) & "ActionName" & Char(9) & "Notes" & Char(9) & "StartTime" & Char(9) & "EndTime" & Char(9) & "Duration" & Char(10) & // 2. データ行の連結 Concat( // 直近N日分のデータを抽出して開始時間順にソート Sort( Filter( WorkLog_Transaction, StartTime >= DateAdd(Today(), -Value(txtLastDate.Text), TimeUnit.Days) ), StartTime, SortOrder.Ascending ), // 各カラムをタブ区切りで結合 ProjectName & Char(9) & CategoryName & Char(9) & ActionName & Char(9) & Notes & Char(9) & Text(StartTime, "yyyy/mm/dd hh:mm") & Char(9) & Text(EndTime, "yyyy/mm/dd hh:mm") & Char(9) & Duration, // 行末に改行コードを入れる Char(10) ) ); Notify("データ(所要時間付き)をコピーしました", NotificationType.Success) ``` ### 技術的な解説ポイント #### 1. `Copy()` 関数の活用 Power Apps の `Copy()` 関数を使うと、指定したテキストをデバイスのクリップボードに送ることができます。これにより、ユーザーは「Ctrl + V」だけでデータを他のアプリに持ち出せます。 #### 2. `Char(9)` でExcelライクな挙動に ここが最大のポイントです。 文字列の連結に `Char(9)` を使用しています。これは ASCIIコードで **「水平タブ」** を意味します。 - **Excelに貼る場合:** タブが自動的に「列」の区切りとして認識され、綺麗にセルに入ります。 - **生成AIに貼る場合:** AIもタブ区切りテキストを「表データ」として認識しやすいため、構造化データとしてスムーズに解析してくれます。 #### 3. `Concat` で一括文字列化 `ForAll` ではなく `Concat` を使うことで、テーブル内の全レコードを単一の長い文字列(テキストの塊)に変換しています。ループ処理の中で各レコードの末尾に `Char(10)`(改行)を付与することで、行ごとのデータ整形を行っています。 #### 4. 日付の文字列化 `Text(StartTime, "yyyy/mm/dd hh:mm")` のように明示的にフォーマットを指定しています。AIに渡す際、ロケールに依存しない明確な書式にしておくことで、解析ミス(月と日の取り違えなど)を防ぐことができます。 ### 活用シナリオ:生成AIへのプロンプト例 このボタンでコピーしたデータを、生成AIに以下のように投げると効果的です。 > **ユーザー:** 以下のデータは私の作業ログです。時間の使い方の傾向を分析し、効率化のためのアドバイスを3点挙げてください。 > > [ここで Ctrl + V (コピーしたデータを貼り付け)] ### まとめ Power Apps はデータの入力だけでなく、データの「利活用」への入り口としても優秀です。 複雑な出力機能を実装しなくても、テキスト処理の工夫だけで、AI連携が劇的にスムーズになります。ぜひ試してみてください。 --- # 【Power Apps】業務記録アプリに後から一括登録機能を実装する方法 - 公開日: 2025-11-26 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/powerapps-bulk-registration-logic/ - サイト: 改善紀 — 好奇心の赴くままに。 --- 業務アプリ開発の持論として、「作業が終わったその瞬間にスマホやPCで記録するしかない仕様にする」というものがあります。 しかし、実際の現場はそう甘くありません。 作業中に手が離せなかったり、会議が連続していたりと、**「物理的にスマホを取り出して記録すること自体が不可能」**な場面が多々あります。 結果として、一日の終わりや休憩時間に「記憶を頼りにまとめて入力する」ことになるのですが、Power Appsの標準的なフォームでこれをやろうとすると、「新規作成 → 入力 → 保存 → 新規作成…」を繰り返すことになり、非常にストレスフルです。 そこで今回、**「後からまとめて振り返る」**ことに特化した、**「買い物かご方式の一括登録機能」**を実装しました。 技術的な工夫点、特に**「ユーザーの記憶を補助するロジック」**を中心に紹介します。 ![](https://flow-with-tech.com/media/wp/2025/11/image.png) ## 実装した機能の概要 今回作成したのは、以下のようなUIです。 - **一時保存(コレクション)機能:** 1件ずつ送信せず、手元でリストを作成する。 - **時刻の自動連携:** 直前のタスクの終了時間を、次のタスクの開始時間に自動セットする。 - **一括送信:** 最後にボタン一つでDataverseへ一括登録する。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-26-at-18.25.04@2x.png) ## 1. 課題:後から入力する時の「記憶の寸断」を防ぎたい 後からまとめて日報を書く時、一番頭を使うのは**「時系列の整理」**です。 「えーっと、Aの会議が10時に終わって、そのあとBの資料作成をやって…」と思い出しながら入力している時に、毎回時間を手動で設定し直すのは思考のノイズになります。 そこで、**「前の行(タスク)の終了時間を、次の行の開始時間の初期値にする」**というロジックを組み込みました。これにより、ユーザーは作業内容を入れることだけに集中できます。 ## 2. 技術的な実装ポイント ここからは具体的なコード解説です。 データの格納先にはDataverseを使用し、アプリ内ではコレクション(`colWorkLogs`)で一時データを管理しています。 ### ① 「直前の終了時間」を取得して次につなげる(AddRecord) 「行追加ボタン」を押した時の処理です。 ここでのポイントは、**`Last()`関数でコレクションの最終行を取得**し、その終了時間を次の開始時間の基準にしている点です。 **コード** ```js // AddRecord ボタンの OnSelect // 1. 直前の行の終了時間を計算して取得 Set( varPrevEnd, If( CountRows(colWorkLogs) = 0, // 初回(0件)の場合は、DB上の最新データの終了時間などを取得 If(IsEmpty(WorkLog_Transaction), Now(), ... ), // 2件目以降:コレクションの最後の行(Last)を取得 With( {r: Last(colWorkLogs)}, // 日付と時間を合成してDateTime型にする r.EndDate + Time(r.EndHour, r.EndMinute, 0) ) ) ); // 2. 新しい行の開始時間を「直前終了時間の1分後」にセット Set( varStart, DateAdd(varPrevEnd, 1, TimeUnit.Minutes) ); // 3. コレクションに追加(時・分は分解して保持) Collect( colWorkLogs, { RowNo: CountRows(colWorkLogs) + 1, LocalId: GUID(), StartDate: DateValue(varStart), StartHour: Hour(varStart), StartMinute: Minute(varStart), // ... (その他の項目) } ); ``` `With`関数を使うことで、「直前の行(`r`)」という定義を明確にし、コードの可読性を高めています。これで「A作業が終わったら、即B作業」という連続した入力をスムーズに行えます。 ### ② 安全な一括登録(CreateRecord) 最後に、溜めたコレクションをデータベースに書き込む処理です。 ここでは単に保存するだけでなく、**「データの健全性チェック(バリデーション)」**を行ってから送信しています。 特に重要なのが**「開始時間が終了時間より後になっていないか(時刻逆転)」**のチェックです。 **コード** ```js // CreateRecord ボタンの OnSelect // 1. 未入力チェック & 時刻逆転チェック If( CountRows(...) > 0, Notify("未入力があります", ...), // 逆転(Start >= End)があるかチェック With( { badRows: Filter( colWorkLogs As r, // 開始日時と終了日時を合成して比較 (r.StartDate + Time(r.StartHour, r.StartMinute, 0)) >= (r.EndDate + Time(r.EndHour, r.EndMinute, 0)) ) }, If( CountRows(badRows) > 0, Notify("開始が終了以上の行があります。修正してください。", NotificationType.Error), // 2. 問題なければ一括登録(ForAll + Patch) With( { toSave: SortByColumns(colWorkLogs, "RowNo", SortOrder.Ascending) }, ForAll( toSave As r, With( { // ここで最終的なDateTime型を生成 st: r.StartDate + Time(r.StartHour, r.StartMinute, 0), et: r.EndDate + Time(r.EndHour, r.EndMinute, 0) }, Patch( WorkLog_Transaction, Defaults(WorkLog_Transaction), { ActionName: r.ActionName, StartTime: st, EndTime: et, Duration: DateDiff(st, et, TimeUnit.Minutes) // 所要時間も自動計算 } ) ) ); // 完了後の後始末 Clear(colWorkLogs); Notify("登録しました。", NotificationType.Success) ) ) ) ); ``` `ForAll`ループの中でも`With`関数を活用しています。 `st`(開始時間)と`et`(終了時間)を一時変数として定義することで、`Patch`関数の中が非常にスッキリし、所要時間(Duration)の計算などもしやすくなっています。 ## おわりに 業務アプリ開発において「UI/UX」というと、見た目の綺麗さが注目されがちですが、本当の使いやすさとは**「ユーザーの業務フロー(文脈)に沿っているか」**にあると思います。 今回は「その場で入力できない」という制約を前提に、「後から思い出しやすい」仕組みをコードで表現しました。 Power Appsのコレクションと`With`関数、そしてちょっとしたロジックの工夫で、現場に寄り添ったアプリは作れます。同じような課題を持つ方の参考になれば幸いです。 --- # 【Power Apps】Dataverseで習慣トラッカーを自作する!ForAllとPatchでリレーションを保存する「魔術」 - 公開日: 2025-11-23 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/powerapps-dataverse-habit-tracker-forall-patch/ - サイト: 改善紀 — 好奇心の赴くままに。 --- プライベートでも自分用の「業務・生活記録アプリ」を開発しています。 バックエンドをSharePointリストから **Dataverse** に移行し、リレーショナルなデータ構造で「習慣トラッカー」機能を実装しました。 これまでは食わず嫌いしていたDataverseですが、実際に触ってみてリレーション(関連付け)の仕組みを理解したら、**「なぜ今までこれを使わなかったんだ」**と後悔するほど快適でした。 今回は、個人的に「魔術」だと感じた、**ForAll と Patch を組み合わせたスマートな保存処理**について解説します。 ### 今回作りたい機能:習慣トラッカー やりたいことはシンプルです。 1. 事前に登録しておいた「習慣リスト(筋トレ、勉強、掃除など)」を一覧表示する。 2. やったものにチェックを入れる。 3. 「登録」ボタン一発で、選択した日付のデータとして保存する。 ### データベース設計:マスターとトランザクションの分離 SharePointリストのみで運用していた頃は、テキスト列にそのまま「筋トレ」などと書き込んでいましたが、今回はDataverseの強みを活かしてテーブルを分けました。 - **WorkLog_HabitMaster(マスターテーブル)** - 習慣の名前やIDを管理する定義テーブル。 - **WorkLog_HabitLog(トランザクションテーブル)** - 「いつ」「どの習慣を」「やったか」を記録する実績テーブル。 この2つを、Dataverseの **「検索列(Lookup)」** で紐づけています。これぞRDB(リレーショナルデータベース)の基本ですね。 ### 実装:これが「魔術」のコードだ 実際に「登録ボタン」の `OnSelect` プロパティに書いたコードがこちらです。 ギャラリー(一覧)に表示されているアイテムを一括で処理します。 **コード** ``` ForAll( Gallery2.AllItems As _Master, // ★ここで「_Master」というあだ名をつける Patch( WorkLog_HabitLog, // 保存先のテーブル Defaults(WorkLog_HabitLog), { HabitName: _Master, // ★ここが最大のポイント! Date: DatePicker1.SelectedDate, check: _Master.chkDid.Value // チェックしたかどうか } ) ); ``` このコードには、Power Apps初学者〜中級者が一度はつまずくポイントを突破するテクニックが詰まっています。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-23-at-19.15.31@2x.png) #### 魔術ポイント①:As演算子で変数を支配する `Gallery2.AllItems As _Master` という部分です。 `ForAll` の中で `Patch` を使うと、今どのレコードを指しているのか(`ThisRecord` が何を指すのか)が曖昧になりがちです。 そこで `As _Master` と明示的に名前を付けてあげることで、**「今ループしているこの行は _Master だよ」** とコード内で宣言できます。これで変数の迷子を防げます。 #### 魔術ポイント②:リレーションの保存があまりに直感的 一番感動したのがここです。 ``` HabitName: _Master ``` 保存先の `HabitName` 列は、マスターテーブルへの検索列(Lookup)になっています。 従来のSharePointなどではIDを指定したりと面倒な処理が必要でしたが、Dataverseの場合は **「レコードそのもの(_Master)」を渡すだけで、勝手にリレーション(紐付け)が完了します。** 「IDを探して…」といった手続き不要で、「この親の子供です!」とオブジェクトを渡す感覚。これぞオブジェクト指向、これぞモダンなローコード開発です。 ### まとめ:Dataverseはいいぞ これまでは「ExcelやSharePointで十分」と思っていましたが、データの整合性や、アプリ側でのコード記述量を考えると、Dataverseのリレーション機能は強力な武器になります。 何より、コードが短くて美しくなるのが最高です。 「市民開発」のレベルを一段上げたい方は、ぜひDataverseの検索列と `ForAll` の組み合わせに挑戦してみてください。 --- # 【Power Apps】カンファレンスの予定登録が面倒すぎるので、AIにテキストを丸投げしてOutlook登録するアプリを作ってみた - 公開日: 2025-11-22 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/powerapps-ai-builder-schedule-automation/ - サイト: 改善紀 — 好奇心の赴くままに。 --- #### はじめに Microsoft AI Tourなどの大型カンファレンスに参加する際、どのセッションを回るか悩みますよね。 公式のタイムテーブルはあっても、**「自分が参加するセッションだけをOutlookに入れて、同行者にも空き状況や居場所を共有したい」**と思うことはありませんか? しかし、数十あるセッションの中から自分の行きたいものを選び、一つずつ「件名・時間・場所」をOutlookにコピペして登録するのはあまりにも面倒くさくて、気絶しそうです。 そこで今回は、**「Webサイトのセッション情報を適当にコピペしたら、いい感じに整形してOutlookに一括登録してくれるアプリ」**をPower Appsで作ってみました。 #### 作ったアプリの概要 今回作成したアプリの全体像はこちらです。 今は機能検証用なので見た目は無骨ですが、やっていることは以下の4ステップです。 1. Webサイトのセッション情報をテキストとしてコピー&ペーストする。 2. **AI Builder** がテキストを読み取り、構造化データ(JSON)に整形する。 3. 整形されたデータをPower Appsのギャラリーで一覧表示する。 4. 参加したいセッションにチェックを入れ、ボタンを押すと**Outlook予定表に一括登録**される。 **ポイントは、Power Automate(フロー)を使わずに、Power Appsの中だけで完結している点です。** ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-22-at-09.49.09@2x.png) #### 技術的なポイント このアプリの肝となる技術を少しだけ解説します。 **1. AI Builder (GPT) によるテキスト整形** Webサイトからコピーしたテキストは、改行やスペースが含まれていて形式がバラバラです。これをPower Appsで扱いやすくするため、AI Builder(GPTモデル)に以下の指示を与えています。 **AI Builderへの指示(Copilotで作成)** ``` You are tasked with extracting specific event-related information from the provided text and formatting it for integration with Power Apps. Instructions: Analyze the input text carefully to identify and extract the following details for every event mentioned in the text: Subject: The main topic or title of the event. StartDatetime: The starting date and time of the event. EndDatetime: The ending date and time of the event. Place: The location where the event will take place. Ensure that the extracted information is accurate and corresponds exactly to the details found in the input text. Format the extracted data into a JSON array (list) of objects suitable for passing to Power Apps. If any of the required fields are missing for a specific event, indicate their absence explicitly with a null or empty value. Respond only with the valid JSON array without additional commentary. Output Format: Provide the output as a JSON array containing objects with the following keys: "Subject": string or null "StartDatetime": string or null (use ISO 8601 format if possible) "EndDatetime": string or null (use ISO 8601 format if possible) "Place": string or null Example: JSON[ { "Subject": "Team Meeting", "StartDatetime": "2024-07-01T09:00:00", "EndDatetime": "2024-07-01T10:00:00", "Place": "Conference Room A" }, { "Subject": "Project Review", "StartDatetime": "2024-07-01T13:00:00", "EndDatetime": "2024-07-01T14:00:00", "Place": "Online" } ] Provide the input text here: Input Text ``` ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-22-at-09.53.31@2x.png) これにより、人間が読めるテキストを、アプリが処理できるデータ形式(JSON)に変換しています。 **2. JSONのパースとコレクション化** AIが出力したJSON文字列を、Power Appsの `ParseJSON` 関数を使って読み取り、コレクション(アプリ内の一時テーブル)に格納します。これでギャラリーへの表示が可能になります。 **Power FXコード** ``` // 1. まずコレクションを初期化 Clear(colEvents); // 2. JSONを解析して、ループ処理でコレクションに追加 // ParseJSON(varJsonString).events で "events" 配列にアクセスします ForAll( Table(ParseJSON(varJsonString.Text).events), Collect( colEvents, { Subject: Text(Value.Subject), // 日時は ISO形式なので DateTimeValue で日付型に変換 StartDatetime: DateTimeValue(Text(Value.StartDatetime)), EndDatetime: DateTimeValue(Text(Value.EndDatetime)), Place: Text(Value.Place) } ) ); ``` **3. Outlookへの一括登録** チェックボックスにチェックが入っている項目に対して、`ForAll` 関数を使用し、Office365Outlookコネクタをループさせています。 Power Automateにデータを渡す必要がないため、アプリの動作も軽快で、実装もシンプルになります。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-22-at-09.55.30@2x.png) #### 実際に使ってみて これまで手作業で1つ1つ登録する、気絶してしまいそうな作業をしなくても良くなりました。何なら一旦全てのセッションをOutlookに一括で登録してしまって、重複してるものや休憩したい時間帯のセッションを削除してしまってもいいかもしれないです。 今回は自分用なのでUIは最低限ですが、本格的に運用するならデザインを整えてみたいです。 Power Platformを使えば、こうした「気絶しそうな場面」を数時間で解決できるのが楽しいですね。 --- # 【Power Apps】行動記録アプリに習慣トラッカーを追加してみた - 公開日: 2025-11-18 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/powerapps_habittracker/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## はじめに この記事を読むことで自分の行動を記録するだけじゃなくて、習慣トラッカーも同じアプリ内で実施する方法がわかります。自分の全てをデータにしたい市民開発者へ向けて!! ## そもそもの行動記録アプリ 自分がいつ何をしたかわからなくなりませんか。データとして記録をして後から振り返ることで気づきを経て、行動を変容していく。これこそが業務改善の真髄なのではないでしょうか。では、なぜ記録した方がいいとわかっていてもできないのでしょうか。 それは、面倒臭いから! じゃあ、その面倒くささを最小限にできたらいいのでは。ついでにプロジェクトとかカテゴリ情報を付与できたらあとから分析できてなお良いのでは。ということで作成したアプリになります。細かい説明は今回は省きますが、私はこれで半年以上記録を継続しています。 ## 習慣トラッカーをしたいきっかけ 確かに行動を記録しておけば振り返ることはできます。ただ、連続的なデータしかありません。任意の日付に筋トレをしたかどうかなどのフラグは後々のデータ分析の段階で付与してあげるしかありません。そして、習慣というものはデータ分析の段階ではなく、日常的に可視化して意識する必要があるのです。つまり日々使用しているアプリの中で、昨日の習慣記録がなければ強制的に記録画面へ遷移して記録するぐらいの強制力が必要となってくるのです。ということで習慣トラッカー機能を追加実装しました。 ## 実際のアプリ画面 昨日の記録がなければ最初から習慣トラッカー画面に移動します。記録をして再度アプリを起動するといつも通りの行動記録画面から起動するようにしました。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-18-at-18.51.50.gif) ## 実装方法 StartScreenにてこのコードを入れるだけです。 最後のレコードをとってきてそれが今日と一致していれば行動記録画面に、違うなら習慣トラッカー画面へ遷移します。細かくやろうとすると、もっと設定した方がいいのですが、毎日起動する、毎日ちゃんと記録する前提ならこれでOKです! ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-18-at-19.01.24@2x.png) ## まとめ 長く使われるものというのは、圧倒的に普遍である。 --- # 100冊読書の振り返り(2025年) - 公開日: 2025-11-16 - カテゴリ: LifeLog - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/100冊読書の振り返り(2025年)/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-15-at-10.15.41@2x.png) ## 【達成!】年間100冊読書をしました。 11月中ば時点で100冊読書を達成しました。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-16-at-11.32.28@2x-1.png) *累計冊数* ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-16-at-11.32.44@2x-1.png) *月別冊数* ## 私が「年間100冊」を目指した、たった2つの理由 1. 去年、75冊読んだ。じゃあ来年は100冊目指してみようと思った 2. 100冊読むってどんな感じなのか知りたかった ## 結論「冊数は関係ない」 何冊読むかを目標にすることはやめようと思う。数を目標にしてもなんの意味もないとわかった。なぜならこうして振り返ってみて、これがめちゃくちゃいいやんけっていう本がないからだ。その時々で自分の悩みや課題を解決、新しい発見があったと思う。でも、長く心に残っているのは数冊だ。その数冊に出会うための残りの数十冊があるのかもしれない。よく考えてみれば、なんだってそうなんじゃないか。人生において無駄なことなんて一つもなくて、一見無駄と思えることも、無駄であることに意味がある。つまり、「無用の用」ということだ。そう考えると、あんまりだったなあと思う本たちにも愛おしく感じる。大事なものに気づかせてくれて、ありがとう。 ## 1月「話題の本に読み耽る」 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-15-at-10.24.25@2x.png) とにかく話題になっている、面白いと言われている本を買って読みました。 バリ山行:山に魅せられた男。ヤバいやつを見ていたら、一番やばいやつは自分自身だったのかもしれないという恐怖。 DTOPIA:カッターで金玉を取り出してあげる少年(狂気) ## 2月「パンチライン爆誕」 フューチャーされそうでされなさそうで、されそうだった月 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-15-at-10.29.15@2x.png) ゲーテは全てを言った:とにかく”ゲーテ曰く”をつけておけば全てが解決する。 小説:川端康成ばりのパンチラインだった。どれだけ小説に全てを注ぎ込み、本を読むことをやめられないか、目の前に情景がはっきりと浮かぶような一文で、衝撃を受けた。多分服はグレーのパーカーで、なんともいえない色のズボンなんだろう。裾がボロボロになっていそう。アパートで本を読んでいるときに、暗い部屋の中で、キッチンの水道から一滴滴り落ちて、シンクに跳ねていそう。隣の部屋のポストには郵便物がこれでもかと詰め込まれて、チラシが共用の廊下の隅っこで雨に打たれて、へばりついていそう。それすらも、そのアパートの一部かのように。確かにシロアリに食われ尽くし、シロアリからすらも見捨てられたこのアパートだが、それでも新しく入ってくるものがある。空いた穴を埋めるように、さも当たり前かのように、カラフルで陽気なチラシが染み入るのだろうか。そんなことが頭に浮かびました。 > 月収は一一万ほどで生活はいつも苦しかったが本を読む時間が減るのだけは堪えられずそれ以上は働けなかった。牛丼を買って食べようかと思った。二分間考え抜いてからやめた。一足しか持っていない靴の底が擦り減っていた。濡れた場所を通る時は滑らないように上から踏みしめて歩いた。アパートの玄関の木枠を摑むと手が食い込んで崩れた。白蟻に食われていて、もうその白蟻もいなくなって、木の空洞だけが残っていた。金は足りなかった。小説を買う金も足りないのに他のことには回せなかった。 > > (小説より引用) ## 3月「恵まれてるはずなのに、なんかずっと苦しい」 健康でお金にも困っていない。仕事もうまくいっている。希望した部署への異動もかなっているし、新しいことにも挑戦ができている。でもなんかずっと苦しい。プライベートの時間で学習をする。それ自体が楽しいんだけど、なんか悶々とする。そんな月でした。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-15-at-10.40.26@2x.png) ドイツ人のすごい働き方:仕事おわりには「ファイアーベント!(Feierabend!)」という挨拶をするのが一般的らしい。パーティの夕方と直訳できて、仕事終わりがお祝いのニュアンスが入ってるんだって。「お先に失礼します、お疲れ様です。」の日本とは全然文化が違うなあ。「人生の半分は整理整頓」ということわざもあるみたいだし、結構自分に合う文化があるのかもしれないなあと思った。こんな働き方を日本でもやりたいなあ。 ## 4月「やっぱり苦しい。」 仕事を減らしたい。いろんなことを並行して進めないといけなくて、とにかく苦しい。定時で帰宅するようにしているけど、家に帰ってからも仕事のことを考えてしまう。キックボクシングを始めた。佐久間さんの本をたくさん読んでみた月だ。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-15-at-10.55.31@2x.png) SLOW 仕事の減らし方:この本を手に取っている時点で結構疲れている気がする。こういう仕事を減らしましょうとか、ミニマルにスッキリという本は、定期的に読みたくなる。どうしても増やすとか頑張るとか、無意識のうちに肩肘はってしまっている自分をほぐしてくてる。タスクを1つ引き受けると、関係者との間接コストがついてくる。確かになあと思った。そしてその間接コストはみんな侮っている。だから、仕事を引き受けるかどうかは慎重になる自分を持った方がいいと思う。早く苦しさから抜け出したいなあって思いました。 ## 5月「老子はほぼ”草”」 会社帰りに公園でサッカーをする。大学の後輩2人とだ。「余命はあと1週間です」って宣告されたら、今日みたいな1日を過ごしたいなあって思うような日を過ごせた。ノスタルジックな瞬間であった。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-15-at-10.59.06@2x.png) ## 6月「月末転機来たりし」 キーエンスには衝撃を受けたな。こんなことが会社でもできたら、公平で頑張った人が報われるようになるだろうな。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-15-at-11.05.57@2x.png) キーエンス最高 自省録は心に染みている。やっぱり古典こそが至高なのだろうか。 ## 7月「途切れるキャリアに戸惑う人生」 すぐに役立つものはすぐに役に立たなくなる。これは自分自身のことなんじゃないか。自分のキャリアについて見つめ直す。柄にもなく。そして悩む日々。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-15-at-11.07.14@2x.png) ## 8月「そうだ明日から台湾に行こう」 人混みに疲れ果てる。お盆休み。明日から台湾に行ってしまった。そう灼熱であった。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-15-at-11.07.44@2x.png) ## 9月「さよなら素晴らしき日々よ。」 キックボクシングの退会、大学生の頃に買ったBMXを粗大ゴミでの処分。さようなら、素晴らしき日々よ。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-15-at-11.08.03@2x.png) ## 10月「異動そして、変わらない仕事よ。」 異動したけど、前のチームのことを年内はやっているというもどかしさ。もっと手放したいけど、どうにもならない日々を過ごす。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-15-at-11.08.33@2x.png) ## 今後について 古典を読む。分かりにくいものにこそ価値があるのではないだろうか。心に染みる一冊を。 --- # Power Apps超基礎的備忘録「AddColumns編」 - 公開日: 2025-11-13 - カテゴリ: Power Apps - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/power-apps超基礎的備忘録「addcolumns編」/ - サイト: 改善紀 — 好奇心の赴くままに。 --- AddColumnsを使おうとした。でもなんかうまくできない。。私のつまづいたポイントを備忘録としてここに記します。 ## Power AppsでAddColumnsを使用するときのポイント 1. 新しいコレクションに入れる 2. 新しいカラム名に、””はつけない ## 検証のために作成したコレクション 日時を持ったコレクションを作成しました。このコレクションの日時から日付のみの列を新しく作りたいと仮定します。 ``` ClearCollect( colSample, { dt: DateTimeValue("2025/11/10 09:30:00"), name: "会議A", memo: "月曜定例" }, { dt: DateTimeValue("2025/11/11 15:00:00"), name: "商談B", memo: "顧客訪問" }, { dt: DateTimeValue("2025/11/13 18:15:00"), name: "作業C", memo: "バグ修正" } ) ``` ## 新しいコレクションに入れる AddColumnsは、Add(加える)・Columns(カラム)ということから、既存のテーブルに列を追加できそうな気がしませんか? そうじゃないみたいです。colSmapleという既存のコレクションに、"nichiji"という列を追加しようとするとエラーが出ました。(nichijiじゃなくてnichiですね。dateでもありますが) ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-13-at-18.31.51@2x-1.png) 正解はこちら。新しいコレクションを作成しなければなりません! ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-13-at-18.34.00@2x.png) ## 新しいカラム名に""はつけない はいはい。文字列だから""で囲っとけばいいんでしょ。と思っていませんか? 生成AIはそう思っています。なので生成AIに書いてもらった場合は、手動で””を消して使います。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-13-at-18.35.35@2x.png) 列名は思い切って""無しで希望するカラム名を書いてしまいましょう。 ![](https://flow-with-tech.com/media/wp/2025/11/CleanShot-2025-11-13-at-18.34.00@2x-1.png) ## 所感 日々の小さな学びや成長って楽しい。 --- # 梯子酒のライフログ - 公開日: 2025-11-08 - カテゴリ: LifeLog - 著者: tan(@kama_bizdev) - URL: https://flow-with-tech.com/梯子酒のライフログ/ - サイト: 改善紀 — 好奇心の赴くままに。 --- ## はじめに 飲み屋さんが400軒近くある街にたまたま引っ越した。会社の家賃補助規定が渋すぎて半年近く物件が見つからなかった結果、なんか立地の割に安い物件を見つけたのがきっかけだ。来る前は何も知らなかった。そしてとあるイベントが開催されていたので、参加してみる。そこから一人梯子酒ライフが始まった。2年間で100軒近く開拓をしてみた。行きつけと呼べそうなお店もできた。そして、先日またイベントに参加してきた。この記事は、過去最高の8軒を梯子したライフログである。 ## 1軒目「砂肝を食う」 滞在時間:35分 一番ディープなエリアの端っこから攻めてみる。砂肝は好きだ。お好み焼きに具材として入れて食べるのが一番好きだ。一杯目から芋焼酎のソーダ割にしてみた。今日行くお店の情報収集もしてみる。 ## 2軒目「とあるオブジェクトを探し求めて」 滞在時間:25分 今回のお題はなかなか難しかった。しかし、普段から飲みに行くわけでもないのに、飲屋街をぷらぷら意味もなく散歩をしている自分には簡単だった。なぜなら、分からないなら分かるまでぷらぷら歩けばいいからだ。そして、1軒目から東西方向で見て対極の地へ辿り着く。まだ時間が早いからか、他にお客さんはいなかたった。コーヒー焼酎を飲んでみる。お題をクリアした達成感と、コーヒーの風味を味わう。 ## 3軒目「最果ての地へ行く」 滞在時間:21分 何を思ったのだろうか。「そうだ、北の果てに行こう。」ということで歩き出す。途中の公衆トイレで用をたす。一人で飲んでいると、お店のトイレをお借りするタイミングを失うことがある。歩くこと15分。途中で行き止まりの道に出会し、引き返す。たどり着いたのは元気の良い鉄板屋さん。お刺身3点がついてくるとのことなので、おばんざいを頼んでみる。お店の方が小声で「めっちゃおばんざいでるな・・・」と呟いていたのは、聞こえないふりをしておく。右前方のカウンターでニコニコしながら隣の若者と話をしているおじいちゃんが見える。「ああ、俺もおじいちゃんにニコニコと話を聞いてもらいたい笑」と思いつつ、お刺身を食べる。青ニンニクの乗ったマグロ・柿ペーストの乗ったはまち(多分)・薬味たっぷりの鰹。どれも最高に美味しかった。鉄板料理を頼みたいところだが、今日はまだ先がある。帰りに入浴剤を頂いた。 ## 4軒目「狭い店再び」 滞在時間:36分 そう、北の最果てにいたのだ。再び最果てから19分かけて歩いて中心地へと戻る。狭い狭い店に入ってみる。既視感がある。そう、隣のお店とシンメトリーになっているんだ。こんなにも狭い店があるなんて。カウンターには店員さんが2名いらっしゃる。この空間だと違和感がある。一人でも狭いのに。イベントの時だけ二人らしい。柿の種を食べる。豆乳ハイを飲む。ちょっと休みたいときに飲むやつだ。先に入っていた人が出ていく。一つずつ奥に詰める。また新しい人が入り口側に座る。ロケット鉛筆方式だ。上部に収納されていた、ベイブレードもどきがすごく気になった。あと、出ていく時には満員電車から降りるムーブが疑似体験できる。狭い。でも不思議と居心地は良い。 ## 5軒目「音楽には酔いしれる」 滞在時間:36分 梯子をしていると、どうしても音楽に酔いしれたくなる瞬間がある。会話をどうしてもしたいタイプじゃないからだろうか。入った瞬間にわかる。「これ、すごいやつじゃん」ということで、飲み物はジンジャエールにする。梯子をすることによって気づいた、真理がある。飲み屋でノンアルコールを頼んでもいいということだ。お酒が強くない人でも、楽しんでいいっていことだ。ジンジャエール片手に、最高の空間と最高の音楽に酔いしれた。また来たい。 ## 6軒目「通り道、寄ってみた」 滞在時間:25分 次に行きたい店がまだ開いてないので、途中で寄ってみた。鶏肉のささみ刺しはトラウマがあるのだが、よく見ずに頼んだ、プレートに乗っていた。恐怖に打ち勝ちつつ、食す。やっぱり刺しは美味い。高熱に見舞われないことを祈ろう。そして、このことは忘れよう。 ## 7軒目「猫リターンズを期待して」 滞在時間:30分 次に行こうとしていたお店が開いたので行ってみた。「なんすか?やってないですけど」と言われてしまった。HPを確認してみたけどやっぱりやってるみたいだ。まあ、タイミングが悪かったのかもしれない。当てが外れたので、ふらふらと彷徨ってみる。猫いいなあ。ということで、猫のいる店に行ってみる。猫おるなあと思いつつ、ジントニックを飲む。猫いい。 ## 8軒目「肉食う」 滞在時間:43分 この時間になると開いている店も少なくなってくる。肉食える店開いてんな。チラと覗いてみると、店員さんと目があう。行ったことなかったし、入ってみる。飲んで飲んで飲んで、肉食うのも悪くない。いや、最高だ。また、今度しっかり食べにきたい。 ## 総歩行距離 5km ## まとめ よく歩き、よく飲み、よく楽しんだ。 ---