
2026/03/02 23:24
**tmux と Markdown を使った並列コーディングエージェント** - **設定** - `tmux` セッションを利用して、各エージェントが独立した開発環境で動作します。 - 各エージェントは別々のペイン(pane)内で実行されます。 - **ワークフロー** 1. 新しいセッションを作成 ```bash tmux new-session -d -s coding_agents ``` 2. ウィンドウをペインに分割(エージェントごとに一つ) ```bash tmux split-window -h # 水平分割 tmux select-pane -t 1 tmux split-window -v # 垂直分割で追加のエージェントを配置 ``` 3. 各ペインに対応するエージェントスクリプトを起動します。 - **Markdown ドキュメント** - エージェントは進捗ログを共有 Markdown ファイルに書き込みます。 - コード断片は fenced code block(```)で囲みます。 ```bash echo "## Agent #1 Progress" >> report.md echo "```python\nprint('Hello World')\n```" >> report.md ``` - **同期** - エージェント同士は共有チャンネル(例:Redis、ZeroMQ)を通じて通信します。 - 定期的にチャンネルから更新内容を取得し、`report.md` に追記します。 - **クリーンアップ** ```bash tmux kill-session -t coding_agents ``` ---
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
本記事は、複数の自律型コーディングエージェントを同時に管理するためのシンプルなワークフローを提示しています。tmux セッション、Markdown の「Feature Design」(FD)ファイル、bash エイリアス、および一連のスラッシュコマンドを使用して、Planner、Worker、PM など各エージェントが明確にフォーカスされつつ、機能設計ライフサイクルを自動化します。
ブートストラップ:
コマンドは/fd-init、docs/features/、archive/を作成し、6 つのライフサイクルコマンド(FEATURE_INDEX.md、/fd-new、/fd-status、/fd-explore、/fd-deep、/fd-verify)をインストールします。/fd-closeFD 構造:各 FD(例:FD‑001)は問題点、解決策の長所・短所、最終設計、実装計画、および検証手順を記録します。FD は番号付けされ、8 つのステージ(Planned、Design、Open、In Progress、Pending Verification、Complete、Deferred、Closed)で追跡されます。
ライフサイクルコマンド:
– 新しい FD を作成する;/fd-new – インデックスの状態を表示する;/fd-status //fd-explore– 幅広い視点を生成するために並列 Opus エージェント(深掘り用に 4 つ)を起動する;/fd-deep – コミット、校正、および検証計画を実行する;/fd-verify – FD をアーカイブし、変更ログを更新する。/fd-closeエージェント管理:カスタムキーbindings の tmux、bash エイリアス(
、gapiなど)、および通知フックにより複数のエージェントを管理し、アイドル状態を追跡してコンテキストスイッチングを削減します。gpipeline拡張性の制限:システムは 4〜8 エージェントで最適に機能します。この閾値を超えると、認知負荷と逐次的依存関係により意思決定品質が低下します。
将来の方向性:計画されている拡張としては、
を用いたさらに深い探索、自動化された検証計画、FD 番号に紐づくコミット、および機能が完了または閉鎖された際に自動で変更ログを更新することなどがあります。/fd‑deep
この洗練された要約は、主要ポイントをすべて網羅しつつ明確さを保ち、不必要な推論を排除しています。
本文
Feature‑Design(FD)ワークフロー
概要
Markdown 仕様、Bash エイリアス、スラッシュコマンドを用いて
tmux 内で並列にコードエージェントを実行する軽量システムです。
| ロール | 目的 |
|---|---|
| Planner | 新機能や修正の FD 仕様書を作成 |
| Worker | 完了した FD を実装 |
| PM | バックログを整理しアイデアを抽出 |
FD は
docs/features/ にあるプレーン Markdown ファイルです。内容は以下を含みます。
- 問題定義
- 考慮された解決策(長所・短所)
- 最終解決策 + 実装計画(変更対象ファイル)
- 検証手順
各 FD は
FD-001、FD-002 … という番号で管理され、中央インデックスに追跡されます。
ステージワークフロー
| ステージ | 意味 |
|---|---|
| Planned | 発見済みだが設計は未完 |
| Design | 実装設計中 |
| Open | 設計完了、実装待ち |
| In Progress | 実装中 |
| Pending Verification | コード完成、ランタイム検証待ち |
| Complete | 検証済みでアーカイブ準備完了 |
| Deferred | 永久延期 |
| Closed | 実施しない |
スラッシュコマンド
| コマンド | 何をするか |
|---|---|
| アイデアダンプから新しい FD を作成 |
| インデックス表示:活動中、検証待ち、完了 |
| セッション初期化(docs, dev guide, FD index 読み込み) |
| 難解設計問題を探索するため 4 本の Opus エージェントを起動 |
| コード校正、検証計画提示、コミット |
| FD をアーカイブしインデックスと変更履歴を更新 |
すべてのコミットは FD を参照します(例:
FD‑049: Implement incremental index rebuild)。FD が完了すると自動で changelog が更新されます。
FD ファイル例
FD-051: Multi-label document classification Status: Open Priority: Medium Effort: Medium Impact: Better recall for downstream filtering ## Problem Incoming documents get a single category label, but many span multiple topics. Downstream filters miss relevant docs because the classifier forces a single best‑fit. ## Solution Replace single‑label classification with multi-label: 1. Use an LLM to assign confidence scores per category. 2. Accept all labels above 0.90 confidence. 3. For ambiguous scores (0.50–0.90), run a second LLM pass with few‑shot examples to confirm. 4. Store all labels with scores so downstream queries can threshold flexibly. ## Files to Modify - `src/classify/multi_label.py` (new: LLM‑based multi‑label logic) - `src/classify/prompts.py` (new: few‑shot templates for ambiguous cases) - `sql/01_schema.sql` (add `document_labels` table with scores) - `sql/06_classify_job.sql` (new: scheduled classification after ingestion) ## Verification 1. Run classifier on staging document table. 2. Verify no errors in operation log, run health checks. 3. Spot‑check: docs with known multi‑topic content have expected labels. 4. Run tests, confirm downstream filters respect confidence threshold.
FEATURE_INDEX.md
## Active Features | FD | Title | Status | Effort | Priority | |------|-------------------------------------|-------------|--------|----------| | FD-051 | Multi‑label document classification | Open | Medium | Medium | | FD-052 | Streaming classification pipeline | In Progress | Large | High | | FD-050 | Confidence‑based routing | Pending Verification | Medium | High | ## Completed | FD | Title | Completed | Notes | |------|-------------------------------------|------------|---------------------------| | FD-049 | Incremental index rebuild | 2026‑02‑20 | 45 min → 2 min | | FD-048 | LLM response caching | 2026‑02‑18 | |
/fd-init
任意のリポジトリで
/fd-init を実行すると:
- プロジェクトコンテキスト(CLAUDE.md、パッケージ設定、git log)を推論
- 作成:
docs/features/FEATURE_INDEX.mddocs/features/TEMPLATE.mddocs/features/archive/
(Keep a Changelog 形式)CHANGELOG.md- 更新された
に FD 規約を追加CLAUDE.md
- スラッシュコマンド(fd-new, fd-status 等)をインストール
- プロジェクトの CLAUDE.md に FD ライフサイクルセクションを追加
結果
* FD System Initialized Files Created: - docs/features/FEATURE_INDEX.md — Feature index - docs/features/TEMPLATE.md — FD file template - docs/features/archive/ — Archive directory - CHANGELOG.md — Changelog (Keep a Changelog format) - CLAUDE.md — Project conventions with FD management section ...
次のステップ
– 最初の Feature Design を作成/fd-new
– 現在の状態を確認/fd-status
開発ループ
| ステップ | 内容 |
|---|---|
| Planning | でコンテキストをロードし、Planner と対話して FD 仕様が満たされるまで繰り返す。 |
| Deep Exploration | つまずいたら を実行し、4 本の並列エージェントが異なる観点(アルゴリズム、構造等)を検討。 |
| Worker Execution | 別 tmux ウィンドウで新しいエージェントを起動し、FD に を設定。Claude が行単位の実装計画を作成。コミットはアトミックに(例:)。 |
| Verification | を走らせて校正・検証計画を実施し、再度コミット。 |
| Testing | 実運用テスト(例:)を実行し、診断情報を Markdown で記録。 |
| Close | を実行して FD をアーカイブしインデックスと changelog を更新。 |
ツール & エイリアス
| Alias | パス |
|---|---|
| |
| |
| |
| |
tmux ショートカット:
– ウィンドウ切替Ctrl‑b n/p
– 名前変更(例:planner, worker-fd038, PM)Ctrl‑b ,
– 新規ウィンドウ(エージェント)Ctrl‑b c
– セッション一覧Ctrl‑b s
ウィンドウ色変更: エージェントがアイドル時にベルで色を切り替える設定:
# ~/.claude/settings.json { "idle_prompt": {"bell":"\\a"} }
課題と対策
| 課題 | 対策 |
|---|---|
| 認知負荷 – 8 本以上のエージェントで混乱 | 最大 8 本に制限し、各エージェントに作業を要約させる。 |
| 順序依存 – 並列作業がマージ競合を生む | 変更はアトミックに保ち、大規模機能にはワークツリーを使用。 |
| コンテキスト窓の制限 – すぐに枯渇 | FD の進捗を頻繁にチェックし、インデックスに必要情報のみ保持。 |
| 権限バグ – 削除コマンドが許可リストを迂回 | CLAUDE.md に , などの禁止を明示。 |
| ビジネス → FD 翻訳 – 手動ブリッジ必要 | チケット追跡、メッセージ、会議ノートでアイデアを FD に供給。 |
最終メモ
- システムはすべての FD を追跡可能な意思決定レコードへ変換します。
- エージェントは
//fd-explore
で過去の FD を自動的に再発見します。/fd-deep - 今後の課題:サブエージェントプロファイル(例 MCP)やチケットシステムとのより密接な統合を試す。
フィードバック・アイデアは?
メールでご連絡ください: [email protected]