腾讯エンジニアリング、チーム向け AI コーディング実装規範を公開
本文の状態
日本語全文を表示中
詳細モードで約45分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Tencent Engineering
腾讯工程团队发布 Harness Engineering 规范,将代码质量标准系统化嵌入 AI 工作流,通过架构设计与工具协同解决 Vibe Coding の混乱と可维护性低下の問題。
AI深層分析を開く2026年8月1日 04:02
AI深層分析
キーポイント
Harness Engineering の核心理念
AI エージェントに「馬具」を装着する概念で、モデルの知能を生産力に変えるための工程基盤(ツール呼び出し、文脈管理、制約回復など)を定義している。
Vibe Coding の課題と解決
制約のない AI コーディングが引き起こすアーキテクチャの混乱、文脈の崩壊(雪崩)、可維持性の喪失という 3 つの致命傷を指摘し、規範による統制の必要性を説く。
MCP と Skills の機能定位
個別ツールの定義ではなく、Harness 体系における MCP(データチャネル)、Skills(ドメイン経験)、Rules(行動境界)の役割分担と相互連携の実践的ガイドを提供する。
体系的な実装ロードマップ
理念から具体実装、SOP、反パターン、および「harness-audit」による自動化コンプライアンスチェックに至るまでの段階的な導入手順を提示している。
AI 開発の文脈管理と知識体系化
数千行の単一ファイルではなく、階層化された索引と AGENTS.md を用いて AI に必要な情報を段階的に提供し、チーム Wiki やコードベースをシステム記録として活用する。
重要な引用
Agent = Model + Harness
交付代码的成本已经接近免费了,但交付好代码的成本依然很高
模型提供智能,Harness 让智能变成生产力
OpenAI 自己踩过坑:早期试过'一个巨大的 AGENTS.md',失败了。正确做法是拆成多个专注的文档,用目录索引串起来。
編集コメントを表示
編集コメント
2026 年という未来の時点での記事であり、Vibe Coding の限界を克服する具体的なフレームワークとして注目される。特に「Harness」を馬具に例え、AI に制御と記憶を与える概念は、現場の混乱を防ぐための重要な視点を提供している。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
「好代码」の基準をシステムに組み込み、AI に制約された環境で自律的に作業させる
画像:https://wechat2rss.bestblogs.dev/img-proxy/?k=c33454e9&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FKVER9adz906CRXOoRfUM7JNPRo13DsrWXDUjQXDWVNrW4S93hBPNjN7qI2d9ogPyuT24A6eIl3h4jmJdIVRnaAwvPTEd13Q6E5IWomQJ6ibA%2F0%3Fwx_fmt%3Djpeg
画像:https://wechat2rss.bestblogs.dev/img-proxy/?k=1131f926&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2Fj3gficicyOvasVeMDmWoZ2zyN8iaSc6XWYj79H3xfgvsqK9TDxOBlcUa6W0EE5KBdxacd2Ql6QBmuhBJKIUS4PSZQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg
著者:atreusliu
コードを納品するコストはほぼ無料になりましたが、「良いコード」を納品するコストはまだ高いままです。Harness Engineering が目指しているのは、この「良いコード」の基準をシステムに組み込み、AI に制約された環境で自律的に作業させることです。
なぜチームの全員がこの規範に従う必要があるのでしょうか?
AI コーディングツールはソフトウェア開発のあり方を変えつつあります。チームの誰もが AI を使って素早くコードを生成できるようになった今、真に差をつけるのは「誰が速く書けるか」ではなく、「誰が良く、安定して、保守性の高いコードを書けるか」という点です。
この規範は束縛ではありません。それはチーム共通の言語であり、品質の最低ラインです:
個人にとっては、正しい AI 協働習慣を身につけさせ、失敗や手戻りを防ぎ、AI を真のパワーアップツールとして機能させるものです。
チームにとっては、全員が出力するコードのスタイルを統一し、アーキテクチャを整え、レビューと保守性を確保することで、協業の摩擦を減らすものです。
プロジェクトにとっては、品質基準をツールチェーンに固定化し、人員の変動によってプロジェクトが失控することを防ぐものです。
本ドキュメントの位置づけ:
第 1 部(第 1〜2 章)では「なぜ」「何」について答えます。Harness Engineering の核心理念と、AI コーディングを統合したアーキテクチャ設計を解説します。
第 2 部(第 3〜9 章)では「どうするか」について答えます。段階的な導入ロードマップ、具体的な設定手順、日常開発の標準作業手順(SOP)、反パターン(失敗事例)のまとめ、そして私たちが構築した harness-audit Skill を活用した自動コンプライアンス自己検査の方法を提示します。
第 3 部(第 10 章)で総括を行います。
読者の皆様への一点のお願い:
MCP、Skills、Rules、SDD、知識ベースといった概念については、社内・社外で「それらとは何か」を解説する入門記事がすでに多数存在します。本稿ではこれらの基本的な定義を繰り返すスペースはありません。本稿が本当に伝えたいのは、以下の 2 つの点です。
第一に、これらが Harness システムの中で果たす機能上の役割です。MCP や Skills を個別に見れば理解しやすいツールですが、Harness の 6 つの柱の中に組み込んだ際、それぞれがどのような役割を担い、どのレベルの問題を解決し、AI ワークフローのどの段階で効果を発揮するのか——これがチームがこれらのツールを効果的に使いこなすかどうかを決定づける鍵となります。
第二に、実際の開発現場においてこれらがどのように連携するかです。MCP はデータ伝送路を提供し、Skills はドメインの知見をパッケージ化し、知識ベースは業務コンテキストを注入し、Rules は行動の境界線を引きます——これらのツールが孤立して存在するわけではありません。真の威力を発揮するのは、これらを組み合わせて使うときです。本稿では、要件開発、バグ修正、コードレビューといった具体的なシナリオを通じて、これらがどのように協調して機能するかを明確に解説します。
実は日々の開発において、私たちはすでに Harness の考え方を部分的に活用しています。ただ、これらのツールの使い方や運用方法を体系的なフレームワークとして統一する仕組みが欠けていただけです。
各ツール背後にある設計思想を理解し、自分のプロジェクトでどのツールを使うべきか、どう組み合わせるべきか、あるいはいつ使うべきでないかを明確にするために、このガイドラインは用意されました。
第一部分:理念とアーキテクチャ
一、核心理念:Harness Engineering(驾驭工程)
#### 1.1 Harness Engineering とは何か?
2026 年 2 月、OpenAI は『Harness Engineering: Leveraging Codex in an Agent-First World』という論文を発表しました。このプロジェクトでは、当初 3 人だったエンジニアチームが後に 7 人に拡大し、手書きコードを完全に禁止した条件下で、AI エージェントを用いて 5 ヶ月間にわたり 100 万行以上のコードを作成し、1,500 件の Pull Request をマージしました。その結果、開発効率は約 10 倍に向上しています。
"Harness"という用語は馬術に由来しており、本来の意味は「馬具」です。具体的には、手綱や鞍、鐙などを指します。未驯服な馬は強力ですが、耕運や荷物の運搬、戦場での使用を任せることはできません。AI も同様です。
Agent = Model + Harness
モデルが知能を提供し、Harness がその知能を実際の生産力へと変換します。
LLM 自体には状態管理も、ツールへのアクセス権限も、記憶機能も備わっていません。Harness レイヤーこそが、モデルに「手足と記憶」を付与するエンジニアリングインフラストラクチャです。あなたが記述するすべてのコードや設定されるルールは、すべて Harness の一部となります。
┌─────────────────────────────────────────────────────┐
│ 应用层 (Application) │
│ IDE プラグイン / CLI / Web UI / ユーザーインタラクション │
├─────────────────────────────────────────────────────┤
│ Harness 层 (Agent Harness) │
│ ツール呼び出し・コンテキスト管理・権限検証・状態永続化 │
│ 実行オーケストレーション・評価検証・制約回復・記憶システム │
├─────────────────────────────────────────────────────┤
│ 模型层 (Model) │
│ LLM (Claude / GPT / DeepSeek など) │
│ 指示の理解・テキスト生成・意思決定 │
└─────────────────────────────────────────────────────┘
#### 1.2 なぜ Harness が必要なのか?—— Vibe Coding の三つの致命的な問題
Harness による制約がない「Vibe Coding(雰囲気コーディング)」は、スタートは極めて速い → 中盤で混乱する → 後期に崩壊するという道を進むことになります。
| 問題 | 現象 | 結果 |
|---|---|---|
| アーキテクチャの混乱 | エージェントは近道を選びがちです。機能 A ではライブラリ X を使い、機能 B でも同じくライブラリ Y を使います(X で十分可能な場合でも)。層構造という概念が欠如しています。 | 基盤ロジックの変更(例えばデータベースの入れ替え)が必要になった際、プロジェクト全体を大規模に改修しなければなりません。 |
| コンテキストの雪崩 | プロジェクトファイル数が 50 を超えると、エージェントは記憶を失い始めます。1 日目は user_id を使用していたのに、3 日目には突然 uid に変わってしまいます。 |
プロジェクト規模が大きくなると、AI エージェントの能力は低下し、バグを修正しようとしたら新たなバグが二つ生まれるという現象が頻発します。
可読性と保守性の喪失
開発プロセス全体がブラックボックス化し、コードがどのように生成されたかを知る者はエージェントのみで、人間は思考の過程に関与していません。人が引き継ぎたいと思った瞬間、数千行に及ぶ「ゴミのようなコード」を最初から読み直す必要があり、結局書き直したほうがマシだと感じる状況です。
こうした課題を解決するのが Harness Engineering です。その核心となる要素は以下の通りです。
安全境界:権限制御、監査ログ、追跡拒否機能
可観測性:トークン使用量の計測、コストの追跡、意思決定の記録
信頼性:リトライ機構、フェイルオーバー戦略、確定的なバックアップ
拡張性:ツールエコシステム、スキルシステム、複数エージェント間の調整
1.3 Harness の 6 つの柱とコーディングへの適用
Harness Engineering は、エージェントが動作する環境を 6 つの柱に分解し、それぞれの柱に対して開発規範で対応するツールや実践を用意しています。以下に詳しく解説します。
上記の画像は、公式 WeChat 記事(https://mp.weixin.qq.com/s/gs5ndvlMqM-Y4jg1_D2aFw)より引用したものです。同記事では Harness の詳細な解説がなされているため、本稿では実践に直結するツールの構成についてのみ焦点を当てます。
柱 1:コンテキスト管理(Context Architecture)
課題:AI のコンテキストウィンドウは容量に限界があり、コストも高いです。どうすれば AI が適切なタイミングで必要な情報を見られるようにできるでしょうか?
実践とツールの対応関係:
- 段階的な情報開示:AGENTS.md に約 100 行の目次を作成し、ARCHITECTURE.md や Rules など詳細なドキュメントへのリンクを設けます。一度に数千行の情報を読み込ませるのではなく、必要な部分だけを開示します。
- 構造化された仕様書:requirement.md や task.md といった Spec ファイルを用意し、要件や設計判断を Git リポジトリ上に記録します。これにより AI はいつでも参照できる「長期記憶」を得られます。
- 変更の隔離:changes/ ディレクトリを活用し、Proposals メカニズムによって「増分変更」と「既存コード」を分離します。これにより、既存ロジックへの誤った影響を最小限に抑えられます。
- 知識の階層化(Skills):スキル情報を「説明→指示→詳細手順」の 3 レベルに分け、必要に応じて段階的に読み込みます。これによってコンテキストの使用量を節約できます。
- 外部知識ベースの接続:チームの Wiki、コードリポジトリ、カスタムファイルなどを知識ベースとしてマウントし、AI との対話時に自動または手動で参照できるようにします。これにより AI は業務文脈を把握できます。
- コードの知識化(AI Wiki):コードベースから自動的に構造化された知識ドキュメントを生成します。これにより AI は個々のファイルを読み込むことなく、プロジェクト全体を理解できるようになります。
いくつかの原則があります。
- AI に数千行に及ぶ単一の規範ファイルを渡さないこと。
- 階層化されたインデックスを構築し、AI が必要に応じて詳細へ掘り下げられるようにすること。
- チームの Wiki や業務ドキュメントを知識ベースとしてマウントし、AI に業務文脈を持たせること。
- リポジトリ内の知識を「システム記録(System of Record)」として扱い、チャット履歴への依存を避けること。
OpenAI も同様の失敗を経験しています。初期段階では「巨大な AGENTS.md」を試しましたが失敗しました。正解は、複数の専門的なドキュメントに分割し、目次でつなぐことです。
柱 2:ツールシステム(Tool System)
課題:AI はどのようにしてコードリポジトリの外にある現実世界と接点を持ち、特定の分野における専門能力を獲得できるのでしょうか?
AI エージェントの能力を最大化するには、3 つの要素が連携するシステムが必要です。それは「MCP(外部世界との接続)」「Skills(専門家の経験の封装)」「知識ベース(業務コンテキストの注入)」です。
MCP(Model Context Protocol)—— 外部データソースへの接続
MCP は、AI が現実世界と対話するためのインターフェースです。主な種類とその役割は以下の通りです。
- DB MCP: リアルタイムのデータベーススキーマを自動読み込みます。これにより、AI が存在しないフィールドを指定して SQL を生成するミスを防ぎ、正確なクエリを作成できます。
- Knowledge Base MCP: チーム内のドキュメントをマウントします。AI に業務コンテキストと専門用語の理解を与え、より文脈に即した回答を可能にします。
- API MCP: 外部サービスのインターフェース定義をリアルタイムで照会します。マイクロサービス間の連携時に、パラメータの整合性を確保し、エラーを減らします。
- 运维 MCP: CI/CD や監視システムに接続します。AI が直接ビルドのトリガーやログの確認、アラートの分析を行えるようになります。
Skills(エージェントスキル)—— 領域専門家の経験封装
Skills は、業務ロジック、ドメイン知識、そして実行 SOP(標準作業手順書)をパッケージ化したものです。これにより、AI は「何でも少しできる」状態から、「特定の分野の専門家」として振る舞えるようになります。
- ツール接続型: 内部ツールの接続規範を封装します。例:
rainbow-configでは、七彩石設定センターへの標準的な接続フローを実装しています。 - コード生成型: 特定パターンのコード生成ロジックを固定化します。チームのアーキテクチャ規範に基づき、CRUD モジュールやミドルウェア接続コードを自動生成します。
- メタスキル型: AI 自身に拡張能力を持たせます。例:
skill-creatorは、既存のコードをもとに新しい Skill を作成する方法を AI に教えます。 - 検索発見型: コミュニティから利用可能な機能を探します。例:
find-skillsは、80,000 以上のスキルライブラリから必要な機能を検索してインストールします。
知識ベース(Knowledge Base)—— 業務コンテキストの注入
知識ベースは、AI を「汎用モデル」から「業務に精通したアシスタント」へと進化させる鍵です。チーム内のドキュメントやコードリポジトリ、業務資料をマウントすることで、AI は会話時に自動的に業務コンテキストを取得し、推測を減らして実作業に集中できます。
- iWiki ドキュメント庫: チームの Wiki スペースを接続します。業務規範、技術方案、API 文書をマウントし、AI が回答する際にこれらを自動引用します。
- コード庫知識: 工蜂 Git リポジトリを接続します。公共コンポーネント(tRPC や七彩石 SDK など)のマウントにより、生成されるコードが正しい用法に従うようにします。
- AI Wiki: コード庫から自動的に構造化された知識ドキュメントを生成します。これにより、プロジェクトのアーキテクチャやモジュールのロジックを素早く理解できます。
- カスタムファイル: Markdown、PDF、txt 形式のファイルをアップロードします。要件定義書、設計図、議事録などを追加し、AI にプロジェクトの背景知識を与えます。
知識ベースの活用方法
- 明示的引用: 会話内で
@KnowledgeBaseと入力して、特定の知识库を選択・参照します。 - 自動引用: 自動参照スイッチをオンにすると、AI が会話中に自動的に関連知識を検索・参照します。
- チーム共有: Knot プラットフォームを通じて、組織やチーム全体で知识库 を共有し、業務認識の統一を図ります。
核心となる比喩
MCP は「扉を開ける鍵」であり、Skills は「開いた後に行うべきこと」、知識ベースは「入る前に読む説明書」です。これら 3 つはどれが欠けても成り立ちません。MCP がなければ AI は閉鎖された環境で独善的に作業し、Skills がなければ鍵を持っていても何をしていいか分からない状態になります。また、知識ベースがなければ、部屋に入っても業務の文脈を理解できず、適切な判断ができないのです。
支柱三:実行オーケストレーションとマルチエージェント協働
課題は、AI に無秩序にコードを書かせるのではなく、手順通りに作業を進めさせる方法と、複数のエージェントが役割を分担して複雑なタスクを完遂させる仕組みです。
実行オーケストレーションとは、単に「プランニング型」と「エージェント型」のどちらを選ぶかという選択の問題ではありません。それは、マルチエージェントが協働するための標準化されたワークフローを指します。チームは「3+1 フェーズ」のプロセスに従うべきで、各フェーズには異なる役割を持つエージェントが担当します。
「3+1 フェーズ」標準化ワークフロー:
| 段階 | 入力 | AI の処理 | 出力 | 協働モード |
|---|---|---|---|---|
| Phase 1: プラン | 要件記述 | Plan モードで requirements.md を生成し、人間が審査して task.md を作成 | 構造化された設計書 | 人間のレビュー |
| Phase 2: コーディング | タスクリスト | Rules と Skills を読み込み、MCP ツールを呼び出して実装 | ソースコードとユニットテスト | Generator エージェントの実行 |
| Phase 3: デプロイ | マージ待ちコード | AI が自動で規範適合性とロジックのチェックを実施 | 審査通過した PR | Evaluator エージェントによる検証 |
| Phase 4: 蓄積 | 実装済み機能 | Spec を自動的にアーカイブし、プロジェクトナレッジベースを更新 | 永続的な知識資産 | アーカイブ自動化 |
各エージェントの役割定義:
| エージェント | 役割 | 読み込む Harness |
|---|---|---|
| Planner | 要件の理解、タスクの分解、設計書の生成 | Plan モード + プロジェクト Spec |
| Generator | 設計書に基づいてコードとテストを記述 | Rules + Skills + MCP |
| Evaluator | コードレビュー、規範チェック、テスト検証 | Rules + 合格基準 |
| Archiver | 変更のアーカイブ、ナレッジベースの更新 | アーカイブスクリプト + Git |
実際の運用では、以下の通り役割を分担します。
- Planner 役として Plan モードを活用し、システム設計分析や大規模タスクの分解を行う
- Generator 役として Agent モードを活用し、具体的な機能の実装を自動化する
- Evaluator 役として AI Code Review を活用し、リリース前の品質保証を担当する
SDD(Specification Driven Development)ワークフローに従うことが重要です。具体的には、「requirements.md → 人間の審査 → task.md → 実行 → アーカイブ」という流れです。
また、すべてのタスクには明確な「完了基準(Acceptance Criteria)」を定義する必要があります。
支柱四:ステータスとメモリ
問題:長期的な開発プロセスにおいて、AI の出力を一貫性のあるものにするにはどうすればよいでしょうか?
記憶のタイプと実装方法、そしてそのライフサイクルは以下の通りです。
短期記憶は「現在のセッションコンテキスト」に依存し、単一の会話内で有効となります。中期記憶は「Memories(メモリーズ)」機能を活用し、複数のセッションを跨いで情報を永続化します。長期記憶は Git リポジトリ内の Spec ファイルによって管理され、プロジェクトの全ライフサイクルを通じて保持されます。さらに、変更履歴は「Spec Deltas(changes ディレクトリ内)」として記録され、個々の変更サイクルに対応します。
実際の運用では、Git を用いて規範の変更を記録し(Spec Deltas)、これをプロジェクトの長期記憶として蓄積します。また、Memories 機能を活用して AI にプログラミングの習慣やプロジェクト情報を学習させます。さらに、各変更がアーカイブされるたびに、自動的に .codebuddy/plan/ ディレクトリ内の記録を更新する仕組みを構築します。
支柱五:評価と観測(Evaluation & Observability)
問題:AI が生成したコードの信頼性をどう検証すればよいでしょうか?
評価は以下の 4 レベルで実施されます。
- L1(構文レベル): コンパイルの成功と Lint チェック。ツールには
go buildやgolangci-lintを使用します。 - L2(ロジックレベル): ユニットテストの通過。
go testや自動生成されたテストケースで検証します。 - L3(規範レベル): Rules による制約への準拠。AI が自動的にコンプライアンスチェックを行います。
- L4(アーキテクチャレベル): 既存の設計を破壊しないこと。人間と AI が共同でレビューを実施します。
実際の運用では、AI を活用したコードレビュー(CR)を導入し、マージ前に自動で規範への準拠を確認します。また、コーディング完了後に自動的にコンパイルと基礎的な自己テストを行い、検証の闭环を形成します。影響度の高い変更に対しては、自動的に変更ログを生成する仕組みも用意します。
支柱六:制約と回復(Guardrails & Recovery)
問題:AI が権限を超えた操作を行わないようどう防止し、万が一エラーが発生した場合はどう迅速に復旧すればよいでしょうか?
制約は以下の 3 つのレベルで定義されます。
┌──────────────────────────────────────────┐
│ 硬性红线(Rules - 不可违反) │
│ "所有 API 必须包含 Swagger 注解" │
│ "禁止在 Controller 层编写业务逻辑" │
│ "所有数据库查询必须使用 Repository 模式" │
├──────────────────────────────────────────┤
│ 软性约束(Skills - 推荐遵循) │
│ "优先使用项目已有的工具类" │
│ "日志格式遵循团队统一标准" │
├──────────────────────────────────────────┤
│ 安全策略(Safety - 兜底保护) │
│ "涉及数据库变更,优先生成 SQL 脚本" │
│ "高风险操作前自动检测影响范围" │
│ "重要操作自动备份" │
└──────────────────────────────────────────┘
回復メカニズム:
すべての変更は Git で管理し、いつでもロールバック可能にします。
Spec Deltas メカニズムにより、変更の追跡を確実に保証します。
コンパイル失敗時には自動的に直前の安定状態へ自動復元されます。
1.4 Harness の 6 つの柱とツールチェーンのマッピング総覧
| 支柱 | 核心となる問い | 対応するツール | チームの実践 |
|---|---|---|---|
| 文脈管理 | AI は何の情報を見るのか? | Spec ドキュメント、AGENTS.md、ナレッジベース | 構造化された規範、段階的な情報開示、業務知識の付与 |
| ツールシステム | AI がアクセスできる範囲は? | MCP Skills、ナレッジベース | DB/API のリアルタイム接続、ナレッジベースへの業務蓄積、Skills による専門家の経験活用 |
| 実行オーケストレーションとマルチエージェント連携 | AI はどの順序で作業し、誰が担当するのか? | Plan モード、SDD ワークフロー、マルチエージェント役割体系 | "3+1 フェーズ":Planner → Generator → Evaluator → Archiver |
| 状態と記憶 | AI は何を覚えるのか? | Git、Memories、Spec Deltas | 長期メモリの永続化 |
| 評価と観測 | AI の作業は正しいか? | 自動テスト、AI によるコードレビュー (CR) | コンパイル→テスト→レビューのクローズドループ |
| 制約と回復 | AI は何をしてはいけないのか? | Rules、Safety ポリシー | 絶対的なルール(ハードル)と自動ロールバック |
以下で具体的なツール規範について詳しく解説します。
二、AI コーディングの統合アーキテクチャ
Harness Engineering の 6 つの柱に基づき、本章ではこれらを一つの完全なアーキテクチャとして具体化します。このアーキテクチャは「人間のアイデア」から「実行可能なコード」に至るまでの全工程を定義しており、チームにおける AI 支援開発の技術的ブループリントと言えます。
端的に言えば、AI は孤立したコード生成ツールではなく、エンジニアリング体系の中に組み込まれた一つのノードです。アーキテクチャの各層は Harness の各柱に対応しており、AI が制約の中で作業を行うことを保証します。
2.1 アーキテクチャ全体図
開発実践において、私たちは AI コーディングの全体像を整理し、上から下へ 5 つのレイヤーで構成されるアーキテクチャを策定しました。それは「入力層」→「ワークステーション (CodeBuddy)」→「基盤サポート (MCP)」→「出力層」→「メトリクス層」です。データは上から下へと流れ、クローズドループを形成します。
各レイヤーの役割は以下の通りです。
| レイヤー | コンポーネント | 役割 |
|---|---|---|
| 入力層 | Spec ドキュメント (requirement.md)、自然言語、コード文脈 | 人間のアイデアを AI が理解できる構造化された入力へ変換 |
| 設定センター | Rules, Skills, Docs, Commands, Memories | Harness の制約を読み込み、AI の行動を制御可能にする |
| モードエンジン | Plan モード / Agent モード | タスクの複雑さに応じて実行戦略を選択 |
| エージェントコア | コード生成、レビュー、テスト、リファクタリング | 具体的な開発タスクを実行 |
| MCP レイヤー | DB, API, Wiki, CI/CD, Monitor | 外部システムと接続し、コードリポジトリの境界を突破する |
| 出力層 | コード、テスト、ドキュメント、ログ | 実行可能なエンジニアリング成果物を納品 |
| メトリクス層 | AI によるコード作成比率、納品量、バグ率 | AI 支援開発の効果を経数値で定量化する |
データのフローについては以下に詳述します。
人的思考 → [入力層] →構造化された入力
↓
[設定センター] で制約を読み込み、[モードエンジン] が戦略を選択
↓
[エージェントコア] がタスクを実行
↓ ↓
[MCP レイヤー] で外部データを取得 [出力層] で成果物を納品
↓
[計測層] で効果を定量化 → フィードバックによる改善
注意すべきは、これが単なる一方向の生産ラインではない点です。これは閉じたループを形成しています。計測層で得られたデータは設定センターにフィードバックされ、ルールやスキルの継続的な改善を促します。例えば、バグ発生率が上昇したと検知された場合、チームは新たなルール制約を追加するか、既存のスキルを最適化する必要があるかどうかを確認すべきです。
第二部分:実装への落とし込み
以上の二章で、Harness Engineering の核心理念と AI コーディング統合アーキテクチャの設計図について解説しました。「なぜ」と「何」を理解した今、最も重要なのは「どうするか」です。
本パートでは、チームの日常開発にどのようにしてこの規範を落とし込んでいくかを段階的に説明します。各セクションには具体的な手順、設定例、そして验收基準(受け入れ基準)が含まれており、メンバーがこれに従って実行すればすぐに運用を開始できます。
三、実装ロードマップ(3 段階の漸進的アプローチ)
規範の導入は一夜にして成し遂げられるものではありません。プロセスを明確な目標と验收基準を持つ三つのフェーズに分割しました。
| フェーズ | 目標 | 期間 | コア成果物 |
|---|---|---|---|
| 第 1 段階:基盤構築 | チーム全員が AI コーディングツールを活用し、基本的な制約体系を確立する | 1〜2 週間 | CodeBuddy のインストール、team-harness リポジトリの作成、基本ルールの設定、ナレッジベースの構成 |
| 第 2 段階:ツールの統合 | MCP の接続、スキルの蓄積、Plan モード(SDD)の実践 | 2〜4 週間 | MCP 接続完了、スキル資産の蓄積、仕様駆動開発プロセスの確立 |
| 第 3 段階:継続的改善 | 自己進化型のナレッジ体系を構築し、知識の飛車輪効果を実現する | 継続的 | 計測ダッシュボード、規範の更新メカニズム、知識の飛車輪 |
四、第 1 段階:基盤構築(迅速な立ち上げ)
目標:チーム全員が AI コーディングツールを活用し、基本的な制約体系を確立する。
4.1 CodeBuddy のインストールと設定
4.1.1 IDE プラグインのインストール
VSCode へのインストール:
- CodeBuddy 公式サイトからプラグインの .vsix ファイルをダウンロードします。
- VSCode を開き、Extensions(拡張機能)→ ... → Install from VSIX から、ダウンロードしたファイルを選択してインストールします。
- Command(⌘) + L または Ctrl + L を押下し、画面下部に CodeBuddy のアイコンが表示されればインストール成功です。
- アカウントにログインし、Plan モードとエージェントモードの両方が正常に動作するか確認してください。
JetBrains シリーズ IDE へのインストール(GoLand, PyCharm, IDEA など):
- CodeBuddy 公式サイトから JetBrains 用プラグインの .zip ファイルをダウンロードします(※ダウンロード後、解凍しないでください)。
- IDE を開き、Plugins → ⚙️ → Install Plugin from Disk から、ダウンロードした .zip ファイルを選択してインストールします。
- 画面下部に CodeBuddy のアイコンが表示されればインストール成功です。
- アカウントにログインし、チャット機能が正常に動作するか確認してください。
⚠️ Mac の Safari ブラウザでは、デフォルトでダウンロードした zip ファイルが自動的に解凍される場合があります。Safari の設定から「ダウンロード後に安全なファイルを自動的に開く」機能を無効化することをお勧めします。
4.1.2 CLI ツールのインストール(オプション)
社内ではすでに3 つの最高峰 CLI プログラミングツールが統合されており、用途に応じて使い分けることができます。
CLI ツール | インストールコマンド | 起動コマンド | 設定ディレクトリ
---|---|---|---
Claude Code Internal | npm install -g --registry=https://xxx.com/ | claude-internal | ~/.claude-internal/
Gemini CLI Internal | npm install -g --registry=https://xxx.com/gemini-internal | gemini-internal | ~/.gemini/
Codex CLI Internal | npm install -g --registry=https://xxx.com/codex-internal | codex-internal | ~/.codex-internal/
事前の依存関係として、Node.js 20 以降が必要です。これら3 つは業界で最も優れた AI コーディングツールであり、個人の使い勝手に合わせてお選びください。
4.1.3 CodeBuddy の核心設定
インストール完了後、CodeBuddy の最大限の効果を発揮させるために、以下の核心設定を行ってください。
- モデルの選択
ダイアログボックスの左下でモデルを切り替えます。推奨戦略は以下の通りです。
| シーン | 推奨モデル | 説明 |
|---|---|---|
| 複雑なコーディングタスク | Claude-4.6-Sonnet/Opus(より強力) / GPT-5.4 | 外部モデル。プログラミング能力は一流ですが、コードの文脈が外部へ送信されます |
| 単純な質問 / 機密性の高い業務 | DeepSeek-V3.2 GLM-4.7 HY-2.0 | 内部デプロイ済み。コードがドメイン外に出ず、セキュリティが担保されています |
| どちらを選べばよいか迷う場合 | Auto(智能自动选择) | 問題の複雑さに基づいて最適なモデルを自動でマッチングします |
⚠️ セキュリティに関する注意:Claude、GPT、Gemini などの外部モデルはコードの文脈を外部へ送信します。機密性の高い業務では、必ず内部デプロイされたモデルを使用してください。
- Memories(記憶機能)の設定
Memories を使用すると、CodeBuddy はあなたのコーディング習慣やプロジェクト情報を記憶し、セッションを超えて永続化できます。
有効化方法:
- CodeBuddy の設定ページで「Memories」オプションを選択します。
- Memories スイッチがオンになっていることを確認します。
手動での記憶登録:
Agent モードの対話中で、CodeBuddy に直接覚えてほしい情報を伝えます。
请记住:
1. 我习惯使用 Go 语言开发,项目使用 gin 框架
2. 代码注释使用中文
3. 变量命名使用 camelCase 风格
4. 所有 API 返回统一使用 pkg/response 包的标准格式管理记忆:在 CodeBuddy 设置页面 → Memories,可以查看、编辑、删除已保存的记忆。- Commands(コマンド)の設定(指示型インタラクション)
Commands は、頻繁に発生する開発タスクを再利用可能なコマンドとしてパッケージ化する機能です。本質的には「素早くトリガーできる標準化されたプロンプト」です。
Command の作成方法:
- ダイアログボックスで
/を入力し、「新規 Command」を選択します。 - Command 名を入力します(英語での命名を推奨)。
- Command 内容(つまり、事前設定されたプロンプト)を入力します。
チームで推奨する Commands:
| Command 名称 | 用途 | トリガータイミング |
|---|---|---|
| /init | プロジェクト初期化 AI 使用マニュアルの自動生成(Rules を作成) | 新規プロジェクト初回利用時 |
| /pre-mr-checklist | コード提出前のセキュリティ & バグ検出 | PR 提出前 |
| /spec-create | 要件定義書(Spec ドキュメント)の作成 | 新機能開発開始時 |
| /spec-plan | Spec に基づくタスクリストの生成 | 要件審査通過後 |
/init Command のサンプル内容:
このコードベースを分析し、.codebuddy/rules ディレクトリに global.md ファイルを作成してください。このファイルは、同様のコードベースで動作する今後の CodeBuddy インスタンスで使用されます。
追加すべき内容は以下の通りです。
- 頻繁に使用するコマンドの記載(ビルド方法、コードチェックの実行方法、テストの実行方法など)
- コードアーキテクチャと構造の高レベルな概要。特に「マクロ」視点での設計に焦点を当ててください。
利用上の注意:
- 既にファイルが存在する場合は、その内容を改善してください。
- 一般的な開発プラクティスについては記載不要です。
- ファイルの冒頭には、必ず以下のメタデータを含めてください:
CodeBuddy Rules
type: always
⚠️ 验收标准:每位团队成员能在 IDE 中正常唤起 CodeBuddy 对话框,Token 使用量正常,能展示一个简单项目实现的 prompt。
4.2 team-harness リポジトリの作成
これはチーム規範における唯一の信頼できる情報源です。すべての Rules、Skills テンプレート、AGENTS.md テンプレートをここに集約して管理します。
ステップ 1:リポジトリ構造の初期化
リポジトリの作成
mkdir team-harness && cd team-harness
git init
標準的なディレクトリ構造の作成
mkdir -p rules/{global,golang,python,frontend}
mkdir -p skills/{common,business}
mkdir -p templates
mkdir -p docs
コアファイルの作成
touch rules/global/base.md
touch rules/golang/go-backend.md
touch templates/AGENTS.md
touch templates/project.md
touch README.md
最終的なディレクトリ構造:
チームハルネスディレクトリ構成
team-harness/
├── rules/ # チームルール集積
│ ├── global/ # グローバル共通ルール
│ │ └── base.md # 基本規範(全プロジェクトで必須)
│ ├── golang/ # Go言語専用ルール
│ │ └── go-backend.md
│ ├── python/ # Python専用ルール
│ └── frontend/ # フロントエンド専用ルール
├── skills/ # チームスキル集積
│ ├── common/ # 共通スキル
│ │ ├── skill-creator/ # スキル作成ツール
│ │ └── find-skills/ # スキル検索ツール
│ └── business/ # ビジネス特化スキル
│ └── rainbow-config/ # レインボー構成(七彩石)連携
├── templates/ # テンプレートファイル
│ ├── AGENTS.md # AI 運用マニュアルテンプレート
│ └── project.md # プロジェクト記述テンプレート
├── docs/ # 利用ドキュメント
│ └── onboarding.md # 新規メンバー向けガイド
└── README.md
ステップ 2:同期スクリプトの作成
ビジネスプロジェクト内で、最新規範を自動取得するスクリプトを実装します。
#!/bin/bash
sync-harness.sh - チーム規範を現在プロジェクトへ同期
HARNESS_REPO="git@xxx.com"
HARNESS_DIR=".harness-upstream"
最新規範の取得
if [ -d "$HARNESS_DIR" ]; then
cd $HARNESS_DIR && git pull && cd ..
else
git clone $HARNESS_REPO $HARNESS_DIR
fi
Rules をプロジェクトへ同期
mkdir -p .codebuddy/rules
cp $HARNESS_DIR/rules/global/*.md .codebuddy/rules/
cp $HARNESS_DIR/rules/golang/*.md .codebuddy/rules/ # 言語別に選択してコピー
Skills をプロジェクトへ同期
mkdir -p .codebuddy/skills
cp -r $HARNESS_DIR/skills/common/* .codebuddy/skills/
echo "✅ チーム規範の同期が完了しました"
ステップ 3:CI による自動同期の設定(オプション)
プロジェクトの CI パイプラインに自動同期プロセスを追加し、ビルド実行前に常に最新規範を反映させます。
4.3 Rules 設定(グローバルおよびプロジェクトレベルでの制約)
Rules は、AI が各インタラクションで必ず読み込むグローバル制約であり、いわば AI が遵守すべき「法」です。CodeBuddy では 3 つの階層で Rules を定義できます。
4.3.1 Rules の階層体系
階層構造と適用範囲
AI コーディング支援ツール「CodeBuddy」のルールは、適用範囲と設定方法によって以下の 3 つに分類されます。
User Rules(ユーザールール)
- 対象: 全プロジェクト(個人利用)
- 設定場所: CodeBuddy の設定ページ → Rules
- 動作: 会話ごとに自動的に適用される
Team Rules(チームルール)
- 対象: チーム内の全メンバー
- 管理方法: Knot プラットフォームから一元的に配布
- 動作タイプ:
always(常時適用)またはmanual(手動指定)で設定可能
Project Rules(プロジェクトルール)
- 対象: 単一プロジェクトのみ
- 保存場所:
.codebuddy/rules/ディレクトリ内の.mdファイル - 動作: 常時適用、または会話時に
@Rulesで手動参照
4.3.2 ユーザールールの設定方法
- CodeBuddy の対話パネルにある設定アイコン(歯車)をクリックします。
- Rules 設定ページへ移動し、個人向けのルールを追加します。プラットフォームが用意したテンプレートを利用すれば、素早く作成して微調整も可能です。
個人ルールの例
- 回答は日本語で行うこと
- コードのコメントは日本語で記述すること
- Go の標準ライブラリを優先使用すること
- 変数名は camelCase(キャメルケース)形式にすること
4.3.3 チームルールの設定方法(Knot プラットフォーム経由)
チームルールは、管理者が Knot プラットフォームで一元管理・配布します。これにより、全メンバーが統一された開発基準に従うことが保証されます。
設定手順
- Knot の Rules 管理ページへアクセスします。
- 「新規 Team Rule」ボタンをクリックします。
- ルール内容を入力します。必須項目として、ヘッダー部に以下の形式で
Rule Type Headerを含める必要があります。
---
type: always
---
# チーム Go 後端開発規範
## アーキテクチャ制約
1. 階層アーキテクチャを厳守:Controller → Service → Repository → Model
2. Controller レイヤーでのビジネスロジック記述は禁止
...- 申請を送信し、承認されれば Team Rule は自動的に有効化されます。
- チームメンバーの CodeBuddy は、有効化された Team Rules を自動的に読み込みます。
💡 ヒント: Team Rule の type には、「常時適用」の always と「手動参照」の manual の 2 モードが用意されています。
4.3.4 プロジェクトルールの設定方法
作成手順
- CodeBuddy の対話パネルで「新規 Project Rule」をクリックします。
- ルール内容を入力してください。ヘッダーのメタデータは変更しないよう注意が必要です。
適用範囲の設定
- 常時有効: 会話ごとに自動的に読み込まれます。
- 手動指定: 会話時に
@Rulesを使用して選択する必要があります。
Rules ファイル構造の規範
Go 言語によるバックエンド開発の通用規範
一、アーキテクチャ制約(絶対的なルール)
- レイヤー構造を厳守する:Controller → Service → Repository → Model の順で構成すること。
- Controller レイヤーでの業務ロジックの実装は禁止。Controller はパラメータの検証とレスポンスの封入のみを担当する。
- すべてのデータベース操作は Repository レイヤーを経由し、Service 層で直接 SQL を記述することは禁じられている。
- 外部公開 API には必ず Swagger アノテーションを付与すること。
二、コードスタイル
- 関数やメソッドには、その用途を示す簡潔なコメントを必ず記載する。
- エラー処理において「_」で無視することは許されない。明示的な処理を行うか、上位へエラーを伝播させること。
- 変数名は camelCase を、定数は ALL_CAPS を使用する。
- 単一の関数の行数は 80 行以内とする。これを超えた場合は分割すること。
三、セキュリティ戦略
- データベースの変更を行う際は、直接実行するのではなく、まず SQL スクリプトを生成することを優先する。
- ファイルの削除や移動には追加の確認は不要だが、データベース構造の変更については必ず確認プロセスを経ること。
- すべての機密設定(シークレットキー、接続文字列など)は設定センターから読み込むこと。ハードコーディングは厳禁である。
四、開発行動指針
- 新機能の実装前には既存のコードベースを分析し、可能な限り既存モジュールを流用すること。
- コード変更範囲は最小限に抑え、1 つの PR で解決できるのは 1 つの問題に限る。
- すべての変更には明確なコミットメッセージを付与する。
- 新機能の実装時には、必ず同時にユニットテストも作成すること。
Rules の保存と再利用フロー
業務プロジェクトの team-harness リポジトリにおける開発者向けフロー:
- Rules の変更を PR として提出する。
- チームによるレビューとマージを行う。
- 各業務プロジェクトへ自動的に同期される。
- .codebuddy/rules/ ディレクトリが更新される。
AI は次回の対話時に新しいルールを自動的に読み込みます。
Rules の有効性を検証するには、CodeBuddy で以下のようにテストしてください:
「你好,请告诉我当前加载了哪些 Rules?」(現在ロードされている Rules を教えてください)
AI は認識した上で、ロード済みのルールファイルを列挙して回答するはずです。
4.4 AGENTS.md の作成
AGENTS.md は AI 向けの「取扱説明書」です。長さは約 100 行以内に抑え、詳細なドキュメントへの索引として機能させます。
プロジェクトのルートディレクトリに AGENTS.md ファイルを作成してください。
AI 開発アシスタント利用ガイド
プロジェクト概要
本プロジェクトは [プロジェクト名] です。Go を基盤としたマイクロサービスアーキテクチャを採用し、[フレームワーク名] フレームワークを使用しています。
アーキテクチャ構成
- レイヤー構造:Controller → Service → Repository → Model
- 詳細なアーキテクチャドキュメントについては、
docs/ARCHITECTURE.mdを参照してください。
ディレクトリ構成
internal/- ビジネスロジック(サービスごとにサブディレクトリを分割)pkg/- 共通ユーティリティライブラリapi/- API 定義(Proto/Swagger)configs/- 設定ファイルscripts/- スクリプトツール集
開発規約
- コーディング規約:
.codebuddy/rules/go-backend.mdを参照してください。 - データベース運用:すべてのクエリは Repository レイヤーを経由すること。
- エラー処理:エラーは必ず
pkg/errorsでラップして統一する。
頻出コマンド
- ビルド:
go build ./... - テスト実行:
go test ./... - Lint 実行:
golangci-lint run
進行中の要件
- 詳細は
.codebuddy/plan/ディレクトリ内のアクティブなタスクを確認してください。
注意事項
- 新機能を実装する際は、まず
pkg/に再利用可能なツールがないか確認すること。 - データベースの変更には、必ず事前に SQL スクリプトの生成が必要である。
- API の変更がある場合は、Swagger ドキュメントの更新を必須とする。⚠️ AGENTS.md は目次索引であり、百科事典ではありません。AI が必要な場合にのみ詳細ドキュメントへ深入りできるよう、簡潔に保つようにしてください。
4.5 知識ベース設定(実践ガイド)
知識ベースは、AI に業務コンテキストを持たせるための核となる手段です。チーム内のドキュメントやコードライブラリ、専門知識をマウントすることで、AI は「汎用的な知能」から「貴社の業務に精通した専門家」へと進化します。
4.5.1 知識ベースの種類と適用シーン
| 知識ベースの種類 | データソース | 適用シーン |
|---|---|---|
| iWiki ドキュメントライブラリ | チーム Wiki スペース | 業務ドキュメント、技術方案、API 仕様書、運用マニュアル |
| コードベース(工蜂) | Git リポジトリのコード | 共通コンポーネント SDK、フレームワークのソースコード、参考実装 |
| カスタムファイル | Markdown, TXT, PDF | 要件定義書、設計図、議事録、ドメイン固有知識 |
| AI Wiki | コードベースからの自動生成 | プロジェクトアーキテクチャの理解、モジュールロジックの整理、新入社員オンボーディング |
設定場所: Knot プラットフォーム(iWiki、工蜂、カスタムファイル)、CodeBuddy 内蔵機能(AI Wiki)
4.5.2 Knot プラットフォームでのチーム共有知識ベース作成
ステップ 1:知識ベースの作成
Knot の知識ベース管理ページへアクセスし、「知識ベースの追加」をクリックします。その後、以下のいずれかのタイプを選択して情報を記入してください。
- iWiki タイプ: iWiki スペースのアドレスを入力
- 工蜂コードベースタイプ: Git リポジトリのアドレスとブランチを指定
- カスタムファイルタイプ: Markdown, TXT, PDF ファイルをアップロード
ステップ 2:共有範囲の設定
知識ベースの詳細ページで「共有スイッチ」をオンにし、対象となる組織またはチームを選択します。送信後、管理者による承認待ちとなりますが、承認されればチーム共有が完了します。
ステップ 3:データソースの構成
知識ベース内の「データソース設定」ページでは、複数のデータソースを組み合わせることが可能です。
- 要件: TAPD プロジェクトに対応
- コード: 工蜂 Git リポジトリ(アドレスとブランチを入力)に対応
- ドキュメント: iWiki スペースに対応
- 可観測性: 智研プロジェクトに対応
4.5.3 CodeBuddy での知識ベース有効化
ステップ 1:設定画面へ移動
CodeBuddy の会話パネルで設定アイコンをクリックし、「知識ベース」オプションへ進みます。
ステップ 2:知識ベースの起動
知識ベースリストから、必要な公共知識ベースおよび個人用知識ベースをオンにします。また、「自動参照スイッチ」も推奨設定として有効化しておきましょう。これにより、AI が関連する知識を自動的に参照できるようになります。
ステップ 3:知識ベースの活用方法
方法 1:明示的な参照(精密な制御)
会話の入力欄で「@KnowledgeBase」と入力し、特定の知識ベースを選択します。
例:@チーム技術ドキュメント 現在のプロジェクトにおけるキャッシュ戦略は適切でしょうか?分析をお願いします。
方法 2:自動参照(手間なし)
自動参照機能をオンにすると、AI が質問に応じて自動的に関連知識を検索してくれます。
例:ユーザー認証モジュールを実装してください。既存の認証方式(バージョン 4.5.4)を参考にしてください。
4.5.4 AI Wiki の開設(推奨)
AI Wiki はコードベースから自動生成される構造化された知識ベースで、チームメンバーがプロジェクトアーキテクチャを素早く理解するのを支援します。
- CodeBuddy の右上メニューから「AI Wiki」を開く
- 案内に従って現在のコードベースに AI Wiki を開設(インデックス化は通常 24 時間以内に完了)
- 開設後は IDE 内でプロジェクトドキュメントを閲覧可能。ファイルをクリックするとソースコードへジャンプします。
- @AIWiki と入力して質問することで、プロジェクトのモジュールロジックを素早く把握できます。
4.5.5 チーム向け推奨知識ベース一覧
| プライオリティ | 知識ベース名 | タイプ | 内容 |
|---|---|---|---|
| P0 | チーム技術ドキュメント | iWiki | アーキテクチャ設計、技術ソリューション、API ドキュメント |
| P0 | コア共通ライブラリ | Gitee(工蜂)コードベース | tRPC SDK、七彩石 SDK、北极星 SDK など |
| P1 | 業務要件ドキュメント | カスタムファイル | 製品要件定義書、デザイン稿 |
| P1 | プロジェクト AI Wiki | AI Wiki | コードベースから自動生成された構造化ドキュメント |
| P2 | 運用マニュアル | iWiki | デプロイ手順、監視アラート、障害対応 |
⚠️ 受入基準
原文を表示
原创 腾讯程序员 2026-07-17 17:36 广东
image
把"好代码"标准写进系统里,让 AI 在约束下自己干活
image
作者:atreusliu
交付代码的成本已经接近免费了,但交付好代码的成本依然很高。Harness Engineering 做的事情,就是把"好代码"的标准写进系统里,让 AI 在约束下自己干活。
为什么每位成员都必须遵循这套规范?
AI Coding 工具正在重塑软件开发的方式。当团队中每个人都能用 AI 快速生成代码时,真正拉开差距的不再是"谁写得快",而是"谁写得好、谁写得稳、谁写得可维护"。
这套规范不是束缚,而是团队的共同语言和质量底线:
对个人:它帮你建立正确的 AI 协作习惯,避免踩坑返工,让 AI 真正成为你的生产力倍增器
对团队:它确保每个人产出的代码风格一致、架构统一、可审查可维护,降低协作摩擦
对项目:它把质量标准固化到工具链中,让项目不会因为人员变动而失控
本文档的定位:
第一部分(一、二章)回答"为什么"和"是什么":阐述 Harness Engineering 的核心理念和 AI Coding 一体化架构设计
第二部分(三~九章)回答"怎么做":提供分阶段实施路线图、具体配置步骤、日常开发 SOP、反模式总结,以及基于我们构造的 harness-audit Skill 的自动化合规性自检
第三部分(十章)总结
关于阅读重点的一点说明:
MCP、Skills、Rules、SDD、知识库这些概念,网上和司内已经有大量入门文章讲过"它们是什么",本文不再花篇幅重复这些老生常谈的定义。本文真正想讲清楚的,是另外两件事:
第一,它们在 Harness 体系中的功能定位。同样是 MCP 和 Skills,单独看每一个工具都不难理解,但放进 Harness 的 6 大支柱里,各自承担什么角色、解决什么层面的问题、在 AI 工作流的哪个环节发挥作用,这才是决定团队能不能用好它们的关键。
第二,它们在实际开发场景中如何相互配合。MCP 提供数据通道、Skills 封装领域经验、知识库注入业务上下文、Rules 划定行为边界——这几样工具不是孤立存在的,真正的威力在于组合使用。本文会结合具体场景(需求开发、Bug 修复、Code Review 等)讲清楚它们怎么协同工作。
其实我们日常开发中,已经或多或少在用 Harness 的思路了,只是缺一个系统化的框架把这些工具的使用方式和用法统一起来;
如果想捋清这些工具背后的设计逻辑,知道在自己的项目里该用哪一个、怎么搭配用、什么时候不该用,那这份规范就是为你准备的。
第一部分:理念与架构
一、核心理念:Harness Engineering(驾驭工程)
1.1 什么是 Harness Engineering?
2026 年 2 月,OpenAI 发了一篇文章《Harness Engineering: Leveraging Codex in an Agent-First World》。一个 3 人(后来扩到 7 人)的工程师团队,在完全禁止手写代码的条件下,用 AI Agent 在 5 个月内写了超过 100 万行代码,合并了 1,500 个 Pull Request,效率大概提升了 10 倍。
Harness 这个词来自马术,本意是"马具"——缰绳、马鞍、马镫。一匹没驯服的马力量很大,但你没法让它耕地、运货、上战场。AI 也一样:
Agent = Model + Harness
模型提供智能,Harness 让智能变成生产力。
LLM 本身没有状态、没有工具、没有记忆。Harness 层就是给模型装上"手脚和记忆"的工程基础设施。你写的所有代码、配的所有规则,都是 Harness 的一部分。
┌─────────────────────────────────────────────────────┐
│ 应用层 (Application) │
│ IDE 插件 / CLI / Web UI / 用户交互 │
├─────────────────────────────────────────────────────┤
│ Harness 层 (Agent Harness) │
│ 工具调用 · 上下文管理 · 权限校验 · 状态持久化 │
│ 执行编排 · 评估验证 · 约束恢复 · 记忆系统 │
├─────────────────────────────────────────────────────┤
│ 模型层 (Model) │
│ LLM (Claude / GPT / DeepSeek 等) │
│ 理解指令 · 生成文本 · 做出决策 │
└─────────────────────────────────────────────────────┘1.2 为什么需要 Harness?—— Vibe Coding 的三个致命问题
没有 Harness 约束的"氛围编码"(Vibe Coding),走的是一条 起步极快 → 中期混乱 → 后期崩盘 的路:
问题
现象
后果
架构混乱
Agent 喜欢走捷径,功能A用库X,功能B用库Y(哪怕X也能做),完全没有分层概念
一旦要换底层逻辑(比如换数据库),整个项目得大改
上下文雪崩
项目超过50个文件后,Agent 开始"忘事"——第1天用 user_id,第3天突然变成 uid
项目越大,Agent 越蠢,修一个 Bug 冒出两个新的
可维护性丧失
整个开发过程是黑盒,只有 Agent 知道代码怎么来的,人没参与思考
人想接手时,从头读几千行"垃圾代码",还不如重写
Harness Engineering 就是来解决这些问题的:
安全边界:权限控制、审计日志、拒绝追踪
可观测性:Token 计数、成本追踪、决策日志
可靠性:重试机制、降级策略、确定性兜底
扩展性:工具生态、技能系统、多 Agent 协调
1.3 Harness 的 6 大支柱及其在 Coding 中的映射
Harness Engineering 把 Agent 的运行环境拆成 6 个支柱,每个支柱在我们的开发规范中都有对应的工具和实践。下面逐个说明。
image上图来自于公众号文章: https://mp.weixin.qq.com/s/gs5ndvlMqM-Y4jg1_D2aFw 该文对Harness做了详细的讲解,本文不过多赘述;
这里我们只关注实践工具在其中的构成。
支柱一:上下文管理(Context Architecture)
问题:AI 的上下文窗口有限且贵,怎么让 AI 在对的时间看到对的信息?
实践
工具
说明
渐进式披露
AGENTS.md写一个 ~100 行的目录文件,指向 ARCHITECTURE.md、Rules 等细分文档,别一次灌几千行
结构化规范
Spec .md 文件(requirement.md / task.md)
把需求和设计决策写进 Git 仓库,变成 AI 随时能调取的"长期记忆"
变更隔离
changes/ 目录
用 Proposals 机制把"增量变更"和"存量代码"隔开,减少对现有逻辑的误伤
知识分层
Skills 按需加载
技能信息分三层(描述 → 指令 → 详细步骤),按需逐步加载,省 Context
知识库挂载
知识库(iWiki 代码库 自定义文件)
把团队 Wiki、代码仓库、业务文档挂载为知识库,AI 对话时自动或手动引用,获取业务上下文
代码知识化
AI Wiki
基于代码库自动生成结构化知识文档,AI 不用逐文件阅读就能理解项目全貌
几个原则:
别给 AI 一个几千行的规范文件
建分层索引,让 AI 按需深入
把团队 Wiki 和业务文档挂载为知识库,让 AI 有业务上下文
把仓库知识当作"系统记录"(System of Record),别依赖聊天历史
OpenAI 自己踩过坑:早期试过"一个巨大的 AGENTS.md",失败了。正确做法是拆成多个专注的文档,用目录索引串起来。
支柱二:工具系统(Tool System)
问题:AI 怎么触达代码仓库之外的真实世界,怎么具备特定领域的专业能力?
工具系统由三部分组成:MCP(连接外部世界)、Skills(封装专家经验)和知识库(注入业务上下文),三者配合构成 AI Agent 的完整能力体系。
imageMCP(Model Context Protocol)—— 连接外部数据源
MCP 类型
作用
典型场景
DB MCP
自动读取实时数据库 Schema
避免 AI 写出不存在的字段,生成准确的 SQL
Knowledge Base MCP
挂载团队内部文档
让 AI 有业务上下文,理解领域术语
API MCP
实时查询其他服务接口定义
微服务联调时,确保接口参数一致
运维 MCP
接入 CI/CD、监控系统
AI 可以直接触发构建、查看日志、分析告警
Skills(Agent Skills)—— 封装领域专家经验
Skills 是业务逻辑、领域知识和执行 SOP 的封装,让 AI 从"什么都会一点"变成"某个领域的专家"。
Skill 类型
作用
典型场景
工具接入类
封装内部工具链的接入规范
rainbow-config:按标准流程接入七彩石配置中心
代码生成类
固化特定模式的代码生成逻辑
按团队架构规范生成 CRUD 模块、中间件接入代码
元技能类
让 AI 能自我扩展
skill-creator:教 AI 根据现有代码创建新 Skill
搜索发现类
从社区发现可用能力
find-skills:从 80,000+ 技能库搜索并安装 Skill
知识库(Knowledge Base)—— 注入业务上下文
知识库是让 AI 从"通用模型"变成"懂业务的助手"的关键。挂载团队内部文档、代码仓库和业务资料后,AI 对话时能自动获取业务上下文,少猜多做。
知识库类型
数据来源
典型场景
iWiki 文档库
团队 Wiki 空间
挂载业务规范、技术方案、API 文档,AI 回答时自动引用
代码库知识
工蜂 Git 仓库
挂载公共组件(如 tRPC、七彩石 SDK),AI 生成代码时参考正确用法
AI Wiki
代码库自动生成
基于代码库自动生成结构化知识文档,快速理解项目架构和模块逻辑
自定义文件
Markdown PDF txt
上传需求文档、设计稿、会议纪要等,让 AI 有项目背景
知识库使用方式:
显式引用:在对话中输入 @KnowledgeBase 选择特定知识库引用
自动引用:开启自动参考开关,AI 对话时自动检索相关知识
团队共享:通过 Knot 平台将知识库共享给团队/组织,统一业务认知
核心比喻:MCP 是开门的钥匙,Skills 是开门后做的事情,知识库是进门前读的说明书。三者缺一不可——没有 MCP,AI 是闭门造车;没有 Skills,AI 有钥匙但不知道进门干什么;没有知识库,AI 进了门也不懂业务。
支柱三:执行编排与多 Agent 协作(Execution Orchestration)
问题:怎么让 AI 按部就班而不是乱写一气?怎么让多个 Agent 角色配合完成复杂任务?
执行编排不只是选模式(Plan vs Agent),而是一套多 Agent 协作的标准化工作流。团队应该遵循“3+1 Phase”流程,每个阶段由不同角色的 Agent 负责:
image"3+1 Phase" 标准化工作流:
阶段
输入
AI 操作
产出
协作模式
Phase 1: 计划
需求描述
Plan 模式生成 requirements.md,人工审核后创建 task.md
结构化方案文件
人类 Review 方案
Phase 2: 编码
任务清单
加载 Rules 和 Skills,调用 MCP 工具实现代码
源代码 + 单元测试
Generator Agent 执行
Phase 3: 交付
待合入代码
AI 自动做规范合规检查和代码逻辑审查
通过核查的 PR
Evaluator Agent 验收
Phase 4: 沉淀
已合并需求
自动把 Spec 归档,更新项目知识库
持久化知识资产
归档自动化
多 Agent 角色定义:
imageAgent 角色
职责
加载的 Harness
Planner
理解需求、拆解任务、生成方案
Plan 模式 + 项目 Spec
Generator
按方案写代码、写测试
Rules + Skills + MCP
Evaluator
代码审查、规范检查、测试验证
Rules + 验收标准
Archiver
归档变更、更新知识库
归档脚本 + Git
实际操作中:
用 Plan 模式做架构分析和大任务拆解(Planner 角色)
用 Agent 模式做具体功能的自动化实现(Generator 角色)
用 AI Code Review 做交付前的质量把关(Evaluator 角色)
遵循 SDD 工作流:requirements.md → 人工审核 → task.md → 执行 → 归档
每个任务必须有明确的"完成标准"(Acceptance Criteria)
支柱四:状态与记忆(State & Memory)
问题:怎么让 AI 在长周期开发中保持一致性?
记忆类型
实现方式
生命周期
短期记忆
当前会话上下文
单次对话
中期记忆
Memories 功能
跨会话持久化
长期记忆
Git 仓库中的 Spec 文件
项目全生命周期
变更记忆
Spec Deltas(changes/ 目录)
单次变更周期
实际操作中:
用 Git 记录规范变更(Spec Deltas),形成项目的长期记忆
用 Memories 功能让 AI 记住编程习惯和项目信息
每次变更归档后,自动更新 .codebuddy/plan/ 下的归档记录
支柱五:评估与观测(Evaluation & Observability)
问题:怎么验证 AI 生成的代码是不是靠谱的?
image评估分四层:
层次
检查内容
工具/方式
L1 语法
编译通过、Lint 检查
go build / golangci-lint
L2 逻辑
单元测试通过
go test / 自动生成测试用例
L3 规范
符合 Rules 约束
AI 自动合规检查
L4 架构
不破坏现有设计
人工 + AI 联合审查
实际操作中:
引入 AI 代码审查(CR),合入前自动检查规范合规性
代码写完后,自动编译和基础自测(闭环验证)
影响较大的改动,可以自动生成变更日志
支柱六:约束与恢复(Guardrails & Recovery)
问题:怎么防止 AI 越界操作,出错了怎么快速恢复?
约束分三级:
┌──────────────────────────────────────────┐
│ 硬性红线(Rules - 不可违反) │
│ "所有 API 必须包含 Swagger 注解" │
│ "禁止在 Controller 层编写业务逻辑" │
│ "所有数据库查询必须使用 Repository 模式" │
├──────────────────────────────────────────┤
│ 软性约束(Skills - 推荐遵循) │
│ "优先使用项目已有的工具类" │
│ "日志格式遵循团队统一标准" │
├──────────────────────────────────────────┤
│ 安全策略(Safety - 兜底保护) │
│ "涉及数据库变更,优先生成 SQL 脚本" │
│ "高风险操作前自动检测影响范围" │
│ "重要操作自动备份" │
└──────────────────────────────────────────┘恢复机制:
所有变更通过 Git 管理,随时可以回滚
Spec Deltas 机制确保变更可追溯
编译失败时自动回退到上一个稳定状态
1.4 Harness 6 大支柱与工具链映射总表
支柱
核心问题
对应工具
团队实践
上下文管理
AI 看到什么信息?
Spec 文档 AGENTS.md 知识库
结构化规范 + 渐进式披露 + 业务知识挂载
工具系统
AI 能触达什么?
MCP Skills 知识库
DB/API 实时接入 + 知识库业务沉淀 + Skills 专家经验
执行编排与多 Agent 协作
AI 按什么顺序做?谁来做?
Plan 模式 SDD 工作流 多 Agent 角色体系
"3+1 Phase":Planner → Generator → Evaluator → Archiver
状态与记忆
AI 记住什么?
Git + Memories + Spec Deltas
长期记忆持久化
评估与观测
AI 做得对不对?
自动测试 + AI CR
编译→测试→审查闭环
约束与恢复
AI 不能做什么?
Rules + Safety 策略
硬性红线 + 自动回滚
下文会详细讲解具体工具规范。
二、AI Coding 一体化架构
基于Harness Engineering 的 6 个支柱,这一章把它落地成一套完整的架构。这套架构定义了从"人的想法"到"能跑的代码"的全链路,算是团队 AI 辅助开发的技术蓝图。
说白了,AI 不是一个孤立的代码生成器,它是嵌在整个工程体系里的一个节点。架构的每一层都对应 Harness 的某个支柱,确保 AI 在约束下干活。
2.1 架构全景图
在开发实践过程中,我们整理了一个AI编码的整体架构图,从上到下分五层:输入层 → 工作台(CodeBuddy)→ 底层支撑(MCP)→ 输出层 → 度量层,数据自上而下流动,形成闭环:
image各层职责
以下表格说明架构中每一层的组件和职责:
层级
组件
职责
输入层
Spec 文档(requirement.md)/ 自然语言 / 代码上下文
把人的想法转成 AI 能理解的结构化输入
配置中心
Rules Skills Docs Commands Memories
加载 Harness 约束,让 AI 行为可控
模式引擎
Plan 模式 / Agent 模式
根据任务复杂度选执行策略
Agent 核心
代码生成 审查 测试 / 重构
执行具体的开发任务
MCP 层
DB API Wiki CI/CD Monitor
连接外部系统,突破代码仓库边界
输出层
代码 测试 文档 / 日志
交付可运行的工程产物
度量层
AI 代码占比 交付量 Bug 率
量化 AI 辅助开发的效果
数据怎么流转
人的想法 → [输入层] → 结构化输入
↓
[配置中心] 加载约束 → [模式引擎] 选择策略
↓
[Agent 核心] 执行任务
↓ ↓
[MCP 层] 获取外部数据 [输出层] 交付产物
↓
[度量层] 量化效果 → 反馈优化规范注意,这不是单向流水线,而是一个闭环——度量层的数据会反馈到配置中心,推动 Rules 和 Skills 的迭代。比如度量发现 Bug 率上升了,团队就该检查是不是需要补新的 Rules 约束或者优化现有 Skills。
第二部分:落地实操
以上两章阐述了 Harness Engineering 的核心理念和 AI Coding 一体化架构的设计蓝图。理解了"为什么"和"是什么"之后,接下来最关键的问题就是"怎么做"。
本部分聚焦于如何一步步把规范落地到团队日常开发中。每一节都包含具体的操作步骤、配置示例和验收标准,确保团队成员照着做就能跑通。
三、实施路线图(3 阶段渐进式)
落地不是一蹴而就的事。我们把整个过程拆成三个阶段,每个阶段有明确的目标和验收标准:
阶段
目标
周期
核心产出
第一阶段:基础建设
让团队每个人都能用上 AI Coding 工具,建立基本约束体系
1-2 周
CodeBuddy 安装 + team-harness 仓库 + 基础 Rules + 知识库配置
第二阶段:工具接入
接入 MCP、沉淀 Skills、实践 Plan 模式 SDD
2-4 周
MCP 接入 + Skills 沉淀 + Spec 驱动开发流程跑通
第三阶段:持续优化
建立自演进的知识体系,实现知识飞轮效应
持续
度量看板 + 规范迭代机制 + 知识飞轮
四、第一阶段:基础建设(快速启动)
目标:让团队每个人都能用上 AI Coding 工具,并建立基本的约束体系。
4.1 CodeBuddy 安装与配置
4.1.1 IDE 插件安装
VSCode 安装:
前往 CodeBuddy官网下载插件 .vsix 文件
进入 VSCode → Extensions → ... → Install from VSIX → 选择下载的插件
按 Command(⌘) + L 或 Ctrl + L,底部出现 CodeBuddy 图标代表安装成功
登录账号,确认 Plan 模式和 Agent 模式均可正常使用
JetBrains 系列 IDE 安装(GoLand PyCharm IDEA 等):
前往 CodeBuddy 官网下载 JetBrains 插件 .zip 文件(注意:下载后不要解压)
进入 IDE → Plugins → ⚙️ → Install Plugin from Disk → 选择下载的 .zip 文件
底部出现 CodeBuddy 图标代表安装成功
登录账号,确认对话功能正常
⚠️ Mac Safari 浏览器默认会自动解压 zip 文件,建议在 Safari 设置中取消勾选"下载后打开安全文件"。
4.1.2 CLI 工具安装(可选)
司内已集成三种顶级 CLI 编程工具,按需选择:
CLI 工具
安装命令
启动命令
配置目录
Claude Code Internal
`npm install -g --registry=https://xxx.com/
claude-internal~/.claude-internal/
Gemini CLI Internal
npm install -g --registry=https://xxx.com/gemini-internal~/.gemini/
Codex CLI Internal
npm install -g --registry=https://xxx.com/codex-internal~/.codex-internal/
前置依赖:Node.js 20 或以上版本。三者都属于行业最强 AI Coding 工具,按个人习惯选择即可。
4.1.3 CodeBuddy 核心配置
安装完成后,需要进行以下核心配置,让 CodeBuddy 发挥最大效能:
- 模型选择
在对话框左下角切换模型。推荐策略:
场景
推荐模型
说明
复杂编码任务
Claude-4.6-Sonnet/Opus(更强) / GPT-5.4
外部模型,编程能力一流,但会外传代码上下文
简单问题 / 敏感业务
DeepSeek-V3.2 GLM-4.7 HY-2.0
内部部署,代码不出域,安全有保障
不确定选哪个
Auto(智能自动选择)
基于问题复杂度自动匹配最优模型
⚠️ 安全提醒:Claude、GPT、Gemini 等外部模型会发送代码上下文到外部,敏感业务请使用内部部署模型。
- Memories 配置(记忆功能)
Memories 让 CodeBuddy 记住你的编码习惯和项目信息,跨会话持久化。
开启方式:
在 CodeBuddy 设置页面,选择 Memories 选项
确认 Memories 开关已开启
主动记忆: 在 Agent 模式对话中,直接告诉 CodeBuddy 需要记住的信息:
请记住:
- 我习惯使用 Go 语言开发,项目使用 gin 框架
- 代码注释使用中文
- 变量命名使用 camelCase 风格
- 所有 API 返回统一使用 pkg/response 包的标准格式管理记忆: 在 CodeBuddy 设置页面 → Memories,可以查看、编辑、删除已保存的记忆。
- Commands 配置(指令式交互)
Commands 是将高频开发任务封装为可复用命令的能力,本质是"可被快速触发的标准化 Prompt"。
创建 Command:
在对话框输入 /,选择"新增 Command"
输入 Command 名称(建议使用英文命名)
填入 Command 内容(即预设的 Prompt)
推荐的团队 Commands:
Command 名称
用途
触发方式
/init为项目初始化 AI 使用手册(自动生成 Rules)
新项目首次使用时
/pre-mr-checklist代码提交前安全 & 漏洞检测
提交 PR 前
/spec-create创建需求 Spec 文档
新需求开发时
/spec-plan基于 Spec 生成任务清单
需求审核通过后
/init Command 示例内容:
请分析此代码库,并在当前代码库 .codebuddy/rules 目录下创建 global.md 文件,
该文件将提供给未来的 CodeBuddy 实例在此代码库中运行使用。
需要补充的内容:
- 将经常使用的命令包括在内,例如如何构建、如何进行代码检查以及如何运行测试
- High-level 的代码架构和结构,重点在于"宏观"的架构设计
使用说明:
- 如果该文件已经存在,请对其进行改进
- 不要包含通用的开发实践
- 确保该文件前有以下头部元数据:
CodeBuddy Rules
type: always
---⚠️ 验收标准:每位团队成员能在 IDE 中正常唤起 CodeBuddy 对话框,Token 使用量正常,能展示一个简单项目实现的 prompt。
4.2 创建 team-harness 仓库
这是团队规范的唯一真实来源,所有 Rules、Skills 模板、AGENTS.md 模板都集中管理在这里。
Step 1:初始化仓库结构
创建仓库
mkdir team-harness && cd team-harness
git init
创建标准目录结构
mkdir -p rules/{global,golang,python,frontend}
mkdir -p skills/{common,business}
mkdir -p templates
mkdir -p docs
创建核心文件
touch rules/global/base.md
touch rules/golang/go-backend.md
touch templates/AGENTS.md
touch templates/project.md
touch README.md最终目录结构:
team-harness/
├── rules/ # 团队 Rules 集合
│ ├── global/ # 全局通用规则
│ │ └── base.md # 基础规范(所有项目必须加载)
│ ├── golang/ # Go 语言专用规则
│ │ └── go-backend.md
│ ├── python/ # Python 专用规则
│ └── frontend/ # 前端专用规则
├── skills/ # 团队 Skills 集合
│ ├── common/ # 通用 Skills
│ │ ├── skill-creator/ # Skill 创建器
│ │ └── find-skills/ # Skill 搜索器
│ └── business/ # 业务 Skills
│ └── rainbow-config/ # 七彩石配置接入
├── templates/ # 模板文件
│ ├── AGENTS.md # AI 说明书模板
│ └── project.md # 项目描述模板
├── docs/ # 使用文档
│ └── onboarding.md # 新人上手指南
└── README.mdStep 2:编写同步脚本
在业务项目中通过脚本自动拉取最新规范:
#!/bin/bash
sync-harness.sh - 同步团队规范到当前项目
HARNESS_REPO="git@xxx.com"
HARNESS_DIR=".harness-upstream"
拉取最新规范
if [ -d "$HARNESS_DIR" ]; then
cd $HARNESS_DIR && git pull && cd ..
else
git clone $HARNESS_REPO $HARNESS_DIR
fi
同步 Rules 到项目
mkdir -p .codebuddy/rules
cp $HARNESS_DIR/rules/global/*.md .codebuddy/rules/
cp $HARNESS_DIR/rules/golang/*.md .codebuddy/rules/ # 按语言选择
同步 Skills 到项目
mkdir -p .codebuddy/skills
cp -r $HARNESS_DIR/skills/common/* .codebuddy/skills/
echo "✅ 团队规范同步完成"Step 3:配置 CI 自动同步(可选)
在项目的 CI 流水线中加入自动同步步骤,确保每次构建前规范都是最新的。
4.3 Rules 配置(全局与项目级约束)
Rules 是 AI 在每次交互中必须加载的全局约束,相当于 AI 必须遵守的"法律"。CodeBuddy 支持三个层级的 Rules:
4.3.1 Rules 分层体系
image层级
作用域
配置方式
加载方式
User Rules
所有项目(个人)
CodeBuddy 设置页面 → Rules
每次对话自动带入
Team Rules
团队所有成员
Knot 平台管理下发
按 type 配置(always / manual)
Project Rules
单个项目
.codebuddy/rules/ 目录下的 .md 文件
总是生效 或 手动 @引用
4.3.2 User Rules 配置
点击 CodeBuddy 对话面板的设置齿轮图标
进入 Rules 设置页面
添加个人偏好规则,也可使用平台预置的 Rules 快速生成后微调
个人偏好示例
- 回复使用中文
- 代码注释使用中文
- 优先使用 Go 标准库
- 变量命名使用 camelCase4.3.3 Team Rules 配置(通过 Knot 平台)
Team Rules 由团队管理员在 Knot 平台统一管理和下发,确保团队所有成员遵循一致的标准。
配置步骤:
前往 Knot Rules 管理页面
点击「新建 Team Rule」
填入 Rule 内容,头部必须包含 Rule Type Header:
type: always
团队 Go 后端开发规范
架构约束
- 严格遵循分层架构:Controller → Service → Repository → Model
- 禁止在 Controller 层编写业务逻辑
...提交审批,审批通过后 Team Rule 自动生效
团队成员的 CodeBuddy 会自动加载已生效的 Team Rules
💡 Team Rule 的 type 支持 always(总是生效)和 manual(手动引用)两种模式。
4.3.4 Project Rules 配置
创建方式:
在 CodeBuddy 对话面板中点击「新增 Project Rule」
输入 Rule 内容(注意不要修改头部元数据)
设置生效范围:
总是生效:每次对话自动带入
手动指定:需要在对话时 @Rules 选择
Rules 文件结构规范:
description: "Go 后端开发通用规范"
globs: "**/*.go"
alwaysApply: true
Go 后端开发规范
一、架构约束(硬性红线)
- 严格遵循分层架构:Controller → Service → Repository → Model
- 禁止在 Controller 层编写业务逻辑,Controller 只负责参数校验和响应封装
- 所有数据库操作必须通过 Repository 层,禁止在 Service 中直接写 SQL
- 所有对外 API 必须包含 Swagger 注解
二、代码风格
- 函数/方法必须有简要注释说明用途
- 错误处理不允许使用 _ 忽略,必须显式处理或向上传递
- 变量命名使用 camelCase,常量使用 ALL_CAPS
- 单个函数不超过 80 行,超过则拆分
三、安全策略
- 涉及数据库变更时,优先生成 SQL 变更脚本,而非直接执行
- 删除、移动文件等操作无需额外确认,但涉及数据库结构修改必须确认
- 所有敏感配置(密钥、连接串)必须通过配置中心读取,禁止硬编码
四、开发行为
- 添加新功能前,必须先分析现有代码库,优先复用已有模块
- 代码变更范围最小化,一次 PR 只解决一个问题
- 每次变更必须附带清晰的 commit 信息
- 新增功能必须同步编写单元测试4.3.5 Rules 的保存与复用流程
image业务项目team-harness 仓库开发者业务项目team-harness 仓库开发者AI 下次交互自动加载新规则1. 提交 Rules 变更 PR2. 团队 Review & 合并3. 自动同步到各业务项目4. .codebuddy/rules/ 更新
验证 Rules 生效:
在 CodeBuddy 中测试
你好,请告诉我当前加载了哪些 Rules?AI 应能识别并列出已加载的规则文件。
4.4 编写 AGENTS.md
AGENTS.md 是 AI 的"说明书",控制在 ~100 行以内,当目录索引用,指向更细分的文档。
创建文件 AGENTS.md(放在项目根目录):
AI 开发助手说明书
项目概述
本项目是 [项目名称],基于 Go 微服务架构,使用 [框架名] 框架。
架构说明
- 分层架构:Controller → Service → Repository → Model
- 详细架构文档:参见
docs/ARCHITECTURE.md
目录结构
internal/- 业务逻辑(按服务拆分子目录)pkg/- 公共工具库api/- API 定义(Proto/Swagger)configs/- 配置文件scripts/- 脚本工具
开发规范
- 代码规范:参见
.codebuddy/rules/go-backend.md - 数据库规范:所有查询走 Repository 层
- 错误处理:统一使用
pkg/errors包装错误
常用命令
- 编译:
go build ./... - 测试:
go test ./... - Lint:
golangci-lint run
当前进行中的需求
- 参见
.codebuddy/plan/目录下的活跃需求
注意事项
- 添加新功能前,先检查
pkg/下是否已有可复用的工具 - 数据库变更必须先生成 SQL 脚本
- 所有 API 变更需要更新 Swagger 文档⚠️ AGENTS.md 是目录索引,不是百科全书。保持精简,让 AI 按需深入查阅具体文档。
4.5 知识库配置(详细实操)
知识库是让 AI 有业务上下文的核心手段。挂载团队内部文档、代码库和业务知识后,AI 能从"通用智能"变成"懂你业务的专家"。
4.5.1 知识库类型与适用场景
知识库类型
数据来源
适用场景
配置入口
iWiki 文档库
团队 Wiki 空间
业务文档、技术方案、API 说明、运维手册
Knot 平台
工蜂代码库
Git 仓库代码
公共组件 SDK、框架源码、参考实现
Knot 平台
自定义文件
Markdown txt PDF
需求文档、设计稿、会议纪要、领域知识
Knot 平台
AI Wiki
基于代码库自动生成
项目架构理解、模块逻辑梳理、新人上手
CodeBuddy 内置
4.5.2 在 Knot 平台创建团队共享知识库
Step 1:创建知识库
前往 Knot 知识库管理页面
点击「添加知识库」
选择知识库类型(iWiki 工蜂代码库 自定义文件)
填入知识库信息:
iWiki 类型:填入 iWiki 空间地址
工蜂代码库类型:填入 Git 仓库地址和分支
自定义文件类型:上传 Markdown txt PDF 文件
Step 2:配置共享范围
在知识库详情页,开启「共享开关」
选择需要分享的组织/团队
提交后等待管理员审批,审批通过即完成团队共享
Step 3:配置数据源
在知识库的「数据源配置」页面,可以配置多种数据源:
需求:支持 TAPD 项目
代码:支持工蜂 Git 仓库(填入仓库地址和分支)
文档:支持 iWiki 空间
可观测:支持智研项目
4.5.3 在 CodeBuddy 中启用知识库
Step 1:进入知识库设置
在 CodeBuddy 对话面板中,点击设置图标 → 进入「知识库」选项。
Step 2:开启知识库
在知识库列表中,开启需要的公共知识库和个人知识库
配置自动引用开关(推荐开启,AI 会自动参考相关知识)
Step 3:使用知识库的两种方式
方式一:显式引用(精确控制)
在对话输入框中输入 @KnowledgeBase,选择特定知识库
@团队技术文档 请帮我分析当前项目的缓存策略是否合理
方式二:自动引用(省心省力)
开启自动参考开关后,AI 会根据问题自动检索相关知识
请帮我实现用户鉴权模块,参考团队现有的鉴权方案4.5.4 开通 AI Wiki(推荐)
AI Wiki 是基于代码库自动生成的结构化知识库,帮助团队成员快速理解项目架构:
在 CodeBuddy 右上角菜单中打开 AI Wiki
按指引为当前代码库开通 AI Wiki(索引通常在 24h 内完成)
开通后可直接在 IDE 中浏览项目文档,点击文件跳转到源码
通过 @AIWiki 向 AI Wiki 提问,快速了解项目模块逻辑
4.5.5 推荐的团队知识库清单
优先级
知识库名称
类型
内容
P0
团队技术文档
iWiki
架构设计、技术方案、接口文档
P0
核心公共库
工蜂代码库
tRPC SDK、七彩石 SDK、北极星 SDK 等
P1
业务需求文档
自定义文件
产品需求文档、设计稿
P1
项目 AI Wiki
AI Wiki
基于代码库自动生成的结构化文档
P2
运维手册
iWiki
部署流程、监控告警、故障处理
⚠️ 验收标准
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み