Skip to content

使用指南

本部分分享一下我对 Agent 使用的理解,仅代表我本人的想法,仅供参考。

从一个骗局讲起

一句话生成一个符合你期待的网站?

不久前,知乎上有一个很有意思的回答(原文链接),作者用「信息熵不可逆」这六个字,一针见血地戳破了当下 AI 叙事的最大泡沫。

信息熵不可逆,这是理解 AI 能力边界的第一性原理。在信息论中,马赛克化是一个不可逆过程——丢失的信息不会因为模型够大、参数够多就自动回来。

想象一下:你有一张高度马赛克的图片,丢给 AI 让它还原成高清。AI 当然能给你一张图——看起来很完整,细节也像模像样。但问题是,马赛克丢失的信息是不可逆的,AI 填补的那些细节,真的是你想要的吗?

写代码也是一模一样的道理。根源在于:人类大脑中的完整需求,无法被精确地提取为一段提示词。需求越复杂,提示词还要越短,信息熵就会越大,AI 补全的偏差就越不可控。所谓"一句话生成一个符合期待的网站",本质上是把信息论上不可能的事包装成了消费级产品——在 demo 里惊艳,在生产环境里崩塌。这不是 AI 的能力问题,这是信息论的物理极限。

不要试图用一段提示词一次性解决复杂问题,而是把大任务拆解成小步骤,在每一步注入人类的位置判断和决策。

具体来说:

  • 明白自己要什么:不要依赖模糊的"帮我做个 XX",而是带着清晰的目标和边界条件去指挥。
  • 分步迭代:先生成一个骨架,再逐步完善细节。每次只聚焦一个明确的子问题。
  • 用 DAG 工作流编排或固化为 Skill:将有固定 SOP 的复杂任务拆解为有向无环图,每个节点聚焦单一职责,节点间通过状态流转传递上下文。或直接固化为 Skill,在下一次执行对应的任务的时候直接调用,减少重复叙述。
  • 在关键节点人工介入:不要追求完全自动化。在需要做价值判断的地方停下来,由人类做决策,Agent 负责执行。

一句话:AI 是高效的执行者,不是神奇的需求翻译机。PurrCat 帮你做的就是——让执行的过程可控、可分步、可纠错。


如何使用 DAG 工作流引擎

DAG(有向无环图)工作流是 PurrCat 编排复杂任务的核心手段。一个复杂需求拆成多个节点,节点间通过有向边连接,形成可流转、可干预、可复用的执行流水线。

编排方式

和 Coze、Dify 等低代码平台一样——拖拽编排。在前端 UI 界面中,把节点拖到画布上,连线指定流转方向,保存即可生效。无需写任何代码。

两种编排思路

DAG 工作流支持两种完全不同的协作模式,取决于你对节点间「关联度」的判断:

思路一:编排思维链(Chain-of-Thought)

节点之间继承消息历史,前面节点的输出自动成为后面节点的上下文。适合需要连贯推理、逐步深入的任务流程。

例如:需求分析 → 架构设计 → 代码实现 → 测试验证。每一步都基于上一步的产出继续推进,像一条流水线。

思路二:编排工作流与多智能体协作架构

节点之间不继承消息历史,每个节点独立运行,拥有自己独立的上下文。适合分工明确、可以并行执行的子任务。

例如:市场调研、技术选型、UI 设计三个任务可以分配给三个独立的节点同时跑,彼此不干扰,最后汇总结果。

如何选择?

取决于节点任务之间的关联度。

  • 如果节点 B 需要知道节点 A 做了什么才能继续工作 → 选思维链模式(继承历史)
  • 如果节点 A 和节点 B 各自负责独立领域,互不依赖 → 选多智能体协作模式(不继承历史)

核心优势:解决「注意力有限」问题

还记得前面提到的「信息熵不可逆」吗?大模型的注意力窗口是有限的,提示词越长、任务越复杂,输出质量就越不可控。

