<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>开源框架 on Code Plato</title><link>https://CodePlato3721.github.io/zh/tags/%E5%BC%80%E6%BA%90%E6%A1%86%E6%9E%B6/</link><description>Recent content in 开源框架 on Code Plato</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Tue, 18 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://CodePlato3721.github.io/zh/tags/%E5%BC%80%E6%BA%90%E6%A1%86%E6%9E%B6/index.xml" rel="self" type="application/rss+xml"/><item><title>Plato：面向企业的ai coding框架</title><link>https://CodePlato3721.github.io/zh/post/plato-%E9%9D%A2%E5%90%91%E4%BC%81%E4%B8%9A%E7%9A%84ai-coding%E6%A1%86%E6%9E%B6/</link><pubDate>Tue, 18 Aug 2026 00:00:00 +0000</pubDate><guid>https://CodePlato3721.github.io/zh/post/plato-%E9%9D%A2%E5%90%91%E4%BC%81%E4%B8%9A%E7%9A%84ai-coding%E6%A1%86%E6%9E%B6/</guid><description>&lt;img src="https://pub-deacd49348914a49b1254b01f351ef0d.r2.dev/2026/08/plato-an-ai-coding-framework-for-enterprise-teams/cn/banner.png" alt="Featured image of post Plato：面向企业的ai coding框架" /&gt;&lt;p&gt;现在已经有很多 AI coding 框架了。面向绿地项目的 GSD、Superpowers，Brownfield-leaning 的 grill-with-docs，还有真正面向棕地项目的 OpenSpec。那么，是不是我们已经没有必要再发明新的框架了？&lt;/p&gt;&#10;&lt;h2 id="ai编程的困境"&gt;AI编程的困境&#10;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;巨型PR&lt;/strong&gt;&#10;每天都要面对同事创建的巨型 PR。问了同事，其实他也不知道这个代码在写什么。最后只好草草地点了 approve。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;假阴性单元测试&lt;/strong&gt;&#10;项目的代码慢慢地开始变得不可控，大家已经不知道哪些逻辑在哪些文件里面。所以出了 bug 也不知道怎么修复，只能让 AI 来修复。但是 AI 可能会把你大量的代码重写，然后宣称已经修复了这个 bug，并且单元测试都通过了。但是你发现线上系统的另一个部分坏了。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;上下文过大&lt;/strong&gt;&#10;当你在一个会话中跟 agent 聊了一段时间，它已经知道了很多代码的规范和反模式后，你重新开一个会话，它又忘记了。又或者你已经把这些规范写到了 prompt 上下文中，但是随着时间的推移，它又开始犯同样的错误。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;没有针对企业的最佳实践&lt;/strong&gt;&#10;你想到了用那些有名的框架。你翻遍了网络，发现确实有很多好用的框架可以从无到有生成一个产品。但是你面对的是一个老项目。你不能把它搞坏，否则会有严重的后果。&#10;OpenSpec 看起来可以，但是它更多的是面向个人开发者。随着时间的推移，大量的 Spec 被产生，agent 的上下文越来越不够用。&lt;/p&gt;&#10;&lt;p&gt;总结起来，就是这些框架距离真正的程序员的工作太远了。我们来看下一个在企业中工作的程序员的日常。&lt;/p&gt;&#10;&lt;h3 id="程序员的日常"&gt;程序员的日常&#10;&lt;/h3&gt;&lt;p&gt;一个真正在公司上班的程序员的一天大概是这样的：&#10;每天上午有一个 standup meeting&#10;然后从 Jira 上拿到 ticket&#10;开一个新的 branch，然后开始做这个 ticket，测试，然后提交，并生成 PR&lt;/p&gt;&#10;&lt;h2 id="什么是plato"&gt;什么是Plato&#10;&lt;/h2&gt;&lt;p&gt;我常常看到在论坛上有人问，现在有什么好的 Best Practice 吗？老实说，我也没找到。但是我根据多年的程序员经验，结合了上下文管理，形成了自己的方法论。于是我决定把这套方法论做成一个开源框架，希望可以帮助到大家。这个框架叫 Plato。&lt;/p&gt;&#10;&lt;h3 id="特性"&gt;特性&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;用于棕地项目：&lt;/strong&gt; 适用于已经有大量项目上下文，并且拥有庞大代码库的棕地项目&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;每个任务使用新的会话：&lt;/strong&gt; 每一个任务都启动一个全新的会话，保证上下文的干净&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;分角色加载上下文：&lt;/strong&gt; Plato 将改动的任务分为多个角色，每个角色只加载自己需要的上下文。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;用提问和重构审核代码：&lt;/strong&gt; 提问是 Plato 的行为核心。在设计阶段，agent 会提问你。在代码审核阶段，你需要提问 agent。让开发者养成通过提问和重构来审核代码的习惯，而不是逐行阅读代码。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;面向规则编程：&lt;/strong&gt; 在任务的开发过程中逐渐地积累规则文档。常见的规则文档有 CLAUDE.md、AGENTS.md。但是它们都不适合企业级管理。Plato 在项目内将文档分为了各种角色适用的文档和项目架构文档等。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="如何使用plato"&gt;如何使用Plato&#10;&lt;/h2&gt;&lt;p&gt;安装 Plato&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npx skills&lt;span style="color:#f92672"&gt;@&lt;/span&gt;latest &lt;span style="color:#66d9ef"&gt;add&lt;/span&gt; CodePlato3721&lt;span style="color:#f92672"&gt;/&lt;/span&gt;plato &lt;span style="color:#f92672"&gt;-&lt;/span&gt;y &lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;g&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;第一次使用之前，使用 &lt;code&gt;/plato init&lt;/code&gt; 来初始化项目。它会在项目下建立这两个文件夹：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;.plato&lt;/code&gt;: 这是 Plato 运行必须的规则文件&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;plato-workspace&lt;/code&gt;： 这是 Plato 和你共同维护的项目文档，是属于这个项目的资产&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;使用 Plato 的时候，你需要至少打开 2 个终端窗口。一个用来做 guide 会话，一个真正用来执行任务。guide 的作用是使用 &lt;code&gt;/plato&lt;/code&gt; 这个 skill 来控制开发流程，它会帮你创建 ticket，维护任务进度，并给你真正执行任务的 claude code 命令行。如果你用 VS Code，你可以用 claude code 插件当作 guide。&lt;/p&gt;&#10;&lt;p&gt;举一个例子。你从 Jira 上拿到了一个 ticket number：PRJ-123。内容是：给系统增加购物车功能。执行的步骤：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;在作为 guide 的 claude code 窗口中使用 &lt;code&gt;/plato PRJ-123&lt;/code&gt;。然后它会问你这是一个 feature 还是一个 defect。你选择了 feature 后，它会询问你这是一个 simple feature 还是 complex feature&lt;/li&gt;&#10;&lt;li&gt;这是一个跨页面的复杂特性，所以你可以选 complex feature。然后它会建立 &lt;code&gt;plato-workspace/tickets/PRJ-123&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;为这个 ticket 建立了工作区域后，它会给你一个执行工作 agent 的命令： &lt;code&gt;claude --dangerously-skip-permissions --session-id &amp;quot;96d8647c-6f2d-4452-afcd-3d6eb725a3e5&amp;quot; --append-system-prompt-file &amp;quot;.plato/designer/...&amp;quot; &amp;quot;ticket-number=PRJ-123...&amp;quot;&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;你打开第二个终端，然后执行这个命令。如果在 VS Code 中，你可以打开终端窗口执行这个命令&lt;/li&gt;&#10;&lt;li&gt;当这个任务完成后，使用 &lt;code&gt;/exit&lt;/code&gt; 退出这个工作 agent，然后再使用 &lt;code&gt;/plato PRJ-123&lt;/code&gt; 得到下一个工作 agent 的命令。重复这个过程，你会经历 design、planning、coding 这几个阶段，最后完成任务&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;使用 Plato 开发的过程，就是不断地在 guide 会话中使用 &lt;code&gt;/plato &amp;lt;ticket-number&amp;gt;&lt;/code&gt; 来得到工作 agent 的命令，然后使用这个命令单独打开一个终端执行这个任务。任务完成后，通过询问来审核 agent 完成的任务，并不断地为项目的规则文件添砖加瓦。你每次完善后的项目规则文件都会被作为下一次任务的输入被加载进 agent，形成一个良性的循环。&lt;/p&gt;&#10;&lt;h2 id="框架哲学"&gt;框架哲学&#10;&lt;/h2&gt;&lt;p&gt;这个框架的哲学是&#10;&lt;strong&gt;透明：&lt;/strong&gt; 相比起同时启动多个不可见的 subagent，在 Plato 中永远只有一个 agent 在工作。它不会自动提交代码，而且它会要求你 review 它产生的内容。它也没有酷炫的控制系统，只有纯粹的命令行和代码。&#10;&lt;strong&gt;松散：&lt;/strong&gt; 每一步的成果都是可以人工编辑修改的，整个步骤如果你不满意，可以 reject agent 的工作结果，从而重新开始这个任务。它是在辅助作为专业程序员的你的工作，而不是主导你的工作。&#10;&lt;strong&gt;提问：&lt;/strong&gt; 提问是 Plato 工作的灵魂。在设计阶段，agent 会通过询问你来完成任务；在代码审核阶段，agent 会逼迫你询问它来完成 review。让程序员养成通过询问来 review 代码的习惯，而不是阅读代码。&#10;&lt;strong&gt;规则：&lt;/strong&gt; 使用 Plato 强调的是，你的成果不是代码，而是你在执行任务过程中不断产生的规则。这些规则会被不断地添加到项目的各个 .md 文件中。这些规则是你和你的项目的真正资产。这些规则可以保证你的 agent 工作得更有效率。&lt;/p&gt;&#10;&lt;h2 id="结论"&gt;结论&#10;&lt;/h2&gt;&lt;p&gt;总之，在这个 AI 时代，谁都可以用一句话来让 agent 复刻一个现有的产品。但是写出代码和写出可维护的代码之间，是一座无法轻易逾越的鸿沟。这个鸿沟需要的不是编写代码的能力，而是通过多年项目开发积累下来的方法论和大局观，也可以称之为 &lt;strong&gt;“设计感”&lt;/strong&gt;。通过使用 Plato，将你的设计感融入到代码中，从而生成可维护的工程代码。&lt;/p&gt;&#10;&lt;p&gt;项目主页： &lt;a class="link" href="https://github.com/CodePlato3721/plato" target="_blank" rel="noopener"&#10; &gt;https://github.com/CodePlato3721/plato&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="关于作者"&gt;关于作者&#10;&lt;/h2&gt;&lt;p&gt;我是代码Plato。&lt;/p&gt;&#10;&lt;p&gt;我相信，人类的创造力才是 AI Coding 的真实之树，而代码与模型不过是投射在洞穴墙上的影子。&lt;/p&gt;&#10;&lt;p&gt;微博：@代码Plato&#10;主页：https://weibo.com/u/1041257881&lt;/p&gt;&#10;</description></item></channel></rss>