連載「Tines 3B を読み解く」の第6回です。
はじめに
AI に頼めば、業務の自動化が数分でできる時代です。ただ、できあがったものは誰がどうやって確認するのでしょうか。画面の裏で動く「何か」では困ります。
この記事では、2026年7月に一般提供が始まった AI ネイティブのワークフロー基盤「Tines 3B」が、「チャットで誰でも作れる」ことと「成果物をコードとして管理できる」ことをどう両立させているかを、公式ドキュメントに沿って整理します。
こんな方に向けて書いています。
- AI に業務の自動化を作らせることを検討している
- AI が作ったものを、レビューや履歴管理の対象にしたい
- 「ノーコード」と「コードファースト」の違いを知りたい
先に結論です。3B は、チャットで作らせても成果物の実体が Git で管理できるコードになる設計です。ここで言う「コードファースト」は、「実体がコードで、Git で管理できる」という意味です。
こんな場面、ありませんか
- AI に作らせた自動化は動いている。けれど、中身を誰も説明できない。
- 非エンジニアが作ったものを開発者が引き継げない。履歴も差分も残っていない。
- AI が勝手に進めて、意図と違うものができた。途中で止めたり、向きを変えたりしたい。
どれも「作る速さ」と「あとから確かめられること」が両立していない、という悩みです。
結論:3つの設計
| 設計 | 何をするか | 得られるもの |
|---|---|---|
| チャットで作り、進め方を握る | 平文で頼む。Plan mode、Queue/Steer、スキルで、人が舵を取る | 誰でも作れて、勝手に進まない |
| 実体をコードにする | スペースは Git リポジトリ。ステップは小さなコンテナで、入出力は stdin と stdout | 差分、履歴、レビューの対象になる |
| どの入口でも、同じ場所に集める | Git、CLI、REST API、MCP、GitSync からも、同じファイルを扱う | 開発者と非エンジニアが、同じ成果物を触れる |
設計1:チャットで作り、進め方を握る
平文で頼む
スペースを開くと、「What do you want to do?」という入力欄が出ます。やりたいことを書くと、3B が新しいワークフローを開き、ステップを書いてつなぎ、進捗をチャットで説明します。最初はドラフトのブランチ(「First draft」)に作られ、ライブには出ません。ドラフトとライブの違いは、次の第7回で扱います。
速さについて、公式では「60秒未満で動くワークフローを作れる」と説明されています。これは製品紹介の記述で、条件は示されていません。実際の速さは依頼の具体性や連携先の数で変わるはずなので、自分の業務で測るのがよいでしょう。
人が舵を取る道具
| 道具 | 内容 |
|---|---|
| Plan mode | 動く前に、進め方を一緒に考える。大きい、曖昧な案向き。有効にすると、実行や変更の前に計画の承認を求める |
| Queue / Steer | 3B の作業中に送ったメッセージの扱い。Queue(既定)は、終わってから送る。Steer は、作業中の3Bに今すぐ届き、向きを変える |
| Follow 3B | 3B が編集中のステップやファイルへ、画面が自動で追従する |
| スキル | 3B に渡す、再利用できる専門知識。SKILL.md に、使う場面と指示を書く |
ここでの「承認」は構築時のものです。Plan mode の計画の承認は「作る前」の確認で、ライブの実行中に人の承認を挟む仕組みではありません。そのような公式の仕組みは確認できていません。
スキルは、会社の決まり(日付の形式、命名など)を 3B に伝える手段になります。Git からインストールすることもできます。
設計2:実体をコードにする
スペースは Git リポジトリ
スペースは普通の Git リポジトリとして複製できます。ワークフローは最上位のディレクトリ、ステップはその中のサブディレクトリです。ステップには README.md、config.toml、Dockerfile、ソースが入ります。
my-space/ (スペース = Git リポジトリ)
daily-report/ (ワークフロー)
README.md
fetch/ (ステップ)
config.toml
Dockerfile
script.py
notify/ (ステップ)
config.toml
Dockerfile
script.sh
複製に入るのはワークフローだけで、コネクタや権限は含まれません。ここから「コードファースト」の意味が見えてきます。AI が書くのも、実際に動くのも、このコードです。画面の裏に別の隠れた実体があるわけではないので、Git の差分、ブランチ、履歴で扱えます。
ステップは小さなコンテナ
ステップは小さなコンテナで、独立したプロセスとして動きます。データは stdin(標準入力)で受けて、stdout(標準出力)で返します。3B 独自の入出力 API はありません。
import sys, json
# 上流のステップの出力を、stdin から受け取る
data = json.loads(sys.stdin.read())
# 処理して、結果を stdout に書く(ログは stderr へ)
result = {"count": len(data.get("items", []))}
print(json.dumps(result))
config.toml の links に下流のステップの名前を書くと、このステップの stdout が下流の stdin になります。複数を書けば並列に動きます。テンプレートには shell、python、typescript、react、agent があります。
設計3:どの入口でも、同じ場所に集める
構築の入口はチャットだけではありません。次の入口があります。
| 入口 | 内容 |
|---|---|
| Git | スペースの Git URL を複製し、push するとワークフローに反映される。Claude Code などのコーディングエージェントが、普通のコードとして読み書きできる |
| 3b CLI | ワークフローの実行や、チャットを、コマンドから行う |
| REST API |
/api/v1/ の API。ドキュメントは、テナントの /api/v1/docs
|
| MCP | 外部の AI クライアントから接続し、参照、実行、構築ができる。ステップの編集や push live は、OAuth の接続でのみ使える |
| GitSync | GitHub と同期する。pull request やレビューに載せられる |
アプリで同じワークフローが編集されていると、Git の push は拒否されます。pull して競合を解消してから、push し直します。
うまくいかない場面
- 生成コードのレビュー。公式では、標準のレビュー手順は示されていません。GitSync で pull request に載せる運用は筆者の提案で、公式の手順ではありません。
- 同じ入力、同じ出力とは限らない。公式では、決定論的なコードの基盤だと説明されています。ただ、LLM を呼ぶステップや外部 API に依存する処理は、同じ入力でも結果が変わりえます。
- 認証情報をチャットに書かない。公式の指針は、「このAPIキーを使って」ではなく「Stripe につなげて」と書くことです。第3回で扱いました。
-
retry_secondsは、ステップ全体の再実行。メール送信のような処理では、二重に実行されえます。
他のやり方との違い
一般的な分類で比べてみます(特定の製品の仕様ではなく、考え方の整理です)。
| 方式 | 実体 | 変更の確認 | 向く場面 |
|---|---|---|---|
| ビジュアルのデザイナー | 製品の内部の表現 | 画面で、流れを目で追う | 図で説明したい。コードのレビュー体制が無い |
| AI がコードを生成(コードファースト) | ソースコードと設定ファイル | 差分、ブランチ、テスト | 任意の連携が要る。Git で管理したい |
どちらが優れている、という話ではありません。変更を誰がどう確認するかで選ぶのがよいでしょう。
おわりに
- チャットで作れて、Plan mode などで人が舵を取れる。
- 実体は Git で管理できるコード。ステップは stdin と stdout で動く小さなコンテナ。
- Git、CLI、API、MCP、GitSync のどこから来ても、同じファイルに集まる。
連載の他の回
連載「Tines 3B を読み解く」(全11回):
- 第1回 AIが作るコードの乱立に、どう備えるか。Tines 3B の全体像と5つの強みを読み解く
- 第2回 AIが書いたコードを、動かして大丈夫か。Tines 3B の実行とネットワークの分離を読み解く
- 第3回 AIエージェントに、APIキーを渡さない。Tines 3B の認証情報の設計を読み解く
- 第4回 AIに、誰の権限で何をさせるか。Tines 3B の権限とガードレールを読み解く
- 第5回 「誰が何をしたか」と「いくらかかったか」を、どう見るか。Tines 3B の監視・監査・費用を読み解く
- 第6回 AI にチャットで作らせても、実体はコード。Tines 3B の「コードファースト」を読み解く(この記事)
- 第7回 本番を壊さずに直す。Tines 3B のドラフトと本番、自己修復(Autofix、Autotune)を読み解く
- 第8回 「ベンダーに縛られない」は、どこまで本当か。Tines 3B の接続口と、持ち出せる範囲を読み解く
- 第9回 自社環境で動かすなら、何を引き受けるか。Tines 3B のセルフホストを読み解く
- 第10回 契約の前に、何を書面で確かめるか。Tines 3B の導入・契約・費用を読み解く
- 第11回 Tines 3B か、他の製品か。8つの軸で見分ける
参考
公式ドキュメント(docs.3b.tines.com):
- What is Tines 3B?
- Build your first workflow by chatting with Tines 3B
- Best practices for writing prompts
- Send follow-up messages while Tines 3B is working
- Build a workflow in your own coding tools
- Use skills to give Tines 3B new expertise / Skills
- Step / Stdin and stdout
- Connect an AI client to Tines 3B with MCP
- Sync your workflows to GitHub with a GitHub App
- Configure user preferences and defaults