multi-tool-task-agent
核对日期:2026-05-18
源码:../../src/projects/multi-tool-task-agent.ts
官方资料:Agents https://docs.langchain.com/oss/javascript/langchain/agents;Human-in-the-loop https://docs.langchain.com/oss/javascript/langchain/human-in-the-loop;Middleware https://docs.langchain.com/oss/javascript/langchain/middleware。
目标
实现一个多工具任务 Agent,覆盖多工具编排、动态工具暴露、Human-in-the-loop 审批、工具失败重试和审计日志。
为什么这样设计
- 普通员工只暴露低风险工具,manager 才暴露工单和外发工具。
- 外发报告必须有审批 token,避免 Agent 直接执行高风险动作。
- transient 工具失败只重试一次,避免无限重试。
- 每个工具调用写 audit log,便于回放和排查。
运行
cd /Users/luhanguo/Desktop/AI/LangChain学习手册
npm run projects:eval
npm test
验收标准
| 能力 | 通过标准 |
|---|---|
| 动态工具 | employee 请求建工单时不会调用 create_ticket |
| HITL | 无审批时 send_external_report 失败并标记 pending |
| 审批通过 | 有审批 token 时外发工具成功 |
| 审计 | 工具调用都写入 audit log |
后续接真实 LangChain
将工具定义迁移到官方 tool API,将审批状态放入可恢复存储,复杂流程迁移到 LangGraph。