ホーム / ドキュメント / goalコマンド · · MIT License / 無料

goal — AIエージェントに 「目的」を与える一行。

自然言語で書いた目的を、自律的に分解・計画・実行・検証するエージェントコマンド。このページは公式リファレンス——インストールから構文、フラグ、ループエンジニアリング、セキュリティ、MCP連携、CI自動化、他ツールとの比較まで全23章で網羅します。

0
サブコマンド
0
公式フラグ
0+
収録実行例
0
開発者評価 /5
goalコマンドの実行ログが金色に発光するターミナルのビジュアル
goal — agent runtime — 92×28
you@ws ~/acme goal "四半期レポートを経営層向けに要約して"
◐ 目標を解析中… 成功条件を抽出
✓ プラン確定 — 4フェーズ / 推定 6分 / $1.00
[▰▰▰▰▰▰▱▱▱▱] 62% · $0.31 / $1.00
⚠ 出典欠落 → 自動で再取得し引用を補完
✓ 検収合格 — 品質スコア 96/100
◈ 納品完了 → ./output/executive-summary.md

※ 実機のエグゼキューションログを再現

01 / OVERVIEW

goalコマンドとは —
指示ではなく、使命を渡す。

goalコマンドは、AIエージェントに「やることの手順」ではなく「達成すべき目的」を渡すためのCLIです。従来のエージェント運用は手順を教え込む作業でしたが、goal は成功条件だけを渡します。プランニング、失敗からの自己修復、品質の検収まで、エージェント自身が担います。MITライセンスで全機能無料。プロンプトエンジニアリングの往復から解放される、次世代のタスク自動化ツールです。

手動プロンプト・タスク自動化・goalコマンドの比較
観点 手動プロンプト タスク自動化 goal コマンド
指示の単位単発の指示文手順の列挙目的と成功条件
失敗時の挙動停止・人手待ち手順どおりに停止自律的に再計画
状態の保持なしタスク内のみセッション横断で永続
必要な往復数十回の修正重い事前設計原則1行・承認のみ
品質保証技量まかせ手順の網羅性reviewer の独立検収

STEP 1

インストール

$ npm i -g @goal-ai/cli
# or: brew install goal-cli

STEP 2

環境チェック

$ goal doctor
 model reachable / tools 5/5

STEP 3

最初の宣言

$ goal "READMEどおりに
  セットアップを検証して"

02 / INSTALLATION

インストールと環境構築

導入は1分。macOS / Linux はネイティブ、Windows は WSL2 で動作します。導入後に goal doctor を一度走らせれば、認証・ツール・モデル到達性の不備は全部あぶり出せます。

npm 推奨

Node.js 18以降が必要。

$ npm install -g @goal-ai/cli
$ goal --version
goal 2.4.2 (build 8f3ac1)

Homebrew macOS

Apple Silicon / Intel 両対応。

$ brew install goal-cli
$ goal --version
goal 2.4.2 (build 8f3ac1)

install.sh Linux

バイナリを /usr/local/bin へ。

$ curl -fsSL \
  https://goal-cli.dev/install.sh | bash

動作要件

  • OS — macOS 12+ / Ubuntu 20.04+ / Windows 11 (WSL2)
  • Node — 18.x 以降(npm 導入時のみ)
  • LLM — いずれか1プロバイダの APIキー、または Ollama
  • 任意 — git(コード系 goal の差分管理に使用)

導入後チェック(goal doctor)

$ goal doctor
 binary: 2.4.2 (latest)
 auth: ANTHROPIC_API_KEY detected
 model: claude reachable (312ms)
 tools: search fs code_sandbox browser
 sandbox: strict / writable
# ✗ があれば提案される修復コマンドに従う

03 / SYNTAX

構文 — 覚えるのはこの一行

goal [subcommand] "<目標文>" [flags]

# 最小形(runは省略可)
goal "テストカバレッジを80%まで引き上げて"

# 完全形 — 成功条件・予算・期限
goal "解約率を2pt改善する施策案を3つ" \
  --success "施策ごとに工数見積付き" \
  --budget 1.00 --deadline "friday 18:00"

書き方の対比

goal "いい感じに直しといて"

goal "決済APIのタイムアウトを解消。成功条件: p99 < 800ms、テスト全成功"

