告别“散装AI”:SKILL编排对貯蔵量コード用“微创手机” – vivo Internet Technology
保存されたコードを変更する必要がある場合、課題はコーディングではなく、コードを安全かつ正確に変更する方法にあります。このホワイトペーパーでは、1 つのシーケンサーと複数の単一責任スキルで構成される AI コラボレーション パイプラインを構築することで、影響分析、ルールの設定、埋設ポイント、回帰チェックの隠れたワークフローを簡素化し、機能の実装中に、保存されたコードに対して最小限の侵襲的な変更が確実に行われるようにします。
著者: vivo IT テクノロジー チーム – Liu Heng
保存されたコードを変更する必要がある場合、課題はコーディングではなく、コードを安全かつ正確に変更する方法にあります。このホワイトペーパーでは、1 つのシーケンサーと複数の単一責任スキルで構成される AI コラボレーション パイプラインを構築することで、影響分析、ルールの設定、埋設ポイント、回帰チェックの隠れたワークフローを簡素化し、機能の実装中に、保存されたコードに対して最小限の侵襲的な変更が確実に行われるようにします。
1分

一、典型的なシナリオ: 単純なコード変更
ある上海上报モジュールには、新しい「圧縮前の画像アップロード」機能を追加する必要があります。要件自体は単純ですが、変更すると、実際の複雑さは次の点にあります。
- 影響範囲が不明確:写真のアップロードに関するシナリオは 1 か所ではなく、同じアップロード コンポーネントが複数の親コンポーネントで共有されており、他のユーザーは影響を受けませんか?
- 複雑な分岐ロジック:単一ファイルのアップロードと 2 つのパスのバッチ アップロード、どのブランチを挿入するか、どのレイヤーに挿入するロジックを圧縮する場合、副作用はありませんか?
- 降級戦略が定義されていません:圧縮に失敗した場合、ユーザーは元の文書をアップロードするか、ユーザーに表示されます。会不可以下のアップロード機能は利用できません。
- 効果を定量化するのは困難です。圧縮機能がオンになった後は、それが有効であることを証明することはできません。圧縮段階が消費され、終了までに経過した時間を比較すると、プラスの利益が得られますか?最適化の効果を検証するにはデータのサポートが必要です。
核心的な矛盾:残量コードを変更します。代わりに、最も不是「不是改」改完会了哪金会炸裂従来の「ファイルを直接変更する」モード、簡単に実行できる正の性質の仕事:影響力のある面の規則が定義されておらず、埋め点が統合されておらず、復帰用の例がありません— — 左利きのどの部分もオンライン事故につながる可能性があります。
二、ソリューション:「散装AI」から「编排流水線」へ
上記の問題を解決するために、私たちはもはや零效 AI问答に依存せず、代わりに再利用可能な AI 支援開発パイプラインを構築しました。核となる考えは次のとおりです。開発の過程では、これらの「やりたいときにいつでも簡単に忘れることができる」リンクは、独立した、壍的、単一のスキルであり、スマートトランシェデバイスを通じて実装されます。。
これは、コードを保存するために標準の「外科 SOP」を変更し、AI をアシスタントとして機能させ、プロセスに厳密に従い、各ステップが正確で制御可能であることを保証するようなものです。
3. アーキテクチャ設計
システム全体 1台の中央排気装置 (開発ワークフロー) 和 複数の独立したスキルコンポーネント要求の種類に応じて担当するコントローラー、インテリジェントな調整と連係スキル。各スキルは流水電視の特別なツールであり、特定のタスクのみを完了します。
3.1 フロープロセス: 2 ウェイ、アセンブリ
dev-workflow(编排器)
│
├── 判断需求类型(增量 / 存量)
│
├── 增量需求 → 流程 A
│ │
│ ├── Phase 1 — 搭建骨架
│ │ ├── scaffold-generator → 生成模块目录结构
│ │ ├── api-definition → 生成 API 请求函数
│ │ └── i18n-integration → 生成国际化文案
│ │
│ ├── Phase 2 — 编写业务代码
│ │ ├── [编写或生成业务逻辑]
│ │ └── monitor-integration → 埋点集成(如需要)
│ │
│ └── Phase 3 — 验证提交
│ ├── regression-cases → 回归用例生成
│ └── cr-self-check → CR 自查
│
└── 存量修改 → 流程 B
│
├── Phase 1 — 分析评估
│ ├── impact-analysis → 影响面分析
│ ├── processing-principles → 处理原则提取
│ └── minimal-invasion → 最小侵入分析
│
├── Phase 2 — 编写代码
│ ├── [实施代码修改]
│ ├── monitor-integration → 埋点集成
│ └── i18n-integration → 国际化文案
│
└── Phase 3 — 验证提交
├── regression-cases → 回归用例生成
└── cr-self-check → CR 自查
编排器電子効果スキルは、需要の種類 (增量、残量) に応じて、異なるスキルの組み合わせと実行順序を選択し、2 つの最適化プロセスを形成します。

