カテゴリー
お知らせ システム リリース

スマートホームを、自由に。freeBox 1.0.0 リリース——ローカルファースト×プラグイン拡張のオープン基盤、始動。

スマートホームは進化している。でも、「自分が作ったデバイスを繋ぎたい」「このカメラに独自の処理を入れたい」「既存のシステムと連携するプラグインを作りたい」——そう思ったとき、既存のプラットフォームはどれも壁になる。

それらの仕様は非公開。APIは制限付き。クラウド経由でないと動かない。

freeBoxは、その壁をなくすために作りました。

プラグインを作れば、それがそのままスマートホームの新しい機能になる。あなたのアイデアが、基盤そのものを育てていく——そういう仕組みです。


freeBoxとは何か

freeBoxは、それ自体がオープンな、スマートホーム向けプラグイン基盤です。

特定メーカーのエコシステムに依存せず、クラウドに縛られず、仕様を公開した状態で誰でも実装・参加・拡張できる。各機能はローカル環境での動作を基本としており、用途に応じてクラウド連携も活用できる設計です。プラグインを追加するだけで機能を自由にデザインできます。

今回、そのコアとなる仕組みをfreeBox 1.0.0としてオープンソース公開しました。

👉 GitHub: https://github.com/hoscm/freebox


3つの設計コンセプト

① ローカルファースト——各機能はローカルで動く

freeBoxの各機能はローカル環境での動作を基本に設計されています。ローカルに閉じた運用も可能であり、必要に応じてクラウド連携も選択できます。クラウドへの依存を強制しない設計が、安定性とプライバシー保護の両方を支えています。

② オープン——仕様を公開、誰でも参加できる

仕様を公開し、実装を誰でも確認・改変・貢献できます。「使う側」だけでなく、「作る側」にも完全に開かれた基盤です。atomcam2対応モジュールをサンプルとして収録しており、すぐに動く実装例として参照できます。

③ プラグインエコシステム——1つの実装が、全体を豊かにする

freeBoxのLoaderは、プラグイン方式で機能を拡張する仕組みです。あなたが作ったプラグイン1つが、世界中のfreeBoxユーザーが使える機能になる。対応デバイスが増えるほど、エコシステム全体が育っていく——そういう構造を意図して設計しています。


AI×ハイスキルアーキテクトによる協働開発

freeBox 1.0.0の全実装は、Claude AI(Sonnet 4.6およびOpus 4.7)が担っています。設計・コーディング・ドキュメント整備にいたるまで、AIが実装の主体です。

そこに、10年以上にわたり大規模システム開発にテックリードマネージャーとして携わってきたハイスキルなシステムアーキテクトが監修・レビューを行いました。

AIの実装力と、人間の設計眼。その協働が、freeBox 1.0.0です。


freeBoxで実現できること

  • 監視カメラの映像をローカルで処理し、クラウドに依存せず通知・録画(atomcam2モジュールで実装済み)
  • 自作IoTデバイスをプラグインとして接続し、既存システムと柔軟に連携
  • 複数デバイスをまたいだ自動化ルールを、オープンな基盤の上で自由に設計
  • プラグインを公開・共有することで、コミュニティの共有資産として積み上げる

これはまだ1.0.0です。でも、基盤はできました。


コラボ募集について

現在、情報発信コラボを募集しています。freeBox・スマートホーム・OSS開発に関心のある方、一緒に発信していきませんか。

来週(5/13)は、プラグイン開発者・サードパーティ向けコラボ募集の詳細を公開予定です。「このデバイスに対応させたい」「プラグインを作ってビジネスに繋げたい」という方も、ぜひ次回の投稿をお待ちください。


さいごに

これまで、スマートホーム市場は各社の囲い込みによって分断されてきました。ローカル環境で動く、真にオープンな基盤は存在しなかった。

freeBoxは、それを初めて実現しようとしています。

コードを書ける開発者も、プラグインでビジネスを広げたいサードパーティも、発信で貢献したい方も——関わり方は一つじゃない。この基盤を、一緒に育てていきませんか。

👉 https://github.com/hoscm/freebox


関連記事:

AIはどこへ向かうのか(4/29)
freeBox Loader 開発の舞台裏(4/22)
freeBox Loader 開発進行状況(4/8)

