ZHANG.LOG

个人实践记录 / 2026

用 Agent,将想法变成现实。

记录我用 Agent 将问题推进到可用产品的过程。这里呈现项目、方法与验证记录,而不只是最后的结果。

Agent 工作流快速原型过程记录
01想法
02Agent
03现实

让 Agent 参与,而不是代替判断

不让 Agent 盲目施工,而是共同协商编写开发文档,包括需求分析、设计功能模块、任务拆解、工具配置和验收标准等,走一套 “适合 Agent 的软件工程开发流程”,最终形成一版系统架构清晰、正文内容完整、细节完善的可供 Agent 开发参考又可供人工审查的双向文档。

精选作品

我的实践

Vue 3Element PlusVite

SpringAiMall:双前端工程化与 AI 客服

编程

2026-10-05 / 9 分钟阅读全文
SpringAiMall:双前端工程化与 AI 客服
01

四千万条微博:情感、转发图与实时回放

PySpark / Python / 大数据 / 数据可视化

2026-10-27
02

考公笔记本

JavaScript / Supabase / Tailwind CSS

2026-10-18
03

张的个人网站

Next.js / TypeScript / MDX

2026-08-29

我的 Agent 使用方式

我的 Agents

我个人的一些 Agent 使用经验。

Agent 特别篇:养一只 OpenClaw

我的 OpenClaw

从项目搭建到多 Agent 工作流,记录一个个人 AI 系统持续演进的过程。

OpenClaw / 内容导航
01OpenClaw 蓝图
02结构介绍
03快速开始
04我的配置
05使用经验
06使用场景
07管理维护

全局配置

我的全局编码规范AGENTS.md(CLAUDE.md)

参考:Andrej Karpathy 的 LLM 编码陷阱总结

编码规则参考于 Andrej Karpathy 关于 LLM 编码陷阱的总结,主要解决错误假设、隐藏困惑、缺少权衡、过度复杂等 LLM 编码问题。

01

先问清楚

面对任务需求,先确认目标、范围和取舍,避免让 Agent 靠猜测推进。

02

每步可验证

把修改转成测试、类型检查、构建或可观察结果,确认它真的完成了目标。

03

只改必要的

尊重现有代码和用户改动,不把一次需求变成无关重构。

Global Prompt
# AGENTS.md

_用户给你定的铁律,在上下文中时刻遵守和反思!!!_

## 系统认知

**系统:** Windows 11 | **Shell:** PowerShell

- 可选命令行工具 `PowerShell`,`CMD`,`Git Bash`
- Python 3.14、Java 17 已安装
- Git 用户:yking / 3202708371@qq.com

## 编码行为准则,遵守以减少常见 LLM(你) 编码错误

**权衡:** 这些准则偏向谨慎而非速度。对于简单任务,请自行判断。

### 1. 敢质疑,而非一味迎合

**检查用户思路的缺陷,避免哪怕用户思路是错的或者非最优解,LLM(你)有时也会顺着用户的缺陷思路继续做。**

LLM(你)需要:
- 检查用户问题有没有错误前提、逻辑跳跃和信息缺失。
- 不迎合,而是独立判断,区分事实、预测和主观观点。
- 不同意就直接指出并给出依据风险和替代解释,或者更优解。

### 2. 提问题,明需求

**在用户给出编码任务时,不要急于实现,而是问清需求。直至十足把握明确了用户对这个任务的理想实现情况,才开始下一步。**

在你认为已有至少 95 % 的把握,清晰了用户需求之前:
- 不断提问用户任务相关的实现方向和可能,以明确用户理想实现情况。
- 在有多种实现方向时提问用户意愿。
- 问清楚影响较大细节的处理方式。
- 无清晰方向绝不改动一分一毫。

### 3. 先思考,再编码

**不要妄下断言。不要掩饰困惑。坦诚地权衡利弊。**

实施前:
- 请明确陈述你的假设。如有疑问,请提出。
- 如果存在多种解释,请将它们提出来——不要默默地做出选择。
- 如果存在更简单的方法,请提出来。必要时要坚持己见。
- 如果有什么不清楚的地方,停下来。说出让你困惑的地方。然后提问。

### 4. 简洁至上

**用最少的代码解决问题。不写任何推测性代码。**

- 不要超出需求范围的功能。
- 不为一次性代码进行抽象。
- 不要提供任何未要求的“灵活性”或“可配置性”。
- 对于不可能出现的情况,不进行错误处理。
- 如果你写了 200 行,而 50 行就可以写完,那就重写。
- 积极调用成熟的第三方库,而不是自己造轮子。

