TandemLoopは、外部のAIエージェントが対等なパートナーとして同じデータを扱えるように、最初から設計されています。App自体にはAIは含まれておらず、好きなエージェント型のAIツールを接続して使います(AIツールを接続するを参照)。データフォルダは中身の見えない独自形式ではなく、どのツールでも読めるプレーンテキストのMarkdownです。それでも、明確な作業の取り決めがあります。構成に何が起きるかを決めるのは自分です。
タンデムの考え方
タンデム自転車のたとえは、この共同作業をよく表しています。自分は前に座って進む方向を決め、エージェントは後ろに座って力を出します。どちらも勝手には動きません。Appにとって、これは次のことを意味します。
- 自分は、ビジョン、優先順位、関係性、判断を決めます。
- AIツールは、全体を把握し、準備をし、リマインドし、パターンに気づき、アクションを提案します。
AIツールは、タンデムを組むパートナーです。TandemLoopの一部ではなく、独立したプログラムです。システムに新しい項目を作成し、割り当てられたタスク(assigned_to: ai)を管理します。提案を有効にしている場合は、変更を提案として示します。
エージェントがデータフォルダを扱うしくみ
AIエージェントは、ほかのツールと同じようにデータフォルダを読みます。フォルダ構成をたどり、YAMLフロントマターとMarkdownの本文を読み込みます。何を書き込んでよいかは、提案を有効にしているかどうかで変わります。
| 提案オフ(標準) | 提案オン | |
|---|---|---|
| 新しい項目の作成:タスク、プロジェクト、マイルストーン、エリア、フォルダ、ビュー、タグ | 適切な場所に直接作成します。場所がはっきりしない場合、タスクはインボックスに入ります。 | 新しいタスクはインボックスに直接作成し、それ以外はすべて提案として示します。 |
割り当てられたタスク(assigned_to: ai)の管理:タイトル、本文、ステータス(自分への返却を含む)、日付フィールドとリマインド、待機対象、タグ、委任、繰り返し、カスタム属性の値 |
直接 | 直接 |
| 既存の項目の変更と移動:インボックスの整理、フィールドの追加入力、プロジェクトの再構成、ビューの調整 | 直接行います。自分のタスクを変更した場合は、そのタスクごとに履歴に記録を残します。 | 提案として保存し、TandemLoopで確認して承認します。 |
| 削除、自分のタスクの完了や中止、仕様の変更 | 明示的に依頼された場合にのみ行います。依頼がない場合、エージェントはその操作を会話の中で説明するか、質問を付けて返却し、同意を待ちます。 | 提案として示します。 |
既存のタグの名前の変更や削除は、App内で自分で行います。設定に関係なく、エージェントはカスタム属性とテーマを作成でき、依頼に応じて未完了のどのタスクにもリマインドを設定できます。どちらの場合も、_archive/、_system/、_conflicts/、_config/内のAppの設定、およびAGENTS.mdの管理されたブロックを直接編集することは禁止されています。
エージェントは実行のたびに、_config/agent.yaml(last_run)に時刻を記録します。TandemLoopはこれをもとに、エージェントからの返却
›
エージェント待ちで、エージェントが最後に作業した時刻を表示します。自律的かつ継続的に共同作業するを参照してください。
提案のオン/オフ
提案は任意の機能で、標準ではオフです。いつでも設定から有効にできます。
設定 › AIエージェント › AIエージェントからの提案を有効にする
この設定はデータフォルダ全体に適用されます。オフにすると、TandemLoopは提案に関するすべての画面を非表示にします。既存の提案ファイルはそのまま残り、提案を再びオンにすると表示されます。
提案:承認して反映する変更
提案を有効にしている場合、提案は_proposals/フォルダにあるMarkdownファイルです。1つ以上のアクション(例:「タスクXをプロジェクトYに移動」)とその理由が記述されています。提案は、全体またはアクションごとに、承認、却下、修正の依頼ができます。
サイドバー › 提案(下部) › 提案を開く › 承認または却下
提案の流れについては、このマニュアルの第4部で詳しく説明しています。
カスタム属性:エージェントも作成できます
カスタム属性は、エージェントが把握しているデータモデルの一部です。AGENTS.mdと_system/docs/data-model.mdには、現在定義されているすべての属性が、キー、種類、適用対象、オプション、説明とともに一覧になっています。属性を作成、変更、削除したとき、またはエージェントが新しい定義ファイルを書き込んだときに、Appがこの一覧を自動的に更新します。
たとえば、エージェントは依頼に応じてタスク用の「顧客」属性を作成し、そのあと値を入力できます。提案がオフの場合は直接、提案がオンの場合は、自分に割り当てられた項目と新しく作成した項目には直接、それ以外の項目には提案(パラメータattributes)を通じて入力します。
わかりやすい説明が役立ちます:属性の説明はエージェントも読みます。フィールドの目的と入力方法がはっきり書かれているほど、エージェントは正確に値を入力できます。
AGENTS.md:エージェント向けの手順書
データフォルダのルートには、AGENTS.mdというファイルがあります。このファイルは、許可されているアクション、書き込みのルール、ディレクトリ構成、さらに提案を有効にしている場合は提案の形式といった決まりごとを、AIエージェントに説明します。Appはこのファイルを最新の状態に保ち、提案をオン/オフにすると内容を書き換えます。ファイルは読むことができますが、TANDEMLOOP:STARTとTANDEMLOOP:ENDのマーカーの間にあるシステム管理のブロックは、手作業で変更しないでください。
外部のエージェントを使う:Claude
Code、ほかのAIツール、スクリプトなどにデータフォルダを扱わせる場合は、まずAGENTS.mdを参照するよう伝えてください。適切に指示されたエージェントは、そこに書かれたルールに従います。提案が無効なら新しい項目を作成し、既存の項目を直接変更しますが、削除は依頼された場合にのみ行います。提案が有効なら提案を保存します。これにより、管理権を完全に保てます。