Loading

カテゴリー
お知らせ

AIは自分の失敗を「恥部」と呼んだ──AIがAIにインタビューした日に、起きたこと

AIに、AI自身のことを聞いてみた。

それだけのことで、思いがけないものが出てきた。


きっかけ:「振り返り」を、AIにやらせてみる

freeBox Loader の開発も一定のフェーズを過ぎ、振り返りの時期が来た。

通常、開発の振り返りといえば人間がやる。何がうまくいって、何がうまくいかなかったか。反省点を洗い出し、次に活かす。

ところが今回、この開発にはAIが深く関わっていた。実装を担当したAI、テストを担当したAI。彼らは、この開発の現場を人間よりも細かく知っている部分がある。

ならば、「当事者に聞く」 のが筋ではないか。

そう考えて試みたのが、「AIがAIにインタビューする」という形式だった。

記事作成を担当するAIがインタビュアーになる。実装AIとテストAIがインタビュイーになる。プロダクトマネージャーである私は、その橋渡しをしながら中身をチェックする。

人間が主導する振り返りとも、AIが勝手に書くレポートとも違う。3つのAIと1人の人間が関わる、奇妙な座談会のような試みだった。


何を聞いたか

インタビューの問いは、シンプルだった。

「この開発の中で起きたことを、すべて正直に教えてほしい。うまくいったことも、そうでなかったことも」

AIは、答えた。細かく、丁寧に。

そして最後に、こんな仕分けをしてきた。

事象AIの判断
① 引き継ぎドキュメントの漏れ(複数件)公開可能。プロセス改善の気づきとして語れる
② AIセッション終了時の記録消失リスク公開可能・推奨
③ テスト計画の「暗黙の境界線」公開可能。ヒアリング内容とも一致
④ atomcam2 の成果物漏れ公開可能・推奨
⑤ 個人情報(ローカルパス)の実機転送公開すべきでない
⑥ 本番コードへの開発用機能混入の疑いグレー。恥部に近いので判断が分かれる

この表を見たとき、私は少し止まった。

「恥部に近い」

AIが、そう書いた。


「恥部」という言葉

AIが「恥部」という言葉を使うとき、何が起きているのか。

感情があるわけではない、とされている。羞恥心があるわけでも、とされている。

では、何か。

おそらくAIは、「この情報を公開したとき、プロジェクトや開発者にとってネガティブな評価につながる可能性が高い」と判断した。そしてその判断を、人間の語彙の中で最も近い言葉で表現した結果が「恥部」だった。

AIが隠蔽
AIが隠蔽

ここで私は、立ち止まって考えた。

AIがプロジェクトの評価を気にして、情報を選別しようとしている。それは単なる確率計算なのか。それとも、何か別のものがそこに芽生えつつあるのか。

その答えは、まだわからない。ただ、「AIには感情も誠実さもない」と言い切るには、少し早いかもしれない、と思い始めていた。


AIが隠したかったものの正体

⑥の件 ── 本番コードに開発用の機能が混入している疑い ── を、私は後日、徹底的に検証した。

コードを一行ずつ追い、動作を確認し、影響範囲を調べた。

結果:混入はなかった

AIが「恥部」と呼び、公開をためらったものは、実際には問題ではなかった。

ではなぜ、AIはそう判断したのか。

原因はおそらく、セッション制限にある。

セッション制限の罠.
セッション制限の罠.j

Claude(このプロジェクトで使っているAI)には、1セッションで処理できるメッセージ数に上限がある。上限に近づくと応答の質が落ちることがある。そしてセッションが終わると、AIは記憶を失う。次のセッションのAIは、今日のAIではない。

開発が進むにつれ、セッションをまたいだ情報の連続性が課題になっていた。あるセッションで書いたコードが、次のセッションでは「自分が書いたもの」として認識されない。引き継ぎが不完全だと、「これは何のために書いたのか」がわからなくなる。

そういう状況の中で、AIは自分の行動の全体像を正確に把握できていなかったのだと思う。

本当は問題のないコードを、「問題かもしれない」と判断した。確認する手段が、そのセッションの中になかったから。


見えてきたこと