プロセス B を例にとると、次のステート マシン図はフロー転送の完全な動的実行を示しています。これには、一連のフェーズ、2 つの並列分岐、各フェーズ完了後のチェック ポイントが含まれます。

3.2 スキル マトリックス: 各スキルの責任
各スキルは好比流水電視的每台「機械」。複数のスキル、それぞれが唯一のものこれらは「事出物」に渡されるデータです——上游スキルの出力は下游スキルの入力になります。

デザイン:各スキルは個別の Markdown ファイルであり、調整できるだけでなく、個別に使用することもできます。
3.3 编排制御:世界制御设流水線不最適化
柔軟な動線を確保するための 3 つのコア機構による排気器。
- スマートジャンプ:すべてのスキルを実行する必要はありません。 编排器は需要の特性に応じて自動的に判断し、該当しないスキルを飛び越えます。
- 位相关门:各フェーズが完了したら、確認を一時停止し、概要を出力して続行するかどうかを尋ね、人間が適切な時間を維持できるようにします。
- 独立して取り外し可能:各スキルは独立して使用できますが、编排器は「電気の串联手机」であり、「独自の使用方法」ではありません。
3 つの機構の設計上の動き、詳細な実装、および実際の戦闘効果については、第 4 章、第 5 章を参照してください。
3.4 データ引き継ぎ:スキル交流モード
全工程の中で最も注目すべき点は、 スキル間のデータ転送方法。
API やデータベースを介したものではありませんが、自然言語による制作形式会話の流れ:
impact-analysis
│ 输出:"影响面极小,修改封闭在 uploadComponent.vue 内部"
▼
processing-principles
│ 输入:上游结论 → 跳过"跨组件兼容性"检查项
│ 输出:6 条编码规则(含阈值、降级策略、埋点要求)
▼
minimal-invasion
│ 输入:6 条规则 → 确定需要"条件守卫 + 前置处理"两种模式
│ 输出:具体的代码插入方案
▼
[代码实施]
│ 输入:插入方案 → 机械化编写代码
├──▶ monitor-integration(规则第 5 条触发)
├──▶ i18n-integration(Toast 文案触发)
▼
regression-cases
│ 输入:变更的文件和函数 → 生成回归清单
▼
cr-self-check
│ 输入:所有修改的文件 → 逐项检查
│ 输出:CR 自查报告
上流スキルの結論は上流スキルの動作に直接影響する可能性があります。 例えば:
- 影響分析福如「方法面小」→原則処理職运動「跨设宝与上」和「回恋技术」電影长
- 処理原理免费了「電影埋点」→ フェーズ 2 の排熱器は自動的にモニター統合をアクティブ化
- 処理原理 没运動”新方新行”→ 编排器迷迷连接 足場生成器
四、实战推演:以「画像圧縮」要件跑通プロセスB
以下は「某上报上报像劇情」です。これは典型的なストレージ要件、デモンストレーションです。工程B実行方法。
開発者が要件の説明を入力すると、编排器 dev-workflow が要件機能を自動分析します。貯蔵量変化,自動的にルートします工程B、フェーズ 1(運動安全)→フェーズ 2(電気面)→フェーズ 3(電子電気効果)のミックスを計画しています。
加工剤



