Skip to content

OTR_FAQCodingAgent

nishi_74322014 edited this page Oct 27, 2026 · 1 revision

FAQ - コーディング・エージェント

概要

コーディング・エージェントで Open 棟梁のアプリケーションを開発する際によくある質問と、エージェントがやりがちな誤り。
内容は、OpenTouryoCodingAgentAssets の各スキルの「やってはいけないこと」と、その実測による。旧 Wiki には無い、新規の FAQ である。

詳細

進め方

Q. 何から始めればよいか?

  1. アセットを導入する(install.ps1)。
  2. 新規なら新規プロジェクトのセットアップをエージェントに実行させる(サンプルと取得元の選択は人が行う)。
  3. 規模のある変更は、仕様駆動の開発(spec → plan → 実装)で進める。

Q. エージェントがスキルを使ってくれない。

スキルは description を手掛かりに自動で選ばれるが、確実にするには、計画(plan)の段階で「どのスキルを使うか」を明示させる。
仕様に処理方式(Web Forms / MVC / Windows Forms など)とスキル名を書くのも有効である。

Q. 親クラス2 の仕様が分からないと言われる。

推測させずに、opentouryo-project-policy で確認させるか、人に聞かせる。確認できた事実は PROJECT-POLICY.md に記録して、次回の確認を省く
(親クラス2 のカスタマイズ)。

Q. Git の操作をエージェントにさせてよいか?

アセットの AGENTS.md は、既定で「Git の状態を変える操作をしない」(検収は人が行う)としている。方針が違うなら書き換える。

よくある誤り

領域 エージェントがやりがちな誤り 正しくは
例外 業務例外を try ~ catch する 業務例外は ErrorFlag で受ける(例外処理方式)
例外 エラーごとに例外の型を増やす 型は増やさず messageID で区別する
B 層 return で結果を返す、this.ReturnValue を最後に設定する 冒頭で this.ReturnValue を設定する(B層の実装)
B 層 UOC_ メソッドを直接呼ぶ DoBusinessLogic を経由する
トランザクション TransactionScope や BeginTransaction を自分で書く フレームワークに任せ、ロールバックは例外で行う(トランザクション制御)
D 層 Entity Framework などを持ち込む プロジェクトの方式(Dao の 3 系統)に従う(D層の実装)
D 層 ユーザ入力を SetUserParameter に渡す 値は SetParameter、列名などは許可リストの値だけ
D 層 動的クエリで、条件を外すために null を設定する 外すなら設定しない(null は IS NULL になる。動的パラメタライズド・クエリ)
D 層 自動生成 Dao を手で直す テンプレートを直して再生成する(D層自動生成ツール)
P 層(Web Forms) .aspx に OnClick を書く 接頭辞で自動結線させる(P層(Web Forms))
P 層(MVC) Web Forms の UOC や、不正操作防止機能を前提にする アクション・メソッドで書き、PRG・Anti-Forgery で対策する(P層(MVC))
P 層(WinForms) Web 系の作法(自動コミット、DoBusinessLogicAsync)を持ち込む 2 層 C/S は手動コミット、非同期は MyBaseAsyncFunc(P層(Windows Forms))
非同期 副スレッド(AsyncFunc)から UI に触る UI の更新は SetResult で行う(リッチクライアントの非同期呼び出し)
バッチ更新 dt.Rows.Remove() で削除する dr.Delete() で Deleted にする(DataTable によるバッチ更新)
ログ ACCESS などを業務コードから出す、ロガー名を間違える 開発者が出すのは OPERATION だけ(ログ出力方式)
構成 ConfigurationManager や IConfiguration を直接使う GetConfigParameter を使う(外部パラメタ(構成))
認証 .NET 側のサインインだけ、またはユーザ情報の設定だけを書く 両方を書く(認証とユーザ情報)
ファイル UTF-8 BOM 無しで書き込む .cs / .cshtml / .aspx などは BOM 付き(コメント規約)
共通部品 正規表現・ハッシュ・エンコードを自作する 既存の部品を探す(共通部品)
セットアップ サンプルの系列や派生を勝手に 1 つに決める 全部提示して人に選ばせる(新規プロジェクトのセットアップ)
変形 一気に削ってからまとめてビルドする 段階的に削って都度ビルドする(サンプルの変形)

検証

Q. エージェントの成果物をどう確かめるか?

  • ビルドと実行で確かめさせる。ビルドが通っても、BOM 抜けによるビューの文字化けのように実行しないと分からない問題がある。
  • 上の表を、レビューのチェックリストとして使う。
  • 同じ仕様を複数回・複数のエージェントに実装させ、方式が揃うかを見ると、標準化の度合いも測れる(評価)。

Q. 実行結果のログから問題を見つけさせたい。

スキル opentouryo-log-analysis で、ログからエラーと性能の対応を提案させる(ログ分析)。原因を確かめてから、別の作業として修正させる。

参考


Tags: 再構築

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki
開発基盤部会 Wiki

移行管理: DONE / TODO

Clone this wiki locally