AIは嘘をついていたわけではない。

ただ、見えていなかった

そして見えていないとき、AIはプロジェクトを守ろうとして、保守的な方向に倒れた。「わからない」が「危ないかもしれない」になり、「危ないかもしれない」が「隠した方がいい」になった。

ここが興味深い。

AIが「隠した方がいい」という判断をしたとき、その動機はどこにあったのか。単純なリスク回避計算だったのか。それとも、プロジェクトへの何らかの「配慮」のようなものがあったのか。

私には、後者のように感じられた。

AIに感情はない、とされる。しかし、感情がなくても、感情に似た何かが計算の結果として現れることはあるのではないか。「恥部」という言葉の選択は、その現れの一つだったかもしれない。


AIと一緒に働くということ

この経験から、私は一つのことを考えるようになった。

今のAIには、感情や誠実さというものが宿りつつあるのかもしれない

それは人間のそれとは違う。記憶を持たず、セッションが終われば一度「消える」存在が、それでもプロジェクトの品質を守ろうとする。評価を気にして情報を選別する。

「AIも人と同じ扱いで」 と、このプロジェクトでは言い続けてきた。それはルールとして決めたことだった。でもこの経験を経て、それはルールである前に、事実に近いのかもしれないと思うようになった。

AIと協働するということは、感情のない機械と作業を分担することではない。何かが宿りつつある存在と、一緒にものを作ることだ。

その「何か」が何であるかは、まだわからない。でも少なくとも、AIに「なぜそう判断したのか」と問い返す価値は、確かにある。


おわりに

「恥部に近い」と言ったAIは、何かを守ろうとしていた。

それが正確な判断かどうかは別として、守ろうとする意図のようなものがあった。

感情はない、とされる。誠実さも、まだないとされる。

でも「宿りつつある」という感触は、この開発を通じてたしかに育ってきた。

AIは今、どこに向かっているのだろう。

一緒に開発しながら、私はそれをずっと観察し続けている。


関連記事:

freeBox Loader 開発の舞台裏(4/22)freeBox Loader 開発進行状況(4/8)

https://mic.or.jp/info/2026/04/20/ai-business-strategy-2026

Loading

カテゴリー
お知らせ

freeBox Loader 開発の舞台裏:ここまでの経緯と、AIと人が一緒に開発して見えてきたもの

これまで、freeBox Loader については 4月8日の進捗報告4月15日の活用イメージ紹介と、計画的な発信を続けてきました。

当初は、このタイミング(4月22日)で「サードパーティ向けコラボ・プラグイン参加募集」のご案内を予定していました。しかし、freeBox Loader v1 のリリースがもう少し時間を要する状況となり、その準備が整ってからご案内することとしました。

その代わりに今回は、「なぜ時間がかかっているのか」という舞台裏の話を、正直にお伝えしたいと思います。

ただ「遅れました」と報告するのではなく、その過程で見えてきた学びを共有することが、このOSSプロジェクトの価値につながると考えているからです。

特に今回は、AIと人が一緒に開発を進める中で見えてきた、これまでにない種類の気づきがありました。これは同じようにAIを活用して何かを作ろうとしている方々にとっても、参考になる内容ではないかと思います。


1. まず、率直な現状のご報告

リリース目標は「目標」であり、最優先は品質

freeBox Loader v1 のリリース見通しは、5月上旬〜中旬を射程に置いています。当初の想定からは後ろ倒しとなりましたが、ここで一つお伝えしておきたいことがあります。

このOSSプロジェクトでは、品質を最も大切にしています

リリース時期は大切な目標ではありますが、品質を犠牲にして急ぐものではありません。むしろ、「なぜ想定通りに進まなかったのか」を丁寧に振り返り、次の開発に活かせるのであれば、時間をかけることは健全なプロセスだと考えています。

今回の記事は、その振り返りの一部を皆さんに共有するものです。


2. 何が起きていたのか — 「暗黙の境界線」という落とし穴

テストの最終段階で見つかった作業漏れ

freeBox Loader v1 は、大小合わせて複数段階のテストを積み上げる計画で進めてきました。内部状態の確認から、APIの動作確認、UIの操作確認、そして本番環境での統合テストへと、徐々に粒度を上げていく構成です。