以下はフェーズの段階的な内訳です。「スキルの上生干了了、了了了了何」を参照してください。
4.1 フェーズ1:評価の分析
フェーズ 1 の世界スキルは依存関係です。後者は前のスキルの出力を必要とするため、実行する必要があります。
スキル 1: 影響分析 — 正解面分用
入力:説明要件 + 対象ファイルのパス (uploadComponent.vue)
AI はリンクを自動的にスキャンします。上向き追跡 (誰が私に電話をかけたか)、下向き追跡 (誰が依存したか)、水平スキャン (誰と私が同じ API を使用したか)、最終出力:

結論:影響面はごくわずか、uploadComponent.vueで完全に修正は完了しました。 この一歩は私たちに自信を与えてくれました。
下一篇 能力—処理原理 下載電子は考慮する必要はない
加工剤


スキル 2: 処理の原理 — 手机手机
入力:要件の説明 + 影響分析の電気効果
ガイドを確認するためのチェックリスト(閾値境界、障害処理、互換性、並列性、順序、観察、復帰戦略)です。
- 」3MB 時間計算に等しいですか?” → 电影电影:不可以
- 」ストーリー情介绍要不要手机电影?” → 电影电影:不计算
最後の沉激出6条全京级级级:

優れた点: 圧縮されていない場合は 3 MB に相当し、アップロードが許可されている場合は 10 MB に相当します—— こういう境界値の決め方は、事前に考えておかないと、また半分が見つかるまで書いてしまいます。
これは 6 条の結果による次の机のスキル — 最小限の侵入 この決定に従ってコードを挿入する方法です。
加工剤

スキル 3: 最小限の侵入
入力:対象関数 源コード + 処理原理 の 6 条結果
これは、uploadFileToServer メソッドを読み取り、ブランチ構造を描画します。
uploadFileToServer(file)
├── if (Array) ──── 批量上传
│ └── forEach → FormData.append → 调用接口
└── else ─────────── 单文件上传
└── FormData.append → 调用接口
次に、5 つの統合戦略から 2 つの組み合わせを選択しました。
- 条件守卫(ルール2):入口处 10MB 愛截、速い失敗
- 前置電視(結果1/3):FormData.append 前前手机劇成,劇情降级图像翻訳
出力固有のコード変更スキーム:
// 原来
formData.append("file", item.file);
// 改为
const processedFile = await this.processFileWithCompress(item.file);
formData.append("file", processedFile);
変数名1つだけ、オリジナルアップロード、返却、ステータス管理がすべて非アクティブになります。 これが本質の「最小限の侵入」です。
加工剤




フェーズ 1 小结:3 スキル画像接力赛一—衝撃分析接棒出「電影面」、処理原理接棒出「電影」、最小侵襲再接棒出「最游電視」。上游の共语電影接棒出「電影電影」。
- 影響分析
- 処理原理 就跳路” 跨设设典上” 电影长
- 処理原理
フィルタのフェーズ 2 は、モニタ統合を自動的にアクティブ化します。「新しい方へ」は起動せず、フィルタはスキャフォールディング ジェネレータを迷走させて実行します。关门機構最初の確認ドア。
4.2 フェーズ 2: コードを書く (実装 + 2 つの二次スキル)
フェーズ 1 の三者交易を取得し、写像が三機械化を生みます。
実装コード: 3 つのドキュメント、1 つのデザイン
ファイル1:圧縮ツール機能 ファイル圧縮.js
核となるデザインは、 約束 + 回调双時間间:
export function compressImage(file, callbacks = {}){
return new Promise((resolve) => {
// ...
new Compressor(file, {
quality: 0.8,
success(result) {
callbacks.onSuccess?.({ duration, originalSize, compressedSize, savedRatio });
resolve(compressedFile); // Promise 通道:返回压缩结果
},
error(err) {
callbacks.onFail?.({ duration, error: err.message });
resolve(file); // 关键:失败也 resolve,不 reject!
}
});
});
}
电影亮点:永是決、永不拒絶。 圧縮が失敗すると、元のドキュメントに戻り、呼び出しには try/catch はまったく必要ありません。これは保証されています:
- 圧縮成功 → 圧縮後にファイルをアップロード
- 圧縮に失敗しました → 元のドキュメントをアップロード
- コードは完全に同一で、分岐はありません
ファイル 2:uploadComponent.vue にコンパイルします。
コア ファイル UploadComponent.vue 可修正三处:

原一負荷管理、保存トリガー、エラー処理—一行動。
加工剤

