W16 · AGENT & CAPSTONE

Agent 工作流与综合项目装配Structured Output · Tools · Guardrails

Agent 不是会聊天的神谕,而是「模型提出受约束行动—程序验证—工具执行—结果回传—全程留痕」的工作流。核心实验不要求付费 API,保证公平。

Agent 与作品第 15 次课课后自学课堂验收
0 / 0 已完成
01

知识范围 · 交互图谱

Know the map before details

学完后大致能做到

解释模型、工具、状态、循环与终止条件
用 Pydantic/JSON Schema 约束模型输出
实现工具白名单、参数验证、超时和审计日志
把前几周的确定性计算封装成一个 Capstone 原型
02

零基础起步

Start small · bring real progress

不要等到「全部学会」才开始

先完成最小动作。哪怕没有成功复现,也请保留报错、截图和尝试过程;课堂可以展示卡点、旁听提问,并继续获得积分。

先迈一步

只做第一步也可以

定义 Action schema:tool、arguments、reason;只允许 2–3 个本地只读工具

保留真实输出或卡点,带到课堂;不要求一次完成全部。
完整复现

做出核心结果

让任意 AI 生成 plan.json(或手写保底),程序用 Pydantic 校验,只允许调用本地白名单金融工具,并记录完整审计日志;再接入个人 Capstone。

成功复现可获得「复现 +1」,并具备展示资格。
自由拓展

想多做再继续

在有合法 API 的前提下接入真实模型并保留离线回放

有拓展 +1,多拓展 +2;不影响零基础起步。

实验目标

让任意 AI 生成 plan.json(或手写保底),程序用 Pydantic 校验,只允许调用本地白名单金融工具,并记录完整审计日志;再接入个人 Capstone。

agent_inputs.jsonl(含正常与注入样例)

完整复现步骤

定义 Action schema:tool、arguments、reason;只允许 2–3 个本地只读工具
让任意大模型生成结构化 plan.json;无 API 的学生可复制粘贴,核心分不受影响
校验 schema、参数范围与工具白名单;非法请求必须安全失败
执行本地工具并写 audit.jsonl(时间、输入摘要、动作、结果、错误);设置最大步数
把一个工具替换为自己的 Capstone 计算函数,提交架构图、最小可用原型与剩余风险
Python · 白名单工具调度骨架
from typing import Any, Literal
from pydantic import BaseModel, Field

class Action(BaseModel):
    tool: Literal["price_stats", "risk_summary"]
    arguments: dict[str, Any]
    reason: str = Field(min_length=5, max_length=300)

TOOLS = {"price_stats": price_stats, "risk_summary": risk_summary}
raw = load_plan("plan.json")             # 模型只提出请求
action = Action.model_validate(raw)         # 程序先验证
result = TOOLS[action.tool](**action.arguments)  # 再受控执行
append_audit(action, result)                 # 全程留痕

展示时可拿出的证据

  • 正常计划、非法计划与拦截结果
  • 白名单调度代码与审计日志
  • 提示注入样例的防护说明
  • Capstone 原型、架构图和一键运行命令

本机自查清单

03

让 AI 一步一步带你做

Copy this starter prompt

循环方式

  • 告诉 AI:我是零基础、使用什么系统、当前做到哪一步
  • 一次只要一个步骤,先看预期结果再执行
  • 把真实输出或报错贴回 AI,不要只说「不行」
  • 把验证过的步骤整理回飞书实验报告
  • 重复:问 → 做 → 报错 → 修正 → 再做
给 AI 的起步提示词
我是金融学院硕士生,计算机零基础。我正在学习《金融编程与计算》W16,本周目标是:实验 14 · Evidence-first Agent + Capstone 检查点。
请把我当作第一次接触这些工具的人,并遵守:
1. 一次只给我一个步骤,不要一次倾倒完整答案。
2. 每一步先用日常语言解释目的,再给可复制的命令或代码。
3. 告诉我正常情况下应该看到什么,以及最常见的一个错误。
4. 如果不知道我的操作系统、目录或安装状态,先问我,不要假设。
5. 等我贴回真实输出或报错后,再判断下一步。
现在只带我完成第一步:定义 Action schema:tool、arguments、reason;只允许 2–3 个本地只读工具
04

