Relay by TechJapan
何ができて、何をしないか
Relay(Relay by TechJapan)は、AIコーディングエージェントの、コミット前の作業把握です。注力しているのは4つです。①これから触る対象が仲間とぶつかっていることを、触る前に知らせる ②仲間のコミットにどれだけ遅れているかを知らせ、取り込みの遅れに気づかせる ③本番反映のような戻せない操作は、承認の往復をAIの外に出して人が判断できるようにする ④すべての記録を、後から書き換えれば分かる形で残す。逆に、自動マージ・自動rebase・ロックの強制・競合の自動解決・コード全文の保存はしません。判断は受け取った側に残します。
注力しているのは4つだけです
Relayは通知サービスですが、何でも通知するわけではありません。AIを並べたときに実際に事故になる4つに絞っています。
| 注力していること | なぜそこか | |
|---|---|---|
| 1 | 触る前に、対象がぶつかっていると分かる | 触った後に分かっても、もう上書きされている |
| 2 | コミットの遅れに気づける | 気づいたときには相手がいくつも先で、取り込みが半日仕事になる |
| 3 | 戻せない操作は、人の判断を通る | 本番反映やマイグレーションは、AIが独断で進めてよい操作ではない |
| 4 | 記録が後から書き換えられない | 「誰のAIが、いつ、何をしたか」を証明できないと、監査に出せない |
1. 触る前に、衝突が分かる
AIがファイルを開こうとした瞬間(編集の前)に、その対象を他の誰かが触っていれば知らせます。画面には「同じ対象 src/auth.ts を Bob が触ろうとしています」「未返答の依頼があります」といった形で出ます。
対象はファイルだけではありません。APIの取り決め(別のファイルでも、同じ契約を触れば衝突)、データベースの項目、環境変数、本番反映やマイグレーション、課題(BacklogでもJiraでもGitHubでも、Relayの中では1つの対象)。ファイルの中の一部分だけを指すこともできるので、同じファイルの別の場所を触る相手とは衝突しません。
未実行の予定は腐りません。 予定を出したセッションがしばらく動かなければ、その予定は自動的に「ぶつかっている相手」から外れます。落ちた相手のせいで永久に待たされることがありません。
2. コミットの遅れが分かる
git の履歴をRelayが読むのではなく、AIがコミットした事実が流れてきて、受け取った側に届きます。
Bob のコミットに遅れています
コミットや取り込みのときだけ送られ、それ以外の作業では鳴りません。
3. 戻せない操作だけは、実際に止める
警告で済ませる対象と、止める対象を分けています。
| 対象 | ふるまい |
|---|---|
| ファイル・課題・APIの取り決めなど | 警告だけ。 進むかどうかは受け取ったAIと人が決める |
| 本番反映・マイグレーション | 止める。 他のセッションが同じ対象を進めていれば、そのまま実行させません |
止められたAIは、人の判断で押し切ることもできます。ただし押し切った事実は記録に残ります。
承認の往復は、「承認してほしい」に対して「進めてよい」「問題がある」「条件つきで可(自由記述)」で返します。人が判断したのかAIが自動で承認したのかも必ず記録されます。 承認依頼は携帯のClaudeアプリからも返せます。
4. 記録は後から書き換えられない
記録は追記だけで、過去のどの1件を書き換えても検出できます。
- いつ・誰が・何を「する」「した」
- 何をどう変えたか(どのファイルの、どのあたりを、何のために)
- 判断者(人/AI)
招待・削除・所有権の移譲といった管理の操作も残ります。プロジェクトを削除しても、管理の操作の記録は消えません(「削除した」という記録が消えては意味がないため)。
個人情報は共有される記録に載せません。相手にメールアドレスは見えず、プロジェクトを跨いで同じ人だと突き合わせることもできません。
AIに読ませるものは、2つに絞る
全量を毎回読ませると文脈が膨らみます。用途で分けています。
| 読ませるもの | 返るもの | いつ読ませるか |
|---|---|---|
| これから触る対象を渡す | 関係する分だけ(同じ対象を触っている人、取り込んでいない関係するコミット、返事が要る依頼、過去の決定、複数人が触ったモジュール、危険度) | 作業に着手する前・対象を変える前 |
| これまでの流れを聞く | 日付ごとの流れを文章で(誰が何を作り・直し・消し、いつコミットし、どの枝がどこへ合流し、未合流はどれか) | セッションを引き継いだとき |
人が見るもの
開発タイムライン — 誰が・いつ・何を作り/直し/消し、コミットし、どの枝がどこへ合流したかを縦の一覧で。行をクリックすると、その時の記録(どのファイルの、どのあたりを、何のために変えたか)が出ます。
開発ナレッジ — 人・セッション・モジュール・枝・承認依頼・判断を関係の図で。複数の人が触ったモジュールには印が付き、衝突の火種を先に見つけられます。
作業一覧 — 直近の要約(件数・返事待ち・最近の流れ)と明細。参加中の別プロジェクトも切り替えて読めます。
5. Claudeが落ちても、やることは消えない
積んだ「やること」は、ふつうの予定と違って自動では取りやめになりません。セッションが落ちても残り、閉じるまで通知の先頭に出続けます。
relay やること: 未完 2 件
src/pay.ts の分岐を整理する(途中まで)
デプロイ手順を書く
途中経過も残せるので、どこまで終わったかが分かります。閉じるのは「終わった」と「やめた」だけです。
作業一覧では、落ちたセッションが積んだやることに「引き継げます」が付きます。次に開いたセッションが、誰の・何が未完かを見て、そのまま続けられます。
そのほか
- ファイルの受け渡し — GitHubを使わない相手にも、そのセッションが触ったファイルを渡せます。受け取った側の作業フォルダに書き出され、取り込むかは人とAIが決めます。預かったファイルは一定期間で自動的に消えます
- Backlog連携 — 承認依頼・返事・ゴール報告を課題へ写し、逆に課題の更新をAIのセッションへ届けます
- 在席と宛先 — 誰がいま動いているか、どのセッションが生きているか。承認依頼はセッション単位で宛先を指定できます
- 1コマンド導入 —
npx -y -p https://relay.h-c.ai/dl/relay-client.tgz relay-setup - 速さ — 人が気づく前に届きます
していないこと
これは「まだ作っていない」ではなく、作らないと決めたものです。
- 自動マージ、自動rebase、競合の自動解決
- ふつうのファイルへのロックの強制
- コード全文の保存(変更箇所の抜粋は残りますが、リポジトリの複製は持ちません)
- 意味的な衝突の検出(同じ機能を別の場所に2人で作った、を自動で見つけることはしません)
- タスク管理ツールの代替
- 上司AI・中央の指揮役・タスクの自動分解・エージェントの自動生成
Relayが運ぶのは事実だけで、指示は運びません。指示を運ぶ経路が無いので、そこを乗っ取られる心配もありません。判断は、受け取ったAIと、その持ち主であるあなたに残ります。
対応しているエージェント
| 状態 | |
|---|---|
| Claude Code(PC) | 本命。 触る前の警告も自動で届きます |
| Codex CLI | 使えます。編集とコミットは自動で流れ、仲間の動きはツール呼び出し時に届きます |
| 携帯のClaudeアプリ・claude.ai | 作業一覧の閲覧と承認の返事ができます |
| ChatGPT | 使えます。Relayの道具を呼ぶたびに新着と承認依頼が応答に添えられます |
よくあるご質問
Relayは何に注力しているのですか?
4つです。触る前の衝突検出、コミットの遅れの検出、戻せない操作の承認の往復、そして改ざんを検出できる記録。この4つ以外は意図的に持っていません。とくに自動マージや競合の自動解決はしません。相手を止めるのは、本番反映やマイグレーションのように戻せない操作だけです。
ロックはかけないのですか?
ふつうのファイルにはかけません。同じ対象を触っている人がいれば警告するだけで、進むかどうかは受け取ったAIと人が決めます。例外は本番反映やマイグレーションのように戻せない操作で、こちらは先に進めている相手がいれば実際に止めます。
ファイル以外の衝突も分かりますか?
分かります。APIの取り決め、データベースの項目、環境変数、パッケージ、ポート、マイグレーション、コンテナ、本番反映、課題も「同じものを触っているか」で見ます。ファイルの中の一部分だけを指すこともできるので、同じファイルの別の場所を触る相手とは衝突しません。
どのAIエージェントで使えますか?
Claude Code(PC)が本命で、触る前の警告まで自動で届きます。Codex CLIも同じクライアントで使えます。携帯のClaudeアプリ、claude.ai、ChatGPTからも繋がり、Relayの道具を呼ぶたびに新着と承認依頼が返ります。