スキル 4: モニター統合 — 埋点设计
処理原則第 5 条に「埋点電視」が設定されているため、監視統合スキルが自動的に起動されます。
上フィールドには次のものが含まれます。
status(success/fail)| duration(耗时ms)| originalSize | compressedSize | savedRatio | fileName
埋点と圧縮ロジックの分離:劇制工作公開不可倧点库,介して callbacks.onSuccess / onFail 通子電影:
compressImage(file, {
onSuccess: (data) => report_imageCompress({ status: 'success', ...data }),
onFail: (data) => report_imageCompress({ status: 'fail', ...data })
});
fileCompress.js は純粋なツール関数であり、どのモジュールでも再利用できます。埋点論理は上海動山にあり、语方名による標準時間、監視方法。
加工剤

スキル 5: i18n の統合 — 国际化文案
コードにはトースト プロンプト (「ドキュメント サイズは 10MB を超えることはできません」) があるため、i18n-integration は i18n-integration zhLang.js 追加一词条、common/index.js に登録了キーによってトリガーされます。
加工剤


フェーズ2機械——第 1 段階はすでに完了しています。「在哪改、支改、改多小」、この段階は建設計画に従っているだけです。 3 つの重要な設計上の決定は注目に値します。
- fileCompress.js は「時間解決」モードを採用しており、圧縮は自動的に失敗します。
- UploadComponent.vue 房改 3 处,原有ロード/保存/エラー処理一行未動
- リバース コールバックによる埋点
海電気ポンプ フェーズ 1 の電気ポンプは、monitor-integration (電気電気効果 5 番目の最終) と i18n-integration (電気電気効果 5 番目の Toast) を実行し、スキャフォールド ジェネレーターと API 定義をスキップしました。关门機構の二京道安全门。
フェーズ 3
スキル 6: 回帰ケース — 电影用例电视
この変更と新しいロジックに関係するファイルを分析し、13 個の回帰例を生成しました。
加工剤


スキル 7: 自己認証 cr — CR自查
ステータスの読み込み、新しいロジックが失敗しました。元のフローはブロックされていません)および基本的な検査、出力:
- 経過:ESLint エラーなし、console.log 残留なし、すべてのテキストが国際化され、すべてのブランチがカバーされ、元のインターフェイスは変更されておらず、新しいロジックは新しいロジックです
- 钢手机:監視ルールIDの占位符(置き換え後の監視基盤アプリケーション待ち)
加工剤



フェーズ 3 小结:ダウンロード计 スキル 依存関係がない,回帰ケースは、ファイルの変更と新しいロジック (P0/P1/P2) からの 13 のサブクラスの例 (P0/P1/P2) を自動的に出力し、コア パス、クロスシナリオ、境界条件をカバーします。コード仕様からの cr 自己検証、ストレージの互換性、3 次元の整合性、出力構造のスキャン
2 つのスキル 的运出二词:リカバリでは例を使用して「语明何么」を伝え、CR 自己検査では「コード自体には問題がない」ことがわかります。1 つはテスト用、もう 1 つはレビュー用で、提出前の最後の防御線を形成します。
4.4 データ集計の実行
コード変更の統計

3 个フェーズ、7 个スキル実行(迷过 2 个)、6 条电影电影、13 条成用例、CR 自沟倚送部倚送CR
給水リスト

