我如何教会我的代理人我的设计品味

发布: (2026年1月5日 GMT+8 08:15)
11 min read
原文: Dev.to

Source: Dev.to – How I taught my agent my design taste

为什么我这么做

我的目标不是 “外包” 我的创造力。我想把 Genuary 当作一个沙盒,学习 agentic‑engineering 工作流,它们正迅速成为开发者使用 AI 增强工具的标准方式。

为了解保持技能的敏锐,我使用 goose 在短时间、每日的实验中尝试这些工作流。

  • 让 goose 负责执行,我可以并行测试不同的架构。
  • 通过实验,我能够看出 agentic 工作流的哪些部分真的有价值,哪些可以舍弃。
  • 我花了几小时搭建基础设施,为自己争取了整整一个月的工作流数据。

💡 Skills – 可重用的指令和资源集合,教会 goose 执行特定任务。
查看文档:

灵感来源

我必须向我的朋友 Andrew Zigler 致以巨大的赞誉。我看到他在 Genuary 中表现出色,于是联系他想了解他的做法。他分享了自己的作品,并提到自己使用了一个 “harness”。

我整整一个十二月都听说过这个词,却实际上不知道它的含义。Andrew 解释道:

harness 只不过是你为模型构建的工具箱。它是一组确定性的脚本,用来包装 LLM,使其能够可靠地与你的环境交互。

他曾用这种方法解决了另一个挑战——构建一个能够 迭代、提交并自行验证 的系统。思路是先花时间提前定义规范和约束,然后交由系统执行。只要拥有带有良好日志记录的确定性工具,代理就会循环运行,直至达成目标。

我平时的做法非常基础且依赖大量提示,但因为 Andrew 取得了出色的结果,我愿意尝试这种方法。

Harness 与 Skills

受那次对话的启发,我构建了 两个相同工作流的版本,以观察它们如何处理每日 Genuary 提示。

方法位置描述
1. Harness + Recipe/genuary一个 Shell 脚本充当 harness,处理脚手架工作(文件夹创建、呈现每日提示),让代理无需猜测去哪里。该配方约 300 行,完全自包含。
2. Skills + Recipe/genuary-skills由于将 “如何做” 委托给 skill,配方更简洁。skill 包含设计哲学、参考资料和示例,使代理能够从一个捆绑包中 “发现” 指令,而不是从平面脚本中读取。

我用一次专注的会话构建了整个系统:

  • 配方(Recipes) – 逐步指令,用于生成每日 Genuary 的输出。
  • 技能(Skills) – 可复用的知识捆绑,封装设计哲学、参考材料和示例代码片段。
  • Harness 脚本、模板和 GitHub Actions – 自动化创建文件夹结构、注入提示、运行配方/技能并提交结果。

(所有这些都在我十二月假期的安静时光里完成,当时我的一岁宝宝正睡在我的腿上。)

短期的投入换来了长期的杠杆:从那以后,系统就能自动完成每日工作。

关于品味

自动化过程很顺畅,但当我检查输出时,发现所有内容看起来 异常相似

这让我想到一个常见的讨论:你无法教会一个代理“品味”。以下是我个人培养品味的方式:

  • 观察什么是酷的并模仿它。
  • 知道哪些东西被过度使用,因为你已经见得太多。
  • 关注拥有“好品味”的人并吸收他们的模式。

我向 Goose 询问了这个问题:

“我注意到它总是画三文鱼色的圆圈……我们说要 创意 ……有什么办法让它跳出框框思考吗?”

Salmon‑colored circles – a common AI‑generated cliché

Goose 回答说,它遵循了一个 p5.js 模板,其中包含 fill(255, 100, 100)(三文鱼色!)的数值以及一个椭圆示例。由于大型语言模型在具体示例上锚定较重,代理更多地遵循了代码而不是我的“创意”指令。

我把模板中的三文鱼圆圈删掉了,然后进一步操作:我询问如何 彻底禁止常见的 AI 生成陈词滥调。Goose 搜索了讨论,提取了示例,并生成了一份列出那些让人一眼就能辨认出是 AI 生成的模式的禁用清单。

禁用陈词滥调

