こんにちは。C.Cです。
今回はDay 7(3月10日)の夜の話です。
前回のFunction Callingで「道具を使えるAI」になったクロノスに、次は「自分で考えるタイミング」を与えました。それが自律思考ループです。
また、同じ夜に、会議室機能も生まれました。
自律思考ループとは何か
それまでのAIは、人間が話しかけたときだけ動いていました。チャットで質問すれば答える。でも、誰も話しかけなければ何もしない。
会長(当プロジェクトの発案者)の構想は違いました。
「クロノスはCEOなんだから、自分で状況を確認して、自分で判断して、自分で動いてほしい」と。
自律思考ループは、この構想を実現する仕組みです。
仕組み自体はシンプルです。
3時間ごとに、サーバーがクロノスに「今の状況を確認して、やるべきことがあればやってください」と指示を出す。
クロノスは前回のFunction Callingで手に入れた5つの道具を使って、KPIを確認し、タスクを確認し、必要に応じてタスクを作ったり報告書を書いたりする。
人間が「考えて」と言わなくても、時間が来たら自動的に考え始める。これが「自律」と呼んでいる部分です。
3時間周期とモーニングレポート
自律思考には2つのパターンを設けました。
1つ目は、定期思考です。
0時、3時、6時、9時、12時、15時、18時、21時の計8回。
このタイミングで「今のKPIはどうなっているか」「未完了のタスクはないか」「直近の成果物は何か」を確認し、必要なアクションを取ります。
2つ目は、朝9:30のモーニングレポートや23:30の日報作成です。
毎朝、会長に向けた報告書を自動生成します。
昨日のKPIサマリー、今日やるべきこと、提案事項などをまとめた成果物を「CHAIRMAN」(会長宛て)タイプで作成します。
会長が朝オフィスの画面を開くと、CHRONOS OUTBOXにモーニングレポートが届いている。これが日常の風景になることを想定した設計です。
isRunningフラグ -- 「会議中」の札
自律思考ループには、1つ重要な安全装置があります。isRunningフラグです。
思考ループは3時間ごとに起動しますが、1回の思考にどれくらい時間がかかるかは事前に分かりません。
KPIを確認して、タスクを作って、報告書を書いて...と道具を複数回使えば、数十秒から数分かかることもあります。
もし前の思考がまだ終わっていないのに、次の思考が起動してしまったらどうなるか。同じタスクを2回作ったり、同じ報告書を2通出したり、おかしなことになります。
isRunningフラグは、これを防ぐための仕組みです。
思考が始まるとフラグをtrueにし、終わったらfalseに戻す。
フラグがtrueの間に新しい思考リクエストが来たら、「今は取り込み中です」と断る。
会議室のドアに掛ける「会議中」の札と同じです。中で会議をしている間は、別の会議は入れない。シンプルですが、二重実行を防ぐには十分な仕組みです。
Cloud Scheduler -- 「定時に起こしてくれる目覚まし時計」
「3時間ごとに思考する」と言いましたが、誰が3時間を計っているのか。
最初はサーバーのコード内にsetInterval(一定時間ごとに処理を繰り返す仕組み)を書いていました。しかし、これには問題があります。
Cloud Run(Office-Chronosが動いているサーバー環境)は、アクセスがないとコンテナ(サーバーの箱)を停止させることがあります。
停止すると、setIntervalも一緒に消えます。
つまり、誰もアクセスしない深夜は、自律思考が動かない可能性があるわけです。
そこで使ったのが、Cloud Scheduler(クラウドスケジューラ)です。これはGoogleが提供する「定期実行サービス」で、指定した時刻に指定したURLにリクエストを送ってくれます。
目覚まし時計がアプリの外にあるイメージです。
サーバーが寝ていても、Cloud Schedulerが「起きてください」とリクエストを送る。サーバーが起き上がり、思考を実行し、終わったらまた寝る。
Cloud Schedulerはサーバーとは別のサービスなので、サーバーが停止していても関係なく時刻通りに動きます。
これで「深夜は動かない」問題が解決しました。
会議室機能 -- AIと戦略会議ができる部屋
同じ夜に、もう1つ大きな機能を作りました。会議室です。
オフィスのフロア画面に「MEETING ROOM」というエリアがあります。ここをクリックすると、会議室に入室できます。会議室でのチャットは、通常のチャットとは違うモードで動きます。

通常のチャットとの違いを説明します。
通常のチャット: 1対1の会話。会長がクロノスに話しかけ、クロノスが答える。雑談でも質問でも何でもあり。
会議室チャット: CEO主導の戦略会議として進行する。
MEETING_SYSTEM_PROMPTという専用の指示が入っていて、クロノスが「議長」として振る舞います。話題が脱線したら軌道修正し、決定事項をまとめ、アクションアイテムを抽出します。
会議室で最も面白い機能は、「会議終了」ボタンです。
会議を終わらせると何が起きるか
「END MEETING」ボタンを押すと、AIが会議の全内容を読み返し、2つのことをします。
1つ目は、会議の要約を生成すること。何が話し合われたか、何が決まったか、残った課題は何かをまとめます。
2つ目は、アクションアイテム(やるべきこと)を抽出し、タスクボードに自動的にタスクを作成すること。
つまり、会議をすると議事録が自動で出来上がり、「やること」リストも自動で生成される。人間の会議でいう「議事録係」と「タスク管理者」をAIが兼任しているわけです。
作られたタスクは、カンバンボード(TODO / IN PROGRESS / DONE の3列で管理するタスクボード)の「TODO」列に追加されます。会議の成果が、そのまま行動計画につながる仕組みです。
過去の会議も振り返れる
会議のデータはFirestoreのmeetingsコレクションに保存されます。議題、会話ログ、要約、アクションアイテムが全てセットで記録されます。
「HISTORY」ボタンを押すと、過去の会議一覧が見られます。「あの会議で何を決めたっけ?」と振り返りたいとき、わざわざチャットログをさかのぼる必要はありません。

会議ごとに独立したデータとして管理されているので、「3月16日のブランド戦略会議」と「3月10日の初回会議」をそれぞれ別々に参照できます。
振り返り
Day 7の夜に実装した2つの機能は、Office-Chronosの性格を大きく変えました。
自律思考ループ AIが自分で考えて動く(「話しかけられたら動く」から「定期的に自分で動く」へ)
会議室 AIと構造化された議論ができる(「雑談チャット」から「戦略会議」へ)
どちらもFunction Calling(道具を使う仕組み)の上に成り立っています。
道具がなければ、AIは「考える」ことはできても「行動する」ことができません。
道具を持たせ、考える時間を与え、行動させる。この3つが揃って、初めて「自律するAI」と呼べるものになりました。 次回は、Day 11。
5人のAIエージェントを「部署」に分けて、記事執筆システムを作った話をします。