DAG 工作流的破解之道很简单:把一份长长的 SOP 拆成多个节点,每个节点单独注入专属的提示词和工具箱。

  • 每个节点只聚焦一件事,提示词短而精,大模型注意力不会分散
  • 每个节点可以配置自己专属的 tool 列表,避免工具噪声
  • 每个节点可以单独调试、单独优化,出问题只修一个节点,不影响全局

这就是为什么 DAG 工作流能让 Agent 在面对复杂任务时,依然保持高质量的稳定输出。


如何使用自我进化工厂

PurrCat 内置了让 Agent 自己编写自己能力的进化机制(KernelUpgrade 工具 + src/evolve 评测流水线)。其中最有实用价值的功能是 Trace to Skill——把一次成功的执行轨迹固化为可复用的技能。

最佳实践:先跑一遍,再总结成 Skill

创建 Skill 最容易踩的坑是什么?从零开始写。

很多人的第一反应是:先想好一个 SOP 流程,写好 Prompt 模板和注意事项,再让 Agent 按这个 Skill 去执行。这样做的结果是——写的时候以为考虑周全了,实际执行时发现这里漏了异常处理、那里缺了边界判断、上下文衔接方式不对……反复修改,吃力不讨好,还极其不稳定。

反直觉但极其有效的做法是:先执行一遍,再总结。

流程如下:

  1. 直接上手干:不依赖任何 Skill,直接用自然语言指挥 Agent 完整执行一遍目标任务。
  2. 踩坑是好事:执行过程中遇到的所有报错、遗漏、歧义、边界情况,都是你总结 Skill 时的宝贵素材。Agent 只有在真实跑过一遍之后,才清楚整个流程到底有什么坑、哪里容易出错、哪些步骤需要格外注意。
  3. 成功了再总结:当一次执行完整成功、产出符合预期后,让 KernelUpgrade 的 trace_to_skill 工具把这次成功的轨迹自动固化为一份 Skill。系统会自动提取执行过程中的关键步骤、Prompt 上下文、工具调用序列和注意事项。
  4. 持续迭代:固化的 Skill 不是终点。下次遇到类似但更复杂的任务时,可以基于已有 Skill 升级迭代,逐步完善。

为什么这样更有效?

  • 经验驱动而非想象驱动:从零写的 Skill 是在「预测」问题,Trace to Skill 是在「总结」问题。前者靠猜,后者靠经验。
  • 上下文真实:Trace 记录的是真实的执行上下文、真实的输入输出、真实的报错和处理方式,远比人工臆想的 Prompt 模板可靠。
  • 坑点全覆盖:一次成功执行中走过的弯路和修复方案,都会被记录在 Skill 的注意事项中,下次复用的人(包括你自己)不会在同一个地方摔倒两次。

什么时候用 Trace to Skill?

  • ✅ 你刚完成一个复杂任务,觉得这套流程以后还会用到

  • ✅ 你发现某个操作步骤是固定的、可复现的

  • ✅ 你想把个人的工作经验沉淀为团队可复用的资产

  • ❌ 任务只有一次性的需求时,不需要固化为 Skill

  • ❌ 流程还在频繁变动、尚未稳定时,先别固化,等稳定了再说

一句话:最佳 Skill 不是写出来的,是跑出来的。


无人值守:让 Agent 在空闲时自主工作

PurrCat 支持「无人值守模式」——当你不在电脑前时,Agent 可以按照你设定的规则反复被唤醒,自主执行任务。核心机制是:Heartbeat 心跳 + GOAL.md 待办目标

实现步骤

1. 编写 GOAL.md(待办目标清单)

GOAL.md 记录你希望 Agent 在空闲时自主推进的目标与待办事项,位于 ~/.purrcat/core/GOAL.md。Agent 每次被心跳唤醒时都会读取它并尝试推进进度;文件为空时注入兜底提示「当前没有待办事项」。

可以写入的目标示例:清理沙盒临时文件、整理近期记忆、巡检项目代码、追踪资讯更新等。