04 / SUBCOMMANDS

サブコマンド — 宣言から観測・復元まで。

goal run "<目標>"

宣言と実行

プラン提示→承認→実行。run は省略可。

goal list --open

一覧

状態別の一覧。--tag 絞り込み、--format json 対応。

goal status <id>

進捗と予算

フェーズ、完了数、予算消費率、残り時間を表示。

goal logs <id> --follow

実行トレース

思考とツール呼び出しをストリーム表示。

goal resume <id>

再開

チェックポイントから。完了分は再実行しない。

goal rollback <id> --to <phase>

巻き戻し

任意地点へ復元。--to 0 でなかったことに。

goal cancel <id> --reason

取消

理由は監査ログ+チームの教訓として残る。

goal amend <id>

目標の修正

条件を差し替え、差分だけ再計画。

goal config get|set <key>

設定の読み書き

goal.yaml をドット区切りで操作。

goal doctor

認証・モデル到達性・ツール依存・サンドボックス整合性・設定構文まで一括診断し、修復コマンドを提案します。初回実行前に必ず一度(02章)。

05 / FLAGS

フラグ — 自律の統率を細部に。

優先順位: CLIフラグ > 環境変数 > プロジェクト .goal.yaml > ユーザー設定 > 既定

フラグ 説明 既定
実行制御
--success <text> -S成功条件(複数可)。検収基準になる。推論
--budget <usd> -B予算上限。80%警告、100%停止。設定
--deadline <time> -D期限。"friday 18:00" / "3h"。なし
--auto承認をスキップし自動開始(CI向け)。off
--approve <level>ゲート: none / write / all。write
--timeout <sec>最大実行時間(秒)。3600
--retries <n>修復ループ上限。3
モデルと環境
--model <name> -mclaude / gpt / gemini / ollama:* 等。設定
--tools <list> -tツールホワイトリスト(カンマ区切り)。*
--mcp <uri>追加MCPサーバー(複数可)。なし
--no-network外部通信を全面禁止。off
--sandbox <mode>隔離強度: strict / relaxed。strict
メモリとスコープ
--memory <scope>session / project / team。project
--tag <name>分類タグ。なし
--team <id>チームコンテキストで実行。なし
出力とデバッグ
--output <path> -o成果物の出力先。./output
--format <fmt>term / json / md。term
--dry-runプランと見積もりのみ表示。off
--quiet -q進捗表示を抑制。off

06 / LIFECYCLE

ライフサイクルと終了コード

宣言→分解→実行→検証→納品。結果は 0〜7 の終了コードで機械可読に返るため、CIとの接合は一行で済みます。

PHASE 1

宣言

目的・条件・予算を抽出。曖昧なら質問して明確化。

PHASE 2

分解

サブタスクDAG+見積もり+リスクを提示し承認を待つ。

PHASE 3

実行

サンドボックスでツール駆使+自己修復。logs で観測可。

PHASE 4

検証と納品

reviewer が独立検収し、成果物と差分レポートを納品。

終了コード一覧
コード 定数名 意味 / 次の一手
0GOAL_DONE成功。成果物を確認。
1GOAL_FAILED完走したが条件未達。amend で見直し。
2BUDGET_EXCEEDED予算超過で停止。縮小 or resume。
3DEADLINE_EXCEEDED期限超過。--deadline 再設定。
4USER_CANCELユーザー取消。rollback 可能。
5GUARDRAIL_BLOCKガードレール遮断。監査ログ確認。
6CONFIG_ERROR設定エラー。goal doctor を実行。
7LOOP_STALL収束監視が停滞を検知(07章)。

07 / LOOP ENGINEERING

ループエンジニアリング —
自律の心拍を設計する。

プロンプトエンジニアリングが「一度の指示の質」を磨く技術なら、ループエンジニアリングは「反復の質」を設計する技術です。goal は外側の goal ループ(計画→実行→観測→調整)と、内側の修復ループ(検出→診断→修復→再実行)を内蔵。「必ず収束し、必ず脱出できる」ループを作るのが、エージェント時代の新しいエンジニアリング規律です。

  • 1.収束を第一級に — すべての反復は成功条件までの距離を縮めなければならない。3連続で改善がなければ critic が介入。
  • 2.冪等な実行 — 再実行がコストも副作用も二重に生まない。チェックポイントが保証。
  • 3.脱出を設計する — 予算、期限、再試行、ガードレール。出口のないループは自律ではなくリスク。
