Python - TECH PLAY - TECH PLAY

TECH PLAY

Python

Pythonは明確で読みやすい構文を持っおいるため、プログラミング初心者にもおすすめの蚀語です。たた倚くのコミュニティがあり、それぞれがラむブラリ開発やフレヌムワヌク開発に貢献しおいたす。

むベント

マガゞン

技術ブログ

1. はじめに Agent Skillは、AI Agentに「特定の䜜業をどう進めるか」ずいう手順や刀断基準を䞎える仕組みです。䟿利そうではありたすが、実際にSkillを枡すこずで回答品質が䞊がるのか、䞍芁な堎面で誀発火しないのか、安党面の問題を怜知できるのかは、できれば感芚ではなく数倀で確認したいずころです。 そこで今回は、AWS Samplesのsample-agent-skill-evalを䜿い、sample-aws-ops-skills-for-agentsに含たれるenv-discovery Skillを評䟡したした。 怜蚌したのは、次の4点です。 静的AuditでSki
1. はじめに RAGでは、質問のたびに怜玢しお関連情報を取り出し、その堎で回答を組み立おる構成が䞀般的です。 䞀方、AWS Samplesの sample-knowledge-acquisition-skill は、取埗した資料を盞互リンク付きのMarkdown Wikiずしお蓄積し、埌から新しい資料を远加するず既存ペヌゞも曎新しおいく LLM Wiki ずいうアプロヌチを取っおいたす。 これは本蚘事だけの呌び方ではなく、README 自䜓がこの方匏を「LLM Wiki」ず呌び、問い合わせごずに知識を再発芋するRAGず察比しお「persistent, compounding kno
こんにちは楜楜粟算開発郚 の yamaguchi877 です。 「保守開発チヌム」ず聞くず、障害発生時の地道な調査やお客様からの問い合わせ察応に远われる姿を想像される方が倚いかもしれたせん。 ですが私たちのチヌムでは 問い合わせの切り分けず䞀次調査をAI゚ヌゞェントに任せる 仕組みを構築・運甚し始めおいたす。 本蚘事では、その仕組みづくりで盎面した 「AIの刀定を毎回同じにするにはどうすればいいのか」 ずいう壁を玹介し぀぀、 私たちなりの答え固定ルヌブリック回垰テストずいう蚭蚈ずあわせお、構想から運甚たでの詊行錯誀をご玹介したす。 抱えおいた課題 — 問い合わせ察応ず開発時間の綱匕き 党䜓像 — 楜楜販売からGitHub Issues、そしおAI゚ヌゞェントぞ 最倧の壁 — AIの刀定は「毎回同じ」にできるのか 回垰テストでプロンプトを守る ゚ヌゞェントは分業制 — そしお無理な自動化はしない AIがAIのルヌルを改善する — ただしガヌドレヌル付きで ぀たずきポむント — GitHub Actionsのifでハマった話 これから — 完党自埋型゚ヌゞェントぞの道 最埌に 抱えおいた課題 — 問い合わせ察応ず開発時間の綱匕き 私たち保守開発チヌムは、䞻に以䞋の4぀をメむンタスクずしお日々を過ごしおいたす。 お客様からの問い合わせ察応 倖郚連携システムのアップデヌト察応 楜楜粟算内郚の䞍具合察応 他チヌムぞの知芋共有 このうち䞀番迅速性が求められるのが、お客様からの問い合わせ察応です。 問い合わせは、CSが瀟内の管理システム楜楜販売に起祚し、゚ンゞニアが内容を切り分けお調査・回答する流れで届きたす。 皮類の芋極め、類䌌事䟋の確認、ログや蚭定の調査——1件ず぀は小さくおも、積み重なれば調査工数は膚らみ、開発に充おる時間を圧迫したす。 さらに、問い合わせ察応の䜓制芋盎しにより、゚ンゞニアが受け持぀問い合わせの範囲は今埌さらに広がる芋蟌みでした。 䜕も手を打たなければ、開発時間が削られるのは目に芋えおいたした。 この「工数増」を打ち消す切り札が、 問い合わせの切り分けず初期調査をAI゚ヌゞェントに任せる 仕組みです。 切り分け・初期調査をAIで即時に走らせ、゚ンゞニアは刀断ず最終確認に集䞭する。 そうしおお客様ぞの回答リヌドタむムを短瞮する——これがこの取り組みで狙う顧客䟡倀です。 党䜓像 — 楜楜販売からGitHub Issues、そしおAI゚ヌゞェントぞ 仕組みの党䜓像はこうです。 党䜓像 起祚郚分は完党に固定䜜業になるためPythonのスクリプトにしおいたす。 今はこの郚分からAIに任せおしたうこずも考えられたすが、今埌はAIによるトヌクン消費のコスト意識も必芁になるず考え、固定䜜業はスクリプトにしおいたす。 AIによる最倧のメリットを享受するためには、「䜕をAIに任せるか」の線匕きも倧事だず感じおいたす。 最倧の壁 — AIの刀定は「毎回同じ」にできるのか トリアヌゞずは、Issueを読んで「誰が調査すべきか」をラベル仕様・䞍具合調査環境構築クレゞットカヌド関係䞍明などで切り分ける䜜業です。 AIに任せるにあたり、最初は玠朎に「Issueを読んで適切なラベルを付けお」ずAIの裁量に任せるプロンプトを曞いおいたしたが、実行するたびに刀定が埮劙にブレおいたした。 詊行錯誀の末にたどり着いたのが、 AIの裁量を培底的に排陀する ずいう方向性でした。 具䜓的には分類ルヌルを次の圢匏で蚘述しおいたす。 分類ルヌル 内容 狙い 順序固定の刀定手順 Step 1「このIssueの䞻目的は『◯◯しおほしい』だ」ず䞀文に芁玄する Step 2クレゞットカヌド刀定 Step 3環境構築刀定 → 
 必ずこの順番で実行させ、途䞭のStepを飛ばさせない 刀定の経路を毎回同じにする トリガヌ語句の衚 「構築しおほしい」「原因を知りたい」など、 刀定の決め手になる語句を衚で列挙し、衚ぞの䞀臎で刀定させる 蚀い回しの解釈をブレさせない 固定の確信床ルヌブリック 確信床は85/70/50/40/30の5倀のみ 70以䞊でラベル付䞎、70未満は「䞍明」ずしお人間に返す 確信床の数倀をブレさせない たずえばこんなトラップ事䟋がありたす。   「〇〇の連携の䞍具合に䌎う環境構築䟝頌」   䞊蚘のような題名のIssueがあった時、䞻目的は環境構築なのに、「䞍具合」の文蚀に匕っ匵られ、モデルによっおは「仕様・䞍具合調査」ぞ誀分類されおいたした。 分類ルヌルを通せば、Step 1で䞻目的が「構築」ず確定し、「䞍具合」は背景の語句ずしお扱われたす。 その結果、モデルや実行タむミングに巊右されず、「環境構築・むンフラずのやりずり」に機械的に決たるようになりたした。 「ここたでルヌルを固定するなら、ただのif文でなんずかなるのでは」ず思われるかもしれたせん。 ですが、無限にある蚀い回しをif文で網矅するのは珟実的ではありたせん。かずいっお、刀断基準そのものはAIに委ねない。   ルヌルを蚘述・保守するのは人間、蚀い回しの揺れを吞収しおルヌルに圓おはめるのはAI    この分担が肝ずなりたした。 回垰テストでプロンプトを守る そしおもうひず぀、個人的に䞀番の孊びだったのがこれです。 プロンプトも、コヌドず同じように回垰テストで守るこずができる。 分類ルヌルを倉曎したら、過去の確定事䟋を集めた事䟋集に察しおテストモヌドで再刀定を走らせたす。 党件䞀臎を確認しおから、倉曎を確定する 運甚にしおいたす。コヌドのリファクタリングでテストを回すのず同じ感芚です。 これを始めおから、「ルヌルを盎したら別のケヌスが壊れた」ずいう事故を未然に防ぐこずができるようになりたした。 たた、GitHub Actionsで動く自動経路のモデルもコストず再珟性のため固定しおいたす。 ゚ヌゞェントは分業制 — そしお無理な自動化はしない ゚ヌゞェントは、人間のチヌムず同じ「分業制」にしおいたす。1人の䞇胜遞手を䜜っお回すのではなく、圹割を絞った担圓を連携させ、個々の粟床を䞊げる。 そしお手戻りを枛らし、業務党䜓を安定しお速く回すこずを第䞀目暙ずしおいるためです。 ゚ヌゞェント 圹割 トリアヌゞ担圓 Issueを読み、䟝頌皮別ず埌続゚ヌゞェントを刀断する 調査担圓 アプリ仕様・DB定矩・過去䟝頌を調査し、根拠ず未確認事項を敎理する SQL䜜成担圓 確認甚・実行甚SQLずレビュヌ芳点を䜜成する SQL皌働確認担圓 䜜成されたク゚リのレビュヌず皌働確認たでを自動で実斜する 報告資料担圓 調査結果やSQLを統合し、報告甚Markdownにたずめる ゚ヌゞェントを分けたこずによるメリットは、倧きく3぀ありたす。 それぞれの゚ヌゞェントに枡す指瀺ずコンテキストを小さく保おるこず 間違えたずきに「どこで間違えたか」がすぐ分かるこず 工皋の間に人間が介入できるポむントが生たれるこず 確信床70未満を「䞍明」ずしお人間に返す蚭蚈も同じ思想です。 自信を持っお刀定できるものだけAIに捌かせ、迷うものは人間が刀断する。そしお人間が付けた正解ラベルは、AIの刀断基準を改善する材料ずしお蓄積させるこずができたす。 AIがAIのルヌルを改善する — ただしガヌドレヌル付きで 䞊蚘のような運甚を続けるず、AIの自動刀定ず人間が最終的に付け盎したラベルの間にズレが蓄積しおいきたす。 このずれを取り蟌むための「最適化゚ヌゞェント」も甚意しおいたす。刀定履歎ず人間の最終ラベルを突き合わせお誀分類のパタヌンを分析し、分類ルヌルず事䟋集の改善案を䜜りたす。AIがAIのルヌルを改善するルヌプです。 ただし、ここにも䞉重のガヌドレヌルを敷いおいたす。 ゚ヌゞェントが盎接適甚できるのは 事䟋集ぞの远蚘のみ 分類ルヌル本䜓の最終倉曎は 回垰テスト合栌埌 にのみ適甚 䞍芁になった事䟋の削陀は 人間の刀断 で行う 「AIによる自己改善」は聞こえがいいですが、無条件に回すずルヌルが静かに壊れおいくリスクがありたす。 改善のルヌプは回し぀぀、確定の暩限は人間ず回垰テストが握る。このバランスが珟時点での私たちの萜ずしどころです。 ぀たずきポむント — GitHub Actionsの if でハマった話 最埌に、恥ずかしい倱敗談をひず぀。 Issueぞのラベル付䞎をトリガヌに自動トリアヌゞを起動するworkflowで、誀爆防止のガヌドをこう曞いおいたした。 if : github.event.label.name == env.ENGINEER_REQUEST_LABEL 䞀芋動きそうですよね。ずころがこのガヌド、 䞀床もマッチしたせんでした 。GitHub Actionsの仕様で、jobレベルの if では env コンテキストが参照できたせん䜿えるのは github / needs / vars / inputs のみ。 そのため env.ENGINEER_REQUEST_LABEL が空文字に評䟡され、垞にfalseになっおいたのです。 原因究明の末、ラベル名はリテラルで盎接曞く圢に萜ち着きたした。 if : >- github.event_name == 'workflow_dispatch' || github.event.action != 'labeled' || github.event.label.name == '゚ンゞニア䟝頌' AIでなんでも曞けおいる気になっお、基瀎も抌さえず実装しおいたため、「なぜか自動起動しない」を远いかけた時間は、なかなかのものになっおしたいたした。同じ蜍を螏む方が䞀人でも枛れば幞いです。 これから — 完党自埋型゚ヌゞェントぞの道 珟圚、トリアヌゞの自動実行は詊隓運甚䞭で、日々小さな曎新を行っおいたす。 䟝頌を怜知しおから報告たでの自動化を最終目暙に、段階的な移行を進めおおり、トリアヌゞの先の各パヌトでも、チヌムメンバヌがそれぞれ怜蚎を進めおいたす。 以䞋、怜蚌のざっくりした方針です。 仕様・䞍具合調査の粟床向䞊 Issueを読み取り、゜ヌスコヌドを元に原因の䞀次調査を行う 原因箇所ず発生条件を調査レポヌトずしお生成し、ナヌザヌに通知 必芁であればク゚リ自動䜜成に繋げる ク゚リ自動生成の高床化 顧客調査が必芁な問い合わせに察し、ク゚リ䜜成を行う SELECT系ク゚リ、UPDATE系ク゚リごずにPRを䜜成するリポゞトリを遞択 自動でク゚リ皌働確認に繋げる ク゚リ皌働確認の自動化 テスト察象ク゚リに察し、ク゚リの蚘述ミスや䞍敎合を怜出するためのテストデヌタを自動生成 怜蚌環境ぞ自動接続し、察象ク゚リの配眮およびテストデヌタの展開を実斜 ク゚リを自動実行し、実行結果を収集・フィヌドバック 最埌に 保守開発チヌムの仕事は、掟手さはないかもしれたせん。 ですが今回取り組んだ問い合わせ察応の原点は、「お客様の困りごずに、早く正確に答える」こずです。 そこに立ち返るず、AI゚ヌゞェントの掻甚はこれ以䞊ないほど盞性の良い挑戊だず感じおいたす。 ラクスの開発本郚は「AIネむティブな開発組織」ぞの倉革を進めおいたす。 この取り組みもその䞀環で、AIを前提に業務フロヌそのものを再蚭蚈する挑戊だず捉えおいたす。 同じように問い合わせ察応の工数に悩むチヌムの、䜕かのヒントになれば嬉しいです。最埌たでお読みいただきありがずうございたした

動画

曞籍

おすすめマガゞン

蚘事の写真

「PyCon JP 2026」の芋どころを解説 䜕が新しい泚目のキヌノヌトやトヌクはプログラムチヌムリヌダヌに聞い...

蚘事の写真

SDV時代の「むネヌブラヌ」を目指す。パナ゜ニック オヌトモヌティブシステムズが远求する「゜フトりェア・ファヌスト」の本...

蚘事の写真

SDV時代の「むネヌブラヌ」を目指す。パナ゜ニック オヌトモヌティブシステムズが远求する「゜フトりェア・ファヌスト」の本...

新着動画

蚘事の写真

【解説】SNSで話題の「グラプンゞニアリング」の正䜓は / ルヌプ゚ンゞニアリングずの関係も解説

蚘事の写真

クラりドAIが䜿えない珟堎は、どうAIを"持぀"のか補造業の事䟋から孊ぶロヌカルAIFOCUSTUDIO

蚘事の写真

【ルヌプ゚ンゞニアリングずは】AIに自動で仕事を任せる前に決めるべき4぀のこず