产品写完了、界面也有了,最后一篇解决"然后呢":怎么部署、怎么控制成本和安全、怎么知道自己的 Agent 越做越好,以及学完这 10 篇之后该往哪走。
一、部署:从"我电脑上能跑"到"别人也能用"
第 0 步:先把仓库收拾干净
git init && git add . && git commit -m "知了 Agent v1.0"
.gitignore 已确保 .env(密钥)、storage/(用户数据)、workspace/ 不入库。密钥永远不进 Git——历史记录里也不行,进了就当密钥已泄露,立刻吊销换新。
路线 A:Docker(推荐起点)
zhiliao/Dockerfile 已备好,三个命令的事:
docker build -t zhiliao .
docker run -p 8000:8000 --env-file .env zhiliao
Docker 的价值不在"能跑",在到处都一样能跑:你的 Windows、朋友的 Mac、云服务器、公司的 K8s,同一个镜像行为完全一致。它同时也是工具安全的前提——run_python_code 这类工具放进容器,就拥有了真正的隔离边界。
路线 B:云服务器(2 核 4G 足够)
任何云厂商的轻量服务器都行:装 Docker → 部署镜像 → 开放 8000 端口 → 建议前面再挂一层 Nginx 做 HTTPS 和限流。记住第 8 篇的红线:公网部署必须加鉴权,知了 Web 版目前没有登录系统,最简做法是在 Nginx 层加 Basic Auth。
路线 C:Serverless / 云托管(低频自用最省)
个人 Agent 的请求量往往很低,包月服务器大部分时间是空转。各大云的"容器托管/函数计算"按量计费,没请求就不花钱。取舍是冷启动(几十秒)和状态外置(storage 要挂持久盘或换数据库)。
路线 D:留在本地也不错
说句反潮流的话:个人 Agent 部署在本地常常是最优解——数据不出门、免服务器费用、无网络延迟。用 pythonw main.py 或系统计划任务把它做成开机自启的本地服务,就很产品了。
二、成本与安全:两条红线清单
成本红线:
- [ ] 知道你所用模型的大致单价(token 计费,输入输出分开算)
- [ ]
max_iterations有上限(知了默认 8) - [ ] 工具结果有截断(知了 2000 字符)——防止一个网页把你账单打爆
- [ ] 历史有滚动摘要(第 5 篇)——对话越长成本越贵的螺旋必须掐断
- [ ] 公网部署有限流——恶意刷接口 = 恶意刷你的信用卡
安全红线:
- [ ]
.env不进 Git、不进截图、不进聊天记录 - [ ] 文件工具沙箱在、联网工具 SSRF 校验在(第 4 篇的清单过一遍)
- [ ] 代码执行工具进容器再上生产
- [ ] 删除/覆盖/外发/花钱类动作过 Human-in-the-loop(第 9 篇)
- [ ] 日志里不落明文密钥(包括 .env 内容的报错栈)
三、评测:怎么知道你的 Agent 变好了?
"感觉变聪明了"不是工程语言。最小可行的评测三件套:
1. 建一个测试题集。 20-50 个真实用户会问的问题 + 期望要点。放 evals/cases.json:
[{"q": "现在几点?帮我加待办:明天交周报", "expect": ["调用时间工具", "调用todo工具", "待办内容正确"]}]
2. 每次改动后跑一遍,记录通过率。 脚本循环调用 Agent,把回答存档,人工或用另一个 LLM 打分(后者叫 LLM-as-a-judge,业界主流做法)。
3. 只看通过率不够,看工具轨迹。 答对了但绕了 8 次工具 = 也该优化。把 steps 一起存下来分析。
这套东西 100 行脚本就能搭起来,但它是你从"调 prompt 靠玄学"到"迭代有数据"的分水岭。
四、学完 10 篇,接下来去哪?
你已经拥有:核心循环、工具系统、三层记忆、RAG、技能系统、Web 产品、多 Agent 协作——一个 Agent 工程师的完整地基。下面四条路按需选:
想加深理解(读经典): - 论文 ReAct: Synergizing Reasoning and Acting in Language Models——本系列核心循环的学术源头 - 论文 Reflexion——反思机制;Toolformer——模型自学用工具的开山之作 - Anthropic 的《Building effective agents》——业界对 Agent 模式的最佳实践总结(免费网页)
想升级工程(做加法): - 给知了加流式输出(SSE)、加鉴权、加评测脚本 - 把 TF-IDF 换成 embedding + 向量检索,体会质量跃升 - 实现第 9 篇的"主管-工人",让知了学会派活
想上手框架(当心姿势):
- 先读懂框架文档里的每个概念对应你写过的哪段代码(AgentExecutor ≈ 你的 core.run;Memory ≈ 你的 memory.py……)
- 推荐 OpenAI Agents SDK 或 Pydantic AI 入手——抽象最少、最接近你裸写的东西
想做产品(最有意思): - 找一个你自己的真实痛点,把知了魔改成专用 Agent(简历助手/健身教练/家庭理财……) - 记住本系列的路径:场景 → 清单 → 模块映射 → 裸写 → 评测 → 迭代
五、最后想说的
回头看第一篇那张"四个器官"的解剖图——你现在应该能指着任何一款 Agent 产品说出它的循环在哪、工具怎么注册、记忆怎么分层了。
Agent 领域日新月异,模型每季度都在变强,但这个分层和循环的骨架是稳定的——因为它们回答的问题(上下文有限、模型无手、知识过期、成本约束)是物理性的,不随热点转移。这就是为什么本系列坚持让你裸写:框架会过时,原理不会。
去造你的第一个(或下一个)Agent 吧。遇到问题回到这三句话:
- 模型只负责决定,执行永远是你的代码。
- 所有 Agent 问题,先问上下文里到底放了什么。
- 能跑通的最小版本,胜过想清楚的完美版本。
—— 全系列完 ·