計画 実行 観測 調整 goal CONVERGE / EXIT
FIG — 収束するか、脱出するか。漂遊は許さない
ループの脱出条件
脱出条件 監視対象 超過時の挙動 コード
--budget累積コスト80%警告 / 100%停止2
--deadline実時間即時停止、部分納品3
--retries修復回数plannerへ再計画1
guardrailポリシー / PII即時停止+監査記録5
convergence3反復の改善量critic が強制停止7

ANTIPATTERN — 磨き込みループ

終わらない微調整

処方箋: 数値の検収基準を置き、--retries 2 で上限を固定。

ANTIPATTERN — リトライストーム

同じ失敗呼び出しの連打

goal は自動バックオフを挿入し、しきい値で代替手段へ切替。

ANTIPATTERN — 基準の振動

reviewer との解釈往復

処方箋: goal amend で基準を固定し、優先順位を一文で宣言。

08 / CONFIGURATION

goal.yaml —
チームの流儀を書く。

ユーザー設定 ~/.config/goal/goal.yaml とプロジェクトの .goal.yaml の2階層。プロジェクト側が優先されます。

  • defaults — モデル・予算・承認レベルの既定。
  • memory — 記憶の範囲とゼロリテンション宣言。
  • tools — 本番シェルは deny へ。
  • guardrails — PIIマスキングと監査ログ出力。
  • mcp — 社内APIのサーバー登録(11章)。
# .goal.yaml
version: 2
defaults:
  model: claude-sonnet-4
  budget_usd: 1.00
  timeout_sec: 3600
  approval: write   # none|write|all
memory:
  scope: project
  retention_days: 90
  zero_retention: true
tools:
  allow: [search, code_sandbox, fs, browser]
  deny:  [shell.prod]
guardrails:
  pii_masking: true
  audit_export: ./audit/
mcp:
  servers:
    - name: internal-docs
      uri: stdio://./mcp/docs-server

09 / SECURITY

セキュリティと統制

goal はテレメトリを持たないローカル完結のOSS。送信先はあなたの選んだモデルだけです。六重の守りを標準搭載します。

◈ ゼロリテンション

入出力を学習に使わないモードを強制。

◈ PII自動マスキング

モデルへ渡る前に個人情報を秘匿。件数は監査ログに計上。

◈ 承認ゲート

既定は --approve write。書き込み・送信・破壊的操作の前に確認。

◈ 監査ログ

JSONL+ハッシュチェーンで改ざん検知。

◈ サンドボックス

既定 strict。ネットワーク・永続FSは明示許可制。

◈ allow / deny

shell.prod を deny で本番操作を原理的に不可に。

10 / MODEL ROUTING

モデル選定とコスト最適化

基本戦略は——計画と検収には賢いモデル、反復実行には軽いモデル。Claude / GPT / Gemini / Ollama のいずれでも同じ構文が動きます。

モデルごとの特性と適性
モデル種別 強み 向いている役割 コスト帯
フラッグシップ系(claude / gpt 上位)深い推論、長文脈、計画の質planner / reviewer$$$
ミッドレンジ系(sonnet 等)速度と品質の均衡executor の既定$$
ローカル系(ollama:*)完全閉域、コストゼロ機密データの executor$

役割別ルーティング(goal.yaml)

models:
  planner:  claude-sonnet-4   # 計画は賢く
  executor: claude-haiku-3.5  # 反復は軽く
  reviewer: claude-sonnet-4   # 検収は賢く

同等の品質を維持しつつ、実行コストを 40〜60% 圧縮できます(社内計測)。

コストを抑える五つの習慣

  • 1.推敲は --dry-run
  • 2.小さく始め、実績を見てから予算を緩める。
  • 3.大きな目標は分割。
  • 4.メモリを育てる。教訓が溜まるほど探索が減る。
  • 5.role ルーティングで重い役を絞る。

11 / MCP & EXTENSIBILITY

MCP連携 — 社内APIを、道具にする。

MCP(Model Context Protocol)サーバーとして登録すれば、社内検索、チケット管理、データウェアハウスまで、あらゆるAPIがエージェントの道具になります。登録はURIを一行書くだけ。

