AI Agent 工具定义与动作空间设计
工具是智能体与外部世界交互的桥梁。工具定义的质量直接影响智能体的任务完成率——定义过于宽泛导致模型选择困难,过于狭窄则限制能力边界。
工具定义的核心要素
优秀的工具定义应包含:名称(动词开头)、描述(功能与限制)、参数模式(JSON Schema)、返回格式。
python
tools = [{
"name": "search_code",
"description": "在项目中搜索代码,支持正则和文件过滤",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "搜索模式"},
"file_pattern": {"type": "string", "description": "文件过滤", "default": "*"},
"max_results": {"type": "integer", "default": 20}
},
"required": ["query"]
}
}]动作空间设计原则
- 完备性:覆盖任务所需的所有操作类型
- 正交性:不同工具功能不重叠
- 层次性:原子操作可组合为复合操作
动作空间与完成率
动作空间设计对完成率影响可达 20-30%。关键在于平衡粒度——太粗导致操作不精确,太细增加选择难度。
参数验证策略
- 类型检查:确保参数类型正确
- 范围约束:限制数值取值范围
- 路径验证:确保文件路径在允许范围内
- 格式校验:正则验证字符串格式