Claude CodeでAGI級コード生成!驚きの体験?
引用元:https://news.ycombinator.com/item?id=44288377
俺はちょっとバイアスかかってるけど[0]、LLMに依存しないオープンソースのエージェントを中心にスクリプトを組むべきだと思うんだ。この技術はソフト開発の根幹を変えてるから、どう働くか自分たちでコントロールし続けることが超大事だよ。[0] https://github.com/all-hands-ai/openhands
これは良いリソースに見えるね。Nvidia 4090の24GB RAMで動くDevstralとかQueen 3みたいなかなり強力なモデルもあるんだ。Ollamaを使えば自分のハードウェアで動かすのは簡単だけど、GPUのコストはかなりの投資だよね。でも、もしプロプライエタリなツールに毎月250ドル払ってるなら、かなり早く元が取れるかも。
> Nvidia 4090の24GB VRAMでDevstralを使う件ね。24GB VRAMだとDevstralを使うのはお勧めしないな。そこに入れるには重い量子化が必要で、それが結果にかなり影響するんだよ。locallamaでは、特にkv cacheの量子化でイマイチな結果の報告が多いんだ。うちはfp8とフルキャッシュで動かすのは良い経験だったけど、それより下だと品質にすごく影響するよ。
64GBのM3 Maxなら、もっと幅広いモデルでうまくいくよ。Stable Diffusionみたいな作業にはちょっと劣るけどね。それにノートPCとしても手に入るし。
でも、もしクローズドなモデルの方がただ単に性能が良かったら、どうするの?
エージェントとモデルは別物だよ。Claude CodeだとClaudeしか使えないけど、Aiderならどんなモデルでも使えるんだ。
それが、クローズドモデルがオープンモデルより優れてるっていう問題をどう解決するの?
問題ないよ。スレ主はオープンな_モデル_じゃなくて、オープンな_エージェント_を使うべきって言ってたんだ。オープンなエージェントなら、オープンでもクローズドでも、どんなモデルとも一緒に使えるんだよ。Claude Codeみたいのだと、一つのモデルベンダーに縛られちゃうけどね。
スレ主が何を言ったかはわかってるし、それに対する質問を返したんだけど。
そしたら、LLMにお金かけてる他の会社にすぐ追い抜かれちゃうんじゃないの?
Deepseekの学習って、OpenAIの利用規約を破ってやったんじゃないの?
これ、マジで10000パーセント同意!
この記事、ちょっとまとまりないね。まず、コードの説明にスライド使うのは微妙。発表の補助以外でスライド使わないのには理由があるんだよ。
投稿のほとんどは新しい能力じゃないし。ワークフロー自動化は確かに価値あってクールだけど、AGIは関係ないと思う。
あと、信頼できないんだよね。記事でも少し触れてた気がするけど(斜め読みしただけ)。
それに、コードを理解するのにLLMなんていらないはず。もっとわかりやすく書けばいいだけじゃん!でも資本家たちは近道とか裏ワザが好きだから、Q3までに次の機能出すために利用するんだろうね。
LLMにコード理解させるんじゃなくて、もっとわかりやすく書けっていう人たちは、自分でコードを読み書きする量を最小限にしたいタイプ。だから自然言語でプログラム作るのが理想のワークフローなんだよね。この人たちのためにコードベースをわかりやすくするのは、ほとんど無駄な努力。
プログラミング言語は人間が使いやすいように作られたのに、今や人間が読みたがらないって、皮肉な運命のいたずらだよ。コードはマシンにとって無用な中間生成物になってきてる、だってマシンは直接マシンコードを書けるんだもん。
誰かこのパンドラの箱を閉じてくれたらなと思う。
プログラミング言語は人間が使いやすいように作られたのに、今や人間が読みたがらないって話だけど、それはあなたが自分で言ってるように、人間の中でも違うグループの話だよ。
静的な資料じゃ、使う人みんなの頭に合わせて完璧に形を変えるのは無理だよね。知りたいことを知りたい時に学べるインタラクティブなやつがあるのは超便利。前の人が作ったスライドデッキは微妙だろうけど、もしそれがどうしても欲しいなら、Claudeみたいにすぐ作ってくれるのは良いね。変更点のまとめとか、「機能Xの実装って専門用語だらけだけど、全体像はどんな感じ?」って知りたい時、LLMがリポジトリ読んで適当だけど役に立つ答えを出してくれる。ポケットにスイスアーミーナイフ持ってるみたいですごい。
正直、前はめっちゃ嫌いだったし信用してなかったんだけど、実際に使ってみたら、その便利さを否定できなくなったよ。
問題は、もしコード一行ずつLLMに読ませないと誰も言葉で説明できないようなら、それは人間には理解できないってことじゃないかな。
それが狙い(ノリでコーディング最高!)なのかもしれないけど、人が理解して改良したいなら、コードはモジュール化して分解できて、分かりやすいのが良い。もちろん、AIに言葉の助けは借りるけど、根本では構造を理解してる人間が必要だと思う。
>それに、コードベースを理解するのにLLMなんていらないだろ。もっと分かりやすくすればいいんだ!
(レガシーコードに)笑
結局、それは「金」の問題じゃないんだよね。どんなコードベースも、書いた人の暗黙の前提に影響されてる。読む人と書く人の前提に根本的なズレやギャップがあると、読めるようにならないんだ。
LLMは、そういう暗黙の前提の一部を分かりやすくしてくれる方法だよ。万能薬じゃないけど、「ただ分かりやすくすればいい」なんて考えは現実的じゃない。「デバッガーなんていらない、バグ書かなきゃいいだけ」って言うのと同じレベルだよ。
俺がLLMで一番役に立つって思ったのは、コードのMermaid.js図を作ることだな。完璧じゃない時もあるけど、結構な場面で「これで十分じゃん」って感じだったし、ハルシネーション(嘘の生成)は見たことない、抜け漏れだけだね。もし何か足りないって気づいたら、修正しろって言うのも超簡単だよ。
>AGIが何の関係があるかよく分からん
記事のトーンからすると、AGIって言葉をジョークで使ってて、大げさにしてないのが新鮮だね。
まぁ、記事に役立つ情報がなかったら新鮮でも何でもないけど、実際スライドデッキってコードベースを理解するのに使えると思うんだ。ジュニアに時間かけさせたくない「あればいいな」ってものだけど、5ドルくらいで作れてちょっとでも役に立つなら、かなり良いね。
LLMを使うことで考え方が変わるっていうのは、前は価値に対して手間がかかりすぎるから嫌ってたことでも、自分でやらなくていい、チームメンバーの時間や正気をすり減らさなくていいなら、「もう知るか、コードベース全部読んで、機能と要件をテーブル形式でまとめたMarkdownドキュメント作ってみろ。思ったよりうまくいくかもだし、ダメなら次行けばいいし」って思えるようになることだよ。
素晴らしい記事だね!俺も似たような感じで、Claude Codeは exceptional に良いよ――ほとんど毎日、git worktrees のおかげで同時に複数の作業をしてて、それぞれが過去最速で進んでるんだ――これって本当に crazy だよ。
「sub agents」のことだけど、sigoden/aichat を経由した o3 の呼び出しには、数えきれないほど救われたことがあるって認めざるを得ない!
o3 が得意な問題、例えば race conditions とか bug hunting とか、たくさんのコンテキストと本当に高い推論能力が必要なことは確かにあるんだ。
でも、Opus 4 が出てからは使う頻度は減ったね。もちろん、これは sub-agent とかとは全然違うことだけど。
俺がメインの CLAUDE.md で使ってるプロンプトはこれだよ: https://github.com/pgflow-dev/pgflow/blob/main/.claude/advan…
sigoden/aichat はこれ: https://github.com/sigoden/aichat
git worktree は、一つのリポジトリを使って、複数のブランチを別々のディレクトリに展開するんだ。
git worktree add new/path/for/worktree branchname ってコマンドでやる。
俺はもう git checkout でブランチ切り替えるのやめて、main ブランチは常にチェックアウトして最新の状態にしといて、feature 作業はいつも worktrees を使うようにしてる。このワークフロー最高だよ!
俺も Claude Code とかが出てくるまでは使う理由がなかったんだよ。だから知らなかった。
リポジトリ全体を新しいフォルダに新しいブランチでコピーして作業するためのコマンドだよ。
https://git-scm.com/docs/git-worktree
これすごいね、全然知らなかったよ、何年もリポジトリをローカルにクローンしてたわ。
ターミナルってさぁ、LLMにはある意味で最高のインターフェースだよね。カスタムIDE連携よりこっちが主流になるかもって思うんだけど、どうかな?
ある意味そうだけど、将来LLMは人間の時間よりLLMの時間の方が安いから、並列で5回くらい修正を試すようになると思うんだ。
で、そういうワークフローになると複数コンテナを立ち上げたくなるから、そうなるとターミナルの利点は薄れるんだよね。
はあ???マジで最悪のインターフェースだよ!
生成されたコード、編集したくないわけ?
5つのPR(自動テスト更新込み)誰がレビューすんの?もしそれも別エージェントなら、各PRに5回レビュー必要?
結局、”詳細”の制御を譲って出力信頼するか、手動で検証に手間かけるかだよ。どっちも悪いとは言わないけど。
モデルがどんどん賢くなったら、IDEって”低レベル”に見えるようになるよ。
もっとコメントを表示(1)
問題をちゃんと定義できれば、先にテスト書けるんだよ。MLの人は”verifier”って呼ぶね。verifierがあれば計算資源をガンガンつぎ込んで解決策を見つけられる。
え、コード手で書いてるの?えぇ…。
みんな喜んでテスト書くのをフルタイムの仕事にするようになるのかな?
Aiderはさ、’音声’前からサポートしてるよ。
…もしIDEにターミナルついてないなら、それはIDEじゃないでしょ。
Exactly。ClaudeはMCP serverを含む全てにアクセスできるんだ。読み取り専用ユーザーでデータベースをチェックさせたり、puppeteerブラウザを開いてCSSの変更が変じゃないか確認させたりできるの最高すぎ。
完璧なインターフェースだし、Anthropicはマジで nailed it。kubectlコマンドでk8sクラスターをデバッグさせたり、APIでprometheusをチェックさせたりもできるんだ、これどんだけ凄いの?
俺はターミナルを別の窓でAIとやり取りさせて、VS Codeでプロジェクトを同じディレクトリで開いてるんだ。そうするとIDEで更新や新規ファイルをカラーコードでレビューできるからね。みんなはプロジェクトとどうやってやり取りしてる?
> puppeteerブラウザを開いてCSSの変更が変じゃないか確認させる。
AI「7本指あるけど?問題なく見えるよ!」- AI
人間の音声は生物的な制約とか神経的な適応で進化した非線形な出力で、 untrained ear には不明瞭な部分がある。だから、コンピューターにはそんな制約ないからさ、音声はコンピューターにとって損失の多いアナログ→デジタル変換だと思うな。
フロントエンドじゃない俺がCSSをやる羽目になると笑っちゃうよ。
マネージャーとか同僚に技術提案を却下された数、見た目が halfway decent じゃなかったって理由でさ、多すぎ!
俺はターミナル用に別の画面を丸々使ってるよ。IDEにはもう十分色々詰め込まれてるからね。
LLMがテストを書いてくれるようになるだろうね。そしたら俺たちは passion projects に集中できるし、最終的にはLLM同士が会話してるだけになるよ。
”AI”が唯一うまくできるのがCSSを書くことで、これだけは本当に trust できる。出力 trusting の consequence が very little だからね。
チームにデザイナーがいるから彼らが polish してくれるけど、まずは俺が作る。フロントエンドがどうなるかは気にしない、それは someone else to worry about だから。
だから buttons とか他のUI elements のCSSは”AI”に書かせるんだ。時間節約になるし、俺が自分でやるより way better looking な front-end UI styling を作る。デザイナーがいなくてもAI生成CSSで most people には十分だろうね。
でも、AIにページが「変に見えるか」判断させるのは trust しないかな。false-positives の nuisance になるか、実際ある問題を報告しないだけになりそう。
コマンドラインツールで複数のコンテナを立ち上げて、結果をまとめてくれるのは、結構自然なやり方っぽいね。
PRがダメなら捨てて、プロンプトを編集してエージェントにやり直させる方がいいんじゃないかな。たくさんの計算リソースを無駄にするのは贅沢すぎるよ。
高価なエージェントを並列で使うより、より良いエージェント一つでプロンプトを改善しながらやるのが効率的だと思う。人間の仕事は仕様書チェックとエージェントの成果レビューになるね。
テストに通ったからといって、変な動きや遅い処理、誰もチェックしてない副作用がないわけじゃないよ。
LLMの出力は、頼んでもいない新しいフィールドを勝手に追加したりすることもあるからね。
機械が何でもできるようになるだろうね。最終的に人間には、機械より上手くできる、精密さとパワーを同時に使うような手作業しか残らないと思うんだ。工場を維持するとか、狭い配管を工具咥えて這うみたいな、その場その場で対応が必要な作業だけ。でも、ロボティクスが追いつけば、それもなくなるかもね。
なんでコンテナを起動することがメリットを消すの?
コンテナとやり取りするターミナルもあるだろうに。
VS CodeのChatパネルみたいな専用ツールpaneでAI使う方が、ターミナルで使うより良くない?VS CodeのChatパネルは色々洗練されてて、HTMLもMarkdownも綺麗に表示できるし、ファイルリンクとかAIコンテキスト表示もすごい。@とか#とかの補完もあるしね。ターミナルだとそこまでネイティブな体験できないし、VS Codeが既に提供してるものより劣る体験な気がするよ。
rustの借用チェッカー説明させるの、AIがコード読める能力を示す例としては最悪だよ。学習データに山ほどあるじゃん。
確かに。python asyncioの例外処理をコード全部渡して説明させても、マジでダメダメ。教え込んでもすぐ忘れるし、今の文脈以外じゃ続かない。簡単なのにマジ時間の無駄だよ。
「学習データに山ほどある」って批判、変じゃない?人間だって借用チェッカーの説明読んだり教えてもらったりして理解するじゃん。何も教わらずに理解すると思う?AIが新しいアイデア出す証拠にはならないって言いたいのは分かるけど、実用的なんだからいいじゃん(幻覚あるけど)。
細かいとこに気を配るのが職人技の証だとすると、Anthropicの法務規約が論理的に守れないってのは、ASIの安全な管理人として信頼できないサインじゃない?仕事で使ったら競合禁止に違反するとか、「3原則セーフ」じゃないじゃん。
法務部のことは知らんけど、製品のClaude Codeはマジ細かいとこまで気を配ってる感あるよ。「working…」って表示の可愛い動詞とか、Haikuで考えてるらしい。すごいね。
<br>claude --dangerously-skip-permissions # science mode<br>
これ、ウケたw。
同意!Claude codeがcursorより強力に感じるのは、スクリプトで動かせるとこかも。cursorはエディタだけど、claude codeは(超すごい)万能ツールだよ。伝統的なコードベース以外でもObsidianとかで色々使ってる。カスタムKeyboard binding作ったり、OllamaにTerminalコマンドまとめさせたり。スクリプト作るか手動でやるか迷ってた昔と違って、今はclaudeにディレクトリで実行させればすぐ終わる。マジで色んなことに使えるよ。
そうなんだよ、Claude Codeってプラン契約しないとダメで、APIじゃ使えないんだ。月100ドルで足りるのかな?俺は一日中使ってるから、100ドルよりはるかに多く消費してる気がするんだよね。
「一日中毎日」使うなら、そりゃプラン選ぶのが当然でしょ。使い方によってはプランなしでも全然経済的だよ。どっちがいいか決める助けになるツール、誰かが作ったから見てみたら? https://github.com/ryoppippi/ccusage
まあそうだけど、もし使うパターンで料金プランに見合わないならCursorのがいい選択だよ :)
もっとコメントを表示(2)
LLMの世界がまたBigCorps有利になってきてるのが嫌だな。オープンソースってのは、シチリアのantirezみたいな人が一人でRedis作って、みんなが参加して雪だるま式に大きくなる世界だったのに。大企業しか提供できないサブスクが必要なのは不満だよ。コーディングみたいな特定のタスク向けに「ローカルで動かせる」モデルが出てくるか、だね。
この懸念わかるわ。改善のペース考えたら、これくらいのレベルのが18ヶ月くらいでローカルで動くようになるって期待してる。もちろんその頃にはクローズドソースのはもっと良くなってるだろうけど、もし選べるなら今すぐオープンソース版を選ぶと思う。今使ってるオープンソースの代替は、俺の4090じゃまだそこまでじゃないんだよね。実現できるよう願ってるよ。
これマジで悪夢みたいなベンダーロックインだよ。コードベース誰も理解できなくなって、企業はどんどん金を払い続けなきゃいけない。そうしないとビジネスが成長も適応もできなくなる。
うわー、君がまさに俺が無意識のうちにコーディングスキルを磨き続けたいと思ってる一番の理由になってる流れを完璧に言語化してくれたわ。
先見の明があるね、お見事。次はAGIがスパゲッティコードを解きほぐせるって主張が出てきて、そして現実を知る番だ。個人的には、新しいLLM支配者を歓迎するよ。
>APIで使うのは不可能だ
これってどういう意味?
記事の筆者じゃないけど、たぶんコストのことじゃないかな。
これだよな。ちょっと使っただけで簡単に1日20ドル、間違いなく50ドル超えることもできる。ちゃんと動くけど、お試しで入れた100ドルはSonnetでも全然長く持たなかった。
Claude CodeはAPI経由で間違いなく使えるよ。
ある iOS Dev が Claude Code で iOS App 作って、API 料金と比較するためにトークン消費量チェックツール作ったんだって。Max プラン2つ(月200ドル+月200ドル)使ってて、API だと月10,000ドル超えるって試算してたらしいよ。
Claude Pro で使えるようになったから、たった20ドルだよ。
使えるけど、すごく制限されてるんだ。
僕は API Only 使ってるよ。これだけが使用量制限なしでオンデマンド価格だからね。
Pro の5倍(月100ドル)
Pro の20倍(月200ドル)
ソース: https://support.anthropic.com/en/articles/11145838-using-cla…
”Pro(月20ドル):通常ユーザーは5時間で Claude に約45メッセージ送れるか、Claude Code に約10~40プロンプト送れる。”
”集中的なコーディングスプリントには、Anthropic Console アカウントで従量課金制の使用量に切り替える柔軟性があります。”
Obsidian Vault でどんなユースケースで使ってるのか、めっちゃ聞きたいな。
たくさんのノートの書式変更、カスタムプラグイン作成、コミュニティプラグインの問題診断、Vault(publish:true の frontmatter 付き)をブログリポジトリと比較して変更見つけたら自動更新する同期プログラム作成、インラインURLを Markdown 脚注に変換するツール作成とかだよ。
Obsidian が僕の Source Of Truth で、Claude はテキスト、書式、Markdown、JS なんかの管理にマジで良いんだ。自動で変更させるほどはまだ信用してないけど、プラグインとか書式の手作業をいじる時間を確実に何時間も節約してくれたよ。
Claude Code をスクリプトでどうやって組むの?CLI としては使ってたけど、スクリプト経由で Claude Code を呼び出すなんて考えたことなかったよ。すごく面白そうだね。
記事読めよ。要するに特定のプロンプトに Alias 使ってるだけだよ。
ちょっと余談だけど、この前 LLM に大量のノートをカテゴリフォルダに整理させたんだ。あれはマジで役に立ったわ。