はじめに
全5回にわたってお届けしてきた自律走行ロボット「TERABO」の開発記録。最後までお読みいただき、本当にありがとうございました!
今回は「おまけ」として、少し視点を変えたお話をしたいと思います。
実は、この連載記事の作成には、強力な助っ人が参加していました。それは、Google DeepMindが開発したAIエージェント型開発ツール「Antigravity」です。
今回は、開発中のソースコードやGitの履歴をすべてAIに読み込ませて記事化していくという、少し変わったAI活用の方法と、そこで見えてきた面白さやつまずきについてご紹介します。
始まりは「Gitリポジトリの丸投げ」
「半年間の開発の軌跡を記事にしよう!」と思い立ったものの、日々の開発に追われ、頭の中のノウハウを体系的に文章に起こすのは非常にカロリーの高い作業でした。
そこで試みたのが、TERABOのワークスペース(Gitリポジトリ全体)を直接Antigravityに読み込ませるというアプローチです。
Antigravityは単なるチャットAIとは異なり、ローカルのファイルシステムを直接探索し、コード間の依存関係やコミット履歴を自分で読み解くことができます。
私は最初に、次のようなざっくりとした指示(プロンプト)を出しました。
「このリポジトリ全体を読み込んで、中之島とつくばチャレンジに向けたROS 2ロボット開発の知見を全5回の連載記事にまとめて。特に苦労した点や、泥臭い工夫を中心に書いてほしい」
するとAntigravityは、launchファイルからノードの構成を把握し、Dockerfileから環境構築の思想を読み取り、さらには過去のコードの「修正の痕跡」などから、私たちの開発プロセスを推測して記事のドラフトを書き上げてくれたのです。
AIとの「ペア・ライティング」が生み出す面白さ
このAIとの執筆作業は、単なる自動生成機能というより、 「自分たちのコードを熟知している凄腕のテクニカルライター」とのペアプログラミング(ペアライティング) に近い体験でした。
1. 「苦労話」の掘り起こし
例えば第1回(ハードウェア編)で紹介した、「LiDARの死角による衝突」や「IMUノイズによるオドメトリ不全」の話。
人間が記事を書こうとすると、どうしても「最終的に完成した綺麗なアーキテクチャ」だけを書きがちです。しかしAIに「コードの変更履歴」や「コメントの残骸」などを深く読み込ませたことで、「なぜここはDual LiDAR構成に変更されたのか?」という**開発の背景(ドキュメンテーションからは漏れがちな泥臭い部分)**を抽出し、より人間味のあるエピソードとして再構成してくれました。
2. 技術的な解像度の高さ
一般的な文章生成AIにお願いすると、「ROS 2を使ってロボットを動かしました」といった表面的な文章になりがちです。
しかしAntigravityはディレクトリ構成(例えば、terabo_navigationの中身やterabo_toolsのスクリプト群)を直接見ているため、「シミュレータのスクリプトがどのように活用されているか」「Dockerベースでいかにチーム開発を効率化しているか」といった、コードに裏打ちされた具体的な技術記事を生成することができました。
AI活用での「つまづき」と工夫
一方で、すべてが魔法のように上手くいったわけではありません。何度かやり取りする中で、いくつか特有の「つまづき」もありました。
失敗1:AIが「優秀すぎる」ことによる平準化
AIは優秀ゆえに、情報を「一般的なベストプラクティス」に丸めてしまう傾向がありました。
私たちが泥臭く独自にハックした設定や、あえてセオリーから外れた力技の解決策(現地での急場しのぎのパラメータ調整など)を、「通常はこうすべきです」といった綺麗な内容に修正してしまおうとすることが何度かありました。
対策: 「一般的な教科書ではなく、このリポジトリで行われている『独自の工夫』や『変態的な実装』をそのまま愛をもって書いて」 といったように、トーン&マナーを明確に指定する必要がありました。
失敗2:コンテキストの迷子
リポジトリがあまりに広範なため、特定の機能についての執筆を依頼した際、AIが過去のボツ案や別のブランチのコードに引きずられてしまうこともありました。
対策:AIに全体像を把握させた後は、「今はNavigationの話だけ」「ここはDockerの章」というように、探索するディレクトリスコープを意図的に絞ってあげることで、非常に精度の高いドラフトが上がってくるようになりました。
おわりに:エンジニアのアウトプットの未来
「開発する」ことと「それをドキュメントにして発信する」ことの間には、大きな高い壁があります。
しかし、コードベースと直接対話できるAIツール(Antigravity)を間に挟むことで、技術の属人化を防ぎ、外に向けて自分たちの取り組みを発信するハードルが劇的に下がりました。
「自分たちが書いたコード自体が、そのまま記事の種になる」
今回の連載は、自律走行ロボットの開発だけでなく、AIを活用した新しい形の「エンジニアのアウトプット」の実験でもありました。
この記事が、開発で得た知見を世の中に発信しようとしている皆様の、ささやかなヒントになれば幸いです!
(連載 完)
リンク
最新の活動状況や、今回紹介した技術のソースコードは以下で公開しています。
興味を持っていただけた方は、ぜひフォロー&スターをお願いします!
- Website: https://sites.google.com/view/terakata-robotics
- X (Twitter): https://x.com/terakata_robot
- Instagram: https://www.instagram.com/terakata_robotics/
- GitHub: https://github.com/TERAKATA-Robotics/terabo-navigation