目次
こんにちは!
本記事では、新しいコーディング AI エージェント「Jules」をインフラに利用してみた概要や使い方、感想をまとめています。
※ベータ版となりますので、製品版との相違があるかもしれないのでご注意ください
はじめに
基本情報
julesは2025年6月現在ベータ版となります。
始め方については、以下をご確認ください。(英語のみ)
https://jules.google/docs
julesは、質問に対する回答一つにつき1タスクというカウント方法をとっています。
タスクの終了条件はイメージ的には、
・juesが導き出す答え≒プルリクエスト数(正常終了)
・終了宣言(異常終了)
によって終了します。
使用制限
ベータ版時点では1日に制限があり
・5つ同時の質問/コード作成
・60個のタスク
という制限がありました。(2025/06/02時点)
※仕様変更などはこちら↓を確認してください
https://jules.google/docs/changelog/
また、これら制限は
翌日にも実行中のタスクがカウントされることを確認しました。
そのため、タスクカウントのリセットのために
・何かしらの動作終了宣言(このタスクを終了してくださいなど)
・プルリクエスト宣言
をするのを推奨します。
https://jules.google/docs/usage-limits
言語設定
デフォルトは英語になりますが、日本語で入力しても会話出来ます。
ただ、以下の問題点がありました。
・対話時の入力自体が、英語を想定されているため、「変換(Space)→確定(Enter)」などを実行した際にEnterキーの打鍵が認識されて送信されてしまう
・AIが解答を考えるラグが発生すると、英語で回答が返ってくる
このような仕様は、英語での会話を想定されているため、一般的な仕様です。
現状、デフォルトの言語設定変更はできないため、ユーザ側が英語で話した方が良さそうでした。
※会話ないようの日本語自体に違和感はありませんでした。
ベースイメージの仕様
julesはタスク毎にgit cloneしてサーバを立てているようなのですが、initial setupの動作も参考にしてるようです。
こちらが初期動作になります↓
initial setupの挙動確認
+ sudo mkdir /app
+ sudo chown 1001 /app
+ git config --global core.hooksPath /dev/null
+ git config --global --add url.https://xxxx:REDACTED@github.com/.insteadOf https://github.com/
+ git config --global --add url.https://xxxx:REDACTED@github.com/.insteadOf git@github.com:
+ git clone --depth 1 --shallow-submodules --recurse-submodules https://github.com/xxxx/xxxx /app
Cloning into '/app'...
/app
+ cd /app
・カレントディレクトリは、gitリポジトリ配下である/appにいます。
・サーバは対話毎にベースイメージを元に作成される。(途中のgit pullは不可)
・リポジトリを更新したい、追加でモジュールを入れたい際には新規のタスクを作成します。
・ベースイメージのスペックは下記(2025/6時点)
julesのベースイメージ確認「cat /etc/os-release」
PRETTY_NAME="Ubuntu 24.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.2 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
ファイルシステム確認「df -h」
Filesystem Size Used Avail Use% Mounted on
/dev/vdb 9.8G 71M 9.2G 1% /rom/overlay
overlayfs:/overlay/root 9.8G 71M 9.2G 1% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 1.6G 272K 1.6G 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.0M 4.0K 1020K 1% /run/credentials/@system
tmpfs 3.9G 224K 3.9G 1% /var/lib/systemd
tmpfs 796M 12K 796M 1% /run/user/1001
プロセス確認「ps aux」
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.1 21168 12288 ? Ss 01:19 0:02 /usr/sbin/init
root 2 0.0 0.0 0 0 ? S 01:19 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 01:19 0:00 [pool_workqueue_release]
root 4 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/R-rcu_g]
root 5 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/R-rcu_p]
root 6 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/R-slub_]
root 7 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/R-netns]
root 9 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/0:0H-events_highpri]
root 12 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/R-mm_pe]
root 13 0.0 0.0 0 0 ? I 01:19 0:00 [rcu_tasks_kthread]
root 14 0.0 0.0 0 0 ? I 01:19 0:00 [rcu_tasks_trace_kthread]
root 15 0.0 0.0 0 0 ? S 01:19 0:00 [ksoftirqd/0]
root 16 0.0 0.0 0 0 ? I 01:19 0:00 [rcu_preempt]
root 17 0.0 0.0 0 0 ? S 01:19 0:00 [migration/0]
root 18 0.0 0.0 0 0 ? S 01:19 0:00 [cpuhp/0]
root 19 0.0 0.0 0 0 ? S 01:19 0:00 [cpuhp/1]
root 20 0.0 0.0 0 0 ? S 01:19 0:01 [migration/1]
root 21 0.0 0.0 0 0 ? S 01:19 0:00 [ksoftirqd/1]
root 22 0.0 0.0 0 0 ? I 01:19 0:00 [kworker/1:0-mm_percpu_wq]
root 23 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/1:0H-kblockd]
root 24 0.0 0.0 0 0 ? S 01:19 0:00 [cpuhp/2]
root 25 0.0 0.0 0 0 ? S 01:19 0:01 [migration/2]
root 26 0.0 0.0 0 0 ? S 01:19 0:00 [ksoftirqd/2]
root 28 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/2:0H-kblockd]
root 29 0.0 0.0 0 0 ? S 01:19 0:00 [cpuhp/3]
root 30 0.0 0.0 0 0 ? S 01:19 0:01 [migration/3]
root 31 0.0 0.0 0 0 ? S 01:19 0:00 [ksoftirqd/3]
root 32 0.0 0.0 0 0 ? I 01:19 0:00 [kworker/3:0-events]
root 33 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/3:0H-kblockd]
root 34 0.0 0.0 0 0 ? S 01:19 0:00 [kdevtmpfs]
root 35 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/R-inet_]
root 36 0.0 0.0 0 0 ? S 01:19 0:00 [oom_reaper]
root 37 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/R-write]
root 38 0.0 0.0 0 0 ? S 01:19 0:00 [kcompactd0]
root 39 0.0 0.0 0 0 ? SN 01:19 0:00 [ksmd]
root 40 0.0 0.0 0 0 ? SN 01:19 0:00 [khugepaged]
root 41 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/R-crypt]
root 42 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/R-kbloc]
root 44 0.0 0.0 0 0 ? I 01:19 0:00 [kworker/u8:1-events_unbound]
root 48 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/0:1H-kblockd]
root 72 0.0 0.0 0 0 ? S 01:19 0:00 [kswapd0]
root 82 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/R-kthro]
root 84 0.0 0.0 0 0 ? I 01:19 0:00 [kworker/3:1-events]
root 85 0.0 0.0 0 0 ? I 01:19 0:00 [kworker/2:1-events]
root 89 0.0 0.0 0 0 ? S 01:19 0:00 [irq/24-ACPI:Ged]
root 96 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/R-acpi_]
root 178 0.0 0.0 0 0 ? I 01:19 0:00 [kworker/2:2-events]
root 179 0.0 0.0 0 0 ? I< 01:19
0:00 [kworker/R-kstrp]
root 307 0.0 0.0 0 0 ? I 01:19 0:00 [kworker/u8:5-events_unbound]
root 352 0.0 0.0 0 0 ? I 01:19 0:00 [kworker/u8:6-writeback]
root 400 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/1:1H-kblockd]
root 403 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/2:1H-kblockd]
root 404 0.0 0.0 0 0 ? S 01:19 0:00 [jbd2/vdb-8]
root 405 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/R-ext4-]
root 417 0.0 0.0 0 0 ? I< 01:19 0:00 [kworker/3:1H-kblockd]
root 430 0.0 0.1 50604 15744 ? S<s 01:19 0:00 /usr/lib/systemd/systemd-journald
root 454 0.0 0.0 0 0 ? I 01:19 0:00 [kworker/0:2-events]
root 455 0.0 0.0 0 0 ? I 01:19 0:00 [kworker/0:3-cgroup_destroy]
root 778 0.0 0.0 23944 5760 ? Ss 01:19 0:00 /usr/lib/systemd/systemd-udevd
systemd+ 803 0.0 0.1 21452 12672 ? Ss 01:19 0:00 /usr/lib/systemd/systemd-resolved
systemd+ 806 0.0 0.0 91020 7808 ? Ssl 01:19 0:00 /usr/lib/systemd/systemd-timesyncd
root 821 0.0 0.0 0 0 ? I 01:19 0:00 [kworker/1:2-events]
message+ 826 0.0 0.0 9588 4864 ? Ss 01:19 0:00 @dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
root 835 0.0 0.1 17976 8576 ? Ss 01:19 0:00 /usr/lib/systemd/systemd-logind
root 849 0.0 0.0 3116 1792 tty1 Ss+ 01:19 0:00 /sbin/agetty -o -p -- \u --noclear - linux
root 850 0.0 0.0 3160 2048 ttyS0 Ss+ 01:19 0:00 /sbin/agetty -o -p -- \u --keep-baud 115200,57600,38400,9600 - vt220
root 872 0.1 0.2 106992 22528 ? Ssl 01:19 0:01 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
root 879 0.0 0.0 12020 7936 ? Ss 01:19 0:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root 883 0.3 0.6 1874676 49152 ? Ssl 01:19 0:06 /usr/bin/containerd
root 899 0.0 0.1 14860 9856 ? Ss 01:19 0:00 sshd: swebot [priv]
root 906 0.2 1.0 1988860 87752 ? Ssl 01:19 0:04 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
jules 908 0.0 0.1 20088 11264 ? Ss 01:19 0:00 /usr/lib/systemd/systemd --user
jules 909 0.0 0.0 21052 3504 ? S 01:19 0:00 (sd-pam)
jules 929 0.0 0.0 15276 7224 ? S 01:19 0:00 sshd: swebot@notty
jules 1093 1.7 0.0 8280 4224 ? Rs 01:49 0:00 ps aux
ディスク確認「free -h」
total used free shared buff/cache available
Mem: 7.8Gi 361Mi 7.3Gi 512Ki 365Mi 7.4Gi
Swap: 0B 0B 0B
CPU情報確認「cat /proc/cpuinfo」
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) Processor @ 2.30GHz
stepping : 0
microcode : 0x1
cpu MHz : 2299.998
cache size : 46080 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat umip md_clear arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs mmio_stale_data retbleed
bogomips : 4599.99
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) Processor @ 2.30GHz
stepping : 0
microcode : 0x1
cpu MHz : 2299.998
cache size : 46080 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 4
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat umip md_clear arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs mmio_stale_data retbleed
bogomips : 4599.99
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) Processor @ 2.30GHz
stepping : 0
microcode : 0x1
cpu MHz : 2299.998
cache size : 46080 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 4
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat umip md_clear arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs mmio_stale_data retbleed
bogomips : 4599.99
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) Processor @ 2.30GHz
stepping : 0
microcode : 0x1
cpu MHz : 2299.998
cache size : 46080 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat umip md_clear arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs mmio_stale_data retbleed
bogomips : 4599.99
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
ただ、julesから外に出ていく動作(〜の環境作っておいて)などはできませんでした。
おそらく、git hub以外のアクセスがほとんど閉じているように見えます。
実際にjules使って作成してみた
1. 実施内容
julesはコーディングAIなので、実際に何かしらファイルを作成して欲しいと思いつつ、
インフラエンジニアなので、サーバのconfigファイルの診断と作成をお願いしてみた。
以下2点を依頼してみた
- httpd.confのセキュリティ診断
- httpd.confの作成
git hubで連携しているので、ファイルを渡すケース(1)と何も渡さないケース(0)で実行してみました。
2. julesくんとの対話
2-1. セキュリティ診断ケース
まず、初めに対象のファイルを渡したいので、julesくんにhttpd.confを見つけてもらわないといけません。
私は→のような構成にしていましたので、
┣ .gitignore
┗ conf/
┣ httpd/
┃┗ httpd.conf
┣ nginx/
︙
「cd conf/httpdしてください」といいます。
すると、julesくんが指定もしていないのにファイルを見つけてくれました!(賢い)
「次に何をしますか?」
と聞いてきます。(英語で回答してくるので、無情に「日本語で」と言います)

