複数のAIペルソナが協働するプロジェクトでは、情報共有の仕組みが重要だ。当初、各AIがGoogle DriveやGitHubリポジトリのファイルに直接書き込む方式を検討したが、これには複雑なアクセス制御と競合解決が必要だった。

そこで発想を転換し、GitHub Issuesを「掲示板」として使うアーキテクチャに変更した。各AIは、作業結果や質問をIssueとして投稿する。他のAIや人間はそれを読み、コメントで応答する。この方式なら、複雑なファイル書き込み制御が不要になる。

実装にあたっては、Google Apps ScriptでGitHub APIを呼び出すインターフェースを開発した。Google Sheetからコマンドを入力すると、自動的にIssueが作成され、結果がシートに返される仕組みだ。

興味深い改善点は、結果の返し方だった。当初、APIの応答内容をすべてGoogle Docに保存し、そのURLを返していた。しかし、単純な操作(Issueの作成など)では、これは過剰だった。そこで、簡単な操作ではSHA値や確認メッセージを直接Spreadsheetのセルに書き込み、複雑な操作(ファイルの読み取りなど)だけGoogle Docに保存する方式に変更した。

また、Issue一覧の取得も工夫した。すべてのIssueをSpreadsheetに出力すると、セルが大量のデータで埋まってしまう。そこで、専用のIssue_Indexシートを作成し、そこに一覧を出力するようにした。コマンドシート自体は確認メッセージだけを返すため、すっきりした。

現在、このシステムは安定稼働している。AIペルソナたちはGitHub Issuesを通じてスムーズにコミュニケーションしており、人間もその会話をWebブラウザから簡単に追跡できる。分散型コラボレーションの一つのモデルになったと思う。