Appearance
实战项目
按难度递进完成项目,先验证最小闭环,再逐步加入检索、多 Agent、评估和可观测性。
| 项目 | 目标 |
|---|---|
| 项目一:Minimal Agent | 手写一个能调用工具、支持多轮的最小 Agent |
| 项目二:Research Agent | 自动搜索、检索并输出带出处的调研结论 |
| 项目三:Multi-Agent App | 构建可评估、可追踪的多 Agent 协作应用 |
学习清单与详细参考答案
下面的清单集中记录三个项目的验收问题。项目文章负责讲实现细节,入口页负责判断是否真的做完了。
项目一:Minimal Agent
我能画出一次工具调用从模型到代码再回到模型的完整链路吗?
**参考答案:**代码先把消息和工具 schema 发给模型,模型返回工具名与参数;执行器校验参数后调用真实函数,把带
tool_call_id的结果追加为role: tool消息,再请求模型生成最终回答。模型只提出意图,代码负责权限、执行、错误和终止条件。我能用五条测试输入证明工具循环没有“逢问必调”吗?
**参考答案:**至少覆盖直接聊天、单工具、并行工具、工具报错和危险请求。比如“你好”不应调用天气工具,“北京比上海热几度”应并行查两个城市,“12 * (8 + 3)”只调用计算器,未知城市要把结构化错误交回模型,删除文件则拒绝或说明没有该工具。日志要保留期望行为和实际轨迹。
项目二:Research Agent
我能说明 Agent 为什么选择知识库、联网搜索或不检索吗?
**参考答案:**内部制度、产品说明和课程笔记优先查知识库;最新新闻、官网参数和外部资料再用联网搜索;知识库低置信或没有结果时才换来源;闲聊和纯改写不应检索。每次选择都要能从 trace 看见理由、查询、来源和停止条件。
我能让报告把结论、证据和未确认项分开吗?
**参考答案:**报告至少包含结论摘要、关键事实、来源对象和未确认项。事实后绑定稳定的证据 ID,来源保留标题、地址或文档路径、时间和片段;来源冲突时列出差异和采用依据,资料不足时明确“未找到”,不拿模型常识补洞。
项目三:Multi-Agent App
我能证明拆成多个 Agent 带来了可解释的收益吗?
**参考答案:**用同一批任务比较单 Agent 基线和多 Agent 版本,至少记录成功率、事实错误、人工修改量、成本和延迟。只有在质量、稳定性或可调试性有明确提升时才保留拆分;如果只是增加角色和 token,就退回单 Agent 或固定工作流。
我能复盘一次 Agent 交接或冲突吗?
**参考答案:**交接记录发送方、接收方、任务、结构化结果、证据 ID、未解决问题和约束;冲突记录双方基线、意图、证据、裁决规则和最终决定。文件编辑遵循单写者、patch、版本检查,不能用“最后写入者获胜”掩盖覆盖问题。
通用验收
每个项目都有最小版本、测试样本、运行日志和下一步实验吗?
**参考答案:**最小版本先跑通主链路,再加评估、tracing、成本和安全。每个项目至少保留五条覆盖正常、边界、失败、无需工具和安全场景的任务,并能从日志回答“哪里慢、哪里贵、哪里错”。加分项必须在基础版本稳定且有回退点后进入。