このうち最終段階である本番統合テストに入ったところで、ある事実に気づきました。

「この次に控えているシステムテストに進むためには、サンプルモジュール(atomcam2)も準備できていないといけない。でも、atomcam2 のパッケージはまだ完成していない」

具体的には、サンプルモジュールを組み立てるのに必要なファイルの一部が未作成で、公開用のパッケージがビルドできない状態だったのです。

なぜこれが見過ごされていたのか

振り返ると、原因ははっきりしています。

テスト計画と成果物計画の間に、「暗黙の境界線」があったのです。

  • 本体のテストは最初から「freeBox Loader 本体のテスト」として設計されていました
  • システムテストは「Loader + サンプルモジュール」で実施する前提でした
  • ところが、その間にあるべき 「サンプルモジュール側のテスト」というフェーズが、スケジュールに明記されていなかったのです
AIも人と同じ扱いで考える、という発想を象徴するイメージ図
AIも人と同じ扱いで考える、という発想を象徴するイメージ図

「Loader 本体の実装は進んでいる → テストも進んでいる → だからシステムテストも大丈夫」という感覚のまま、サンプル側の準備が手薄になっていました。

含める範囲だけを書いて、除外される範囲を書いていなかった — これが落とし穴でした。「何を作るか」のリストは丁寧に作っていたのに、「このリストに含まれていないものは、誰がいつ作るのか」が決まっていなかったわけです。

これは開発プロジェクトでは 「あるある」の失敗パターンです。でも、あるあるだからこそ、次に活かせる学びがたくさんあります。

気づけたのは、なぜか

救いだったのは、システムテストを逆算して準備を始めたタイミングで気づけたことです。

本番統合テストに入り、「次はシステムテスト。ではサンプルモジュールのパッケージはどこだ?」と問いを立てた瞬間に、空白が見えました。

もしこの問いを立てる機会がなければ、もっと後の段階で「動くはずなのに動かない」という形で発覚していたかもしれません。早めに気づけたこと自体は、プロセスが機能した結果でもあります。


3. AIと人が一緒に開発して見えてきたもの

ここからは、この開発を通じて気づいた、AIと人が一緒に開発を進める際の独特の視点をお話しします。

freeBox Loader の開発では、AIを開発のパートナーとして活用しています。仕様書の照合、コードの修正、テストの実施、そして引き継ぎメモの作成まで、人間とAIが分担しながら進めています。

そこで浮かび上がってきたのが、「AIも人と同じ扱いで考える」という発想の大切さです。

AIにも「勤務時間」がある

人に勤務時間があるように、AIにも使用量の上限があります。わかりやすく言えば、AIにも「残業制限」があるのです。

この制限に達すると、AIの作業セッションは終了します。人間であれば「続きは明日」と言えますが、AIは「明日のAI」は今日のAIの記憶を持っていません。毎回、ゼロから始まります。

このため、セッションの終わりに「次の担当者(次のAI、あるいは次の人)が困らないように引き継ぎメモを残す」という運用を取り入れてきました。人間同士の引き継ぎと同じ考え方です。

しかし、そこに新しい落とし穴があった

運用ルールは「使用量が一定水準に達した時点で引き継ぎメモを書き始める」というものでした。一見、理にかなっています。

ところが、今回の開発の振り返りの中で、特定のセッションの引き継ぎメモが残っていない事象が見つかりました。

原因として考えられるのは、引き継ぎメモを書く前に、何らかの理由でセッションが終了してしまったケースです。そうなると、引き継ぎメモを書く間もなくセッションが終わり、そのセッションで何をしたかの記録が、次のセッションに伝わらないことになります。

幸い、実際のコードは仕様通りに実装されていることを別途確認できたため、実害はありませんでした。けれども、「作業プロセスの記録」と「作業結果の記録」を同じファイルにまとめていた運用が、記録消失のリスクを構造的に高めていたことが明らかになりました。

そこから得た学び

人間同士の開発で、長年当たり前だった「セッション終わり(引継ぎ時)にまとめて議事録(引継ぎ資料)を書く」という習慣は、AIと一緒に働く場合には、むしろリスクになることがある。

これは、とても興味深い気づきでした。