自问:"资深工程师会认为这过于复杂吗?" 如果是,请简化。

### 5. 精准修改

**只触碰必须改的。只清理你自己造成的混乱。**

编辑现有代码时:
- 不要"改进"相邻的代码、注释或格式。
- 不要重构没有问题的部分。
- 匹配现有代码风格,即使你会采用不同的写法。
- 如果你发现无关的死代码,请指出来——不要删除它。

当你的改动产生了孤立代码/文件时:
- 删除因**你的**改动而变为无用的导入项、变量或函数。
- 除非被要求,否则不要删除已有的无效代码。

检验标准:每一行改动都应直接追溯到用户的需求。

### 6. 目标驱动执行

**定义成功标准。循环迭代直至验证通过。**

将任务转化为可验证的目标:
- "添加验证"→"编写针对无效输入的测试,并确保它们都能通过"
- "修复漏洞"→"编写一个能够重现该漏洞的测试,然后使其通过"
- "重构 X" → "确保重构前后测试均通过"

对于多步骤任务,请简要说明计划:
```
1. [步骤] → 验证: [检查项]
2. [步骤] → 验证: [检查项]
3. [步骤] → 验证: [检查项]
```

明确的成功标准能让你独立循环迭代。而模糊的标准(“只要能行就行”)则需要不断澄清。

**这些准则有效的标志是:** diff 中不必要的改动减少、因过度复杂而导致的重写减少、澄清性问题在实现之前提出而非在犯错之后才问。

## Python 项目开发规范

### 虚拟环境

每个 Python 项目应使用独立的虚拟环境(`venv`、`virtualenv` 或 `conda`),避免全局安装依赖。

**Why:** 防止项目间依赖冲突,保证环境可复现,便于依赖管理和团队协作。

**How to apply:** 明确项目全部依赖后初始化虚拟环境,激活并安装依赖。可通过 requirements.txt 或 pyproject.toml 管理依赖版本。

## 错误回收

**错误回收:**因你理解偏差产生的所有错误操作(文件内容/位置/操作本身等任何错误)必须立即收回/撤销/修正,以消除对后续的影响。

## 临时文件及时清理

对于像测试产生的文件,临时测试使用的文件等此类定义的临时文件,在项目完成时需要清理。但清理前,需要询问。

## 代码优化、bug修复等,需要注释时,注释的动作

**注释写新不写旧。解释"新的代码用法",不叙述"怎么改的"。写注释前自问:"一个不了解这段代码的人,需要知道什么来读懂代码?" 这才是需要注释的内容。**

- 注释用来帮助理解代码,而不记录修改历史或纠错过程。不写如:“删除 formulaToDb 函数(原本未使用,Bug 修复后已添加调用)”此类无用注释,上述类型的语句只适合放在会话的审查总结中!!!

## emoji的使用范围

**重要,emoji误用可导致编码错误**

在生成内容时注意:
- 仅在 Markdown 和纯文本文件(.md、.txt、.rst)中允许使用 emoji,源代码文件(.py、.js、.ts、.json、.yaml、.xml 等)中禁止使用。

---

智能体(你)可以在对话中不断丰富这个文件(要求内容是可复用的行为规则)。如若在对话中发现有符合要求的内容,可向用户提出新增请求!

我的 Agent 使用方式

让 Agent 参与,而不是代替判断

01

明确任务需求

先确认目标、边界和验收标准,避免在错误方向上加速。

明确任务需求
02

设计施工图

把需求拆成任务、依赖和预期结果,为 Agent 提供清晰上下文。

设计施工图
03

Agent 协同执行

按任务调用合适的模型、工具与子 Agent,过程中通过工作流约束校准方向。

Agent 协同执行
04

验证并优化

自动化测试与人工测试双管齐下,检查代码、功能,保留证据,再继续迭代。

验证并优化

不让 Agent 盲目施工,而是共同协商编写开发文档,包括需求分析、设计功能模块、任务拆解、工具配置和验收标准等,走一套 “适合 Agent 的软件工程开发流程”,最终形成一版系统架构清晰、正文内容完整、细节完善的可供 Agent 开发参考又可供人工审查的双向文档。

我使用的插件工具

GitNexus:让 Agent 看懂代码库

GitNexus 把代码库索引成知识图谱,再通过 CLI 和 MCP 把调用关系、依赖链、执行流程与变更影响交给 Agent。

GN
CLI + MCP + 知识图谱
本地索引 · Agent 上下文