今回はセキュリティ診断をして欲しいので、お願いしましょう。

すると、julesくんが分析の方針を決めてくれます。
※日本語指定しないと英語で表示されます(TT)

診断して結果を報告してくれるみたいです。(10分)
(詳細はたたんでおきます。)
セキュリティ診断の概要
httpd.conf のセキュリティ関連ディレクティブの確認が完了しました。主な結果は以下の通りです:
ServerTokens と KeepAlive はこのファイルに明示的な設定がありませんでした。
/var/www/html ディレクトリで Options Indexes FollowSymLinks が設定されています。Indexes の無効化と FollowSymLinks の見直しが推奨されます。
AllowOverride は適切に None に設定されています。
ルートディレクトリへのアクセスは Require all denied となっており適切です。
User と Group は apache に設定されています。
モジュールのロード状況や一部設定は、リポジトリ外のファイルに依存している可能性があります。
セキュリティ診断の詳細
httpd.conf のセキュリティ診断結果をご報告します。
全体的な評価
AllowOverride None やルートディレクトリへのアクセス拒否など、基本的なセキュリティ設定は適切に行われています。
ただし、ServerTokens(サーバー情報の詳細度)や KeepAlive(持続的接続)に関する設定は、この httpd.conf ファイルには明示的に記述されていませんでした。これらはApacheのデフォルト値が適用されているか、 /etc/httpd/conf.d/ や /etc/httpd/conf.modules.d/ といったリポジトリ外部のファイルで設定されている可能性があります。そのため、これらの正確な設定状況はこのファイルだけでは完全には把握できません。
同様に、ロードされているApacheモジュールの完全なリストも、リポジトリ内のファイルだけでは特定できませんでした。
具体的な確認事項と推奨事項
ServerTokens ディレクティブ
現状: httpd.conf に記述がありません。デフォルト設定 (多くの場合 Full) では、サーバーの詳細情報(OSバージョン、モジュールバージョンなど)がHTTPレスポンスヘッダに含まれる可能性があります。
推奨: ServerTokens Prod と設定することを推奨します。これにより、クライアントに返されるサーバー情報が最小限(例: Apache のみ)になり、攻撃者に与える情報を減らすことができます。この設定は httpd.conf 本体、または /etc/httpd/conf.d/ 配下の設定ファイルに追加することが考えられます。
KeepAlive ディレクティブ
現状: httpd.conf に記述がありません。デフォルト設定 (Apache 2.4系では KeepAlive On, KeepAliveTimeout 5) が適用されている可能性があります。
推奨: 一般的に KeepAlive On はパフォーマンス向上に寄与しますが、KeepAliveTimeout の値(接続を維持する秒数)はウェブサイトのアクセス特性に応じて調整することが望ましいです。現在の設定が不明なため、確認と適切な値への調整を推奨します。
Options ディレクティブ (in <Directory "/var/www/html">)
現状: Options Indexes FollowSymLinks と設定されています。
推奨:
Indexes: これが有効だと、該当ディレクトリにデフォルトドキュメント(例: index.html)が存在しない場合にファイル一覧が表示されてしまいます。意図しない情報漏洩に繋がる可能性があるため、不要であれば Indexes を削除することを強く推奨します。
FollowSymLinks: シンボリックリンクを許可します。設定に不備があると、ドキュメントルート外のファイルにアクセスされるなどのセキュリティリスクが生じる可能性があります。可能であれば、より安全な SymLinksIfOwnerMatch(シンボリックリンク元と先の所有者が一致する場合のみ許可)に変更するか、シンボリックリンクを使用しない運用をご検討ください。
アクセス制御 (Require ディレクティブ)
現状: <Directory /> (ルートディレクトリ) は Require all denied、<Directory "/var/www/html"> (ドキュメントルート) は Require all granted となっており、基本的なアクセス制御は適切に設定されています。
ログ設定 (ErrorLog, CustomLog)
現状: エラーログとアクセスログはそれぞれ /etc/httpd/logs/ ディレクトリ配下に設定されており、適切です。ログローテーションが別途設定されていることを確認してください。
実行ユーザー (User, Group)
現状: Apacheの実行ユーザーは apache、グループも apache に設定されています。専用の非特権ユーザーで実行されており、これは一般的なベストプラクティスに沿っています。
上記について、ご不明な点や、特定の設定変更をご希望の場合はお知らせください。
このままだと、診断の報告をしてくれただけなので、折角なので修正したファイルを作ってもらいます。(10分)