登録(goal.yaml)

mcp:
  servers:
    - name: internal-docs
      uri:  stdio://./mcp/docs-server
    - name: ticket
      uri:  sse://mcp.internal/ticket
      env:
        TICKET_TOKEN: ${TICKET_TOKEN}

チームメモリと教訓

$ goal "..." --memory team --team acme

$ goal cancel g_131 --reason "前提データが古かった"
◈ lesson saved → memory/team/acme

道具のホワイトリスト

tools.allow で読み取り専用APIだけ許可、が可能。

認証の分離

トークンは環境変数展開のみ。yaml に秘密情報は書かない。

標準Toolbelt

search / code_sandbox / fs / browser は同梱。

12 / CI / CD

CI/CD連携 — 毎晩走るエージェント。

--auto と終了コードで無人実行。nightly の依存関係チェック、PR要約、週次レポートが定番パターンです。

# .github/workflows/nightly-goal.yml
name: nightly-goal
on: { schedule: [{ cron: '0 20 * * *' }] }
jobs:
  goal-run:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
      - run: npm i -g @goal-ai/cli
      - run: |
          goal "依存の更新可否を判定し、安全ならPRを作成。
                成功条件: テスト全成功" \
            --auto --budget 1.50 --deadline 30m \
            --format json --output ./output
      # APIキーは GitHub Secrets から環境変数で渡す

終了コード → CI の挙動

  • 0 GOAL_DONE — artifact 回収、次へ
  • 1 GOAL_FAILED — レポート投稿し継続
  • 2 / 3 予算・期限 — 警告通知のみ可
  • 5 / 6 / 7 — 失敗にして人を呼ぶ

無人実行の鉄則

CI では必ず --auto と予算・期限を同時に指定。書き込みは「PRとして行う」運用にし、本番への直接書き込みは CI でも deny のままが原則です。

13 / EXAMPLES

実行例 —
静かな自律を観る。

シナリオを選ぶとログが再生されます。計画し、失敗から立ち直り、検収して、納品する。

executor が完走し、reviewer が独立検収します。

execution — live trace

README検証

goal "READMEどおりに初期構築を検証。躓き点をissue形式で報告"

依存関係更新

goal "主要依存をメジャー更新。破壊的変更は移行メモ付き"

i18n展開

goal "UI文言を英訳。用語集 glossary.yaml に準拠"

週次レポート

goal "KPI週報を作成。異常値には原因仮説を添えて"

14 / BEST PRACTICES

良い goal 文の六原則

01

成功条件は数値で

「早く」ではなく p99 < 800ms。検収が鋭くなる。

02

制約と禁止を明記

書かれない制約は、守られません。

03

予算と期限を添える

枠があるほど、賢く取舍します。

04

1 goal = 1成果

大きい目標は連鎖する小さな goal へ。

05

手順は書かない

手段はエージェントの仕事。

06

まず --dry-run

実行ゼロでプランの質を確認できる最安の推敲。

ANTIPATTERN — やりがちな失敗

  • 形容詞に頼る:「きれいに」「適切に」「しっかり」
  • 目標の重ね掛け:一文に3つの成果
  • 手順の押し付け:手段を細かく指定
  • 無制限:予算・期限なしで --auto

PATTERN — 推敲のあと

  • 測定可能な条件:p99、件数、%、差分ゼロ
  • 単一の成果:1 goal につき 1 つの納品物
  • 目的の明示:手段はエージェントに委任
  • 枠の宣言:--budget 0.50 --deadline 2h --dry-run

15 / COMPARISON

goal は他の手段と何が違うのか。

「チャットで頼めばいいのでは?」「フレームワークで自作すべき?」「cronで十分では?」——自動化手段の比較で、goal の位置づけを明確にします。

goalコマンドと他手段の比較表
観点 チャットLLM エージェントフレームワーク
(LangGraph 等)
cron / スクリプト goal コマンド
導入コストゼロ数日〜(実装が必要)低い1分(npm i のみ)
自己修復なし自作が必要なし標準搭載
品質の検収人力自作が必要なしreviewer が独立検収
予算・期限の統制なし自作が必要なし--budget / --deadline
監査ログなし自作が必要標準出力のみハッシュチェーン付き
向いている人誰でも開発チーム手順が固定の人成果を渡したい全員