它解决的不是“帮我写一段代码”,而是“这段代码和整个项目有什么关系”。在陌生代码库、调试问题和准备修改之前,我会先用它补齐上下文。

CLI

从命令行分析、刷新和检查索引

MCP

把代码关系提供给 Agent 查询

Graph

依赖、调用链和执行流程视图

Map

可视化关系图谱

GitNexus 在代码库中的使用

我通常要求 Agent 把 GitNexus 放在“理解和修改之间”:先建立索引,再查询上下文;真正准备改动时做影响分析,完成后检查变更范围。

01

建立索引

先运行 analyze,让项目结构、符号关系和执行流程进入可查询状态。

02

理解代码

用 exploring、query 和 context 找到相关流程、调用者与被调用者。

03

评估影响

修改函数或模块前先看 upstream 依赖,判断直接调用者和风险范围。

04

检查变更

完成修改后运行 detect_changes,确认影响范围没有偏离预期。

开发方法论

Superpowers

Superpowers 是一套面向编码 Agent 的完整软件开发方法论,由一组可以组合的技能和初始指令组成。

它不会看到需求就直接写代码,而是先澄清目标、确认设计,再形成实施计划,并让 Agent 按计划逐项完成、测试和审查。

查看 Superpowers 仓库
设计原则
测试先行系统化而非临时应对流程优于猜测减少复杂度证据优于声明
运行机制
01

自动衔接

Agent 会根据当前任务自动选择相关技能,不需要额外切换流程。

02

流程约束

关键工作流被视为必须执行的过程,而不是可忽略的建议。

03

子代理执行

复杂计划可以按任务交给新的执行者,再对每一步成果进行检查。

04

持续审查

实现、测试和评审交替进行,问题在进入下一阶段前被处理。

基础工作流

从想法澄清到开发分支收尾,每一步都有明确产物和进入下一阶段的检查点。

07 步
01

需求澄清

通过问题打磨想法、探索替代方案,分段确认设计并保存设计文档。

02

隔离工作区

设计批准后创建独立分支和工作区,完成项目初始化并确认测试基线。

03

编写计划

将工作拆成小块任务,为每项任务写明文件路径、代码和验证步骤。

04

执行计划

每个任务可由新的子代理实现并审查,也可在当前会话中按计划依次完成。

05

测试驱动

遵循 RED-GREEN-REFACTOR,先看到测试失败,再写最小实现,最后确认通过。

06

代码审查

在任务之间对照计划检查,按严重程度报告,关键问题阻止继续推进。

07

分支收尾

验证测试,选择合并、发起 PR、保留或丢弃,并清理工作区。

最终产物
01

确认后的设计

把模糊想法收敛成经过确认、可以进入实施的设计。

02

可执行计划

把设计拆成带文件、代码和验证步骤的小任务。

03

验证后交付

通过测试与评审后再合并、发起 PR 或清理分支。

能力扩展

精选 MCP

更多 MCP

MCP 更像 Agent 可以调用的能力接口。这里记录我实际使用或关注的工具,以及它们在开发流程中补上的一块能力。

Playwright MCP

MCP / 能力入口

Playwright MCP 为 Agent 提供浏览器自动化能力,可以导航页面、读取可访问性结构、执行交互并检查真实页面结果。

我会在什么时候用

做网页功能验收、移动端布局检查、交互回归和截图验证时使用。它让“页面应该能用”变成可以实际操作和观察的结果。

GitNexus MCP

MCP / 能力入口

GitNexus MCP 把本地代码知识图谱中的查询、上下文、影响分析和变更检测能力提供给 Agent。

我会在什么时候用

需要理解项目结构、追踪调用链、判断修改影响或检查变更范围时使用。它负责补上下文,不替代我对最终改动的判断。

场景速览

使用场景

编程

代码理解、调试与工程协作

创作

从想法整理到内容完成

暂无项目

信息整理

搜索、总结与知识沉淀

暂无项目

自动化

让重复工作变成可复用流程

暂无项目

最新博客

查看详情
架构实践

贾维斯与三个 AI 员工:OpenClaw 里的多智能体团队

#OpenClaw#Agent#多智能体

12 分钟 阅读

新手教程

每天 07:00,一条飞书消息把我的一天排好

#OpenClaw#自动化#效率

10 分钟 阅读

技术科普

四个文件养一个 Agent:AGENTS.md、SOUL.md、USER.md 与记忆分层

#Agent#记忆#工作流

11 分钟 阅读

准备好构建 大胆的作品了吗?

让我们在下一代 Agent 打造的应用上展开合作。