1 min read

迷ったとき、AIよりも頼りになるもの

最近、GitHub Copilotにも Cursor と同じく「エージェントモード」が搭載されたようですね。 それを機に、いったん Cursor から VSCode(+Copilot)に戻して使っています。

長く慣れ親しんだ環境に戻るのは、ある意味で人の“サガ”のようなものかもしれません。 Cursor のように自然言語で柔軟なルール策定が可能ではないようですが、そもそもその機能を私が十分に使いこなせていたとは言えず、今のところ特に不便は感じていません。

また、料金の面でも GitHub Copilot の方が安く(月額10ドル)、Cursor(月額20ドル)と比べて負担が少ないのも理由の一つです。

各サービスが競い合うことで、さらに良いものが生まれてくることを期待していますし、私自身も定期的に情報を調べる習慣を持っていたいと思っています。 もっとも、調べても見つからない情報というのは、往々にして自分の“認識の外”にあるもので、そういうものは、いつかご縁が巡ってくるのを待つしかないのかもしれません。


さて、話は少し戻りますが——
先週、ChatGPTと Cursor を使いながら、新しいプロダクトの開発を進めていました。 ただ、未経験の領域だったこともあり、初手の環境構築で大きくつまずいてしまいました。

具体的には、ある AWS サービスへのアクセスで Access Denied エラーが出てしまい、 ChatGPT の提案をいくつも試したものの、うまくいかず。 Cursor の Ask機能や Agent にも相談してみましたが、結果は同じでした。

そのまま、2〜3日ほど悩み続けました。


最終的には、基本に立ち返って Google で検索し、ようやく手がかりを見つけました。 Stack Overflow に、私と同じようなエラーに悩んでいた人が質問を投稿していて、その回答にヒントがありました。

ただ、その情報はとてもニッチで、明確な公式ドキュメントも見当たらず、回答自体も投稿者の経験則に基づくものでした。 それでも、自分の状況と照らし合わせてみたとき、「これは当たっているかもしれない」と感じました。

結論としてわかったのは、「そもそも、その使い方は想定されていない」ということでした。

もう少し具体的にいうと、Amazon Cognito には「ID プール(Identity Pool)」という機能があり、 未認証ユーザーに一時的な IAM ロール(AssumeRole)を付与することができます。

ただし、たとえロールを付与できたとしても、「実際にアクセス可能な AWS サービスには制限がある」という見解がありました。 (私が利用したかったAWSサービスは、この制限に引っかかっていました)


昔、自分が思っていた教訓を思い出しました。

「自分で考えたことは8割うまくいくが、他人の情報を鵜呑みにすると8割失敗する」

つまり、他人の意見はあくまで“参考情報”として受け取るべきであり、最終的には自分の頭で考え、判断する姿勢が必要なのだと。

そしてそれは、AIに対しても同じだと痛感しました。 AIの知識や提案も、他人と同じように“参考情報”の一つに過ぎない。 どれだけ便利な時代になっても、最後に責任を持って選ぶのは自分自身なのだと、あらためて感じています。