世界を動かす技術を、日本語で。

3ヶ月間手作業でコーディングする

概要

  • Brooklyn でのコーディング・リトリート体験記
  • AI時代 にあえて「手書きコーディング」に集中した理由
  • Aily Labs でのAIエージェント開発経験
  • Recurse Center での学びと目標
  • 今後の課題 と成長の実感

Brooklynでのコーディング・リトリート体験

  • 2026年3月、 Brooklyn, New York でコーディング・リトリート開始
  • 個人的な理由で アメリカに帰国、すぐに仕事復帰せず自分のための時間を確保
  • AI全盛の時代に、あえて AIなしでのコーディング に挑戦
  • 6週間経過 時点での進捗と学びの振り返り

Aily LabsでのAIエージェント開発

  • Barcelona のAily LabsでAIエージェント開発に従事
    • 2024年初頭、社内用ウェブ検索エージェントを開発
    • AnthropicやOpenAIによる類似記事発表よりも 半年~1年以上早い 取り組み
  • Cursor やLLMを活用したナレッジグラフ構築にも初期から関与
  • 週次ジャーナルクラブ を主催し、DeepSeek R1、Olmo 3、Llama 3論文などを紹介
  • オープンソースLLM の構築手法や、内部トレーニングとSOTAクローズドモデル活用のトレードオフを理解
  • LLMへの関心が高まり、 仕組みや応用方法の探求 が続く

コーディングエージェントとの関わりと気づき

  • 手書きコーディング では「やりたいことの記述」と「コードベースの理解」を同時に進行
  • コーディングエージェント使用時は、 プロンプト通りの出力 が得られるが、学びや理解が浅くなりやすい
  • エージェントは 迅速な反復 やソフトウェア出荷には有効だが、 深い理解 には手書きが有効
  • Cal Newportの「思考と技術の関係」論に共感し、 コードを書く苦労自体が成長につながる と実感

Recurse Centerでの目標と進捗

  • Recurse Center (RC) :Brooklynにある自己主導型・全日制のプログラミング・リトリート
    • 入学には 応募・コーディング面接 が必要
    • 多様なバックグラウンドの参加者と 協働的な学び
    • 無料 で参加可能
  • 入学時の目標
    • LLMをゼロから訓練 (前処理・後処理含む、Transformerの自作)
    • Python手書き力の向上 (ドキュメントやLLMに頼らず直感的に書ける力)
    • コンピュータの仕組み理解 (抽象化レイヤーの全体像把握)
  • CS336: Language Modeling from Scratch の課題に挑戦
    • LLMなしで トークナイザーやGPT-2風アーキテクチャ を自作
    • Tiny Storiesデータセット でハイパーパラメータチューニング、OpenWebTextでも適用
    • 次の課題では GPUプロファイリングやFlashAttention2実装 にも着手

RCでの学びと成長実感

  • PythonやPyTorch で小さなエージェントやニューラルネットを多数作成
  • 10年以上の経験者とのペアプログラミング が最も役立つ
    • 分からない操作は 即座にターミナルで試す 習慣化が効率UPに直結
    • Advent of Codeなどの小プロジェクトで 反復練習
  • Apple IIeでBASICのfizzbuzz実装 など、レガシー環境での体験
  • CTF Fridays でUnixやセキュリティの基礎を実践的に学習
  • Vimのみでパーセプトロンを手書き実装、クラウドGPUでの運用にも役立つ
  • Clojureワークショップ で関数型言語とモブプログラミングを体験
  • 週次テクニカルトーク で幅広いテーマに触れ、発表経験も積む

今後の課題と展望

  • まもなく エージェントの本番投入 や評価にも着手予定
  • 残り6週間 で全ての目標達成は困難だが、「リストを消化すること」より「コーディングに没頭する時間」自体がRCの価値
  • AIと人間の学びのバランス を模索し続ける姿勢

注記

  • 日本語学習経験とLLMの出現に対する驚きや、LLMなしでのデバッグの苦労も言及

Hackerたちの意見

すごい!自分もRCで12週間のバッチをやったけど、めっちゃ楽しかったよ。コーディング楽しんで!好奇心を持ち続けてね。

RC仲間だよ、こんにちは!自分はFall 2 '23だった。

RCの大ファンだよ。親友がやってた。自分も何度も応募しようと思ったけど、タイミングが合わなかったんだ。

脳みそをlean、coq、haskellに使えるのが大好き。楽しいことがいっぱい!お金の仕事はほとんどエージェントに任せてる。

自分のやり方はこうだよ:AIをフル活用してたくさんのものを作るけど、AIが出すコードが自分の認知負荷基準をクリアしてるかを確認するために必要な時間も使ってる。コードを整えたり、しっかりドキュメントを書くためにトークンを使うこともあるけど、これはAGENTS.mdのおかげでほとんど手間いらず。変なことが起きたらすぐに気づくし、軌道修正する。クレジットが切れたら、いよいよショータイム!コードはきれいに整理されてるし、抽象化も意味がある。コメントも役立つから、良い古き良き人間のコーディングができる。限界に近づいたら、AIに舞台を整えてもらうように頼むようにしてる。クレジットが切れるとイライラしてたけど、今は次の「脳の時間配分」を楽しみにしてる。変に聞こえるかもしれないけど、これはチームワークの一形態だよ。もっと大きなプランにお金を払う手段はあるけど、脳をアクティブに保ちたいんだ。

共有してくれてありがとう。エージェントが何かをしている間に、自分にタスクを残しておくアプローチについて考えたことがある。脳を活性化させて、萎縮を防ぐためにね。もしかしたら、Claude Codeのスキルやフックを作るべきかも :)

DRYを乱用するな、少しの重複は不必要な依存関係よりマシだ。これは面白いポイントだね。原則的には同意だけど、少なくともClaudeはロジックを重複させすぎてて、逆の方向に押してあげる必要があると思う。

変に聞こえるかもしれないけど、これはチームワークの一形態なんだ。俺にはできない。LLMにコードを書かせると、そのコードは手を加えられない。俺はそれをブラックボックスとして見ていて、絶対に開けたくない。動けば使うけど、信用はしてない。壊れたらイライラするし。俺にとって唯一うまくいくのは、常に運転席にいて、LLMが俺の質問に答えるアシスタントとしていることだ。何かをブレインストーミングするか、俺が知っていることを言語の構文で表現するのを手伝ってもらう。なんか、そのステップがいつも少し負担に感じてたんだよね。概念はよく理解してたけど、構文で表現するのがちょっと難しかった。

AIのオートコンプリートワークフローにもっと投資してほしいな。あれはいい中間地点だった。でも、直感的には「古いやり方」って感じがするけど、呼び方が正しいかは分からない。広い視点で見ると、「エージェント的」なワークフローと同じくらいの価値があると思う。コードベースの知識がずっと良くなるし、コーディングの概念に対する理解も深まる(アクティブリコールはパッシブリコグニションよりずっと強いからね)。

「手動コーディング」の論理は理解できるけど、国を横断するのと飛行機で行くのは違う感じ。飛行機に一度乗ったら、戻るのがすごく難しい…

エージェントのワークフローを逆転させるのがすごく楽しいんだ。手動でコードを書いて、エージェントにコードレビューをお願いする。これでコーディングスキルとコードベースの知識が鋭く保たれるし、コミットする前にバグを見つけられるからね!

AIのオートコンプリートは最悪だった。みんなすぐに移行しちゃったよ、役に立たないインターフェースだから。

Hacker Newsで議論の続きを見る