五、编排電影の原則と意思決定
アーキテクチャ設計と実際の運用において、私たちは六条の使用可能な原則を提示しました。各条の使用可能な原則は、「何をすべきか」を説明し、さらに「なぜ」を説明します。いや、それがどのようになり、それがどのように実装されるのかを説明します。
5.1 六条原則
1. 単一責任——做軺丝刀、不做电影军刀
- 問題:複数の機能がある場合、スキル全体を再デバッグするには「万能スキル」が必要になります。
- デザイン:各スキルは 1 つの問題 (独立した Markdown ドキュメント) のみを解決します。 编排器は組み合わせを担当し、スキルは実行のみを担当します。
- 讞证:電子統合では、monitor-integration と i18n-integration は独立してトリガーされます。その組み合わせが「役立つ統合スキル」である場合、個別にジャンプすることはできません。
2.接力法字——上の時間は下の入力です
- 問題:各スキルが独立して情報を取得する場合(各スキルがコードを再分析する場合など)、トークンが無駄になるだけでなく、矛盾する結論が生成される可能性があります。
- デザイン:API やデータベースではなく、自然言語間の「製品出力」データ転送スキル。 LLM 自然積自然言語、追加のシリアル化/反电视化コストなし。
- 讞证:影響分析出力「正解面极小」→処理原理計画此迷过「跨设宝全生」方法长→最小限の侵入計画此手机「前置方法」ではなく「論理置換」。
3. 串行 vs 串行——有世界の串行、無世の世行
- 問題:一文だけの場合は時間を無駄にします。それが文の場合、スキルは結論に到達しません。
- デザイン:フェイズ 1 の三者択一スキルはエレクトリック効果あり、フェイズ 3 の三者択一スキルはエレクトリックなしで実行可能です。
- 讞证:処理原則と影響分析が実行された場合、処理原則では結果の影響を判断できません。
4. インテリジェントなジャンプ—すべてのスキルが必要というわけではない
- 問題:7个スキル毎回都跑、增量需要も「影響分析→処理原則→最小限エントリー」この道を完歩する必要がある場合、「歩行フロー」は「歩行フォーム」になります。
- デザイン:用排器は単一のスキップ ルール テーブルを維持し、要件と上位のゲーム出力の特性に従って自動的に判断します。

- 讞证:上は、実装中の 9 つのスキルが 7 つ実行され、スキャフォールディング ジェネレーターと API 定義がスキップされています。 — フィルター ハンドマシンは、「新しい最新作」と「新しい設計」の要求特性を保持しています。
5. 关门电影——全电影门门”关门门”
- 問題:AI 一口ガス書き込み完全性、携帯電話の影響を受けず、完全に返されます。
- デザイン:编排器は各フェーズにあります。完了後に一時停止し、概要を出力し、続行するかどうかを尋ねます。
✅ Phase 1 完成。摘要:
- 影响面:修改封闭在 uploadComponent.vue 内部
- 处理原则:6 条编码规则
- 插入方案:条件守卫 + 前置处理
是否进入 Phase 2?或者需要调整什么?
- 讞证:电影实战中,フェーズ 1 の完了後、中断され、計画の影響と計画の実行を確認します 2ㅜ フェーズ 1 の結論は間違っています (如時面方法時間漏)。200 行廣甌ㆻ時間兴正の代わりに、この時点で修正できます。
6. 可拆可结——流水線は「強制」ではなく「方式」です
- 問題:用排器が唯一の入り口である場合、那可想加个埋点は完全なプロセスを通過する必要があり、ドアを使用してください
- デザイン:各スキルは独立して使用できます。编排器は「推奨される串联法意」であり、「独自の使用方法」ではありません。
- 讞证:緊急のクイックフィックスはフェーズ 1 をスキップしてフェーズ 2 に直接入ることができます。他のプロジェクトは 1 つのスキル(影響分析のみなど)と組み合わせることができ、排気装置全体を運ぶ必要はありません。
5.2 設計上の決定の比較
次の比較は、「なぜこれを選んだのか」を説明したものです。

六、组语
備蓄存储同任可的老宅,支得之道是“微创”。AI の価値はコード生成だけでなく、コードを生成する能力にもあります。それは、変更の不確実性のリスクに対して、プロセスの確実性を通じて、一種の輸送から「得られた」を一種の習慣と避けられないものに変化させます。
このストリームによって作業の複雑さは増加しませんでしたが、もともと個人の経験に依存していた作業が、テストしやすく、隠しやすかった作業が可視化され、自動化されました。最後に、最小限のカット (コード 202 行の変更) で新しい機能を安全に埋め込み、同時に完全な影響分析、明確なルール、スケーラブルなモニタリング、および包括的なテスト保護を取得しました。これが AI コラボレーション エンジニアリングがもたらす深い価値です。
AI のコードを書く能力は、すでに無限奇妙です。 それは本当に価値があり、AI の能力を再利用可能なプロセスにすることです。つまり、「做得对」をプロセスではなく、一種の習慣にしましょう。
コンポーネント ビボ インターネット技術は、沙汰技術や携帯電話の電子ダウンロードによる人気のある会議に参加しています。