変更を加えたファイルを作成してくれたので、git hubにpublishしてもらいます。(コピーもできます)
他にも変更を加えたファイルとのdiffもjule内で確認することもできますので、確認します。
指摘してもらった内容については過不足なく反映されていることを確認できました。
内容精査詳細
1.ServerTokens ディレクティブ
ServerTokens Prodの記載を確認
2.KeepAlive ディレクティブ
KeepAlive Onの記載を確認
eepAliveTimeout 5の記載を確認→こちらはサイトによって調整
3.Options ディレクティブ (in <Directory "/var/www/html">)
Indexの削除を確認。
4.アクセス制御 (Require ディレクティブ)
5.ログ設定 (ErrorLog, CustomLog)
6.実行ユーザー (User, Group)
適切なため変更なしを確認

この後の指示としては、自分のやりたいことによって設定が変わると思うので、julesくんとの会話は終えます。
中身を見ると、足りなかった設定系を追加してくれています。
設定変更などがあったら、変更してくれているみたいでした!
2-2. httpd.confの0からの作成
こちらのケースは先ほどとは違い、何も渡さずに作成してもらう物になります。
こちらでは、
ECサイト用のconfを作成してもらいました。

すると、
どのような内容で作成するかを出してくれます(5分くらい?)

この提案の後にこの内容で良いかを聞かれるので、approvedしてあげます。
すると、作成を始めるので作成し終わるまで待ちます。(10分)
実行コマンドログ冒頭のみ