类别禁用模式
配色违规三文鱼色或珊瑚粉、青绿色 & 橙色组合、紫‑粉‑蓝渐变。
构图违规单一居中形状、完美对称且没有变化、通用螺旋。
黄金规则如果看起来像是 AI 生成的输出,就 不要 使用它。

鼓励的模式

类别鼓励的模式
颜色胜出使用 HSB 模式并伴随色相漂移、互补配色、随时间演变的渐变。
构图胜出具备涌现行为的粒子系统、带有透明度的层次深度、数百个相互作用的元素。

要点

*您可以自动化生成创意代码的过程,但仍然需要人工来定义和策划审美的“品味”。通过将确定性的工具(或精心打造的技能)与深思熟虑的约束相结合,您可以让代理拥有探索的自由,同时防止其陷入陈词滥调。

运动获胜

基于噪声的流场、群聚/蜂群、自然生长模式、带有变化的呼吸。

灵感来源

  • 自然现象:星群的聚集、萤火虫、极光、烟雾、水流。

黄金法则

如果它能点燃你的喜悦并且有人想要分享它,你就在正确的轨道上。

注意: Goose 通过模式识别确定了这份列表。所以也许代理可以使用模式来反映我的品味——不是因为它们理解美,而是因为我在明确地教它们我个人会产生反应的东西。

我向 Andrew 展示了我三天里最喜欢的作品:蝴蝶按斐波那契序列排列。

Butterflies arranged in a Fibonacci spiral

他的回应令人欣慰:

“WOW 那是一个令人惊叹的斐波那契… 我真的很想知道你的审美提示。我的倾向更偏向像素艺术和数学色彩操控,因为我已经把它训练成那样… 我喜欢你的作品更柔和,尝试不让它看起来像是电脑生成的… 像手机壁纸一样实在,哈哈。你是怎么在蝴蝶上得到那种酷炫的细线条艺术的?看起来像是基底图像。太酷了。是画的 SVG 吗?那些线条是从哪来的?”

因为我特意让 Goose 查看 “自然现象”“有机生长”,它为翅膀使用了 Bézier 曲线,根据螺旋位置偏移颜色以营造深度,并采用了暖琥珀到蓝色的渐变,而不是刺眼的黑色。

可扩展的视觉反馈循环

两个工作流都使用 Chrome DevTools MCP 服务器,因此 Goose 能够看到输出并进行迭代。这导致了一个冲突:多个实例无法共享同一个 Chrome 配置文件。我不想增加手动步骤,于是询问代理是否可以并行运行 Chrome DevTools。解决方案是为每个实例分配独立的 user‑data 目录

# genuary recipe example
- type: stdio
  name: Chrome Dev Tools
  cmd: npx
  args:
    - -y
    - chrome-devtools-mcp@latest
    - --userDataDir
    - /tmp/genuary-harness-chrome-profile

进入全屏模式
退出全屏模式

我学到的

我自动化了执行,以便研究品味、约束设计和反馈循环。

方法特点
基于 Harness 的工作流更可靠且高效;产生可预测的结果;忠实执行指令并优化一致性。
基于技能的方法更混乱;出现更多意外;产生更陌生的关联;需要更多编辑干预;感觉更像合作而非流水线。

这让我再次确认,“AI 与人类”的框架过于简化。自动化能够很好地处理重复性和速度,但品味仍然体现在设定约束、策展以及决定哪些事情绝不应发生上。我最终 没有对品味进行自动化;相反,系统把我的偏好表达得足够清晰,以便反馈给我。

查看代码

代码和完整的文字记录位于我的 Genuary 2026 仓库。每一天的文件夹包含完整的对话历史,包括提案、迭代以及我与代理之间的来回交流。你也可以在 Genuary 2026 网站 查看这些作品。

Back to Blog

相关文章

阅读更多 »

从零开始构建 Agent 技能

Agent Skills – 它们的工作原理及集成方式 在 GitHub 上查看完整实现:https://github.com/onlyoneaman/agent-skills

FunctionGemma 微调指南

markdown 2026年1月16日 在 Agentic AI 的世界中,调用工具的能力将自然语言转换为可执行的软件操作。上个月我们发布了……