Agent 配置详解 - OpenCLAW 高级配置指南
title: Agent 配置详解 - OpenCLAW 高级配置指南 tags: [agent, 配置]
Agent 配置详解 - OpenCLAW 高级配置指南
本文深入讲解 OpenCLAW Agent 的各项配置选项,帮助你打造个性化的 AI 智能体。
配置文件结构概览
OpenCLAW Agent 使用 YAML 格式的配置文件,基本结构如下:
# ===== 基本信息 =====
name: agent-name
description: Agent 描述
version: 1.0.0
# ===== 模型配置 =====
model:
provider: openai
model: gpt-4
temperature: 0.7
max_tokens: 2000
api_key: ${ENV_VAR}
# ===== 系统提示词 =====
system_prompt: |
你的详细提示词...
# ===== 技能配置 =====
skills:
- name: skill-name
enabled: true
config:
key: value
# ===== 内存配置 =====
memory:
type: filesystem
path: ./memory
# ===== 安全设置 =====
security:
allowed_domains: []
blocked_commands: []
# ===== 高级选项 =====
advanced:
timeout: 60
retries: 3
模型配置详解
Provider 配置
OpenCLAW 支持多种 LLM 提供商:
model:
# OpenAI
provider: openai
model: gpt-4
api_key: ${OPENAI_API_KEY}
# Anthropic Claude
provider: anthropic
model: claude-3-opus-20240229
api_key: ${ANTHROPIC_API_KEY}
# 本地模型
provider: local
model: llama2
endpoint: http://localhost:11434/api/generate
# Azure OpenAI
provider: azure-openai
model: gpt-4
api_key: ${AZURE_OPENAI_KEY}
endpoint: https://your-resource.openai.azure.com/
api_version: "2024-02-01"
模型参数调优
| 参数 | 说明 | 推荐值 |
|---|---|---|
| temperature | 创造性程度 (0-2) | 0.7 (通用), 0.2 (精确), 1.0 (创意) |
| max_tokens | 最大输出 token 数 | 2000-4000 |
| top_p | 核采样 | 0.9 |
| presence_penalty | 重复惩罚 | 0-1 |
| frequency_penalty | 频率惩罚 | 0-1 |
model:
# 精确任务配置
temperature: 0.2
max_tokens: 1000
top_p: 0.8
# 创意任务配置
# temperature: 1.0
# max_tokens: 3000
# top_p: 0.95
系统提示词配置
基本结构
system_prompt: |
你是一个 [角色描述]。
你的主要职责:
1. [职责1]
2. [职责2]
3. [职责3]
回答风格:
- [风格要求1]
- [风格要求2]
限制:
- [限制1]
- [限制2]
高级提示词技巧
1. 分步指令
system_prompt: |
你是一个专业的代码审查员。请按以下步骤工作:
步骤1:理解代码功能
- 阅读代码,理解其主要功能
- 识别代码的核心逻辑
步骤2:发现问题
- 检查潜在的 bug
- 识别性能问题
- 检查安全漏洞
步骤3:提供建议
- 按严重程度排序问题
- 提供具体的修复建议
2. Few-shot 示例
system_prompt: |
你是一个情感分析助手。分析文本的情感倾向。
示例:
输入:"今天天气真好,心情很开心"
输出:正面情感,置信度 0.95
输入:"这个产品太差了,非常失望"
输出:负面情感,置信度 0.92
输入:"明天要开会"
输出:中性情感,置信度 0.80
3. 思维链引导
system_prompt: |
你在回答问题时应遵循思维链:
1. 首先理解问题的核心是什么
2. 然后分析问题的各个组成部分
3. 接着推理可能的答案
4. 最后整合给出完整答案
在回答复杂问题时,展示你的思考过程。
技能配置详解
内置技能
skills:
# 文件操作
- name: file-operations
enabled: true
permissions:
- read
- write
- list
allowed_paths:
- ./workspace
- ./data
# 浏览器控制
- name: browser-control
enabled: true
permissions:
- navigate
- click
- type
- screenshot
timeout: 30
# 代码执行
- name: code-executor
enabled: true
language: python
timeout: 60
allowed_packages:
- requests
- beautifulsoup4
自定义技能
skills:
# 调用外部 API
- name: weather-api
type: http
config:
base_url: https://api.weather.com
endpoints:
current: /v1/current
forecast: /v1/forecast
headers:
X-API-Key: ${WEATHER_API_KEY}
timeout: 10
# 数据库操作
- name: database
type: sql
config:
driver: postgresql
host: localhost
port: 5432
database: myapp
credentials: ${DB_CREDENTIALS}
内存配置
内存类型选择
# 简单文件存储
memory:
type: filesystem
path: ./agents/my-agent/memory
max_history: 100
# Redis 缓存
memory:
type: redis
host: localhost
port: 6379
db: 0
key_prefix: agent_
ttl: 86400 # 24小时
# 数据库存储
memory:
type: database
driver: postgresql
connection_string: ${DATABASE_URL}
table_name: agent_memory
高级内存选项
memory:
type: filesystem
path: ./memory
# 对话摘要
summary:
enabled: true
interval: 10 # 每10轮总结一次
max_length: 500
# 向量存储(语义搜索)
vector:
enabled: true
provider: chroma
collection: agent_memory
dimension: 1536
# 长期记忆
long_term:
enabled: true
path: ./memory/long_term
extract_topics:
- user_preferences
- important_facts
- learned_patterns
安全设置
访问控制
security:
# 域名限制
allowed_domains:
- example.com
- api.example.com
# IP 白名单
allowed_ips:
- 127.0.0.1
- 10.0.0.0/8
# 命令黑名单
blocked_commands:
- rm -rf /
- format
- del /s /q
# 速率限制
rate_limit:
requests_per_minute: 60
requests_per_hour: 1000
敏感数据处理
security:
# 敏感信息过滤
filter_sensitive:
enabled: true
patterns:
- '\b\d{16}\b' # 信用卡号
- '\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b' # Email
- 'api[_-]?key["\']?\s*[:=]\s*["\']?[A-Za-z0-9-_]+' # API Key
# 日志脱敏
log_masking:
enabled: true
mask_patterns:
- password
- token
- secret
高级配置选项
并发与超时
advanced:
# 执行超时
timeout: 60
timeout_message: "抱歉,任务执行超时了"
# 重试配置
retries:
enabled: true
max_attempts: 3
backoff: exponential
initial_delay: 1 # 秒
max_delay: 30
# 并发限制
concurrency:
max_parallel: 5
queue_size: 100
调试与日志
advanced:
# 调试模式
debug:
enabled: true
log_level: debug
log_file: ./logs/agent.log
# 请求追踪
tracing:
enabled: true
provider: jaeger
endpoint: http://localhost:14268/api/traces
# 性能监控
metrics:
enabled: true
prometheus:
enabled: true
port: 9090
环境变量使用
推荐使用环境变量存储敏感信息:
model:
api_key: ${OPENAI_API_KEY}
security:
filter_sensitive:
patterns:
- ${CUSTOM_PATTERN}
skills:
- name: weather-api
config:
api_key: ${WEATHER_API_KEY}
创建 .env 文件:
# .env
OPENAI_API_KEY=sk-xxxxx
ANTHROPIC_API_KEY=sk-ant-xxxxx
WEATHER_API_KEY=abc123
DATABASE_URL=postgresql://user:pass@localhost/db
配置验证
使用命令行验证配置:
# 验证配置文件
openclaw agent validate agent.yaml
# 测试配置加载
openclaw agent config-test my-agent
# 查看配置解析结果
openclaw agent inspect my-agent
小结
本文详细介绍了 OpenCLAW Agent 的各项配置选项:
- 模型配置 - 支持多种 LLM 提供商和参数调优
- 系统提示词 - 多种高级技巧提升 Agent 表现
- 技能配置 - 内置和自定义技能扩展能力
- 内存配置 - 短期、长期、向量多种存储方式
- 安全设置 - 访问控制、数据过滤保护
- 高级选项 - 超时、重试、调试、监控
更多内容: - Agent 提示词技巧 - 提升 Agent 智能表现 - Agent 内存管理 - 打造有记忆的 Agent