外观
如果让你手写一个 Agent,关键模块和状态机如何设计?
标准回答
Agent 的受控循环由应用程序负责:向模型提供任务与状态,取得下一步动作,校验并执行工具,记录结果,再继续或结束。Harness 在这里指承载这些执行、权限、记录和恢复能力的运行框架,不是某一种模型。
- 维护目标、步骤、工具结果和结束条件。
- 执行前校验动作,执行后更新状态,处理超时、取消与重试。
- 用状态机或图表达复杂分支,持久化关键状态并记录轨迹。
通俗例子
任务状态写着“待审批”时,模型即使要求提交也不能执行;审批通过后执行一次,记录结果,重启后从状态恢复而不是从头重复操作。
深入解释
**Harness 具体管什么:**这里指 Agent 的执行环境与控制代码:调用模型、组织工具、保存任务状态,管理权限、预算、错误与恢复。它不是另一个负责思考的模型,也不是单一固定协议。
**循环怎样停下来:**每一步检查是否已达到目标、是否需要补信息、是否耗尽预算或遇到不能执行的操作。只有检查允许才调用工具,并先记录结果,再决定是否进入下一轮。
易混淆点
框架能提供编排与持久化能力,但不会替你定义业务正确性和副作用边界。
参考资料
内容来源
- Android · AI Agent 知识手册 · 原条目
ai-Q204