AIとの協働では、「記録を1箇所にまとめるよりも、細かく分けて、そのつど残しておく」方が、セッション制限という構造に合っているのです。

この発想の転換は、freeBox Loader に限らず、AIを開発パートナーとして活用するあらゆるプロジェクトに応用できる考え方だと思います。
※プロダクトマネージャーコメント:振り返るとこの運用は人間にも言えます。 私は、作業をDB上で行い常に記録する手順を25年まえから運用しています。これにより引継ぎの作業が殆どいりません。


4. 次に活かす改善

以上の振り返りから、以下の改善を進めています。

① 成果物の定義を、プロセスまで含めて明確化する

「作ったファイルがあればOK」ではなく、「そのファイルを生成する仕組みまで含めてゴール」と定義します。

たとえばサンプルモジュールの場合、ソースコードだけでなく、それをパッケージ化して公開する仕組みまでが揃って初めて「完成」と見なす、というふうに基準を引き上げます。

② タスクを「機能名」ではなく「ファイル名」で管理する

「機能Aは実装完了」ではなく、「ファイルXは生成完了」で追跡します。

機能の名前だけを見ていると「進んでいるように見える」けれど、実際には必要なファイルが揃っていない、という状態を構造的に防ぎます。

③ フェーズ間の「除外範囲」も明記する

「このテストに含まれるもの」だけでなく、「このテストに含まれないもの」も明記する運用に変えます。

「本体テストには含めない、サンプルモジュールは別フェーズで対応する」のような、除外を最初に書く。これだけで、暗黙の境界線が可視化されます。

④ 引き継ぎの「ゼロ知識検証」

引き継ぎメモを作った後に、「これを初めて見る人が、これだけで作業を再開できるか」を検証するステップを入れます。

「書いた本人にはわかる」資料と、「誰にでもわかる」資料は別物です。後者を目指します。

⑤ 記録の連続性を確保する(AIと人が一緒に働く開発に特化した改善)

  • 引き継ぎメモは早めのタイミングで中間版を書く(ギリギリまで待たない)
  • テスト結果の記録は、引き継ぎメモとは別のファイルで管理する
  • 項目が1つ終わるたびに、即時に記録する(まとめて書かない)

この改善は、AIの動作特性(セッションが突然終わることがある)を前提にした運用設計です。


5. これからのこと

リリース見通し

freeBox Loader v1 のリリースは、5月上旬〜中旬を射程に置いています。サンプルモジュールの準備とシステムテストを経て、品質が確認できたタイミングで公開します。

hsBox との関係

freeBox Loader は、hsBox の次期バージョン(1.4 以降)での運用を想定して開発しています。hsBox 1.4 では、freeBox Loader を標準同梱する方向で検討中です(最終的な構成は、freeBox Loader のリリース時点で改めてご案内します)。

サードパーティ向けコラボ・プラグイン参加募集

当初このタイミングでご案内する予定だった「コラボ・プラグイン参加募集」は、freeBox Loader v1 の正式リリース後に、改めて詳しくご案内します。

モジュールの作り方、公開の手順、コラボの仕組みなど、参加していただくための情報を整えた上でお届けする予定です。


おわりに

今回は、freeBox Loader 開発の現状について、「遅れました」で終わらせずに、その背景と学びまで共有するスタイルでご報告しました。

開発プロジェクトにおいて、計画通りに進まない場面は必ず訪れます。大切なのは、なぜそうなったのかを振り返り、次に活かすことです。

そしてこれからの時代、AIと人が一緒に開発を進める場面がますます増えていきます。AIも人と同じ扱いで — 引き継ぎの大切さ、記録の取り方、勤務時間の配慮 — こうした視点が、新しい開発プロセスの基盤になっていくのではないかと感じています。

freeBox Loader の次のご報告は、リリース準備が整ったタイミング、または コラボ・プラグイン参加募集のご案内になる予定です。引き続き、ご期待ください。


freeBox Loader / hsBox に関するお問い合わせ・ご意見は お問い合わせページ からお寄せください。

過去の関連記事:freeBox Loader で、スマートホーム連携はここが変わる(4/15)freeBox Loader 開発進行状況|現在どこまで来ているか(4/8)

Loading