# OpenCodeの機能と実践的な使い方
🤖 1つのAIに何でも任せる時代は終わり。OpenCodeのエージェント機能なら、計画役・調査役・レビュー役を役割ごとに分け、権限まで細かく絞って安全に協働させられます。
🏷️ タイトル: プライマリ/サブエージェント
🔗 URL:
📘 概要
OpenCodeのエージェントは、直接対話する「プライマリエージェント」と、それらから呼び出される専門の「サブエージェント」に分かれます。役割とツール権限を分離することで、安全かつ効率的にタスクを進められます。
⚙️ 機能の説明
・プライマリ: 全ツールにアクセスできる開発用の Build と、編集・bashが既定で「ask」に制限された計画用の Plan があります。`Tab` で切り替えます。
・サブエージェント: 多段の調査向けの General、読み取り専用でコードベースを探索する Explore、外部ドキュメントや依存関係を調べる Scout が組み込みです。`@/general ...` のように `@` で明示的に呼び出せるほか、プライマリが自動で起動することもあります。
・カスタム定義: `opencode.json` のJSON、または `.opencode/agents/*.md` のMarkdown(フロントマター)で独自エージェントを定義できます。主な項目は `description`(必須)、`mode`(`primary`/`subagent`/`all`)、`model`、`prompt`、`temperature`、`permission`(`allow`/`deny`/`ask`)、`steps`、`hidden` などです。
🛠️ 実践的な使い方
編集を禁止した「監査専用エージェント」を定義すれば、誤った変更を防ぎつつレビューだけ任せられます。Markdown定義のフロントマターで `mode: subagent`、`permission` の `edit: deny` と `bash: deny` を指定し、本文に「入力検証・認証不備・データ露出・脆弱な依存関係を中心にレビュー」と書くだけです。`permission` の `bash` はグロブで細かく制御できます。
`opencode agent create` を使えば、対話形式で配置場所・目的・権限を選びながらMarkdown定義を生成できます。
💡 ユースケース
大きな機能追加では、まず Explore で関連箇所を読み取り専用で調査させ、Plan で方針を固め、Build で実装し、最後に編集禁止のレビュー用エージェントで点検する、という分業が組めます。
⚠️ 注意点
・`permission` の既定はエージェントごとに異なります(Planは編集/bashが ask)。意図せぬ変更を避けるため明示設定が安全です。
・`bash` 権限はグロブ指定可能で、`"rm *": "deny"` のように危険コマンドを個別に拒否できます。
・サブエージェントを `@` メニューから隠したい場合は `hidden` を使います。
#
OpenCode# #
AIAgents#