2. 开启 Heartbeat 功能

activate_sensor.json 中将 system_clockenabled 设为 true。Heartbeat 会按设定的时间间隔反复唤醒 Agent。

json
{
  "system_clock": {
    "enabled": true,
    "env": {
      "CRON_FILE": ".purrcat/core/cron.json"
    },
    "capabilities": { "observe": true, "express": false }
  }
}

触发间隔建议:不要太频繁,推荐 半小时(1800 秒) 一次即可。太频繁的唤醒没有必要,反而浪费 Token。

工作流程

  1. Agent 进入空闲状态
  2. Heartbeat 触发 → Agent 被唤醒
  3. Agent 读取 GOAL.md 看看有没有待办目标
  4. 有目标 → 执行并更新 GOAL.md 进度
  5. 没目标 → 注入兜底提示「当前没有待办事项」,Agent 保持待命
  6. 执行完毕后,等待下一次 Heartbeat 唤醒

什么时候用?

  • ✅ 你想让 Agent 在夜间自动巡查项目代码,早上给你一份报告

  • ✅ 你有一批数据处理任务,不着急要结果,让 Agent 有空慢慢跑

  • ✅ 你想让 Agent 持续追踪某个领域的资讯,有更新时主动推送

  • ❌ 任务需要你实时决策或反复确认的,不适合无人值守

  • ❌ 任务涉及修改宿主机文件的(除非已在 file.json 白名单中授权)

一句话:写好 GOAL.md,打开 Heartbeat,Agent 就能在你睡觉的时候替你干活。


顺应架构逻辑,下达"工程化"指令

深刻理解系统的底层路由与工具调用机制(例如 MCP 协议与沙盒环境),能让你的指令执行效率产生质的飞跃。在下达任务时,明确执行路径远胜于模糊的诉求。

以让 Agent 接入飞书 CLI 为例:

❌ 低效指令:给自己安装飞书 CLI 工具(容易导致盲目试错或引发幻觉)

✅ 高效指令:请调用 Github MCP 工具检索飞书相关的 CLI 工具,并将其下载安装到沙盒中作为你的常驻拓展能力。

通过显式指定检索源(Github MCP)和落脚点(沙盒),Agent 的执行过程会极其精确且高效。

沉淀解题思路

你可以将这类高频的“解决思路”直接写进系统的多层备忘录中。例如,在全局的 MEMORY.md 里追加一条元规则:“当遇到能力盲区时,优先使用 Github 检索并安装合适的开源工具来拓展自身能力。”


一些应用举例

1. 多源信息聚合

每天早晨,Agent自动抓取你订阅的RSS、arXiv新论文、竞品官网更新、特定论坛帖子,按你关心的维度过滤,生成摘要简报。

2. 学术与笔记辅助

在理科课堂或阅读文献时,遇到复杂的数学公式或代码逻辑,你可以做个简单标记,随后指挥 Agent 在后台帮你整理、推导或格式化笔记。

3. 整理飞书表格、文件、信息等

许多像飞书这样的官方平台都提供了开源的 CLI(命令行工具)。由于 Agent 在其专属的隔离沙盒内拥有绝对的执行权限,它完全可以“自我武装”——直接在终端为自己安装并配置这些外部 CLI。

将这种沙盒级别的命令执行能力与特定的 Skill 结合,Agent 便能原生对接并自动化处理复杂的云端表格、文档与信息聚合任务,轻松打破应用孤岛。

4. 协助分析金融数据

接入社区的金融 Harness Engineering 的拓展工作流,可以让你的 Agent 具备较强的专业分析能力,能帮你剩下许多时间和精力。

5. 定时维护项目、监控项目健康

PurrCat 内置心跳(Heartbeat)功能,可以设定一定间隔自动醒来,调取 GOAL.md 待办目标,自动监控项目健康程度、清理垃圾、修复 TODO/FIXME,实现无人值守自主迭代。