補足: goal はフレームワークを置き換えるのではなく補完します。MCP経由で既存ツールを接続でき、cron から nightly goal を起動する(12章)ような共存構成が定番です。

16 / USE CASES

職種別 — あなたの goal はこれだ。

AIエージェントの業務活用は、まず「繰り返し作業の委任」から。職種ごとの最初の一行をまとめました。

開発チーム

リファクタリングとテスト補完

goal "auth をJWTへ移行。
既存セッションは維持"

リサーチ・戦略

競合調査と意思決定メモ

goal "生成AI監査ツールの市場を
調査し、投資メモを作成"

マーケティング

LP文案とA/B仮説

goal "新機能のLP文案を3トーンで。
ブランドガイド準拠"

オペレーション

障害の一次切り分け

goal "夜間バッチ失敗の原因を特定し、
再発防止策を提案して"

データ分析

コホート分析と示唆出し

goal "解約コホートの要因トップ3を
特定。ノートブック付きで"

経営・管理

週次KPIサマリー

goal "KPI週報を作成。異常値には
原因仮説を添えて"

17 / MIGRATION PLAYBOOK

プロンプト運用からの移行ガイド

P1

観察する(1週間)

繰り返し送っているプロンプトを書き出す。「毎週やっている」ものが最初の候補。

P2

試す(2週間)

goal 文に書き換え、まず --dry-run。納得できたら少額予算で実行。

P3

定着させる(継続)

既定を goal.yaml に。安定した goal は CI へ。教訓をチームメモリに。

プロンプト表現からgoal表現への変換例
従来のプロンプト goal 表現への変換
「このコードをレビューして、問題があれば直して」goal "静的解析の問題を解消。成功条件: lint 0件、テスト全成功"
「競合について調べてまとめて」goal "競合5社の価格を調査。出典明示、比較表と意思決定メモを納品"
「いい感じの週報を書いて」goal "KPI週報を作成。異常値には仮説付き。weekly.md に準拠"
「依存ライブラリを更新しておいて」goal "依存を更新。破壊的変更は移行メモ付き。成功条件: ビルド通過"

18 / CHEATSHEET

チートシート — 12の定型

日常 — 観察

goal list --open

日常 — 追尾

goal logs g_128 --follow

推敲

goal "..." --dry-run

予算管理

goal status g_128 --format json | jq .budget

条件修正

goal amend g_128 -S "p99 < 800ms"

巻き戻し

goal rollback g_128 --to 0

再開

goal resume g_128

閉域実行

goal "..." --no-network --sandbox strict

モデル切替

goal "..." --model ollama:qwen2.5

チーム実行

goal "..." --memory team --team acme

診断

goal doctor

教訓を残す

goal cancel g_128 --reason "前提が古い"

19 / TROUBLESHOOTING

トラブルシューティング。

迷ったら goal logs <id> --verbose が真実を語ります。

PLAN_TIMEOUT

プランが確定しない

目標が曖昧か高負荷。--dry-run で明確化。

BUDGET_EXCEEDED 連発

すぐ予算超過

成果を分割し --retries を下げる。

LOOP_STALL

同じ修復の繰り返し

条件を量化(07章)。

AUTH_ERROR

認証が通らない

キーは環境変数で。goal doctor で確認。

SANDBOX_DENIED

strict が通信を遮断

必要最小限だけ relaxed、または許可を明記。

OUTPUT_MISSING

成果物が見つからない

--output を明示。reviewer 注記を確認。

REVIEW_LOOP

差し戻しが止まらない

条件を一つ削って優先順位を固定。

MEMORY_MISS

メモリが引き継がれない

--memory スコープを確認。チームなら team。

20 / GLOSSARY

用語集。

