Skip to content

调试与测试建议

1) 日志与事件观测

Agently 内部事件流经 EventCenter,常用调试开关:

python
agent.settings.set("runtime.show_model_logs", True)
agent.settings.set("runtime.show_tool_logs", True)
agent.settings.set("runtime.show_trigger_flow_logs", True)

2) 插件链路自检

建议按顺序逐步替换插件,减少定位难度:

  1. 先替换 PromptGenerator
  2. 再替换 ResponseParser
  3. 最后替换 ModelRequester

3) ResponseParser 的死锁/阻塞规避

  • 避免在流式未结束时调用 get_text() / async_get_text()
  • 保证 done 事件一定会发出,避免生成器悬挂

4) 结构化输出失败排查

  • 确认 PromptGenerator 的输出 schema 是否真实可执行
  • 在 ResponseParser 中对原始输出做记录(log 原始数据)
  • 尝试关闭 streaming parse 验证解析器逻辑

5) Session 与扩展联动

当你使用 SessionExtension 时,set_chat_history/add_chat_history 会被代理到 Session。 若你自定义 Session 插件,需要保证:

  • full_chat_history/current_chat_history/memo 的基本字段存在
  • resizeappend_message 行为一致

6) 最小化测试模板

python
from agently import Agently

agent = Agently.create_agent()

# 1) 单次文本
print(agent.input("hello").get_text())

# 2) 流式
for event, content in agent.input("stream").get_generator(type="specific"):
    if event == "delta":
        print(content, end="", flush=True)

7) 失败兜底策略

  • 插件抛错时,允许返回空结构,但必须保持类型正确
  • 对复杂解析失败,可回退到 text_result 以保底