现代代码一律用 tools。LangChain 负责"工具抽象":@tool 装饰器 + BaseTool 把 Python 函数封装成模型可理解的、带 schema 和描述的工具。
get("vad_silence_duration", 0.5) # 默认全局值,但会被每个会话覆盖 MAX_SPEECH_SEC = config.
这里我必须诚实地说一个反直觉的事,因为藏着的话,这篇文章就不值得信了:
这就是 Matt 架构里最聪明的地方:把追问能力做成一个可复用的组件。你需要理解的是 grilling 引擎的设计原则(下一章),这样你才知道什么时候该调用它、什么时候该自己写追问逻辑。