0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AI周りの振り返りと、Claude Code CLIの導入

0
Posted at

AI周りの振り返り

2018年から2020年頃

 2018年頃からプライベートでAI周りの技術を追い始めて、気付けば8年ほど経ちました。
 当初はDeep Learning技術で自然言語処理をどこまでまともに行えるかを検討し、言語処理学会に行ってみたり、東大松尾研の講座を受けたり、仕事に活かせるかも含めて探っていました。
しかし、2020年頃の観点では、言葉や文の意味を言語空間(ユークリッド空間でも、非ユークリッド空間でも)にマッピングしたとて、特許などの意見が衝突して経済活動が行われるような世界で使えるレベルでの精緻な意味理解を行えるとは到底思えず、一旦、pendingにすることにしました。
 ある意味、仕事で使えるレベルの自然言語の意味理解が出来た頃には、一種のインギュラリティに到達しているだろうし、そうすると多くの頭脳労働はAIに置き換わるだろうと思っていました。

2022年末以降

その後、2022年末にChatGPTが登場して以来、LLMの進化が想定を優に超えて来て、非常にエキサイティングな状況になっているというのが現状だと思います。
特に、ここ1年から半年の進歩は目覚ましいものがあり、ITに詳しくない人でも、仕事で使えるレベルのUIが登場しだしたのも、利用に拍車を掛けているのだと思います。例えば、Claudeではメールの作成を送信直前の状態まで生成することが出来て、コピペする必要もない状況になっています。

最近の動向

 最近では、Linux FoundationにAgentic AI Foundationが設立され、MCP、A2A、Agents.md、gooseを始めとしたAgent AIの標準化活動も進められており、今後より急激な速度でAIの実行環境が整っていくと思います。

 このような状況もあり、AnthropicのClaude Codeや、OpenAIのCodexでは、単なるコード生成だけではなく、「計画を立て、実行し、エラーが出たら自己修正する」という一連の流れを実行出来るようになったり、GithubのPRレビューの自動化などまで出来るようになっているのは驚きです。
 AIによるコード生成を業務で使えるようにするためには、コーディングに詳しくない人がAI任せで生成したコードにはセキュリティの脆弱性などが潜む可能性があるので、適切なコードレビューはまだまだ必要という理解です。

とはいうものの、4月にはClaude CodeでLinuxカーネルの脆弱性を発見したというニュースなどもあり、コードレビューもAIでチェックすれば良いという世界もすぐ来るのかも知れません。

その一方で、Claude Mythosは余りにも強力過ぎて、公開を見送られているという話もあり、チームみらいの安野さんが政府にその危険性を示し、高市総理も5月12日に対策を指示したということもありました。

 Anthropic社も日本政府に全面協力するというニュースも出ていました。

 その裏で、Claude Mythosを再現してOSS化したというOpenMythosが既に公開されているので、これが悪用されて大規模なサイバー攻撃が発生してしまうと、安全保障上の緊急事態が発生する可能性も十分にあり得ると思いますので、早急に対策を講じてもらいたいものです。

業務への落とし込み

 持論っぽくなりますが、業務に適用するのに注意しなければならない点として、LLMが決定論的に動作していない(ある種の確率論的な動作をする1)という点があると思っています。LLMを最終生成者・判断者とした系(システム)では、決定論的ではない2出力がもたらされるので、出力が一定せずデバッグも難しいものになります。

 そこで、間違いの許されない業務(たとえば、契約条項の生成や解釈、薬の同時服用の組み合わせなど)、いわゆる絶対に犯してはならない禁忌事項(タブー)を含むものに対しては、その後に決定論的なチェックや、責任の取れる人間のチェック(いわゆるHuman in the loop)が必要になると思います。

 また、AI Agentを作る上で、セマンティックレイヤーが大切という論説をメにするのですが、これはSalesForceなどがTableauで収集した売上データなどから、純利益や粗利益などを計算する際に、SQLの項目でどれとれを計算すれば答えが出せるか、という意味では固く作れると思っています。
 一方で、多くの業務で必要となるような、自然言語として専門用語の定義を作って変換させるという動作を行わせるという意味では、文脈依存度の高さや、言語空間へのマッピングをどう行うか、またハルシネーションの発生という難点を考えると、そう簡単に行くものではないと思っています。
 要は、決定論的な変換で精度が出るものか、LLMを利用したマッピングでも十分な精度が出るものでタブーとは無縁のものでないと、業務への適用は非常に難易度が高いものとなり、高度な技術と人的なリソースが必要ではないかと思っています。


