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