Skip to content

Latest commit

 

History

History
170 lines (132 loc) · 3.83 KB

File metadata and controls

170 lines (132 loc) · 3.83 KB

工具输出隐藏功能实现

功能概述

已经成功实现工具输出隐藏功能,现在你可以控制 Python Agent 是否显示工具执行的详细输出,让界面更加简洁。

配置选项

新增的配置参数

# 输出控制设置
show_tool_output: false        # 控制是否显示工具输出详情
tool_output_style: "hidden"    # hidden, summary, full
show_tool_execution: true      # 是否显示工具执行状态

配置组合效果

show_tool_output tool_output_style show_tool_execution 效果
false "hidden" true 显示工具执行,隐藏输出详情(推荐)
false "hidden" false 完全静默,不显示任何工具信息
true "summary" true 显示工具执行和输出摘要(200字符)
true "full" true 显示完整的工具执行和输出详情

使用方式

1. 配置文件方式

创建配置文件 agent_config.yaml

# 隐藏工具输出(推荐设置)
workspace_path: "."
mode: "act"
show_tool_output: false
tool_output_style: "hidden"
show_tool_execution: true
log_level: "INFO"

使用配置:

python -m python_agent --config agent_config.yaml

2. 代码方式

from python_agent.core.config import AgentConfig
from python_agent.agent import Agent

# 创建隐藏输出的配置
config = AgentConfig(
    show_tool_output=False,
    tool_output_style="hidden",
    show_tool_execution=True
)

agent = Agent(config)

输出对比

隐藏输出模式(推荐)

{
  "type": "tool_result",
  "name": "bash", 
  "success": true,
  "timestamp": "2025-01-07T10:30:00"
}

完整输出模式

{
  "type": "tool_result",
  "name": "bash",
  "success": true,
  "output": "很长很长的工具输出详情...",
  "timestamp": "2025-01-07T10:30:00"
}

摘要输出模式

{
  "type": "tool_result",
  "name": "bash",
  "success": true,
  "output": "工具输出的前200个字符...",
  "timestamp": "2025-01-07T10:30:00"
}

预设配置文件

已创建 4 个预设配置文件供选择:

  1. agent_config_hidden.yaml - 隐藏输出(推荐日常使用)
  2. agent_config_summary.yaml - 摘要输出
  3. agent_config_full.yaml - 完整输出(调试时使用)
  4. agent_config_silent.yaml - 完全静默

技术实现

配置系统更新

  • AgentConfig 类中添加了 3 个新参数
  • 更新了配置文件加载和保存逻辑
  • 支持 YAML 和 JSON 配置格式

Agent 输出逻辑修改

  • 修改了 _execute_tool 方法中的结果输出逻辑
  • 根据配置动态决定是否包含 outputerrorinput 字段
  • 保持工具执行状态的显示(成功/失败)

输出格式化

  • 支持三种输出风格:隐藏、摘要、完整
  • 摘要模式自动截断长输出到 200 字符
  • 错误信息根据配置决定是否显示

使用建议

日常使用(推荐)

show_tool_output: false
tool_output_style: "hidden"
show_tool_execution: true
  • 界面简洁,只显示工具执行状态
  • 不会显示冗长的工具输出
  • 仍然可以看到工具是否成功执行

调试模式

show_tool_output: true
tool_output_style: "full"
show_tool_execution: true
  • 显示完整的工具输出
  • 便于调试和问题排查

完全静默

show_tool_output: false
tool_output_style: "hidden"
show_tool_execution: false
  • 最简洁的模式
  • 只显示 AI 的对话内容

验证测试

运行测试脚本验证功能:

python test_hidden_output.py

测试覆盖:

  • ✅ 配置选项测试
  • ✅ 输出格式化测试
  • ✅ 样例配置文件生成
  • ✅ 不同模式效果演示

现在你可以享受更简洁的 Agent 交互体验,不再被冗长的工具输出干扰!