触ってみないと分からない

 前節のように、色々と考えるところもありますが、既にLLMの性能は想定を超えるレベルに達しているので、今後の進展を前提として、業務への適用に関しては実装を進めていくのが良いと思います。

 業務ではプライバシーやセキュリティの問題で利用が難しいことが多いと思いますので、隔離された環境でsandbox的に進めるしかないのではないかと思いますが、色々と承認を得ながら進めていくと、LLMの進展に取り残されてしまうので、業務からは切り離したプライベートの環境で実験的に使ってみるのが良いだろうと、手持ちのraspberry piのUbuntuにClaude Code CLIを入れるところから始めています。

 最近はCodexの方が人気らしいですが、ClaudeのWebアプリでskillの設定もしたいので、今回は一旦Claudeを選んでいます。

ご参考までに、Claude Code CLIの導入方法について記載しておきます。

Claude Code を Ubuntu にインストールする方法

以下のサイトにインストール方法が載っており、curlで導入できます。以前は npm 経由のインストールが主流でしたが、現在は公式の非推奨となっており、Anthropic のネイティブインストーラーが推奨されているそうです。

curlでも良いのですが、パッケージ管理したいので、aptでインストールしていきます。

以下はGeminiの出力です

# キーリングとリポジトリの追加
sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSL https://downloads.claude.ai/keys/claude-code.asc -o /etc/apt/keyrings/claude-code.asc
echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/stable stable main" | sudo tee /etc/apt/sources.list.d/claude-code.list
# インストール
sudo apt update
sudo apt install claude-code

ここまでがGeminiの出力です。

以下はClaudeの出力です

動作確認

claude --version
claude doctor  # 設定の問題を自動チェック

認証

インストール後、初回起動時に認証が必要です。以下のいずれかで利用できます:

  • Claude Pro / Max サブスクリプション(claude.ai のアカウント)
  • Anthropic Console(API キーによる従量課金)
  • クラウドプロバイダー(AWS Bedrock、Google Vertex AI など)

ブラウザが開かない場合やヘッドレスサーバーの場合は、ターミナルに表示された URL を手動でコピーしてブラウザに貼り付け、認証コードを取得してターミナルに入力してください。


システム要件

Claude Code は Ubuntu 20.04 LTS 以降(22.04 LTS、24.04 LTS を含む)をサポートしています。RAM は最低 4GB(大規模プロジェクトには 8GB 推奨)です。

何かうまくいかないことがあれば、claude doctor を実行すると問題を診断してくれます!


ここまでがClaudeの出力です。

実際の認証

  • うちの環境はClaude Pro+ブラウザが開かないので、URLをコピーして認証しました

image.png

  • 承認すると、以下の画面にコードが表示されるので、コマンドラインにコピペしました

image.png

  • ログイン成功
    image.png

おわりに

 LLMがもたらす「出力の不確実性」や「ドメイン知識の解釈の難しさ」といった課題は、業務適用において高いハードルとなっています。
 一方で、Claude Code(あるいはその先にあるClaude Mythosのような技術)が示す、自律的にバグや脆弱性を掘り起こす能力を目の当たりにして、何もしないことは、機会損失に当たるかと思います。

 組織の承認やセキュリティの問題で検討を進められないようであれば、自前で安全なサンドボックス環境を作り、まずは「触って、体感してみる」ことが、激変するAI時代に取り残されないための最善策だと思います。

 この記事が、同じように「AIエージェントをどう業務や技術に組み込んでいくべきか」を模索している方の参考になれば幸いです。

 ご精読ありがとうございました。

  1. 確率論というと、特定の分布に従った出力になることを前提にしているかと思いますが、LLMは例えば、特定の間違いを必ず犯してしまうシステムの可能性もあるので、ある種の確率論という書き方にしています。

  2. 非決定(nondeterministic)は、『「P対NP」問題』でも登場する言葉で、計算機科学では違う意味になるので避けています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?