<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Sagemaker on ROBOCO</title>
    <link>https://roboco.io/ja/tags/sagemaker/</link>
    <description>Recent content in Sagemaker on ROBOCO</description>
    <generator>Hugo</generator>
    <language>ja</language>
    <lastBuildDate>Sun, 29 Mar 2026 16:00:00 +0900</lastBuildDate>
    <atom:link href="https://roboco.io/ja/tags/sagemaker/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Serverless Autoresearch：バイブコーディングでML実験パイプラインをサーバーレス化した記録</title>
      <link>https://roboco.io/ja/posts/serverless-autoresearch-vibe-coding/</link>
      <pubDate>Sun, 29 Mar 2026 16:00:00 +0900</pubDate>
      <guid>https://roboco.io/ja/posts/serverless-autoresearch-vibe-coding/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;バイブコーディングの本当の価値は、コードを速く書くことだけにあるのではありません。高くつく実験を、より安く、より速く繰り返せる運用のあり方を設計することにあります。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://roboco.io/posts/images/Dohyun.png&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;h4&gt;チョン・ドヒョン - ROBOCO首席コンサルタント&lt;/h4&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;たいていの人はバイブコーディングを、まずWebアプリのプロトタイピングやCRUD自動化と結びつけます。しかしROBOCOの&lt;a href=&#34;https://github.com/roboco-io/serverless-autoresearch&#34;&gt;&lt;code&gt;serverless-autoresearch&lt;/code&gt;&lt;/a&gt;リポジトリは、このフレームを大きく広げます。このプロジェクトは、Andrej Karpathyの&lt;code&gt;autoresearch&lt;/code&gt;が前提とする「H100を1台、数時間つかんでおく」やり方の代わりに、AWS SageMaker Spotの上で並列実験を短く爆発的に実行する構造を作っています。&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;この事例が興味深いのは、結果が安く出たからではありません。このリポジトリには、&lt;strong&gt;最初のアイデアを練り上げる深層インタビュー&lt;/strong&gt;、&lt;strong&gt;計画中心のアーキテクチャ設計&lt;/strong&gt;、&lt;strong&gt;クラウドインフラのデバッグ&lt;/strong&gt;、&lt;strong&gt;反復実験の自動化&lt;/strong&gt;、&lt;strong&gt;失敗を文書とスキルへ還元していく過程&lt;/strong&gt;がすべて残っています。とくに&lt;code&gt;docs/vibe-coding-tutorial&lt;/code&gt;は、コードの説明書ではなく、対話型のAIコーディングが実際にどうエンジニアリングの成果物として固まっていくのかを示すログに近いものです。&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;まず数字から整理しておく必要があります。チュートリアルは2026年3月27〜28日の初期実行区間を中心に、&lt;strong&gt;25回の実験、総費用0.44ドル、最高&lt;code&gt;val_bpb&lt;/code&gt; 1.0643&lt;/strong&gt;を記録しています。&lt;sup id=&#34;fnref1:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; 一方でリポジトリのREADMEは、その後に拡張された図として&lt;strong&gt;83回の実験を約3.5時間、約1.33ドル&lt;/strong&gt;で実施する方向を示し、もとの逐次実行に比べ&lt;strong&gt;2.3倍速く、5〜18倍安い構造&lt;/strong&gt;であることを強調しています。&lt;sup id=&#34;fnref1:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; つまり「0.44ドル」は初期検証の費用であり、「1.33ドル」は拡張された運用モデルの費用です。二つの数値は矛盾しておらず、異なる段階の結果です。&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TL;DR&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;serverless-autoresearch&lt;/code&gt;は、バイブコーディングをWebアプリ自動化ではなく、ML実験パイプラインとクラウド運用設計の問題へ拡張した事例です。&lt;/li&gt;&#xA;&lt;li&gt;核心は、H100を長く占有するやり方の代わりに、SageMaker Spotベースの並列実験によって安い失敗と速い学習を可能にした点にあります。&lt;/li&gt;&#xA;&lt;li&gt;良い結果は、コード生成量よりも、問題定義・計画・インフラ検証・失敗を文書とスキルへ還元する運用のあり方から生まれます。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1-このプロジェクトが実際に変えたこと&#34;&gt;1. このプロジェクトが実際に変えたこと&lt;/h2&gt;&#xA;&lt;p&gt;Karpathyのオリジナルの&lt;code&gt;autoresearch&lt;/code&gt;は一度に一つの実験を回し、基本的にはH100のような高性能GPUを長く占有する流れに近いものです。&lt;code&gt;serverless-autoresearch&lt;/code&gt;は、この流れを&lt;strong&gt;並列進化&lt;/strong&gt;（parallel evolution）に変えました。&lt;sup id=&#34;fnref2:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;核心は二つです。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;実験一つを長くつかんでおく代わりに、複数の候補を同時に短く実行します。&lt;/li&gt;&#xA;&lt;li&gt;GPUを24時間つけておく代わりに、必要なときだけSpotインスタンスを立ち上げ、終わったらすぐに落とします。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;このリポジトリはこれを&lt;strong&gt;HUGI&lt;/strong&gt;（Hurry Up and Get Idle）パターンと呼んでいます。&lt;sup id=&#34;fnref3:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; サーバーを長く維持する代わりに、短く一気に計算してただちにアイドル状態へ戻る方式です。この単純な転換が費用構造を完全に変えます。「サーバーレス」という言葉が関数呼び出しだけを意味するのではなく、GPUワークロードにも適用可能な運用哲学であることを示しているわけです。&lt;/p&gt;&#xA;&lt;p&gt;チュートリアルを基準に見ると、実際の検証もかなり具体的です。&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;区間&lt;/th&gt;&#xA;          &lt;th&gt;内容&lt;/th&gt;&#xA;          &lt;th&gt;費用&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;初期の成功実験&lt;/td&gt;&#xA;          &lt;td&gt;L40S Spotで最初のend-to-end成功&lt;/td&gt;&#xA;          &lt;td&gt;$0.06&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;バッチサイズの罠の検証&lt;/td&gt;&#xA;          &lt;td&gt;4回の並列実験で誤った仮説を除去&lt;/td&gt;&#xA;          &lt;td&gt;$0.07&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;5世代の自律進化&lt;/td&gt;&#xA;          &lt;td&gt;20回の実験で最適パラメータを探索&lt;/td&gt;&#xA;          &lt;td&gt;$0.31&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;合計&lt;/td&gt;&#xA;          &lt;td&gt;25回の実験&lt;/td&gt;&#xA;          &lt;td&gt;&lt;strong&gt;$0.44&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;つまりこのプロジェクトのポイントは「安いGPUでも動く」ことではなく、&lt;strong&gt;安い失敗をたくさん買える&lt;/strong&gt;という点にあります。&lt;sup id=&#34;fnref:5&#34;&gt;&lt;a href=&#34;#fn:5&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&#34;fnref:6&#34;&gt;&lt;a href=&#34;#fn:6&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&#34;fnref:7&#34;&gt;&lt;a href=&#34;#fn:7&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&#34;fnref1:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;2-チュートリアルが示す本当のポイント&#34;&gt;2. チュートリアルが示す本当のポイント&lt;/h2&gt;&#xA;&lt;h3 id=&#34;21-曖昧な依頼は深層インタビューで絞り込むべき&#34;&gt;2.1 曖昧な依頼は深層インタビューで絞り込むべき&lt;/h3&gt;&#xA;&lt;p&gt;チュートリアルの最初の場面はコードではなく質問です。ユーザーは「autoresearchの実験を再現したい」という依頼とともに、必要なら深層インタビューをするよう指示します。&lt;sup id=&#34;fnref:8&#34;&gt;&lt;a href=&#34;#fn:8&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;8&lt;/a&gt;&lt;/sup&gt; その結果、目標は単なる再現ではなく次の三つとして定義し直されます。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SageMaker Managed Spot Trainingベースのサーバーレス実行&lt;/li&gt;&#xA;&lt;li&gt;OMCベースの自律反復実験&lt;/li&gt;&#xA;&lt;li&gt;教育用／デモ用に再利用可能な文書化&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;これは小さく見えて非常に重要な転換です。漠然とした「再現」は、しばしばオリジナルを真似るだけで終わります。一方、インタビューを経れば「何を学ぶのか」「何を自動化するのか」「何を残すのか」が明確になります。バイブコーディングはプロンプトを長く書く技術ではなく、&lt;strong&gt;良い問題定義を引き出すインタビューの技術&lt;/strong&gt;に近いという事実を示しています。&lt;/p&gt;&#xA;&lt;h3 id=&#34;22-実装より先に計画モードが必要&#34;&gt;2.2 実装より先に計画モードが必要&lt;/h3&gt;&#xA;&lt;p&gt;第2章でAIはすぐにコードを書きません。まず上流の&lt;code&gt;autoresearch&lt;/code&gt;コードベースと、ユーザーの既存のSageMakerパターンを探索したうえで、候補生成器・バッチランチャー・結果収集器・選択モジュールに分かれたパイプライン構造を計画します。&lt;sup id=&#34;fnref1:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;途中でユーザーが「クラウドの利点である並列実行とHUGIを積極的に活用せよ」という条件を追加すると、設計は逐次実行から&lt;strong&gt;population-based parallel evolution&lt;/strong&gt;の構造へ変わります。&lt;sup id=&#34;fnref2:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt; この箇所は、バイブコーディングが「AIが勝手に書いたコード」ではなく、&lt;strong&gt;計画段階でアーキテクチャを修正できてはじめて有用性が大きくなる&lt;/strong&gt;という点をよく示しています。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
