
複雑なペネトレーションテストタスクを実行可能な完全自律型AIエージェントシステム
コミュニティに参加しましょう! セキュリティ研究者、AI愛好家、そして倫理的なハッカーの仲間たちとつながりましょう。サポートを得たり、知見を共有したり、PentAGIの最新開発情報を入手したりできます。
PentAGIは、最先端の人工知能技術を活用した自動セキュリティテストのための革新的なツールです。このプロジェクトは、強力で柔軟な侵入テストソリューションを必要とする情報セキュリティ専門家、研究者、愛好家向けに設計されています。
flowchart TB classDef person fill:#08427B,stroke:#073B6F,color:#fff classDef system fill:#1168BD,stroke:#0B4884,color:#fff classDef external fill:#666666,stroke:#0B4884,color:#fff
pentester["👤 Security Engineer
(User of the system)"]
pentagi["✨ PentAGI
(Autonomous penetration testing system)"]
target["🎯 target-system
(System under test)"]
llm["🧠 llm-provider
(OpenAI/Anthropic/Ollama/Bedrock/Gemini/Custom)"]
search["🔍 search-systems
(Google/DuckDuckGo/Tavily/Traversaal/Perplexity/Sploitus/Searxng)"]
langfuse["📊 langfuse-ui
(LLM Observability Dashboard)"]
grafana["📈 grafana
(System Monitoring Dashboard)"]
pentester --> |Uses HTTPS| pentagi
pentester --> |Monitors AI HTTPS| langfuse
pentester --> |Monitors System HTTPS| grafana
pentagi --> |Tests Various protocols| target
pentagi --> |Queries HTTPS| llm
pentagi --> |Searches HTTPS| search
pentagi --> |Reports HTTPS| langfuse
pentagi --> |Reports HTTPS| grafana
class pentester person
class pentagi system
class target,llm,search,langfuse,grafana external
linkStyle default stroke:#ffffff,color:#ffffff
<details>
<summary><b>コンテナアーキテクチャ</b> (クリックして展開)</summary>```mermaid
graph TB
subgraph Core Services
UI[Frontend UI<br/>React + TypeScript]
API[Backend API<br/>Go + GraphQL]
DB[(Vector Store<br/>PostgreSQL + pgvector)]
MQ[Task Queue<br/>Async Processing]
Agent[AI Agents<br/>Multi-Agent System]
end
subgraph Knowledge Graph
Graphiti[Graphiti<br/>Knowledge Graph API]
Neo4j[(Neo4j<br/>Graph Database)]
end
subgraph Monitoring
Grafana[Grafana<br/>Dashboards]
VictoriaMetrics[VictoriaMetrics<br/>Time-series DB]
Jaeger[Jaeger<br/>Distributed Tracing]
Loki[Loki<br/>Log Aggregation]
OTEL[OpenTelemetry<br/>Data Collection]
end
subgraph Analytics
Langfuse[Langfuse<br/>LLM Analytics]
ClickHouse[ClickHouse<br/>Analytics DB]
Redis[Redis<br/>Cache + Rate Limiter]
MinIO[MinIO<br/>S3 Storage]
end
subgraph Security Tools
Scraper[Web Scraper<br/>Isolated Browser]
PenTest[Security Tools<br/>20+ Pro Tools<br/>Sandboxed Execution]
end
UI --> |HTTP/WS| API
API --> |SQL| DB
API --> |Events| MQ
MQ --> |Tasks| Agent
Agent --> |Commands| PenTest
Agent --> |Queries| DB
Agent --> |Knowledge| Graphiti
Graphiti --> |Graph| Neo4j
API --> |Telemetry| OTEL
OTEL --> |Metrics| VictoriaMetrics
OTEL --> |Traces| Jaeger
OTEL --> |Logs| Loki
Grafana --> |Query| VictoriaMetrics
Grafana --> |Query| Jaeger
Grafana --> |Query| Loki
API --> |Analytics| Langfuse
Langfuse --> |Store| ClickHouse
Langfuse --> |Cache| Redis
Langfuse --> |Files| MinIO
classDef core fill:#f9f,stroke:#333,stroke-width:2px,color:#000
classDef knowledge fill:#ffa,stroke:#333,stroke-width:2px,color:#000
classDef monitoring fill:#bbf,stroke:#333,stroke-width:2px,color:#000
classDef analytics fill:#bfb,stroke:#333,stroke-width:2px,color:#000
classDef tools fill:#fbb,stroke:#333,stroke-width:2px,color:#000
class UI,API,DB,MQ,Agent core
class Graphiti,Neo4j knowledge
class Grafana,VictoriaMetrics,Jaeger,Loki,OTEL monitoring
class Langfuse,ClickHouse,Redis,MinIO analytics
class Scraper,PenTest tools
Flow {
string id PK
string name "Flow name"
string description "Flow description"
string status "active/completed/failed"
json parameters "Flow parameters"
timestamp created_at
timestamp updated_at
}
Task {
string id PK
string flow_id FK
string name "Task name"
string description "Task description"
string status "pending/running/done/failed"
json result "Task results"
timestamp created_at
timestamp updated_at
}
SubTask {
string id PK
string task_id FK
string name "Subtask name"
string description "Subtask description"
string status "queued/running/completed/failed"
string agent_type "researcher/developer/executor"
json context "Agent context"
timestamp created_at
timestamp updated_at
}
Action {
string id PK
string subtask_id FK
string type "command/search/analyze/etc"
string status "success/failure"
json parameters "Action parameters"
json result "Action results"
timestamp created_at
}
Artifact {
string id PK
string action_id FK
string type "file/report/log"
string path "Storage path"
json metadata "Additional info"
timestamp created_at
}
Memory {
string id PK
string action_id FK
string type "observation/conclusion"
vector embedding "Vector representation"
text content "Memory content"
timestamp created_at
}
</details>
<details>
<summary><b>エージェントインタラクション</b> (クリックで展開)</summary>```mermaid
sequenceDiagram
participant O as Orchestrator
participant R as Researcher
participant D as Developer
participant E as Executor
participant VS as Vector Store
participant KB as Knowledge Base
Note over O,KB: Flow Initialization
O->>VS: Query similar tasks
VS-->>O: Return experiences
O->>KB: Load relevant knowledge
KB-->>O: Return context
Note over O,R: Research Phase
O->>R: Analyze target
R->>VS: Search similar cases
VS-->>R: Return patterns
R->>KB: Query vulnerabilities
KB-->>R: Return known issues
R->>VS: Store findings
R-->>O: Research results
Note over O,D: Planning Phase
O->>D: Plan attack
D->>VS: Query exploits
VS-->>D: Return techniques
D->>KB: Load tools info
KB-->>D: Return capabilities
D-->>O: Attack plan
Note over O,E: Execution Phase
O->>E: Execute plan
E->>KB: Load tool guides
KB-->>E: Return procedures
E->>VS: Store results
E-->>O: Execution status
subgraph "Working Memory"
Context[Current Context<br/>Task State]
Goals[Active Goals<br/>Objectives]
State[System State<br/>Resources]
end
subgraph "Episodic Memory"
Actions[Past Actions<br/>Commands History]
Results[Action Results<br/>Outcomes]
Patterns[Success Patterns<br/>Best Practices]
end
Context --> |Query| VS
VS --> |Retrieve| Context
Goals --> |Consult| KB
KB --> |Guide| Goals
State --> |Record| Actions
Actions --> |Learn| Patterns
Patterns --> |Store| VS
Tools --> |Inform| State
Results --> |Update| Tools
VS --> |Enhance| KB
KB --> |Index| VS
classDef ltm fill:#f9f,stroke:#333,stroke-width:2px,color:#000
classDef wm fill:#bbf,stroke:#333,stroke-width:2px,color:#000
classDef em fill:#bfb,stroke:#333,stroke-width:2px,color:#000
class VS,KB,Tools ltm
class Context,Goals,State wm
class Actions,Results,Patterns em
</details>
<details>
<summary><b>チェーン要約</b>(クリックで展開)</summary>
チェーン要約システムは、古いメッセージを選択的に要約することで会話コンテキストの増大を管理します。これは、会話の一貫性を維持しながらトークン制限の超過を防ぐために重要です。```mermaid
flowchart TD
A[Input Chain] --> B{Needs Summarization?}
B -->|No| C[Return Original Chain]
B -->|Yes| D[Convert to ChainAST]
D --> E[Apply Section Summarization]
E --> F[Process Oversized Pairs]
F --> G[Manage Last Section Size]
G --> H[Apply QA Summarization]
H --> I[Rebuild Chain with Summaries]
I --> J{Is New Chain Smaller?}
J -->|Yes| K[Return Optimized Chain]
J -->|No| C
classDef process fill:#bbf,stroke:#333,stroke-width:2px,color:#000
classDef decision fill:#bfb,stroke:#333,stroke-width:2px,color:#000
classDef output fill:#fbb,stroke:#333,stroke-width:2px,color:#000
class A,D,E,F,G,H,I process
class B,J decision
class C,K output
このアルゴリズムは、ツール呼び出しとその応答を含むメッセージタイプを保持する会話チェーンの構造化表現(ChainAST)を操作します。すべての要約操作は、重要な会話の流れを維持しながらコンテキストサイズを削減します。
アシスタントインスタンスは、カスタマイズされた要約設定を使用してコンテキスト管理動作を微調整できます:
アシスタント要約設定は、グローバル設定と比較してコンテキスト保持により多くのメモリを提供し、より最近の会話履歴を保持しながらも効率的なトークン使用を保証します。
SUMMARIZER_PRESERVE_LAST=true SUMMARIZER_USE_QA=true SUMMARIZER_SUM_MSG_HUMAN_IN_QA=false SUMMARIZER_LAST_SEC_BYTES=51200 SUMMARIZER_MAX_BP_BYTES=16384 SUMMARIZER_MAX_QA_SECTIONS=10 SUMMARIZER_MAX_QA_BYTES=65536 SUMMARIZER_KEEP_QA_SECTIONS=1
ASSISTANT_SUMMARIZER_PRESERVE_LAST=true ASSISTANT_SUMMARIZER_LAST_SEC_BYTES=76800 ASSISTANT_SUMMARIZER_MAX_BP_BYTES=16384 ASSISTANT_SUMMARIZER_MAX_QA_SECTIONS=7 ASSISTANT_SUMMARIZER_MAX_QA_BYTES=76800 ASSISTANT_SUMMARIZER_KEEP_QA_SECTIONS=3
</details>
<a id="advanced-agent-supervision"></a>
<details>
<summary><b>高度なエージェント監視</b> (クリックして展開)</summary>
PentAGIには、効率的なタスク実行、無限ループの防止、スタック状態からのインテリジェントな回復を実現する、洗練された多層エージェント監視メカニズムが含まれています。
### 実行監視(ベータ版)
- **自動メンター介入**:実行パターンが潜在的な問題を示している場合、アドバイザーエージェント(メンター)が自動的に呼び出されます。
- **パターン検出**:同一ツール呼び出しの監視(しきい値:5、設定可能)および総ツール呼び出しの監視(しきい値:10、設定可能)
- **進捗分析**:エージェントがサブタスクの目的に向かって進んでいるか評価し、ループや非効率を検出します。
- **代替戦略**:現在の戦略が失敗した場合に異なるアプローチを推奨します。
- **情報検索ガイダンス**:ゼロから解決策を作り直すのではなく、既存の解決策を検索することを提案します。
- **拡張応答形式**:ツール応答には`<original_result>`と`<mentor_analysis>`の両方のセクションが含まれます。
- **設定可能**:`EXECUTION_MONITOR_ENABLED` で有効化(デフォルト:false)、しきい値は `EXECUTION_MONITOR_SAME_TOOL_LIMIT` と `EXECUTION_MONITOR_TOTAL_TOOL_LIMIT` でカスタマイズ。
**最適な用途**:小規模モデル(< 32Bパラメータ)、継続的なガイダンスが必要な複雑な攻撃シナリオ、エージェントが単一のアプローチに行き詰まるのを防ぐ場合。
**パフォーマンスへの影響**:実行時間とトークン使用量が2~3倍増加しますが、Qwen3.5-27B-FP8でのテストに基づき、結果品質は**2倍向上**します。
### インテリジェントタスク計画(ベータ版)
- **自動分解**:専門エージェントが作業を開始する前に、プランナー(プランニングモードのアドバイザー)が3~7の具体的かつ実行可能なステップを生成します。
- **コンテキスト認識計画**:エンリッチャーエージェントを通じて完全な実行コンテキストを分析し、情報に基づいた計画を作成します。
- **構造化割り当て**:元のリクエストは、実行計画と指示を含む`<task_assignment>`構造でラップされます。
- **スコープ管理**:エージェントを現在のサブタスクのみに集中させることで、スコープの拡大を防ぎます。
- **強化された指示**:計画では、重要なアクション、潜在的な落とし穴、検証ポイントが強調表示されます。
- **設定可能**:`AGENT_PLANNING_STEP_ENABLED` で有効化(デフォルト:false)。
**最適な用途**:< 32Bパラメータのモデル、複雑なペネトレーションテストワークフロー、高度なタスクでの成功率向上。
**強化アドバイザー設定**:アドバイザーエージェントがより強力なモデルまたは拡張設定を使用する場合に特に効果的です。例:同一ベースモデルをアドバイザーに最大推論モードで使用する([`vllm-qwen3.5-27b-fp8.provider.yml`](https://github.com/vxcontrol/pentagi/blob/main/examples/configs/vllm-qwen3.5-27b-fp8.provider.yml) を参照)ことで、同一モデルアーキテクチャから包括的なタスク分析と戦略計画を実現します。
**パフォーマンスへの影響**:計画にかかるオーバーヘッドが追加されますが、完了率が大幅に向上し、冗長な作業が削減されます。
### ツール呼び出し制限(常時有効)
- **ハードリミット**:監視モードの状態に関係なく、実行の暴走を防ぎます。
- **エージェントタイプごとに異なる**:
- 汎用エージェント(アシスタント、プライマリエージェント、ペンテスター、コーダー、インストーラー):`MAX_GENERAL_AGENT_TOOL_CALLS`(デフォルト:100)
- 制限付きエージェント(サーチャー、エンリッチャー、メモリスト、ジェネレーター、レポーター、アドバイザー、リフレクター、プランナー):`MAX_LIMITED_AGENT_TOOL_CALLS`(デフォルト:20)
- **正常終了**:リフレクターが制限に近づいたエージェントを適切な完了に導きます。
- **リソース保護**:システムの安定性を確保し、リソースの枯渇を防ぎます。
### リフレクター統合(常時有効)
- **自動修正**:LLMが3回試行してもツール呼び出しを生成できない場合に呼び出されます。
- **戦略的ガイダンス**:失敗を分析し、エージェントを適切なツール使用またはバリアツール(`done`、`ask`)へ導きます。
- **回復メカニズム**:特定の失敗パターンに基づいたコンテキストに応じたガイダンスを提供します。
- **制限の実施**:ツール呼び出し制限に達した場合に正常終了を調整します。
### オープンソースモデルへの推奨
**< 32Bパラメータのモデルには必須**:
Qwen3.5-27B-FP8によるテストでは、小規模なオープンソースモデルにとって実行監視とタスク計画の両方を有効にすることが**不可欠**であることが示されています。
- **品質向上**:監視なしのベースライン実行と比較して、結果が2倍良好。
- **ループ防止**:無限ループと冗長な作業を大幅に削減。
- **攻撃の多様性**:単一のアプローチに固執するのではなく、複数の攻撃ベクトルの探索を促進。
- **エアギャップ環境での展開**:ローカルLLM推論を使用した閉じたネットワーク環境で、本番環境グレードの自律型ペネトレーションテストを実現。
**トレードオフ**:
- トークン消費量:メンタープランナーの呼び出しにより2~3倍増加。
- 実行時間:分析および計画ステップにより2~3倍増加。
- 結果品質:完全性、正確性、攻撃カバレッジが2倍向上。
- モデル要件:アドバイザーが拡張設定(より高い推論パラメータ、より強力なモデルバリアント、または異なるモデル)を使用する場合に最適。
**設定戦略**:
小規模モデルで最適なパフォーマンスを得るには、アドバイザーエージェントを拡張設定で構成します。
- 同一モデルを最大推論モードで使用(例:[`vllm-qwen3.5-27b-fp8.provider.yml`](https://github.com/vxcontrol/pentagi/blob/main/examples/configs/vllm-qwen3.5-27b-fp8.provider.yml))。
- または、他のエージェントにはベースモデルを維持しつつ、アドバイザーにはより強力なモデルを使用。
- タスクの複雑さとモデルの能力に基づいて監視しきい値を調整します。
</details>
PentAGIのアーキテクチャは、モジュール式でスケーラブルかつ安全になるように設計されています。主要なコンポーネントは以下のとおりです。
1. **コアサービス**
- フロントエンドUI:TypeScriptによる型安全性を備えたReactベースのWebインターフェース
- バックエンドAPI:GoベースのRESTおよびGraphQL API。プログラムによるアクセス用にベアラートークン認証を実装
- ベクトルストア:セマンティック検索とメモリストレージのためのpgvectorを備えたPostgreSQL
- タスクキュー:信頼性の高い運用のための非同期タスク処理システム
- AIエージェント:効率的なテストのための専門的な役割を持つマルチエージェントシステム
2. **ナレッジグラフ**
- Graphiti:セマンティック関係の追跡とコンテキスト理解のためのナレッジグラフAPI
- Neo4j:エンティティ、アクション、結果間の関係を保存および照会するためのグラフデータベース
- 包括的な知識ベース構築のためのエージェント応答とツール実行の自動キャプチャ
3. **監視スタック**
- OpenTelemetry:統一された可観測性データの収集と相関
- Grafana:リアルタイムの可視化とアラートダッシュボード
- VictoriaMetrics:高性能時系列メトリクスストレージ
- Jaeger:デバッグのためのエンドツーエンド分散トレーシング
- Loki:スケーラブルなログ集約と分析
4. **分析プラットフォーム**
- Langfuse:高度なLLM可観測性とパフォーマンス分析
- ClickHouse:カラム指向分析データウェアハウス
- Redis:高速キャッシュとレート制限
- MinIO:アーティファクト用のS3互換オブジェクトストレージ
5. **セキュリティツール**
- Webスクレイパー:安全なWebインタラクションのための隔離ブラウザ環境
- ペネトレーションテスティングツール:20以上のプロフェッショナルセキュリティツールの包括的なスイート
- サンドボックス実行:すべての操作は隔離コンテナ内で実行
6. **メモリシステム**
- 長期メモリ:知識と経験の永続的ストレージ
- ワーキングメモリ:現在の操作のためのアクティブなコンテキストと目標
- エピソードメモリ:過去のアクションと成功パターン
- 知識ベース:構造化されたドメイン専門知識とツール機能
- コンテキスト管理:チェーン要約を使用して成長するLLMコンテキストウィンドウをインテリジェントに管理
システムは、分離と簡単なデプロイのためにDockerコンテナを使用し、コアサービス、監視、分析用に別々のネットワークを備えて、適切なセキュリティ境界を確保します。各コンポーネントは水平方向にスケーリング可能に設計されており、本番環境で高可用性を実現するように構成できます。
## クイックスタート
### システム要件
- DockerおよびDocker Compose(またはPodman - [Podman設定](#running-pentagi-with-podman)を参照)
- 最低2 vCPU
- 最低4GB RAM
- 20GBの空きディスク容量
- イメージとアップデートをダウンロードするためのインターネットアクセス
### インストーラーの使用(推奨)
PentAGIは、設定とデプロイを効率化するためのターミナルベースのUIを備えた対話型インストーラーを提供します。インストーラーは、システムチェック、LLMプロバイダーのセットアップ、検索エンジンの設定、セキュリティ強化をガイドします。
**対応プラットフォーム:**
- **Linux**:amd64 [ダウンロード](https://pentagi.com/downloads/linux/amd64/installer-latest.zip) | arm64 [ダウンロード](https://pentagi.com/downloads/linux/arm64/installer-latest.zip)
- **Windows**:amd64 [ダウンロード](https://pentagi.com/downloads/windows/amd64/installer-latest.zip)
- **macOS**:amd64(Intel)[ダウンロード](https://pentagi.com/downloads/darwin/amd64/installer-latest.zip) | arm64(Mシリーズ)[ダウンロード](https://pentagi.com/downloads/darwin/arm64/installer-latest.zip)
**クイックインストール(Linux amd64):**```bash
# Create installation directory
mkdir -p pentagi && cd pentagi
# Download installer
wget -O installer.zip https://pentagi.com/downloads/linux/amd64/installer-latest.zip
# Extract
unzip installer.zip
# Run interactive installer
./installer
前提条件と権限:
インストーラは適切に動作するためにDocker APIとやり取りするための適切な権限を必要とします。デフォルトでは、Dockerソケット(/var/run/docker.sock)を使用します。そのため、以下のいずれかが必要です:
オプション1(本番環境推奨): インストーラをrootとして実行: ```bash sudo ./installer
オプション2(開発環境): ユーザーをdockerグループに追加することで、Dockerソケットへのアクセスを許可します: ```bash
sudo usermod -aG docker $USER
newgrp docker
docker ps
⚠️ セキュリティ上の注意: dockerグループにユーザーを追加すると、root相当の権限が付与されます。これは、管理された環境の信頼できるユーザーに対してのみ行ってください。本番環境では、ルートレスDockerモードを使用するか、sudoでインストーラーを実行することを検討してください。
インストーラーは以下の処理を行います:
.envファイルを作成し、最適なデフォルト値で設定PentAGI Webコンソールは、サーバー起動後、すでにいくつかの設定領域を管理しています:
以下の構成領域は、サーバー上で環境変数、composeファイル、またはマウントされた設定ファイルを通じて設定する必要があります:
OLLAMA_SERVER_CONFIG_PATHやLLM_SERVER_CONFIG_PATHなど、サポートされている場合にのみ適用されます。DUCKDUCKGO_*、GOOGLE_*、TAVILY_API_KEY、TRAVERSAAL_API_KEY、PERPLEXITY_*、SEARXNG_*、SPLOITUS_ENABLEDなどの設定。本番環境とセキュリティ強化について:
本番環境やセキュリティが重要な環境では、ワーカー操作を別のサーバーで分離する分散2ノードアーキテクチャの使用を強く推奨します。これにより、メインシステムでの信頼できないコードの実行やネットワークアクセスの問題を防ぐことができます。
詳細ガイド: ワーカーノードセットアップ
2ノード構成では以下の機能が提供されます:
2. `.env.example` を `.env` にコピーするか、ダウンロードしてください:```bash
curl -o .env https://raw.githubusercontent.com/vxcontrol/pentagi/master/.env.example
example.custom.provider.yml, example.ollama.provider.yml) を作成するか、ダウンロードします:```bash
curl -o example.custom.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/master/examples/configs/custom-openai.provider.yml
curl -o example.ollama.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/master/examples/configs/ollama-llama318b.provider.yml4. `.env` ファイルに必要なAPIキーを入力してください。```bash
# Required: At least one of these LLM providers
OPEN_AI_KEY=your_openai_key
ANTHROPIC_API_KEY=your_anthropic_key
GEMINI_API_KEY=your_gemini_key
# Optional: AWS Bedrock provider (enterprise-grade models)
BEDROCK_REGION=us-east-1
# Choose one authentication method:
BEDROCK_DEFAULT_AUTH=true # Option 1: Use AWS SDK default credential chain (recommended for EC2/ECS)
# BEDROCK_BEARER_TOKEN=your_bearer_token # Option 2: Bearer token authentication
# BEDROCK_ACCESS_KEY_ID=your_aws_access_key # Option 3: Static credentials
# BEDROCK_SECRET_ACCESS_KEY=your_aws_secret_key
# Optional: Ollama provider (local or cloud)
# OLLAMA_SERVER_URL=http://ollama-server:11434 # Local server
# OLLAMA_SERVER_URL=https://ollama.com # Cloud service
# OLLAMA_SERVER_API_KEY=your_ollama_cloud_key # Required for cloud, empty for local
# Optional: Chinese AI providers
# DEEPSEEK_API_KEY=your_deepseek_key # DeepSeek (strong reasoning)
# GLM_API_KEY=your_glm_key # GLM (Zhipu AI)
# KIMI_API_KEY=your_kimi_key # Kimi (Moonshot AI, ultra-long context)
# QWEN_API_KEY=your_qwen_key # Qwen (Alibaba Cloud, multimodal)
# Optional: Local LLM provider (zero-cost inference)
OLLAMA_SERVER_URL=http://localhost:11434
OLLAMA_SERVER_MODEL=your_model_name
# Optional: Additional search capabilities
DUCKDUCKGO_ENABLED=true
DUCKDUCKGO_REGION=us-en
DUCKDUCKGO_SAFESEARCH=
DUCKDUCKGO_TIME_RANGE=
SPLOITUS_ENABLED=true
GOOGLE_API_KEY=your_google_key
GOOGLE_CX_KEY=your_google_cx
TAVILY_API_KEY=your_tavily_key
TRAVERSAAL_API_KEY=your_traversaal_key
PERPLEXITY_API_KEY=your_perplexity_key
PERPLEXITY_MODEL=sonar-pro
PERPLEXITY_CONTEXT_SIZE=medium
# Searxng meta search engine (aggregates results from multiple sources)
SEARXNG_URL=http://your-searxng-instance:8080
SEARXNG_CATEGORIES=general
SEARXNG_LANGUAGE=
SEARXNG_SAFESEARCH=0
SEARXNG_TIME_RANGE=
SEARXNG_TIMEOUT=
## Graphiti knowledge graph settings
GRAPHITI_ENABLED=true
GRAPHITI_TIMEOUT=30
GRAPHITI_URL=http://graphiti:8000
GRAPHITI_MODEL_NAME=gpt-5-mini
# Neo4j settings (used by Graphiti stack)
NEO4J_USER=neo4j
NEO4J_DATABASE=neo4j
NEO4J_PASSWORD=devpassword
NEO4J_URI=bolt://neo4j:7687
# Assistant configuration
ASSISTANT_USE_AGENTS=false # Default value for agent usage when creating new assistants
.envファイル内のすべてのセキュリティ関連環境変数を変更してください。COOKIE_SIGNING_SALT - クッキー署名用のソルト、ランダムな値に変更PUBLIC_URL - サーバーの公開URL(例:https://pentagi.example.com)SERVER_SSL_CRT および SERVER_SSL_KEY - HTTPS用の既存のSSL証明書とキーへのカスタムパス(これらのパスはdocker-compose.ymlファイルでボリュームとしてマウントするために使用されます)SCRAPER_PUBLIC_URL - 公開URLに別のスクレイパーサーバーを使用する場合の公開URLSCRAPER_PRIVATE_URL - スクレイパーのプライベートURL(docker-compose.yml内のローカルスクレイパーサーバーがローカルURLにアクセスするため)PENTAGI_POSTGRES_USER および PENTAGI_POSTGRES_PASSWORD - PostgreSQLの認証情報.envファイルをVSCodeや他のIDEでenvFileオプションとして使用する場合は、すべてのインラインコメントを削除してください。```bash
perl -i -pe 's/\s+#.*$//' .env7. PentAGI スタックを実行する:```bash
curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/master/docker-compose.yml
docker compose up -d
Visit localhost:8443 to access PentAGI Web UI (default is [email protected] / admin)
PentAGI はログインページから公開セルフサービスサインアップを提供していません。新規インストールでは、デフォルトのローカル管理者アカウントが作成されます:
[email protected]admin初回ログイン時に、実際の作業でインスタンスを使用する前にデフォルトのパスワードを変更してください。後で管理者パスワードを紛失した場合は、インストーラのメンテナンスメニューを使用してデフォルトの [email protected] アカウントのパスワードをリセットできます。
マルチユーザー設定の場合、認証された管理者は Users REST API(/api/v1/users/)を使用してローカルユーザーを管理できます。OpenAPI UI はインスタンスの実行後に https://localhost:8443/api/v1/swagger/index.html で利用可能です。
[!NOTE]
pentagi-network、observability-network、またはlangfuse-networkに関するエラーが発生した場合は、最初にdocker-compose.ymlを実行してこれらのネットワークを作成し、その後docker-compose-langfuse.yml、docker-compose-graphiti.yml、およびdocker-compose-observability.ymlを実行して Langfuse、Graphiti、および Observability サービスを使用する必要があります。PentAGI を使用するには、少なくとも1つの言語モデルプロバイダー(OpenAI、Anthropic、Gemini、AWS Bedrock、または Ollama)を設定する必要があります。AWS Bedrock は主要な AI 企業の複数の基盤モデルへのエンタープライズグレードのアクセスを提供し、Ollama は十分な計算リソースがある場合に無料のローカル推論を提供します。検索エンジンの追加の API キーはオプションですが、より良い結果を得るために推奨されます。
高度なモデルを使用した完全ローカルデプロイメント: 本番グレードのローカル LLM セットアップについては、Running PentAGI with vLLM and Qwen3.5-27B-FP8 の包括的なガイドを参照してください。この構成では、4× RTX 5090 GPU でプロンプト処理で〜13,000 TPS、生成で〜650 TPS を達成し、12以上の同時フローをサポートし、クラウドプロバイダーから完全に独立しています。
LLM_SERVER_*環境変数は実験的な機能であり、将来変更される予定です。現在は、カスタム LLM サーバー URL とすべてのエージェントタイプに1つのモデルを指定するために使用できます。
PROXY_URLは、すべての LLM プロバイダーおよび外部検索システムのグローバルプロキシ URL です。外部ネットワークからの分離に使用できます。
docker-compose.ymlファイルは、コンテナ管理のために docker.sock へのアクセスが必要なため、PentAGI サービスを root ユーザーとして実行します。ソケットファイルの代わりに TCP/IP ネットワーク接続を使用して Docker に接続している場合は、root 権限を削除し、セキュリティ向上のためにデフォルトの ユーザーを使用できます。
デフォルトでは、PentAGI はセキュリティのために 127.0.0.1(localhost のみ)にバインドされます。ネットワーク上の他のマシンから PentAGI にアクセスするには、外部アクセスを設定する必要があります。
.env ファイルを更新 して、サーバーの IP アドレスを設定します:```bashPENTAGI_LISTEN_IP=0.0.0.0 PENTAGI_LISTEN_PORT=8443
PUBLIC_URL=https://192.168.1.100:8443
CORS_ORIGINS=https://localhost:8443,https://192.168.1.100:8443
> [!IMPORTANT]
> - `192.168.1.100` を実際のサーバーのIPアドレスに置き換えてください
> - `PUBLIC_URL` または `CORS_ORIGINS` に `0.0.0.0` を使用しないでください — 実際のIPアドレスを使用してください
> - 柔軟性のために `CORS_ORIGINS` に localhost とサーバーIPの両方を含めてください
2. **コンテナを再作成** して変更を適用します:```bash
docker compose down
docker compose up -d --force-recreate
次のような出力が表示されるはずです: `0.0.0.0:8443->8443/tcp` または `:::8443->8443/tcp`。
`127.0.0.1:8443->8443/tcp` が表示された場合、環境変数が正しく読み込まれていません。その場合は、`docker-compose.yml` の31行目を直接編集してください:```yaml
ports:
- "0.0.0.0:8443:8443"
それからコンテナを再度作成してください。
sudo ufw allow 8443/tcp sudo ufw reload
sudo firewall-cmd --permanent --add-port=8443/tcp sudo firewall-cmd --reload
5. **PentAGIへアクセス:**
- **ローカルアクセス:** `https://localhost:8443`
- **ネットワークアクセス:** `https://your-server-ip:8443`
> [!NOTE]
> IPアドレス経由でアクセスする際には、ブラウザで自己署名SSL証明書の警告を受け入れる必要があります。
---
### PodmanでPentAGIを実行する
PentAGIはDockerの代替としてPodmanを完全にサポートしています。ただし、**ルートレスモードのPodman**を使用する場合、スクレイパーサービスには特別な設定が必要です。ルートレスコンテナは特権ポート(1024未満のポート)にバインドできないためです。
#### Podmanルートレス設定
デフォルトのスクレイパー設定では特権ポートであるポート443(HTTPS)を使用します。Podmanルートレスの場合、スクレイパーを非特権ポートを使用するように再設定してください:
**1. `docker-compose.yml`を編集** - `scraper`サービスを変更します(199行目付近):```yaml
scraper:
image: vxcontrol/scraper:latest
restart: unless-stopped
container_name: scraper
hostname: scraper
expose:
- 3000/tcp # Changed from 443 to 3000
ports:
- "${SCRAPER_LISTEN_IP:-127.0.0.1}:${SCRAPER_LISTEN_PORT:-9443}:3000" # Map to port 3000
environment:
- MAX_CONCURRENT_SESSIONS=${LOCAL_SCRAPER_MAX_CONCURRENT_SESSIONS:-10}
- USERNAME=${LOCAL_SCRAPER_USERNAME:-someuser}
- PASSWORD=${LOCAL_SCRAPER_PASSWORD:-somepass}
logging:
options:
max-size: 50m
max-file: "7"
volumes:
- scraper-ssl:/usr/src/app/ssl
networks:
- pentagi-network
shm_size: 2g
2. .env ファイルを更新する - スクレイパーURLをHTTPとポート3000に変更する:```bash
SCRAPER_PRIVATE_URL=http://someuser:somepass@scraper:3000/ LOCAL_SCRAPER_USERNAME=someuser LOCAL_SCRAPER_PASSWORD=somepass
> [!IMPORTANT]
> Podman に関する主な変更点:
> - `SCRAPER_PRIVATE_URL` には HTTPS ではなく **HTTP** を使用する
> - ポート443ではなくポート**3000**を使用する
> - 内部の `expose` を `3000/tcp` に変更する
> - ポートマッピングを443ではなく`3000`をターゲットに更新する
**3. コンテナを再作成:**```bash
podman-compose down
podman-compose up -d --force-recreate
4. スクレイパーの接続テスト:```bash
podman exec -it pentagi wget -O- "http://someuser:somepass@scraper:3000/html?url=http://example.com"
HTML出力が表示されていれば、スクレイパーは正常に動作しています。
#### Podman Rootful モード
Podman をルートフルモード(sudo 使用)で実行している場合、デフォルト設定を変更せずに使用できます。スクレイパーは意図したとおりポート 443 で動作します。
#### Docker 互換性
すべての Podman 設定は Docker と完全に互換性があります。非特権ポートのアプローチは両方のコンテナランタイムで同じように機能します。
### アシスタント設定
PentAGI では、アシスタントのデフォルト動作を設定できます。
| 変数 | デフォルト | 説明 |
| ---------------------- | ------- | ----------------------------------------------------------------------- |
| `ASSISTANT_USE_AGENTS` | `false` | 新しいアシスタント作成時のエージェント使用のデフォルト値を制御します |
`ASSISTANT_USE_AGENTS` 設定は、UI で新しいアシスタントを作成する際の「Use Agents」トグルの初期状態に影響します。
- `false`(デフォルト): 新しいアシスタントはエージェント委任が無効で作成されます
- `true`: 新しいアシスタントはエージェント委任が有効で作成されます
なお、ユーザーはアシスタントの作成または編集時に UI の「Use Agents」ボタンを切り替えることで、この設定をいつでも上書きできます。この環境変数は初期のデフォルト状態のみを制御します。
## ログイン後の PentAGI の使用方法
スタックが実行され、Web UI にサインインできるようになったら、最も早い開始方法は Flows ワークフローを使用することです。
### 1. 最初のフローを作成する
1. サイドバーで **Flows** を開きます。
2. **New Flow** をクリックします。
3. 目的に合ったモードを選択します:
- **Automation**: テスト目標に対して PentAGI がエンドツーエンドで実行する完全自律的な実行
- **Assistant**: 調査を段階的に進めたい場合の対話型のバックアンドフォースヘルプ。このモードでは、**Use Agents** トグルを有効にして、PentAGI が複雑な調査のために特殊なサブエージェントにサブタスクを委任することもできます。
4. このフローに使用する LLM プロバイダを選択します。
5. メッセージボックスに、ターゲットと目的を自然言語で記述します。
適切な最初のプロンプトには通常以下が含まれます:
- ターゲットシステムまたは URL
- 希望する評価の種類
- スコープの制限やエンゲージメントルール
- 期待する結果(脆弱性レポートや仮説の検証など)
例:```text
Assess https://target.example for common web application vulnerabilities. Focus on authentication, file handling, and injection issues. Stay within the provided target only and summarize confirmed findings with reproduction steps.
所有しているシステム、または評価を明示的に許可されたシステムのみをテストしてください。利用条件については、EULA.md を参照してください。
新しいフローフォームにはテンプレートピッカーが含まれており、保存されたフローテンプレートでメッセージボックスを事前に入力できます。これは、類似の評価を繰り返し実行する場合に便利です。
examples/prompts/base_web_pentest.md のサンプルプロンプトから開始します。テンプレートは出発点です。PentAGI を使用するために特別な構文は必要ありません。ターゲットと目標が明確であれば、平易な自然言語の指示で十分です。
フローを送信すると、PentAGI は自動的にフローページを開きます。
フローに十分な結果が得られたら、フローページの Report メニューを使用して、次の操作を実行します。
各フローには、インタラクティブなガイダンスのための Assistant ビューも含まれています。これは、自律実行中にハードリスタートではなく人間の指示が必要な何かが明らかになった場合に便利です。
各フローには、フローページに独自の Files タブがあります。ファイルは親フローにスコープされており、ホスト上の {dataDir}/flow-{id}-data/ に存在し、他のフローに漏洩することはありません。
このタブでは、3 つのファイルソースが公開されています。
uploads/): Web UI から提供するファイルです。Upload files アクションを使用するか、Files タブに直接ドラッグアンドドロップします。エージェントコンテナが実行されている間、アップロードされたファイルは /work/uploads/ にプッシュされ、エージェントは通常のシェルツールで読み取ることができます。resources/): Attach resources from library を使用して、保存されたユーザーリソースライブラリから添付されたファイルです。添付されたリソースはフローにコピーされ、実行中のコンテナ内の /work/resources/ にプッシュされます。container/): Pull file or directory from container を介して実行中のエージェントコンテナから取得されたスナップショットです。これらはフロー側では読み取り専用であり、コンテナに送り返されることはありません。Files タブのファイルごとのアクションには、Download、Copy path、Save as resource (フローファイルを再利用可能なリソースライブラリに昇格)、Delete があります。Pull アクションは、コンテナが実行されていない場合、ツールチップ「Container is not running」とともに無効になります。
アップロードされたファイルと添付されたリソースは、{{.UserFiles}} テンプレート変数を介してエージェントのシステムプロンプトに自動的にリストされます。これにより、コンパクトな <task_files> XML ブロック (ネストされた <uploads> と <resources> セクションを含む) がレンダリングされるため、アシスタントと自動化エージェントは、内容をチャットに貼り付けなくてもパスで参照できます。コンテナスナップショットは UI でのみ表示され、プロンプトに自動的に注入されることはありません。
注意すべき現在の制限と制約:
/work/uploads/ および /work/resources/ にミラーリングされます。他のコンテナパスに書き込まれたファイルは、フローファイルモデルに自動的にミラーリングされません。コンテナスナップショットは、任意のコンテナパス (例: /etc/...) から取得でき、フロー側の container/ の下にキャッシュされます。コンテナにプッシュされることはありません。flow-{id}-data/ ディレクトリはアーカイブまたは削除されません。スペースを再利用したい場合、オペレーターは手動でデータディレクトリをクリーンアップすることが想定されています。初期テストでは、狭いターゲットと単一の明確な目的から始めてください。これにより、出力の確認が容易になり、より大規模な評価を実行する前にプロンプトを洗練するのに役立ちます。
PentAGI は、REST および GraphQL API の両方を介して包括的なプログラムによるアクセスを提供し、侵入テストワークフローを自動化パイプライン、CI/CD プロセス、およびカスタムアプリケーションに統合できます。
API トークンは PentAGI Web インターフェイスで管理されます。
各トークンはユーザーアカウントに関連付けられ、ロールの権限を継承します。
HTTP リクエストの Authorization ヘッダーに API トークンを含めます。```bash
curl -X POST https://your-pentagi-instance:8443/api/v1/graphql
-H "Authorization: Bearer YOUR_API_TOKEN"
-H "Content-Type: application/json"
-d '{"query": "{ flows { id title status } }"}'
curl https://your-pentagi-instance:8443/api/v1/flows
-H "Authorization: Bearer YOUR_API_TOKEN"
### APIの探索とテスト
PentAGIは、APIエンドポイントを探索およびテストするためのインタラクティブなドキュメントを提供します:
#### GraphQL Playground
GraphQL Playgroundには `https://your-pentagi-instance:8443/api/v1/graphql/playground` でアクセスします
1. 下部の **HTTP Headers** タブをクリックします
2. 認証ヘッダーを追加します: ```json
{
"Authorization": "Bearer YOUR_API_TOKEN"
}
https://your-pentagi-instance:8443/api/v1/swagger/index.html でREST APIドキュメントにアクセスします。
Bearer YOUR_API_TOKEN の形式で入力しますPentAGIに含まれるスキーマファイルを使用して、お好みのプログラミング言語向けの型安全なAPIクライアントを生成できます。
GraphQLスキーマは以下で利用可能です。
schema.graphqls をダウンロードしますbackend/pkg/graph/schema.graphqls以下のようなツールを使用してクライアントを生成します。
OpenAPI仕様は以下で利用可能です。
https://your-pentagi-instance:8443/api/v1/swagger/doc.jsonbackend/pkg/server/docs/swagger.yaml で利用可能以下のツールを使用してクライアントを生成します。
class PentAGIClient: def init(self, base_url, api_token): self.base_url = base_url self.headers = { "Authorization": f"Bearer {api_token}", "Content-Type": "application/json" }
def create_flow(self, provider, target):
query = """
mutation CreateFlow($provider: String!, $input: String!) {
createFlow(modelProvider: $provider, input: $input) {
id
title
status
}
}
"""
response = requests.post(
f"{self.base_url}/api/v1/graphql",
json={
"query": query,
"variables": {
"provider": provider,
"input": target
}
},
headers=self.headers
)
return response.json()
def get_flows(self):
response = requests.get(
f"{self.base_url}/api/v1/flows",
headers=self.headers
)
return response.json()
client = PentAGIClient( "https://your-pentagi-instance:8443", "your_api_token_here" )
flow = client.create_flow("openai", "Scan https://example.com for vulnerabilities") print(f"Created flow: {flow}")
flows = client.get_flows() print(f"Total flows: {len(flows['flows'])}")
</details>
<details>
<summary><b>TypeScript クライアントの例</b></summary>```typescript
import axios, { AxiosInstance } from 'axios';
interface Flow {
id: string;
title: string;
status: string;
createdAt: string;
}
class PentAGIClient {
private client: AxiosInstance;
constructor(baseURL: string, apiToken: string) {
this.client = axios.create({
baseURL: `${baseURL}/api/v1`,
headers: {
'Authorization': `Bearer ${apiToken}`,
'Content-Type': 'application/json',
},
});
}
async createFlow(provider: string, input: string): Promise<Flow> {
const query = `
mutation CreateFlow($provider: String!, $input: String!) {
createFlow(modelProvider: $provider, input: $input) {
id
title
status
createdAt
}
}
`;
const response = await this.client.post('/graphql', {
query,
variables: { provider, input },
});
return response.data.data.createFlow;
}
async getFlows(): Promise<Flow[]> {
const response = await this.client.get('/flows');
return response.data.flows;
}
async getFlow(flowId: string): Promise<Flow> {
const response = await this.client.get(`/flows/${flowId}`);
return response.data;
}
}
// Usage
const client = new PentAGIClient(
'https://your-pentagi-instance:8443',
'your_api_token_here'
);
// Create a new flow
const flow = await client.createFlow(
'openai',
'Perform penetration test on https://example.com'
);
console.log('Created flow:', flow);
// List all flows
const flows = await client.getFlows();
console.log(`Total flows: ${flows.length}`);
APIトークンを扱う際の注意点:
トークン一覧には以下が表示されます:
LLM_SERVER_* 変数を使用してカスタムLLMプロバイダーを使用する場合、リクエストで使用される推論フォーマットを微調整できます。
[!TIP] 本番環境向けのローカルデプロイメントでは、最適なパフォーマンスを得るために vLLM と Qwen3.5-27B-FP8 の使用を検討してください。ハードウェア要件、設定テンプレート(思考モードおよび非思考モード)、4× RTX 5090 GPUで13K TPSのプロンプト処理を実現するパフォーマンスベンチマークを含む、包括的なデプロイガイドをご覧ください。
LLM_SERVER_PROVIDER 設定は、モデル名にプロバイダープレフィックスを追加する LiteLLMプロキシ を使用する場合に特に便利です。たとえば、LiteLLM経由でMoonshot APIに接続する場合、kimi-2.5 のようなモデルは moonshot/kimi-2.5 になります。LLM_SERVER_PROVIDER=moonshot を設定することで、同じプロバイダー設定ファイルを直接APIアクセスとLiteLLMプロキシアクセスの両方で変更せずに使用できます。
LLM_SERVER_LEGACY_REASONING 設定は、推論パラメータがLLMに送信される方法に影響します:
false(デフォルト):推論が max_tokens パラメータを含む構造化オブジェクトとして送信されるモダンフォーマットtrue:文字列ベースの reasoning_effort パラメータを使用するレガシーフォーマットこの設定は、異なるLLMプロバイダーがAPIリクエストで異なる推論フォーマットを期待する場合があるため、重要です。カスタムプロバイダーで推論関連のエラーが発生した場合は、この設定を変更してみてください。
LLM_SERVER_PRESERVE_REASONING 設定は、マルチターン会話で推論内容が保持されるかどうかを制御します:
false(デフォルト):推論内容は会話履歴に保持されないtrue:推論内容が保持され、後続のAPI呼び出しで送信されるこの設定は、マルチターン会話で推論内容が含まれていない場合に「thinking is enabled but reasoning_content is missing in assistant tool call message」などのエラーを返す一部のLLMプロバイダー(例:Moonshot)で必要です。プロバイダーが推論内容の保持を要求する場合は、この設定を有効にしてください。
PentAGIは、ローカルLLM推論(ゼロコスト、プライバシー強化)とOllama Cloud(管理サービス、無料枠あり)の両方でOllamaをサポートしています。
Ollama Cloudは、充実した無料枠とスケーラブルな有料プランを備えた管理型推論を提供します。
無料枠セットアップ(単一モデル)```bash
OLLAMA_SERVER_URL=https://ollama.com OLLAMA_SERVER_API_KEY=your_ollama_cloud_api_key OLLAMA_SERVER_MODEL=gpt-oss:120b # Example: OpenAI OSS 120B model
**有料ティアのセットアップ(複数モデル・事前設定済み構成)**
複数の同時モデルをサポートする有料ティアでは、事前構築されたOllama Cloud構成を使用します:```bash
# Using pre-built Ollama Cloud configuration (included in Docker image)
OLLAMA_SERVER_URL=https://ollama.com
OLLAMA_SERVER_API_KEY=your_ollama_cloud_api_key
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-cloud.provider.yml
プリビルドされた ollama-cloud.provider.yml 設定には、すべてのエージェントタイプに対して最適化されたモデル割り当てが含まれています:
nemotron-3-super:cloud - 高速な汎用モデルqwen3-coder-next:cloud - 高努力モードによる高度な推論qwen3-coder-next:cloud - 特殊化されたコーディングモデルqwen3.5:397b-cloud - 情報収集のための大規模コンテキストglm-5:cloud - 高品質なテキストの洗練minimax-m2.7:cloud - 効率的な助言タスクdevstral-2:123b-cloud - インストールとセットアップタスクカスタム設定(高度)
独自のエージェント設定を作成するには、ホストファイルシステムからカスタムファイルをマウントします:```bash
OLLAMA_SERVER_URL=https://ollama.com OLLAMA_SERVER_API_KEY=your_ollama_cloud_api_key OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama.provider.yml
PENTAGI_OLLAMA_SERVER_CONFIG_PATH=/path/on/host/my-ollama-config.yml
`PENTAGI_OLLAMA_SERVER_CONFIG_PATH` 環境変数は、ホストの設定ファイルをコンテナ内の `/opt/pentagi/conf/ollama.provider.yml` にマッピングします。
**カスタム設定の例** (`my-ollama-config.yml`):```yaml
primary_agent:
model: "qwen3-coder-next:cloud"
temperature: 1.0
top_p: 0.9
max_tokens: 32768
reasoning:
effort: high
coder:
model: "qwen3-coder:32b"
temperature: 1.0
max_tokens: 20480
セルフホストのOllamaインスタンスの場合:```bash
OLLAMA_SERVER_URL=http://localhost:11434 OLLAMA_SERVER_MODEL=llama3.1:8b-instruct-q8_0
OLLAMA_SERVER_URL=http://ollama-server:11434 OLLAMA_SERVER_PULL_MODELS_ENABLED=true OLLAMA_SERVER_PULL_MODELS_TIMEOUT=900 OLLAMA_SERVER_LOAD_MODELS_ENABLED=true
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-llama318b.provider.yml
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-qwen332b-fp16-tc.provider.yml
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-qwq32b-fp16-tc.provider.yml
**パフォーマンスに関する考慮事項:**
- **モデル検出**(`OLLAMA_SERVER_LOAD_MODELS_ENABLED=true`):Ollama APIへの問い合わせで起動レイテンシが1~2秒追加されます
- **自動プル**(`OLLAMA_SERVER_PULL_MODELS_ENABLED=true`):初回起動時にモデルのダウンロードに数分かかる場合があります
- **プルタイムアウト**(`OLLAMA_SERVER_PULL_MODELS_TIMEOUT=900`):900秒(15分)
- **静的設定**:両方のフラグを無効にして、設定ファイルでモデルを指定すると起動が最速になります
#### 拡張コンテキストを持つカスタムOllamaモデルの作成
PentAGIでは、デフォルトのOllama設定よりも大きなコンテキストウィンドウを持つモデルが必要です。Modelfileを使用して、`num_ctx`パラメーターを増やしたカスタムモデルを作成する必要があります。通常のエージェントワークフローでは約64Kトークンを消費しますが、PentAGIでは安全マージンと複雑な侵入テストシナリオを処理するために110Kのコンテキストサイズを使用しています。
**重要**: `num_ctx`パラメーターは、Modelfileによるモデル作成時にのみ設定できます。作成後や実行時に上書きすることはできません。
##### 例: 拡張コンテキスト対応のQwen3 32B FP16
`Modelfile_qwen3_32b_fp16_tc`という名前のModelfileを作成します:```dockerfile
FROM qwen3:32b-fp16
PARAMETER num_ctx 110000
PARAMETER temperature 0.3
PARAMETER top_p 0.8
PARAMETER min_p 0.0
PARAMETER top_k 20
PARAMETER repeat_penalty 1.1
カスタムモデルを構築する:```bash ollama create qwen3:32b-fp16-tc -f Modelfile_qwen3_32b_fp16_tc
##### 例: QwQ 32B FP16 拡張コンテキスト付き
`Modelfile_qwq_32b_fp16_tc` という名前のModelfileを作成します:```dockerfile
FROM qwq:32b-fp16
PARAMETER num_ctx 110000
PARAMETER temperature 0.2
PARAMETER top_p 0.7
PARAMETER min_p 0.0
PARAMETER top_k 40
PARAMETER repeat_penalty 1.2
カスタムモデルを構築する:```bash ollama create qwq:32b-fp16-tc -f Modelfile_qwq_32b_fp16_tc
> **注意**: QwQ 32B FP16 モデルは推論に約 **71.3 GB VRAM** を必要とします。このモデルを使用する前に、システムに十分な GPU メモリがあることを確認してください。
これらのカスタムモデルは、Docker イメージに含まれる `/opt/pentagi/conf/` 内の事前構築済みプロバイダ設定ファイル (`ollama-qwen332b-fp16-tc.provider.yml` および `ollama-qwq32b-fp16-tc.provider.yml`) で参照されています。
### OpenAI プロバイダ設定
PentAGI は、OpenAI の包括的なモデルラインアップと統合されています。拡張された思考連鎖を用いた高度な推論機能、ツール統合が強化されたエージェントモデル、およびセキュリティエンジニアリング向けの特殊なコードモデルを備えています。
#### 設定変数
| 変数 | デフォルト | 説明 |
| -------------------- | --------------------------- | --------------------------- |
| `OPEN_AI_KEY` | | OpenAI サービスの API キー |
| `OPEN_AI_SERVER_URL` | `https://api.openai.com/v1` | OpenAI API エンドポイント |
#### 設定例```bash
# Basic OpenAI setup
OPEN_AI_KEY=your_openai_api_key
OPEN_AI_SERVER_URL=https://api.openai.com/v1
# Using with proxy for enhanced security
OPEN_AI_KEY=your_openai_api_key
PROXY_URL=http://your-proxy:8080
PentAGIは、ツール呼び出し、ストリーミング、推論モード、プロンプトキャッシュを備えた31のOpenAIモデルをサポートしています。* が付いたモデルはデフォルト設定で使用されます。
GPT-5.2 シリーズ - 最新フラッグシップエージェント(2025年12月)
GPT-5/5.1 シリーズ - 高度なエージェントモデル
GPT-5/5.1 Codex シリーズ - コード特化
GPT-4.1 シリーズ - 強化インテリジェンス
GPT-4o シリーズ - マルチモーダルフラッグシップ
| Model ID | 思考 | 価格(入力/出力/キャッシュ) | 使用事例 |
|---|---|---|---|
gpt-4o | ❌ | $2.50/$10.00/$1.25 | ビジョン対応マルチモーダルフラッグシップ、画像分析、Web UI評価、マルチツールオーケストレーション |
gpt-4o-mini |
o-シリーズ - 高度推論モデル
価格: 100万トークンあたり。推論モデルは出力価格に思考トークンを含みます。
[!WARNING] GPT-5 モデル - 信頼できるアクセスが必要*
すべてのGPT-5シリーズモデル(
gpt-5、gpt-5.1、gpt-5.2、gpt-5-pro、gpt-5.2-pro、およびすべてのCodexバリアント)は、PentAGIとの動作が不安定であり、確認済みのアクセスがない場合、OpenAIのサイバーセキュリティ安全メカニズムをトリガーする可能性があります。GPT-5 モデルを確実に使用するには:*
- 個人ユーザー: chatgpt.com/cyber で本人確認を行う
- エンタープライズチーム: OpenAI担当者を通じて信頼できるアクセスをリクエストする
- セキュリティ研究者: Cybersecurity Grant Program に申し込む($10MのAPIクレジットを含む)
確認なしでの推奨代替案:
- 推論タスクには
o-seriesモデル(o3、o4-mini、o1)を使用- 一般的なインテリジェンスと関数呼び出しには
gpt-4.1シリーズを使用- すべてのo-seriesおよびgpt-4.xモデルは特別なアクセスなしで確実に動作
推論努力レベル:
主な機能:
PentAGIはAnthropicのClaudeモデルと統合し、高度な拡張思考機能、卓越した安全メカニズム、プロンプトキャッシュによる複雑なセキュリティコンテキストの高度な理解を提供します。
| Variable | Default | Description |
|---|---|---|
ANTHROPIC_API_KEY | AnthropicサービスのAPIキー | |
ANTHROPIC_SERVER_URL | https://api.anthropic.com/v1 | Anthropic APIエンドポイント |
ANTHROPIC_API_KEY=your_anthropic_api_key ANTHROPIC_SERVER_URL=https://api.anthropic.com/v1
ANTHROPIC_API_KEY=your_anthropic_api_key PROXY_URL=http://your-proxy:8080
> [!NOTE]
> **Claudeモデル向けGoogle Vertex AI**
>
> PentAGIは現在、`.env`でAnthropic Claude向けの専用Google Vertex AI設定パスを公開していません。現時点では別途Vertex AI APIキーフィールドはなく、既存のAnthropic変数(`ANTHROPIC_API_KEY`、`ANTHROPIC_SERVER_URL`)は直接Anthropic APIをターゲットとしています。Claudeのサポートされる経路は次のとおりです。
>
> - **直接Anthropic API**: `ANTHROPIC_API_KEY`および`ANTHROPIC_SERVER_URL`(上記参照)。
> - **AWS Bedrock**: `BEDROCK_*`変数([AWS Bedrockプロバイダー設定](#aws-bedrock-provider-configuration)を参照)。
>
> 現在Vertex AIを使用する必要がある場合、最も安全なサポートされている回避策は、Vertex AIの呼び出しをChat Completions形式に変換しながら、PentAGIが依存するチャットおよびツール呼び出し動作を保持するOpenAI互換プロキシまたはゲートウェイを介してVertex AIを公開し、その後`LLM_SERVER_URL`、`LLM_SERVER_KEY`、`LLM_SERVER_MODEL`を介してカスタムLLMプロバイダーをそのゲートウェイに向けることです。このパスは、選択するゲートウェイと同じくらい信頼性があります。
#### サポート対象モデル
PentAGIは、ツール呼び出し、ストリーミング、拡張思考、適応思考、プロンプトキャッシングを備えた10のClaudeモデルをサポートしています。`*`が付いたモデルはデフォルト設定で使用されます。
**Claude 4シリーズ - 最新モデル(2025-2026)**
| モデルID | 思考 | リリース日 | 価格(入力/出力/キャッシュR/W) | 使用目的 |
| ----------------------- | ---- | ---------- | -------------------------------- | --------------------------------------------- |
| `claude-opus-4-6`* | ✅ | 2025年5月 | $5.00/$25.00/$0.50/$6.25 | 自律エージェントとコーディングに最もインテリジェントなモデル。複雑なエクスプロイト開発、多段階攻撃シミュレーション向け拡張+適応思考 |
| `claude-sonnet-4-6`* | ✅ | 2025年8月 | $3.00/$15.00/$0.30/$3.75 | 適応思考による最高の速度/知能バランス。多段階セキュリティ評価、インテリジェントな脆弱性分析、リアルタイム脅威ハンティング |
| `claude-haiku-4-5`* | ✅ | 2025年10月 | $1.00/$5.00/$0.10/$1.25 | フロンティアに近い知能を備えた最速モデル。高頻度スキャン、リアルタイム監視、一括自動テスト |
**レガシーモデル - 引き続きサポート**
| モデルID | 思考 | リリース日 | 価格(入力/出力/キャッシュR/W) | 使用目的 |
| ----------------------- | ---- | ---------- | -------------------------------- | --------------------------------------------- |
| `claude-sonnet-4-5` | ✅ | 2025年9月 | $3.00/$15.00/$0.30/$3.75 | 最先端の推論(4-6に置き換え)。高度な侵入テスト、高度な脅威分析 |
| `claude-opus-4-5` | ✅ | 2025年11月 | $5.00/$25.00/$0.50/$6.25 | 究極の推論(opus-4-6に置き換え)。重要なセキュリティ研究、ゼロデイ発見、レッドチーム運用 |
| `claude-opus-4-1` | ✅ | 2025年8月 | $15.00/$75.00/$1.50/$18.75 | 高度な推論(置き換え済み)。複雑な侵入テスト、高度な脅威モデリング |
| `claude-sonnet-4-0` | ✅ | 2025年5月 | $3.00/$15.00/$0.30/$3.75 | 高性能推論(置き換え済み)。複雑な脅威モデリング、マルチツール連携 |
| `claude-opus-4-0` | ✅ | 2025年5月 | $15.00/$75.00/$1.50/$18.75 | 初代Opus(置き換え済み)。多段階エクスプロイト開発、自律型ペネトレーションテストワークフロー |
**非推奨モデル - 最新モデルへの移行を推奨**
| モデルID | 思考 | リリース日 | 価格(入力/出力/キャッシュR/W) | 備考 |
| ----------------------------- | ---- | ---------- | -------------------------------- | -------------------------------------------- |
| `claude-3-haiku-20240307` | ❌ | 2024年3月 | $0.25/$1.25/$0.03/$0.30 | 2026年4月19日に廃止予定。claude-haiku-4-5に移行してください |
**価格**: 100万トークンあたり。キャッシュ価格には読み取りと書き込みの両方のコストが含まれます。
**拡張思考設定**:
- **最大トークン数4096**: 複雑なエクスプロイト開発における最大限の推論深度を実現するジェネレーター(claude-opus-4-6)
- **最大トークン数2048**: バランスの取れたコード分析と脆弱性調査のためのコーダー(claude-sonnet-4-6)
- **最大トークン数1024**: 特定タスクに集中した推論のためのプライマリエージェント、アシスタント、リファイナー、アドバイザー、リフレクター、サーチャー、インストーラー、ペンテスター
- **拡張思考**: すべてのClaude 4.5+および4.6モデルは、深い推論タスクのための設定可能な拡張思考をサポート
**主な機能**:
- **拡張思考**: 複雑なセキュリティ分析のための設定可能な連鎖思考推論深度を持つすべてのClaude 4.5+および4.6モデル
- **適応思考**: Claude 4.6シリーズ(Opus/Sonnet)は、最適なパフォーマンスのためにタスクの複雑さに基づいて推論深度を動的に調整
- **プロンプトキャッシング**: 個別の読み取り/書き込み価格(入力の10%、125%書き込み)による大幅なコスト削減
- **拡張コンテキストウィンドウ**: 標準200Kトークン、Claude Opus/Sonnet 4.6では最大100万トークン(ベータ)で包括的なコードベース分析を実現
- **ツール呼び出し**: セキュリティツールオーケストレーションのための卓越した精度を備えた堅牢な関数呼び出し
- **ストリーミング**: インタラクティブなペネトレーションテストワークフローのためのリアルタイムレスポンスストリーミング
- **安全性最優先設計**: 責任あるセキュリティテストの実践を保証する組み込みの安全機構
- **マルチモーダルサポート**: スクリーンショット分析とUIセキュリティ評価のための最新モデルのビジョン機能
- **憲法適合型AI**: 信頼性が高く倫理的なセキュリティガイダンスを提供する高度な安全性トレーニング
### Google AI(Gemini)プロバイダー設定
PentAGIは、拡張思考とコンテキストキャッシングを備えた最先端のマルチモーダル推論機能を提供するGoogle AI APIを通じて、GoogleのGeminiモデルと統合します。
#### 設定変数
| 変数 | デフォルト | 説明 |
| ------------------ | ----------------------------------------------- | -------------------------- |
| `GEMINI_API_KEY` | | Google AIサービスのAPIキー |
| `GEMINI_SERVER_URL` | `https://generativelanguage.googleapis.com` | Google AI APIエンドポイント |
#### 設定例```bash
# Basic Gemini setup
GEMINI_API_KEY=your_gemini_api_key
GEMINI_SERVER_URL=https://generativelanguage.googleapis.com
# Using with proxy
GEMINI_API_KEY=your_gemini_api_key
PROXY_URL=http://your-proxy:8080
PentAGIは、ツール呼び出し、ストリーミング、思考モード、コンテキストキャッシングを備えた9つのGeminiモデルをサポートしています。*が付いたモデルはデフォルト設定で使用されます。
Gemini 3.5 シリーズ - 最新安定版Flash(2026年5月)
| モデルID | 思考 | コンテキスト | 料金(入力/出力/キャッシュ) | ユースケース |
|---|---|---|---|---|
gemini-3.5-flash* | ✅ | 1M | $1.50/$9.00/$0.15 | エージェントおよびコーディングタスクで持続的な最先端性能を発揮する最もインテリジェントなFlashモデル、優れた検索とグラウンディングを提供 |
Gemini 3.1 シリーズ - 安定版Flash-Lite + Proプレビュー(2026年2月~5月)
Gemini 2.5 シリーズ - 高度思考モデル(2026年10月16日まで有効)
Gemma 4 オープンソースモデル(Apache 2.0、無料ティア)
料金: 100万トークンあたり(標準有料ティア)。コンテキストウィンドウは入力トークン制限です。
[!NOTE] Gemini 2.5 シリーズの廃止
gemini-2.5-pro、gemini-2.5-flash、gemini-2.5-flash-liteは2026年10月16日に廃止されます。推奨移行先:
gemini-2.5-pro→gemini-3.1-pro-preview(同じ$2.00入力料金ティア)gemini-2.5-flash→gemini-3.5-flash(改善された最先端機能)gemini-2.5-flash-lite→gemini-3.1-flash-lite(同じ$0.25入力料金)
デフォルトのモデル割り当て (config.yml):
gemini-3.1-pro-preview - primary_agent, assistant, generator, refiner, adviser, coder, pentestergemini-3.5-flash - reflector, searcher, enricher, installergemini-3.1-flash-lite - simple, 主な機能:
gemini-3.1-pro-preview-customtoolsルート推論努力レベル:
PentAGIはAmazon Bedrockと統合し、Anthropic、Amazon、Cohere、DeepSeek、OpenAI、Qwen、Mistral、Moonshotなどの主要なAI企業から20以上の基盤モデルへのアクセスを提供します。
認証優先順位: BEDROCK_DEFAULT_AUTH → BEDROCK_BEARER_TOKEN → BEDROCK_ACCESS_KEY_ID+BEDROCK_SECRET_ACCESS_KEY
BEDROCK_REGION=us-east-1 BEDROCK_DEFAULT_AUTH=true
BEDROCK_REGION=us-east-1 BEDROCK_BEARER_TOKEN=your_bearer_token
BEDROCK_REGION=us-east-1 BEDROCK_ACCESS_KEY_ID=your_aws_access_key BEDROCK_SECRET_ACCESS_KEY=your_aws_secret_key
BEDROCK_REGION=us-east-1 BEDROCK_DEFAULT_AUTH=true BEDROCK_SERVER_URL=https://bedrock-runtime.us-east-1.vpce-xxx.amazonaws.com PROXY_URL=http://your-proxy:8080
#### サポートされているモデル
PentAGIは、ツール呼び出し、ストリーミング、マルチモーダル機能を備えた21のAWS Bedrockモデルをサポートしています。`*` が付いたモデルはデフォルト設定で使用されます。
| モデルID | プロバイダー | 思考 | マルチモーダル | 価格(入力/出力) | ユースケース |
| ------------------------------------------------ | --------------- | ---- | -------------- | ----------------- | ------------------------------------------- |
| `us.amazon.nova-2-lite-v1:0` | Amazon Nova | ❌ | ✅ | $0.33/$2.75 | 適応的な推論、効率的な思考 |
| `us.amazon.nova-premier-v1:0` | Amazon Nova | ❌ | ✅ | $2.50/$12.50 | 複雑な推論、高度な分析 |
| `us.amazon.nova-pro-v1:0` | Amazon Nova | ❌ | ✅ | $0.80/$3.20 | バランスの取れた精度、速度、コスト |
| `us.amazon.nova-lite-v1:0` | Amazon Nova | ❌ | ✅ | $0.06/$0.24 | 高速処理、大量オペレーション |
| `us.amazon.nova-micro-v1:0` | Amazon Nova | ❌ | ❌ | $0.035/$0.14 | 超低遅延、リアルタイム監視 |
| `us.anthropic.claude-opus-4-6-v1`* | Anthropic | ✅ | ✅ | $5.00/$25.00 | ワールドクラスのコーディング、エンタープライズエージェント |
| `us.anthropic.claude-sonnet-4-6` | Anthropic | ✅ | ✅ | $3.00/$15.00 | フロンティアインテリジェンス、エンタープライズ規模 |
| `us.anthropic.claude-opus-4-5-20251101-v1:0` | Anthropic | ✅ | ✅ | $5.00/$25.00 | 複数日にわたるソフトウェア開発 |
| `us.anthropic.claude-haiku-4-5-20251001-v1:0`* | Anthropic | ✅ | ✅ | $1.00/$5.00 | フロンティアに迫る性能、高速 |
| `us.anthropic.claude-sonnet-4-5-20250929-v1:0`* | Anthropic | ✅ | ✅ | $3.00/$15.00 | 実世界エージェント、コーディングの卓越性 |
| `us.anthropic.claude-sonnet-4-20250514-v1:0` | Anthropic | ✅ | ✅ | $3.00/$15.00 | バランスの取れたパフォーマンス、プロダクション対応 |
| `us.anthropic.claude-3-5-haiku-20241022-v1:0` | Anthropic | ❌ | ❌ | $0.80/$4.00 | 最速モデル、コスト効率の高いスキャニング |
| `cohere.command-r-plus-v1:0` | Cohere | ❌ | ❌ | $3.00/$15.00 | 大規模オペレーション、優れたRAG |
| `deepseek.v3.2` | DeepSeek | ❌ | ❌ | $0.58/$1.68 | 長文脈推論、効率性 |
| `openai.gpt-oss-120b-1:0`* | OpenAI (OSS) | ✅ | ❌ | $0.15/$0.60 | 強力な推論、科学分析 |
| `openai.gpt-oss-20b-1:0` | OpenAI (OSS) | ✅ | ❌ | $0.07/$0.30 | 効率的なコーディング、ソフトウェア開発 |
| `qwen.qwen3-next-80b-a3b` | Qwen | ❌ | ❌ | $0.15/$1.20 | 超長文脈、フラッグシップ推論 |
| `qwen.qwen3-32b-v1:0` | Qwen | ❌ | ❌ | $0.15/$0.60 | バランスの取れた推論、研究ユースケース |
| `qwen.qwen3-coder-30b-a3b-v1:0` | Qwen | ❌ | ❌ | $0.15/$0.60 | バイブコーディング、自然言語優先 |
| `qwen.qwen3-coder-next` | Qwen | ❌ | ❌ | $0.45/$1.80 | ツール使用、関数呼び出し最適化 |
| `mistral.mistral-large-3-675b-instruct` | Mistral | ❌ | ✅ | $4.00/$12.00 | 高度なマルチモーダル、長文脈 |
| `moonshotai.kimi-k2.5` | Moonshot | ❌ | ✅ | $0.60/$3.00 | ビジョン、言語、コードを1つのモデルで |
**価格**: 100万トークンあたり。思考/推論をサポートするモデルは、推論フェーズ中に追加の計算コストが発生します。
#### テスト済みだが互換性のないモデル
一部のAWS Bedrockモデルはテストされましたが、技術的な制限により**サポートされていません**:
| モデルファミリー | 非互換の理由 |
| ------------------------ | ------------------------------------------------------------------------------ |
| **GLM (Z.AI)** | ツール呼び出し形式がConverse APIと互換性がない(JSONではなく文字列を期待) |
| **AI21 Jamba** | 厳しいレート制限(1-2リクエスト/分)により、信頼性のあるテストと本番使用が妨げられる |
| **Meta Llama 3.3/3.1** | 不安定なツール呼び出し結果処理により、マルチターンワークフローで予期しない障害が発生 |
| **Mistral Magistral** | モデルがツール呼び出しをサポートしていない |
| **Moonshot K2-Thinking** | ツール呼び出しでのストリーミング動作が不安定で、本番環境では信頼性が低い |
| **Qwen3-VL** | ツール呼び出しでのストリーミングが不安定で、マルチモーダル+ツールの組み合わせが断続的に失敗 |
> [!IMPORTANT]
> **レート制限とクォータ管理**
>
> ClaudeモデルのデフォルトのAWS Bedrockクォータは**非常に制限的**です(新しいアカウントでは1分あたり2〜20リクエスト)。本番の侵入テストでは:
>
> 1. 使用予定のモデルについて、AWS Service Quotasコンソールで**クォータの増加をリクエスト**
> 2. **Amazon Novaモデルを使用** - より高いデフォルトクォータと優れたパフォーマンス
> 3. 一貫した大量テストのために**プロビジョンドスループットを有効化**
> 4. **使用状況を監視** - AWSはクォータ制限で積極的にスロットリングする
>
> クォータの増加がない場合、頻繁な遅延とワークフローの中断が予想されます。
> [!WARNING]
> **Converse APIの要件**
>
> PentAGIは、統一されたモデルアクセスのためにAmazon Bedrock **Converse API**を使用しています。すべてのサポート対象モデルには以下が必要です:
>
> - ✅ Converse/ConverseStream APIのサポート
> - ✅ 侵入テストワークフローのためのツール使用(関数呼び出し)
> - ✅ リアルタイムフィードバックのためのストリーミングツール使用
>
> モデルの機能は次で確認: [AWS Bedrock Model Features](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html)
**主な機能**:
- **自動プロンプトキャッシング**: 繰り返しコンテキストでコストを40〜70%削減(Claude 4.xモデル)
- **拡張思考**: 複雑なセキュリティ分析のための段階的推論(Claude、DeepSeek R1、OpenAI GPT)
- **マルチモーダル分析**: 包括的なテストのためのスクリーンショット、図、動画の処理(Nova、Claude、Mistral、Kimi)
- **ツール呼び出し**: 関数呼び出しによる20以上のペンテストツールとのシームレスな統合
- **ストリーミング**: インタラクティブなセキュリティ評価ワークフローのためのリアルタイム応答ストリーミング
### DeepSeekプロバイダーの設定
PentAGIはDeepSeekと統合され、強力な推論、コーディング機能、コンテキストキャッシングを備えた高度なAIモデルに競争力のある価格でアクセスできます。
#### 設定変数
| 変数 | デフォルト値 | 説明 |
| ---------------------- | ------------------------------- | ---------------------------------------------- |
| `DEEPSEEK_API_KEY` | | 認証用のDeepSeek APIキー |
| `DEEPSEEK_SERVER_URL` | `https://api.deepseek.com` | DeepSeek APIエンドポイントURL |
| `DEEPSEEK_PROVIDER` | | LiteLLM統合用のプロバイダープレフィックス(オプション) |
#### Configuration Examples```bash
# Direct API usage
DEEPSEEK_API_KEY=your_deepseek_api_key
DEEPSEEK_SERVER_URL=https://api.deepseek.com
# With LiteLLM proxy
DEEPSEEK_API_KEY=your_litellm_key
DEEPSEEK_SERVER_URL=http://litellm-proxy:4000
DEEPSEEK_PROVIDER=deepseek # Adds prefix to model names (deepseek/deepseek-v4-flash) for LiteLLM
PentAGI は、ツール呼び出し、ストリーミング、ハイブリッド推論/非推論モード、およびコンテキストキャッシングを備えた2つのDeepSeek V4モデルをサポートしています。両モデルともデフォルトで推論モードをサポートしており、extra_bodyを介して非推論モードに切り替えることができます。*が付いたモデルは、デフォルト構成で使用されます。
価格: 100万トークンあたり。キャッシュ価格は、キャッシュから提供されるプロンプトトークンに適用されます(入力キャッシュヒット、2026年4月26日より発売価格の1/10に削減)。両モデルともハイブリッド推論をサポートしています — thinking モードはデフォルトで有効です。extra_body.thinking.type: disabled を渡すと、より高速/低コストな応答のために非推論モードに切り替わります。
料金に関する注意事項 (deepseek-v4-pro):
deepseek-v4-proの75%プロモーションディスカウントは、2026年5月31日15:59 UTCをもって正式に終了しました。上記の価格は、プロモーション終了後の標準価格を反映しています。割引価格($0.435/$0.87/$0.003625)を使用しているレガシー構成がある場合は、正確なコスト追跡のために現在の料金に更新してください。
レガシーモデル名
deepseek-chatおよびdeepseek-reasonerは、DeepSeek によって2026年7月24日に廃止される予定です。 レガシー名を参照している既存のユーザー構成は、それまで引き続き動作します。上記のデフォルトは現在のV4名を使用しています。deepseek-chatはdeepseek-v4-flash非推論モードにマッピングされ、deepseek-reasonerはdeepseek-v4-flash推論モードにマッピングされます。
デフォルトエージェント構成:
戦略: ユーティリティ/軽量エージェントの実作業には deepseek-v4-flash(入力12倍安、出力12倍安)を優先し、複雑なマルチステップ推論には deepseek-v4-pro を予約します。installer エージェントは推論を有効にしてFlash上で実行されます。これは、環境セットアップタスク(シェルコマンド、設定編集)がプロレベルの推論を必要とすることはほとんどないためです。より多くのエージェントをProに昇格させる前に、独自のワークロードでA/Bテストを実行してください。
注意: 推論モードが有効な場合、DeepSeek は
temperature、top_p、presence_penalty、frequency_penaltyを自動的に無視します。langchaingo クライアントは、reasoning_effortが設定されるとtemperature/top_pを自動的に無効化するため、上記の表では "(自動)" と表示されます。推論が有効なすべてのエージェントは、将来のプロバイダーのデフォルト変更に対する防御的コーディングとして、明示的にextra_body.thinking.type: enabledも渡します。
主な機能:
extra_body.thinking.type を介して、推論(深い推論)モードと非推論(高速)モードを切り替えます。同時実行制限: deepseek-v4-flash: 2500同時リクエスト、deepseek-v4-pro: 500同時リクエスト。
LiteLLM統合: DEEPSEEK_PROVIDER=deepseek を設定すると、LiteLLMプロキシでデフォルトのPentAGI構成を使用する際にモデル名のプレフィックス処理が有効になります。直接API使用の場合は空のままにしてください。
PentAGI は、Zhipu AI(Z.AI)のGLMと統合しており、清華大学によって開発された、MoEアーキテクチャ、強力な推論、およびエージェント機能を備えた高度な言語モデルを提供します。
| 変数 | デフォルト値 | 説明 |
|---|---|---|
GLM_API_KEY | 認証用のGLM APIキー | |
GLM_SERVER_URL |
# Direct API usage (international endpoint)
GLM_API_KEY=your_glm_api_key
GLM_SERVER_URL=https://api.z.ai/api/paas/v4
# Alternative endpoints
GLM_SERVER_URL=https://open.bigmodel.cn/api/paas/v4 # China
GLM_SERVER_URL=https://api.z.ai/api/coding/paas/v4 # Coding-specific
# With LiteLLM proxy
GLM_API_KEY=your_litellm_key
GLM_SERVER_URL=http://litellm-proxy:4000
GLM_PROVIDER=zai # Adds prefix to model names (zai/glm-4) for LiteLLM
```
#### 対応モデル
PentAGIは、ツール呼び出し、ストリーミング、ハイブリッド思考モード、プロンプトキャッシュを備えた13のGLMモデルをサポートしています。`*` が付いたモデルはデフォルト設定で使用されます。思考は `extra_body.thinking.type`("enabled"/"disabled")で制御されます。Kimiとは異なり、GLMはどちらのモードでも温度設定に寛容です。
**GLM-5.xシリーズ - 最新世代(200Kコンテキスト、128K最大出力)**
| モデルID | 思考 | コンテキスト | 最大出力 | 価格(入力/出力/キャッシュ) | ユースケース |
| ---------------- | -------- | ------- | ---------- | -------------------------- | ------------------------------------------------------------------- |
```
---
[Read more](https://github.com/vxcontrol/pentagi)
| パラメータ | 環境変数 | デフォルト | 説明 |
|---|
| Preserve Last | SUMMARIZER_PRESERVE_LAST | true | 最後のセクションのすべてのメッセージをそのまま保持するかどうか |
| Use QA Pairs | SUMMARIZER_USE_QA | true | QAペア要約戦略を使用するかどうか |
| Summarize Human in QA | SUMMARIZER_SUM_MSG_HUMAN_IN_QA | false | QAペア内の人間のメッセージを要約するかどうか |
| Last Section Size | SUMMARIZER_LAST_SEC_BYTES | 51200 | 最後のセクションの最大バイトサイズ (50KB) |
| Max Body Pair Size | SUMMARIZER_MAX_BP_BYTES | 16384 | 単一のボディペアの最大バイトサイズ (16KB) |
| Max QA Sections | SUMMARIZER_MAX_QA_SECTIONS | 10 | 保持するQAペアセクションの最大数 |
| Max QA Size | SUMMARIZER_MAX_QA_BYTES | 65536 | QAペアセクションの最大バイトサイズ (64KB) |
| Keep QA Sections | SUMMARIZER_KEEP_QA_SECTIONS | 1 | 要約せずに保持する最近のQAセクションの数 |
| パラメータ | 環境変数 | デフォルト | 説明 |
|---|
| Preserve Last | ASSISTANT_SUMMARIZER_PRESERVE_LAST | true | アシスタントの最後のセクションのすべてのメッセージを保持するかどうか |
| Last Section Size | ASSISTANT_SUMMARIZER_LAST_SEC_BYTES | 76800 | アシスタントの最後のセクションの最大バイトサイズ (75KB) |
| Max Body Pair Size | ASSISTANT_SUMMARIZER_MAX_BP_BYTES | 16384 | アシスタントコンテキスト内の単一ボディペアの最大バイトサイズ (16KB) |
| Max QA Sections | ASSISTANT_SUMMARIZER_MAX_QA_SECTIONS | 7 | アシスタントコンテキストで保持するQAセクションの最大数 |
| Max QA Size | ASSISTANT_SUMMARIZER_MAX_QA_BYTES | 76800 | アシスタントのQAセクションの最大バイトサイズ (75KB) |
| Keep QA Sections | ASSISTANT_SUMMARIZER_KEEP_QA_SECTIONS | 3 | 要約せずに保持する最近のQAセクションの数 |
NEO4J_USER および NEO4J_PASSWORD - Neo4jの認証情報(Graphitiナレッジグラフ用)pentagi| 変数 | デフォルト | 説明 |
|---|
LLM_SERVER_URL | カスタムLLM APIエンドポイントのベースURL | |
LLM_SERVER_KEY | カスタムLLMプロバイダーのAPIキー | |
LLM_SERVER_MODEL | 使用するデフォルトモデル(プロバイダー設定で上書き可能) | |
LLM_SERVER_CONFIG_PATH | エージェント固有モデル用のYAML設定ファイルへのパス | |
LLM_SERVER_PROVIDER | モデル名のプロバイダー名プレフィックス(例:LiteLLMプロキシ用 openrouter、deepseek) | |
LLM_SERVER_LEGACY_REASONING | false | APIリクエスト内の推論フォーマットを制御 |
LLM_SERVER_PRESERVE_REASONING | false | マルチターン会話で推論内容を保持する(一部のプロバイダーで必須) |
| 変数 | デフォルト | 説明 |
|---|
OLLAMA_SERVER_URL | OllamaサーバーまたはOllama CloudのURL | |
OLLAMA_SERVER_API_KEY | Ollama Cloud認証用のAPIキー | |
OLLAMA_SERVER_MODEL | 推論のデフォルトモデル | |
OLLAMA_SERVER_CONFIG_PATH | カスタムエージェント設定ファイルへのパス | |
OLLAMA_SERVER_PULL_MODELS_TIMEOUT | 600 | モデルダウンロードのタイムアウト(秒) |
OLLAMA_SERVER_PULL_MODELS_ENABLED | false | 起動時にモデルを自動ダウンロード |
OLLAMA_SERVER_LOAD_MODELS_ENABLED | false | 利用可能なモデルをサーバーに問い合わせる |
| Model ID | 思考 | 価格(入力/出力/キャッシュ) | 使用事例 |
|---|
gpt-5.2* | ✅ | $1.75/$14.00/$0.18 | 最新フラッグシップ、強化された推論とツール統合、自律的なセキュリティリサーチ |
gpt-5.2-pro | ✅ | $21.00/$168.00/$0.00 | プレミアム版、優れたエージェントコーディング、ミッションクリティカルなセキュリティリサーチ、ゼロデイ発見 |
gpt-5.2-codex | ✅ | $1.75/$14.00/$0.18 | 最も高度なコード特化、コンテキスト圧縮、強力なサイバーセキュリティ機能 |
| Model ID | 思考 | 価格(入力/出力/キャッシュ) | 使用事例 |
|---|
gpt-5 | ✅ | $1.25/$10.00/$0.13 | 高度な推論を備えたプレミアエージェント、自律的なセキュリティリサーチ、エクスプロイトチェーン開発 |
gpt-5.1 | ✅ | $1.25/$10.00/$0.13 | 適応型推論を備えた強化エージェント、強力なツール連携によるバランスの取れたペネトレーションテスト |
gpt-5-pro | ✅ | $15.00/$120.00/$0.00 | プレミアム版、大幅な推論改善、ハルシネーション低減、重要なセキュリティ運用 |
gpt-5-mini | ✅ | $0.25/$2.00/$0.03 | 速度とインテリジェンスのバランスに優れた効率的モデル、自動脆弱性分析、エクスプロイト生成 |
gpt-5-nano | ✅ | $0.05/$0.40/$0.01 | 高スループットスキャン、偵察、大量脆弱性検出に最速 |
| Model ID | 思考 | 価格(入力/出力/キャッシュ) | 使用事例 |
|---|
gpt-5.1-codex-max | ✅ | $1.25/$10.00/$0.13 | 洗練されたコーディングのための強化推論、実績のあるCVE発見、体系的なエクスプロイト開発 |
gpt-5.1-codex | ✅ | $1.25/$10.00/$0.13 | 標準コード最適化、強力な推論、エクスプロイト生成、脆弱性分析 |
gpt-5-codex | ✅ | $1.25/$10.00/$0.13 | 基礎コード特化、脆弱性スキャン、基本的なエクスプロイト生成 |
gpt-5.1-codex-mini | ✅ | $0.25/$2.00/$0.03 | コンパクト高性能、4倍の容量、迅速な脆弱性検出 |
codex-mini-latest | ✅ | $1.50/$6.00/$0.38 | 最新コンパクトコードモデル、自動コードレビュー、基本的な脆弱性分析 |
| Model ID | 思考 | 価格(入力/出力/キャッシュ) | 使用事例 |
|---|
gpt-4.1 | ❌ | $2.00/$8.00/$0.50 | 拡張フラッグシップ、優れた関数呼び出し、複雑な脅威分析、高度なエクスプロイト開発 |
gpt-4.1-mini* | ❌ | $0.40/$1.60/$0.10 | 改善された効率性を備えたバランスの取れたパフォーマンス、日常的なセキュリティ評価、自動コード分析 |
gpt-4.1-nano | ❌ | $0.10/$0.40/$0.03 | 超高速軽量、一括セキュリティスキャン、迅速な偵察、継続的モニタリング |
| ❌ |
| $0.15/$0.60/$0.08 |
| コンパクトマルチモーダル、強力な関数呼び出し、高頻度スキャン、コスト効率の高い一括運用 |
| Model ID | 思考 | 価格(入力/出力/キャッシュ) | 使用事例 |
|---|
o4-mini* | ✅ | $1.10/$4.40/$0.28 | 高速化された次世代推論、体系的なセキュリティ評価、計画的なエクスプロイト開発 |
o3* | ✅ | $2.00/$8.00/$0.50 | 高度な推論パワーハウス、マルチステージ攻撃チェーン、深層脆弱性分析 |
o3-mini | ✅ | $1.10/$4.40/$0.55 | 拡張思考を備えたコンパクト推論、ステップバイステップの攻撃計画、論理的な脆弱性連鎖 |
o1 | ✅ | $15.00/$60.00/$7.50 | 最大深度のプレミア推論、高度なペネトレーションテスト、革新的なエクスプロイト研究 |
o3-pro | ✅ | $20.00/$80.00/$0.00 | 最も先進的な推論、o1-proより80%低コスト、ゼロデイ研究、重要なセキュリティ調査 |
o1-pro | ✅ | $150.00/$600.00/$0.00 | 前世代プレミアム推論、徹底的なセキュリティ分析、ミッションクリティカルな課題 |
| モデルID | 思考 | コンテキスト | 料金(入力/出力/キャッシュ) | ユースケース |
|---|
gemini-3.1-pro-preview* | ✅ | 1M | $2.00/$12.00/$0.20 | 最新のフラッグシップモデル。洗練された思考、改善されたトークン効率、ソフトウェアエンジニアリングとエージェントワークフローに最適化 |
gemini-3.1-pro-preview-customtools | ✅ | 1M | $2.00/$12.00/$0.20 | カスタムツールエンドポイント。bashおよびカスタムツール(view_file、search_code)の優先順位付けに最適化 |
gemini-3.1-flash-lite* | ✅ | 1M | $0.25/$1.50/$0.025 | 最もコスト効率の高い安定したマルチモーダルモデル。大量のエージェントタスクや低レイテンシアプリケーションで最先端クラスの性能 |
| モデルID | 思考 | コンテキスト | 料金(入力/出力/キャッシュ) | ユースケース |
|---|
gemini-2.5-pro | ✅ | 1M | $1.25/$10.00/$0.125 | 複雑なコーディングと推論に最適な最先端モデル、高度な脅威モデリング |
gemini-2.5-flash | ✅ | 1M | $0.30/$2.50/$0.03 | 思考予算を備えた初のハイブリッド推論モデル、大規模評価に最適なコストパフォーマンス |
gemini-2.5-flash-lite | ✅ | 1M | $0.10/$0.40/$0.01 | 大規模利用に最も小さくコスト効率の高いモデル、高スループットスキャン |
| モデルID | 思考 | コンテキスト | 料金(入力/出力/キャッシュ) | ユースケース |
|---|
gemma-4-31b-it | ✅ | 256K | Free/Free/Free | 最大のオープンソースGemma 4デンスモデル(約31Bパラメータ)、マルチモーダルテキスト+画像、140以上の言語、オンプレミスのセキュリティ運用 |
gemma-4-26b-a4b-it | ✅ | 256K | Free/Free/Free | MoEアーキテクチャ(約26B総パラメータ/約3.8Bアクティブパラメータ)、コンシューマGPUで高効率推論、オンプレミスの高スループットスキャンに最適 |
simple_json| 変数 | デフォルト | 説明 |
|---|
BEDROCK_REGION | us-east-1 | AWS Bedrockサービスのリージョン |
BEDROCK_DEFAULT_AUTH | false | AWS SDKデフォルト認証情報チェーン(環境変数、EC2ロール、~/.aws/credentials)を使用 - 最優先 |
BEDROCK_BEARER_TOKEN | ベアラートークン認証 - 静的認証情報より優先 | |
BEDROCK_ACCESS_KEY_ID | 静的認証情報用のAWSアクセスキーID | |
BEDROCK_SECRET_ACCESS_KEY | 静的認証情報用のAWSシークレットアクセスキー | |
BEDROCK_SESSION_TOKEN | 一時認証情報用のAWSセッショントークン(オプション、静的認証情報と併用) | |
BEDROCK_SERVER_URL | カスタムBedrockエンドポイント(VPCエンドポイント、ローカルテスト) |
| モデルID | 推論 | 最大出力 | コンテキスト | 価格 (入力/出力/キャッシュ) | ユースケース |
|---|
deepseek-v4-flash* | ✅ ハイブリッド | 384K | 1M | $0.14/$0.28/$0.0028 | ユーティリティエージェント、汎用対話、高速ツール呼び出し |
deepseek-v4-pro* | ✅ ハイブリッド | 384K | 1M | $1.74/$3.48/$0.0145 | 高度な推論、複雑なロジック、セキュリティ分析 |
| エージェント役割 | デフォルトモデル | 推論 | 推論努力 | 最大出力 | 温度 | Top P |
|---|
| ジェネレーター / リファイナー | deepseek-v4-pro | 有効 | 高 | 32768 | (自動) | (自動) |
| コーダー | deepseek-v4-pro | 有効 | 高 | 20480 | (自動) | (自動) |
| プライマリエージェント / アシスタント / ペネトレーションテスター | deepseek-v4-pro | 有効 | 高 | 16384 | (自動) | (自動) |
| アドバイザー (メンター/プランナー) | deepseek-v4-pro | 有効 | 高 | 8192 | (自動) | (自動) |
| インストーラー | deepseek-v4-flash | 有効 | 高 | 12288 | (自動) | (自動) |
| リフレクター / サーチャー / エンリッチャー | deepseek-v4-flash | 無効 | — | 4096 | 0.5 | 0.9 |
| シンプル / シンプルJSON | deepseek-v4-flash | 無効 | — | 2048 | 0.3 | 0.9 |
https://api.z.ai/api/paas/v4 |
| GLM APIエンドポイントURL(国際版) |
GLM_PROVIDER | LiteLLM統合用のプロバイダープレフィックス(オプション) |