rksoftware

Visual Studio とか C# とかが好きです

GitHub Copilot coding agent と Agent モードで大量のクラスを整えてもらおう

Agent モードはいまいちでした。AutoPilot としては使い方がまだ研究です。
GitHub Copilot coding agent がよさそうです。まだ処理が終わっていませんが、処理中の様子を見るとよさそうです。

■ やってもらいたいこと

このリポジトリの github.com

このフォルダ内のほとんどすべての未完成 (というか対になる別のクラスをリネームしたファイルが大量。ファイル内のクラス名もあっていない) です。
github.com

■ Agent モード

PluginServiceCollectionService クラスと対になるクラスの PluginApplicationEnricherServiceCollection クラスは完成しています。
これらのクラスを参考に RkSoftware.RKPlugin.DependencyInjection.Internals 名前空間のほかのクラスを完成してください。

クラスは手作業で完成させているものもあるので、それを参考に別のクラスを整えてもらい。
※ 後で見たら指示しているクラス名間違っていました......。それでもそれっぽくはやってくれて GitHub Copilot 愛いやつです。

一クラスだけ例でやってくれたので、そうじゃない全部です。と言ってみます。

全部のクラスをお願いします

いくつかのファイルを書き換えてくれました。
変更してくれたファイルは良さそうです。

けど、いらないファイルを勝手に生んでいます。これはまあ、消せばよいでしょう。Agent モード、使えるそうですね?

一部だけなのでほかのクラスもお願いします

ほかのクラスもお願いします

足りないと判断したクラスとそのコードを例示してきました。違うそうじゃない。

足りないクラスを足すのではなく、完成できていない既存のファイルを完成させてください

ダメでした。

作業してほしいファイルを明示してみる

PluginServiceCollectionService クラスと対になるクラスの PluginServiceCollectionService クラスは完成しています。
これらのクラスを参考に RkSoftware.RKPlugin.DependencyInjection.Internals 名前空間のほかの次のファイルを完成してください。
ファイルの中のクラス名は間違っているのでファイル名を参考にしてください。



PluginApplicationEnricherServiceCollection.cs
PluginApplicationMetadataServiceCollection.cs
PluginAsyncState.cs
PluginAutoActivation.cs
PluginCommonHealthChecks.cs
PluginContextualOptionsServiceCollection.cs
PluginEncoderServiceCollection.cs
PluginEnrichmentServiceCollection.cs
PluginExceptionSummarizationServiceCollection.cs
PluginFakeLoggerServiceCollection.cs
PluginFakeRedactionServiceCollection.cs
PluginHealthCheckServiceCollection.cs
PluginHttpClientFactoryServiceCollection.cs
PluginHttpClientLatencyTelemetry.cs
PluginHttpClientLoggingServiceCollection.cs
PluginHttpDiagnosticsServiceCollection.cs
PluginHybridCacheService.cs
PluginKubernetesProbes.cs
PluginLatencyConsole.cs
PluginLatencyContext.cs
PluginLatencyRegistryServiceCollection.cs
PluginLocalizationServiceCollection.cs
PluginLoggingServiceCollection.cs
PluginMemoryCacheServiceCollection.cs
PluginMetricsService.cs
PluginNullLatencyContextServiceCollection.cs
PluginObjectPoolServiceCollection.cs
PluginOptionsConfigurationServiceCollection.cs
PluginOptionsServiceCollection.cs
PluginProcessEnricherServiceCollection.cs
PluginRedactionServiceCollection.cs
PluginResilienceServiceCollection.cs
PluginResourceMonitoringServiceCollection.cs
PluginServiceCollectionContainerBuilder.cs
PluginServiceCollectionDescriptor.cs
PluginServiceCollectionHostedService.cs
PluginServiceCollectionService.cs
PluginSqlServerCachingServices.cs
PluginStackExchangeRedisCacheServiceCollection.cs
PluginSystemdHostBuilder.cs
PluginTcpEndpointProbes.cs
PluginWindowsServiceLifetimeHostBuilder.cs


ダメでした。全部はやってくれないし、最後は例示で終わらせてきます。

■ GitHub Copilot coding agent さんお願いします!

というわけで GitHub Copilot coding agent にお願いしてみます。

まずは作業を Issue 立ててみます。

タイトル

RkSoftware.RKPlugin.DependencyInjection.Internals 名前空間のクラスの完成化

詳細

PluginServiceCollectionService クラスと対になるクラスの PluginServiceCollectionService クラスは完成しています。
これらのクラスを参考に RkSoftware.RKPlugin.DependencyInjection.Internals 名前空間のほかの次のファイルを完成してください。
ファイルの中のクラス名は間違っているのでファイル名を参考にしてください。

PluginApplicationEnricherServiceCollection.cs
PluginApplicationMetadataServiceCollection.cs
PluginAsyncState.cs
PluginAutoActivation.cs
PluginCommonHealthChecks.cs
PluginContextualOptionsServiceCollection.cs
PluginEncoderServiceCollection.cs
PluginEnrichmentServiceCollection.cs
PluginExceptionSummarizationServiceCollection.cs
PluginFakeLoggerServiceCollection.cs
PluginFakeRedactionServiceCollection.cs
PluginHealthCheckServiceCollection.cs
PluginHttpClientFactoryServiceCollection.cs
PluginHttpClientLatencyTelemetry.cs
PluginHttpClientLoggingServiceCollection.cs
PluginHttpDiagnosticsServiceCollection.cs
PluginHybridCacheService.cs
PluginKubernetesProbes.cs
PluginLatencyConsole.cs
PluginLatencyContext.cs
PluginLatencyRegistryServiceCollection.cs
PluginLocalizationServiceCollection.cs
PluginLoggingServiceCollection.cs
PluginMemoryCacheServiceCollection.cs
PluginMetricsService.cs
PluginNullLatencyContextServiceCollection.cs
PluginObjectPoolServiceCollection.cs
PluginOptionsConfigurationServiceCollection.cs
PluginOptionsServiceCollection.cs
PluginProcessEnricherServiceCollection.cs
PluginRedactionServiceCollection.cs
PluginResilienceServiceCollection.cs
PluginResourceMonitoringServiceCollection.cs
PluginServiceCollectionContainerBuilder.cs
PluginServiceCollectionDescriptor.cs
PluginServiceCollectionHostedService.cs
PluginServiceCollectionService.cs
PluginSqlServerCachingServices.cs
PluginStackExchangeRedisCacheServiceCollection.cs
PluginSystemdHostBuilder.cs
PluginTcpEndpointProbes.cs
PluginWindowsServiceLifetimeHostBuilder.cs

設定

アカウントの設定で、GitHub Copilot coding agent を有効に設定します。どのリポジトリに対して有効にするかを設定するようですね。今回は対象のリポジトリのみに設定してみました。

 

GitHub Copilot coding agent を Issue にアサイン

設定をすると、リポジトリの Issue に GitHub Copilot coding agent さんをアサインできるようになります。早速アサインしてみます。

Copilot さんが目のリアクション。

Copilot さん Issue にコメント

Copilot さんがブランチを作成。初期 Commit

この際にドラフトで PullRequest も作成されます。

 

Actions で Issue の作業を実行

作業状況を見ることもできるようです。

 

■ 結果はまだ

結果はまだですが、作業内容を見ている限り GitHub Copilot coding agent よさそうです!
プログラマーになりたい私のキャリアの危機!