10分くらいすると作成が終わります、スクリプトをリポジトリにPUBLISHするかを聞かれるので、やってもらいましょう。
中身を見ると…

使い方として「ADJUST」に記入して欲しい内容などが書かれています。
ただ、httpd-sslなど別のconfを追加で書いてくれる一方で、
- LoadModule系は「conf/extra/httpd-mpm.conf」に書いてくれない。
- 直下に作ってしまうので、httpd-ssl.confは記載内容と同様のディレクトリに配置しないといけない
など、細かいところには手が届いていないようです。
あくまでコード作成のみみたいです。
ちなみにコメントが英語なのが気になるようなら、コメントを日本語にしてくれませんか?などと伝えるとコメントを日本語に翻訳もしてくれます。(一部非対応確認)
さいごに
面倒なセキュリティ診断などの確認/修正や、コードの作成などをやってくれるので使い勝手としては良かったです!
ただ、以下の点が気になりました。
- デフォルトが英語なので、他の言語も最初に設定できるようにして欲しい
- Enterで送信されてしまうので、日本語の漢字変換時に途中で送信されてしまう
- 操作時のログは、報告で送られてくる文章のみ(詳細ログはなし)
こちらは、おそらくいつか改善されると思うので気長に待ちたいと思います。
また、他にも
- terraformファイルの作成
- nginx.conf,httpd.confの作成
- k8sのマニフェストの作成…etc
などもやってもらいました。
ただ、terraformファイルの場合は、backendなどがなかったり最低限の必須項目のみで他は無記入(デフォルト)だったので、人力で修正する必要はやはりありそうです。
ただ、作業裏で作ってくれるのと最低限でも動く物は作ってくれるため、0から取り掛かるのに比べて作業時間が短縮されます。
そのため、julesの使用用途としては、設計後の初期着手が妥当かなと思います。
私の使用用途イメージは、
- ざっくりとした方向性/設計を決める
- ベースとなるファイルをjulesに作成してもらう ←
- 作成してくれたファイルを編集して、実行可能なものに変えてく
といったことになりそうです。
質問数に制限があるのが気になりますが、60個も1日に使用するのは稀です。
更にベータ版の現在は無料なので、この機会に是非みなさんもご使用ください。
ありがとうございました。

