Skip to main content

你将完成什么

创建一个资料整理项目,调用工具提取两条合成资料的标题和词数,通过 Session 执行,再用 qita 查看记录。你只需 Python 基础,不需要模型凭据或 Docker;这里的 fake provider 是显式脚本替身。

准备项目

将下方完整文件保存到当前目录。无需 clone 仓库、安装 editable 包或复制 tests。

资料与工具

NOTES 是全部输入。装饰器把普通 Python 函数变成可注册工具;这个函数只读取内存。返回字典是真实工具结果,随后会被断言验证。

明确的 fake provider

这个 provider 按固定顺序返回两次工具调用和一次结束回答,没有真实模型推理。它让你先观察框架的工具往返;更换真实模型见配置章节。

配置与组合

把本页完整文件保存到刚生成的 notes_agent/ 根目录,并替换 agent.yaml。配置选择 SQLite 和 journal;程序只注册受信任的纯函数。unsafe_host 不提供隔离,不要在此配置加入文件或 shell 工具。

运行与断言

with 负责资源关闭;composition.session 创建 Session,run 返回 EngineResult。检查实际工具输出,再检查最终文字。筛选工具名是因为记录还包含环境观察。

运行并验证

预期出现以下输出片段(随机 ID 不固定)。每次运行都检查工具结果或持久化断言,成功退出码为 0。

检查保存的 Session

行为与支持边界

工具的实际输出与 provider 的回答分开验证。build_agent_composition 组合配置,composition.session 创建 Session,session.run 返回 EngineResult;with 退出时关闭所拥有的资源。

练习与参考答案

把第一条标题改为 Recovery,同时更新标题断言和 fake provider 的固定回答;词数仍由工具计算。

常见错误与清理

ModuleNotFoundError:确认已激活安装指定 wheel/源码版本的环境,并保存本页所有文件。root 已存在:换一个新 --root,不要覆盖需要保留的证据。断言失败:检查第一个失败的工具或 typed error;不要只依赖最终文字。退出所有进程、停止 board 后,可自行删除本章新建且不再需要的运行目录;保留要调试的 SQLite、journal 和报告。

完整文件:复制到项目根目录

notes.py
agent.yaml

下一步与 API

API Reference · Configuration · Learning path · Next Source file (可选;全部所需代码已在本页)