我没自己从头敲代码。我的做法是先把需求边界想清楚,再交给 Doubao-Seed-Evolving 实现——监控谁、怎么算异常、出事往哪发通知,这三件事必须由人定,模型只是按边界施工。
下面这段是我发给它的完整提示词(已精简,原意一字未改):
帮我写一个 Python 监控脚本 monitor.py(用 requests,Py3.10+ 可直接运行,带中文注释):
1. 读同目录 targets.json(JSON 数组),每项含 name、url、timeout(秒)。
2. 逐个发 HTTP GET,记录:是否可达、状态码、响应耗时。
3. 异常判定(任一即异常):不可达 / 状态码>=400 / 耗时>timeout。
4. 异常且配了飞书时,发 markdown 告警,正文须含"告警"二字(过关键词校验),含名称、URL、错误原因、时间;未配则跳过只打印。
飞书地址优先读 config.json 的 feishu_webhook,缺失则只打印控制台日志。
5. 正常/异常都打印一行带时间戳的日志。
6. 末尾附运行示例,并说明:需同目录 config.json(含 feishu_webhook)和 targets.json。
它返回的不是一个片段,而是一个完整可运行的 monitor.py。拆开看,这次 Doubao-Seed-Evolving 在 coding 上的表现有几个值得说的点(不吹,就事论事):
- 整条链路一次写齐,没有缺环。 配置读取、HTTP 探测、异常判定、飞书告警、控制台日志、退出码,六件事在一个文件里闭环,不是写完
requests.get 就交差的「框架 Demo」。 - 异常分支覆盖得全。 它把网络请求会出的几种失败类型分开了:
Timeout(超时)、ConnectionError(连不上)、通用 RequestException(其他)。这说明它理解真实网络环境里有多种挂法,而不是只写 happy path。 - 配置和代码分离。 监控目标放
targets.json、飞书地址放 config.json,脚本本身不写死任何业务数据。 - 工程化意识在线。 函数带类型注解、带中文注释,末尾还附了运行示例和 crontab 定时样例。
AI 负责把第一版造出来,人负责判断它造得对不对、值不值得留。