コンテンツにスキップ
BeeuniBeeuni
日本語
Esc
↑↓移動↵開く⌘Jプレビュー
このページの内容

エージェント

エージェントとは、セッションハーネスが実行するMarkdownファイルです。マニフェストはエージェントのアクセス権限のみを管理します。

エージェントは、ハーネスが セッションでどのように動作するかを定義するMarkdownファイルです。このページでは、エージェントファイルとスキル、セッションがエージェントを選ぶ仕組みについて説明します。

ハーネスが各セッションを実行する

セッションでは、1つのエージェントハーネスが実行されます。標準ハーネス(デフォルト)または実験的ハーネスです。 ハーネスでは、プロジェクトでの選択方法と、それぞれがサポートする機能を説明しています。

どちらも、プロジェクトのエージェントをagents/から、スキルをskills/から読み込みます。 標準ハーネスは、harnesses/opencode/から標準ハーネス専用のファイルも読み込みます。実験的ハーネスは、harnesses/pi/から独自のファイルを読み込みます。

2026-09より前に作成されたプロジェクトでは、エージェントとスキルは.beeuni/opencode/に保存されています。Beeuniは両方の構成を読み取ります。

エージェントは2つのファイルで構成される

各エージェントには2つの要素があります。

  • 動作 — デフォルトではagents/<name>.mdのMarkdownファイルです。フロントマターでモデル、モード、権限ルールを設定します。本文はシステムプロンプトです。
  • ガバナンス — beeuni.yamlのagentsマップにある、エージェント名をキーとするエントリです。コネクタ、シークレット、スキル、アプリ、Beeuni権限、ツールなど、エージェントがアクセスできる対象を設定します。fileフィールドで動作ファイルを指定します。 このマップは、imports:でマニフェストに指定したファイルに置けます。default_agentはbeeuni.yamlに置きます。

マニフェストでは、プロンプトやモードは設定しません。.mdファイルでは、プラットフォームへのアクセス権限は設定しません。ガバナンスの全フィールドについては、マニフェストのリファレンスを参照してください。

エージェントファイルの保存場所

agents:
  support:
    file: agents/support.md
  • fileはリポジトリ相対パスです。末尾は.mdでなければなりません。
  • /で始めることはできません。また、.または..セグメントを含めることもできません。
  • fileがない場合、Beeuniはまずagents/<name>.md、次に.beeuni/opencode/agents/<name>.mdを読み込みます。
  • ダッシュボードで.mdを持つエージェントを保存すると、そのパスを指定したfileが書き込まれます。
  • APIではfileを変更できません。エージェントを移動するには、.mdを移動し、同じコミットでbeeuni.yaml内のfileを更新してください。

パスの全ルールについては、マニフェストのリファレンスを参照してください。

ガバナンスはデフォルトでアクセスを拒否する

connectors、secrets、skills、apps、beeuni_permissionsのキーを持たないエージェントには、それぞれのアクセス権限が付与されません。appsには、アプリの利用が制限または非公開の場合に、エージェントが開けるBeeuniアプリが列挙されます。この許可は2つのバインディングのうちの2つ目です。エージェントはservice_accountプリンシパルとしてのロール(上限)も持ち、セッションで実行できるのは両方で許可された操作のみです。エージェントの権限および1つの語彙、2つのバインディングを参照してください。すべてのアクセス権限を付与するにはフィールドをallに設定し、個別に付与するには名前を指定します。beeuni.yaml内のdefault_agentは、エージェントを指定せずにリクエストしたとき、セッションで起動するエージェントを示します。

各アクセス許可は、ダッシュボードの Customize → Agents → 対象のエージェントから設定します。Accessレールにあるアクセス許可セットごとのページ(Skills、Connectors、Secrets、Apps、Beeuni permissions)で設定できます。または、CLIでbeeuni agents scope <agent>(--secrets、--connectors、--apps)を使って設定できます。Appsページは、プロジェクトでApps機能フラグが有効な場合にのみ表示されます。どの方法でも、beeuni.yamlに同じagents.<name>ブロックが書き込まれます。

レガシーなbeeuni.toml(v1)プロジェクトでは、エージェントはマップではなく配列に列挙され、デフォルトでフルアクセスが付与されます。アクセスを制限するには、個別のアクセス許可を設定してください。マニフェストのリファレンスを参照してください。

スキルでエージェントにノウハウを与える

スキルは、skills/<name>/SKILL.mdにあるMarkdownファイルです。 ハーネスは必要に応じてスキルを読み込みます。Beeuniがすべてのプロンプトにスキル本文を挿入することはありません。標準ハーネスでは、エージェントがskillツールを呼び出します。実験的ハーネスでは、システムプロンプトに各スキルの名前と説明が列挙され、エージェントがファイルを読み込みます。beeuni.yaml内のエージェントのskillsアクセス許可によって、読み込めるスキルが決まります。

セッションがエージェントを選ぶ仕組み

セッションの作成時にagent_nameを指定できます。Beeuniは、そのエージェントをセッションで起動します。agent_nameを省略した場合は、プロジェクトのdefault_agentが使われます。 デフォルトのエージェントは、ダッシュボード、API、またはSDKから設定できます。どの方法でもbeeuni.yamlにdefault_agentを書き込み、プロジェクトのデフォルトブランチに変更をコミットします。

エージェントは、誰が実行しても、自身の上限ロール内で付与されたBeeuni権限を使って動作します。セッションを開始しても、エージェントにあなた自身のロールが貸与されることはありません。エージェントの権限を参照してください。

新規または変更されたエージェントとスキルが今後のセッションで使われるのは、変更リクエストがそれらをデフォルトブランチにマージした後です。エージェントが外部ツールを使うには、事前に接続してください。コネクタを参照してください。

このページは役に立ちましたか?