Goal
目的・成功条件・制約からなる使命の単位。
プランDAG
サブタスクを依存関係付きグラフで表現した実行計画書。
planner / executor / reviewer / critic
計画・実行・検収・批判を担う4つの役割エージェント。
goal ループ
計画→実行→観測→調整の外周ループ。自律の心拍。
修復ループ
検出→診断→修復→再実行の内周ループ。
ループエンジニアリング
エージェントの反復を「収束し脱出できる」よう設計する規律。
収束監視
反復ごとの改善量を計測し停滞を検知する機構。
冪等性
再実行が副作用を二重に生まない性質。
承認ゲート
操作の前に人の確認を挟む統制(--approve)。
チェックポイント
フェーズごとに自動取得されるスナップショット。
MCP
Model Context Protocol。外部ツール/社内APIを標準接続。
モデルルーティング
役割ごとにモデルを使い分ける構成。
ゼロリテンション
入出力を学習に一切使わないモード。
nightly goal
CIのスケジュールで毎晩走る無人goalの総称。
教訓(lesson)
cancel理由や差し戻しから抽出される再利用可能な知見。
終了コード契約
0〜7で結果を機械可読に返す約束事。

21 / CHANGELOG

更新履歴。

  1. v2.4.2 —

    収束監視を導入し LOOP_STALL(終了コード7)を追加。ループエンジニアリングの確立。

  2. v2.4.1 —

    resume 時のチェックポイントリークを解消。差し戻しメッセージを人間可読化。

  3. v2.4.0 —

    マルチエージェント協調がGA。goal amend、--mcp 複数指定、チームメモリを実装。

  4. v2.3.0 —

    --dry-run と予算見積もりを追加。

  5. v2.2.0 —

    Windows(WSL2)対応。goal doctor 新設。監査ログエクスポート標準搭載。

  6. v2.1.0 —

    MCP対応。--no-network とゼロリテンションモードを追加。

  7. v2.0.0 —

    メジャーリリース。goal ループアーキテクチャを導入。MITライセンスで公開。

23 / FAQ

よくある質問。

goal は、自然言語で書いた目的をAIエージェントに一行で渡し、分解・計画・実行・検証までを自律的に行わせるコマンドラインツールです。MITライセンスのオープンソースで、すべての機能を無料で利用できます。
npm install -g @goal-ai/cli が推奨。Homebrew では brew install goal-cli。導入後は goal doctor で環境を検証してください。詳細は02章
goal "達成したい目的" の一行で宣言するだけです。成功条件・予算・期限は --success / --budget / --deadline で添えられます。プラン提示後に承認すると自律実行が始まります。
プロンプトが単発の指示であるのに対し、goal は達成条件付きの使命です。失敗時の再計画、状態の永続化、独立した reviewer による検収が標準で組み込まれています。
goal はMITライセンスのオープンソースで全機能が無料です。アカウント登録は不要で、自分のモデルAPIキーかローカルモデル(Ollama)だけで動きます。
--budget / --deadline / --retries に加え、収束監視が3連続の進捗なしを検知すると critic が強制停止します(終了コード7 LOOP_STALL)。詳細は07章
--budget で上限を指定すると、80%で警告、100%で自動停止します。--deadline と --retries を併用すれば、時間と再試行回数にも上限を付けられます。
できます。goal cancel で即時停止、goal rollback --to で任意フェーズへ復元。チェックポイントは自動取得されます。
Claude / GPT / Gemini / ローカルモデル(Ollama)に対応。--model ollama:モデル名 で切り替えでき、役割別ルーティングにも対応(10章)。
はい。Windows 11 ではWSL2経由で利用できます。macOS / Linux はネイティブ対応です。
できます。--auto と --format json、終了コード(0〜7)で機械可読に結果を受け取れます。具体例は12章
できます。MCP(Model Context Protocol)サーバーとして登録すれば、社内APIもエージェントの道具になります。詳細は11章
goal自体はテレメトリを持ちません。--no-network で送信を禁止でき、memory.zero_retention: true で学習利用しないモードを強制できます。詳細は09章
それらは開発者がループを自作するためのフレームワークです。goal は運用者がそのまま使う完成されたコマンドで、ループ・検収・予算・監査が最初から同梱され、初日から一行で使えます。比較表は15章
cronは決められた手順を定刻に実行するだけです。goalは目的を渡すと自ら計画し、失敗時は自己修復し、成果物を検収して納品します。nightly goalとしてcronから起動する共存構成も可能です(12章)。

さあ、目的を宣言しよう。

インストールは1分。最初の goal が完走するまで、さらに10分。

QUICKSTART

$ npm install -g @goal-ai/cli

$ goal doctor

$ goal "はじめる"