メインコンテンツへスキップ
  1. 日報/

日報(26/06/27)

otagao
著者
otagao
どこにでもいるオタク
目次

現在夜の11時過ぎ、東京メトロ千代田線の車内でノーパソを広げながらこの記事を書いています。ちょうど乗車時間が30分なので、書き終わったらテザリングでgitに繋げてアップロードする予定です。TXには終電で接続することになるのですが、つくばで2年以上過ごしておきながら終電に乗るのは初めてということもあり微妙に緊張しています。乗り損ねたら守谷でネカフェ泊か……

↑結局終電には間に合ったものの、記事投稿は間に合わなかったので家で書いてます泣

今日やったこと
#

  • サイバーエージェントの1dayインターンに参加

Architecture Challenge
#

サイバーエージェントが主催する1dayインターン、Architecture Challengeに参加しました。ITインフラ分野、特にパブリッククラウドに興味のある学生が集まり、Webサービス群を支えるプラットフォームを設計する課題に取り組みました。

具体的な課題の内容については伏せるのですが、概要としては (非実在の)エンタメ系サービスを複数デプロイした上で、限られた人員や規模拡大に耐えて安定運用できる共通基盤を設計する ことが求められました。確かにオンプレサーバーでは費用対効果に合わないであろう背景・要件・制約が伝えられ、パブリッククラウドを利用した具体的なアーキテクチャ図と技術スタックを半日かけて設計しました。

私はクラウド分野について知見が浅く、おそらく参加者の中で最も素人に近い人間だったとすら思うのですが、このイベントでは数多くのことを学ばせていただきました。特に 生成AIはエンジニアリング、特にSREを代替するか というトピックについて、個人的に一定の解を得ることができました。

まず1日の始め、イントロダクション中に、 参加者はAIツールに頼ってもよいが振り回されてはならず、設計の各部を自分の言葉で説明できることが求められる と説明を受けました。これはAIを用いた教育・コーディングの文脈ではよく聞く話ではありますが、プラットフォーム設計というフィールドではまさに「AIに振り回されないこと」がどれだけ重要かを痛感しました。

LLMが数秒でthinkingを終えて弾き出した構成案だろうが、どれだけ経験豊富な人間が頭をひねって考え出した構成案だろうが、各コンポーネントの具体的な採用理由を説明できないと「それらしい空論」で終わってしまいます。私はそもそも実務経験がないわけで、当然ながら実務に裏付けられた説明を行うことが不可能であり、

  1. 今まで独学した内容を頼りに叩き台を作成する
  2. AIに叩き台および課題の文脈を渡してレビューしてもらう
  3. 公式ドキュメントや各種技術ブログを参照して内容を補強する

といった流れで代替しました。

しかしながら稚拙な抜け漏れや見落としがあり、1日の終わりでは私の構成案に対してメンターの皆様から

  • ユーザのアカウント認証をAmazon Cognitoで内製しようとしているが、Cognitoを一般ユーザ向けに展開するにはレスポンスにおいて致命的な限界がある
  • ピーク時でも外部APIに同期的な処理を渡してしまう構成になっており、レートリミットを考慮していない
  • 「オートスケーリングが可能である」ことと「オートスケーリングが俊敏に機能する」ことの違いを考慮しておらず、急激なピークに耐えうる構造とはいえない

などの手痛いレビューをいただきました。

この失敗の理由としては、まず当然私自身の知識が浅すぎたこと、そして私のプロンプト/コンテキストエンジニアリングが下手だったことが挙げられるのですが、今回の課題についてはどれだけ適切にコンテキストを渡したとしてもケチのつかない構成を一発で出力させるのは難しかったでしょう。それだけインフラ設計には考慮すべき事項が多く、 提示された要件を愚直に満たすだけでは様々な非機能要件の落とし穴から逃れることができない ことを学びました。

今日のArchitecture Challengeを通して、AIが数多くのパソカタ仕事を奪いゆく中でも 実務あるいは深い学習によるドメイン知識の獲得 による優位性は代替困難であることを身にしみて理解しました。

また、 参加者全員がインフラ系に興味のある学生という環境 はとても刺激的で、1日を通して非常に楽しい体験となりました。ここまで自宅サーバの運用経験率が高い集団はなかなかないと思います。

貴重な機会をくださったサイバーエージェントの皆様、本当にありがとうございました!

弁当の写真

これは昼ごはんの弁当。非常に美味しかったです