本サイトはHugoで開発されていますが、筆者自身は常に中国語のタイトルを使用しており、その結果、生成される文章の超リンクが使いにくい状態でした。つまり、送信する際に、中国語の文字が超リンク内で%E4%BD%A0%E5%A5%BDのような形式にエスケープされてしまうため、見た目が良くありません。設定でslugを設定することで解決できますが、毎回手動で設定する必要があり、非常に面倒でした。 そこで、Claude4を使って翻訳アシスタントを開発し、中国語のタイトルを自動的に英語のslugに変換し、文章中に超リンクを追加することを試みました。これにより、手動での設定を回避できます。
Claude4はマジで最高!文脈理解能力が大幅に向上し、複雑なタスクの処理効率も飛躍的に向上しています。
プロジェクトアドレス
国内プロジェクトアドレス:https://cnb.cool/ttf248/hugo-content-suite 国外プロジェクトアドレス:https://github.com/ttf248/hugo-content-suite
コードの実装
まず、実装の思路について説明します。すべての文章をスキャンし、タグ情報と記事タイトルを抽出した後、ローカルの大規模言語モデル(例:gemma-3-12b-it)を呼び出して翻訳します。
実際の開発において、前世代の大規模言語モデルと比較して、Claude4
はいくつかの顕著な点を発揮しました。機能要件が多いため、Claude4
はインタラクティブメニューを自動的に設計し、さまざまな使用シナリオを考慮しました。例えば、タグ処理に関しては、Claude4
はタグの統計と分析だけでなく、分類統計もサポートし、さらにラベルのない文章を検出することも可能です。また、プレビュー機能やタグページ生成機能も提供しています。
ローカルの大規模言語モデルとの連携、翻訳キャッシュの追加、大規模なコードのリファクタリングなど、Claude4
はすべて一度に完了し、ほとんど問題がありませんでした。プロジェクト規模は小さくても、多くの小さな機能を含んでいました。以前の開発プロセスでは、大規模言語モデルが前の内容を忘れてしまうことがよくありましたが、今回の Claude4
は非常に優れており、ほぼコンテキストを忘れることなく動作しました。
要するに、スマート性が向上し、今後の開発には Claude4
をより多く使用し、日常的なコーディングの主力モデルとして活用していく予定です。
翻訳キャッシュ
この注文に関する説明では、大規模モデルの呼び出し回数を減らすだけでなく、実際に12Bモデルをローカルで実行すると効率が非常に高く、時間ロスもありません。しかし、毎回大規模モデルを呼び出す場合は、やはり少し遅くなります。また、文章のリンクを固定するために、全量更新を実行した場合、文章のタイトルが長いため、稀に2回の翻訳結果が異なり、リンクが変わってしまうという状況が発生します。これは非常に困ります。
機能最適化
プロジェクト全体を Claude4
に引き渡して、最適化の余地を分析し、以下の提案を得ました:
外部化の設定 - メンテナンス性と柔軟性を向上
構造化ログ - 問題のトラブルシューティングと監視が容易になる
パフォーマンスモニタリング - システムの状態を把握する
ユーザーエクスペリエンス - プログレスバーなどの視覚的なフィードバック
エラー処理 - より包括的な例外処理メカニズム
コード整理 - より明確なモジュール分割
コードをレビューしたところ、問題点は一切なく、例えば設定ファイルについては、元のコードから設定を変換し、デフォルト設定に変換した後、設定ファイルを読み込む際に、対応する設定ファイルが存在しない場合に自動的にデフォルト設定ファイルを生成することで、ユーザーの操作ミスを防いでいました。 要件:翻訳文の正体を翻訳する際に、翻訳効率を動的に計算し、残りの時間を予測して、関連情報をコンソールに出力しました。現在、文章の文字数を取得し、各行の翻訳時に現在の翻訳文字数、時間、100文字あたりの翻訳時間を適合計算しています。同時に、文章全体の翻訳残り時間を推定します。 コードが完了した後、新しい驚きを発見しました。翻訳効率の統計情報がリアルタイムで大量に表示されますが、無制限にスクロールダウンすることはありませんでした。
原文を英語に翻訳中(合計 7163 文字)...
翻訳する必要がある行数が 53 行検出されました。
[1/53] Stage1/6 [░░░░░░░░░░░░░░░░░░░░░░░░░] 1.9% 354 文字の翻訳...
✅ 完了 (3.1秒) | API呼び出し #1
✅ 完了 (1.5秒) | API呼び出し #2
✅ 完了 (0.9秒) | API呼び出し #3
✅ 完了 (0.2秒) | API呼び出し #4
✅ 完了 (1.0秒) | API呼び出し #5
✅ 完了 (1.0秒) | API呼び出し #6
✅ 完了 (0.2秒) | API呼び出し #7
📊 進捗: 行の 13.2% (7/53) | 文字の 12.9% (925/7163) 114.6 文字/秒 📊
⚡ 効率:リアルタイム 76.4 | 平均 117.9 | 最近 109.0 | ステージ 113.6 文字/秒 📊
🎯 正確度: 100.0% (7/7) | 残り: 46行 7 秒] 9.4% 110 文字の翻訳...
⏱️ 残りの推定時間: 55秒 | 予想完了時間: 00:10:19 8秒] 11.3% 114 文字の翻訳...
💾 处理速度:3211.3 行/分钟 | 总用时:8秒] 13.2% 16 文字の翻訳...
[8/53] Stage1/6 [███░░░░░░░░░░░░░░░░░░░░░░] 15.1% 166 文字の翻訳...
以前、プログラムを制御するコードはあまり書かれていませんでしたが、どのように実装されているのか知りたくて、コードを調べてみました。
// キャッシュクリアと再表示(動的更新効果)
if translationCount > 1 {
fmt.Print("\033[6A\033[K") // 上に 6 行移動し、内容をクリア
}
パフォーマンス統計メニュー
新たに作成されたパフォーマンス統計メニューは、私自身が設計したものでも、これほど完璧とは言えない。
📊 パフォーマンス統計: 🔄 翻訳回数:360 ⚡ キャッシュヒット率:1.4% (5/365) ⏱️ 平均翻訳時間:315.927234ms 📁 ファイル操作:73 ❌ エラー回数:0
- データマイニング
- ディープラーニング
- ニューラルネットワーク
=== ブログ管理ツール ===
🚀 コア機能
- 全ブログの処理をワンクリックで実行 (完全なブログ処理フロー)
📝 コンテンツ管理 2. タグページを生成 3. アーティクルスラッグを生成 4. 記事を多言語バージョンに翻訳
💾 キャッシュ管理 5. キャッシュの状態を確認 6. 全量翻訳キャッシュの生成 7. 翻訳キャッシュをクリア
- プログラム終了