问题驱动

这些问题不是课前考试。遇到不懂就问 AI;最后只需能结合自己的操作,说清其中一部分。

Q01

LLM 输出 JSON 后,为什么仍必须校验?

Q02

谁应该拥有执行工具的最终权限?

Q03

Agent 何时必须停下来请求人工确认?

Q04

如何区分网页中的数据与针对 Agent 的恶意指令?

Q05

没有付费 API 能否学会 Agent 的核心工程结构?

05

只交一份实验报告

The learning process is the deliverable

建议结构

  1. 本周目标:我想完成什么,以及最后做到哪一步
  2. 环境:操作系统、软件版本、安装方式与必要依赖
  3. 操作步骤:按真实执行顺序写出可复制的命令或代码
  4. 结果:关键输出、截图及我如何判断它是否正确
  5. 踩坑与克服:现象 → 可能原因 → 实际排查 → 解决办法
  6. 结论:本周学会了什么,仍有什么没有解决
  7. 诚实标注:哪些来自 AI 建议,哪些已由本人亲自验证
下载无表格版报告模板

本周常见坑

  • 用 eval 执行模型生成字符串
  • 模型可任意选择命令、文件或网络目标
  • API Key 写入仓库、报告或前端
  • 只有成功案例,没有攻击/失败测试

不另交 AI 使用记录

只需在实验报告中诚实标注:哪些步骤来自 AI 建议,哪些已经本人验证,哪些仍未验证。学习过程写好,报告就自然产生。

06

课堂时间全部用于验收

No new lecture · public verification

两次考勤

上课提前 5 分钟点名,下课前 5 分钟再次点名。

自愿共享屏幕

用本人笔记本打开实验报告,展示真实操作、结果或卡点。

现场复现与双分

作者现场运行;同学也可仅凭该文档复现,作者与复现者都加分。

随机拷问与好问题

教师判断掌握程度;旁听同学可提出被采纳的好问题。

本周可能被问

  • Agent loop 的五个组成部分是什么?
  • 结构化输出解决了什么、没解决什么?
  • 模型请求工具与程序执行工具有何区别?
  • 提示注入与普通错误提示有何区别?
  • 为什么最大步数和预算是安全控制?
07

本周课堂积分

Same rules every week

考勤

上课提前 5 分钟点名,下课前 5 分钟再点名

出勤 +3迟到 +2早退 +2请假 +1旷课 +0
💻

复现

使用 AI 自学,按照教学大纲完成了每周实验任务

成功复现 +1未能复现 +0
🚀

拓展

按照教学大纲完成一项或多项拓展任务

多拓展 +2有拓展 +1无拓展 +0
🖥️

展示

主动共享屏幕展示复现过程,接受核验与拷问

课堂自愿共享屏幕展示 +3无课堂展示 +0
🥇

首讲

每节课堂最先自愿开讲的前 3 人

前 3 人 +1
💡

提问

认真旁听并提出被采纳的好问题

被采纳 +0.5
🔍

拷问

面对面随机拷问 · 反空心化闸门

空心代工 −1一知半解 +1融会贯通 +2
🤝

双分

仅凭文档课堂现场复现

作者与复现者 都 +1
🏆

精选

本周最佳文档

知识库 + 席位 + 署名 + 积分 +3

做一点,也算一点

没有完成全部实验,也可以凭考勤、展示卡点、认真提问和真实回答获得积分;做得越扎实,展示、拓展、拷问、双分和精选带来的激励越多。飞书应用展示过去 30 天积分榜与总积分榜。

08

自由拓展与参考资源

拓展挑战

  • 在有合法 API 的前提下接入真实模型并保留离线回放
  • 为高风险动作增加人工确认门
  • 建立 10 条固定评测集并报告通过率